第14周 《C++语言基础》程序阅读——标准输入输出对象及文本文件 (1)

1、阅读并运行下面的示例程序,掌握标准输入输出流的控制

例1

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>
#include <math.h>
using namespace std;
int main()
{
    float a,b,c,disc;
    cout<<"please input a,b,c:";
    cin>>a>>b>>c;
    if (a==0)
        cerr<<"a is equal to zero,error!"<<endl;
    else if ((disc=b*b-4*a*c)<0)
        cerr<<"disc=b*b-4*a*c<0"<<endl;
    else
    {
        cout<<"x1="<<(-b+sqrt(disc))/(2*a)<<endl;
        cout<<"x2="<<(-b-sqrt(disc))/(2*a)<<endl;
    }
    return 0;
}
</span></strong>

例2

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>
#include <iomanip>
using namespace std;
int main()
{
    int a;
    cout<<"input a:";
    cin>>a;
    cout<<"dec:"<<dec<<a<<endl;
    cout<<"hex:"<<hex<<a<<endl;
    cout<<"oct:"<<setbase(8)<<a<<endl;
    char *pt="China";
    cout<<setw(10)<<pt<<endl;
    cout<<setfill('*')<<setw(10)<<pt<<endl;
    double pi=22.0/7.0;
    cout<<setiosflags(ios::scientific)<<setprecision(8);
    cout<<"pi="<<pi<<endl;
    cout<<"pi="<<setprecision(4)<<pi<<endl;
    cout<<"pi="<<setiosflags(ios::fixed)<<pi<<endl;
    return 0;
}</span></strong>

例3

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>
using namespace std;
int main()
{
    int a=21;
    cout.setf(ios::showbase);
    cout<<"dec:"<<a<<endl;
    cout.unsetf(ios::dec);
    cout.setf(ios::hex);
    cout<<"hex:"<<a<<endl;
    cout.unsetf(ios::hex);
    cout.setf(ios::oct);
    cout<<"oct:"<<a<<endl;
    char *pt="China";
    cout.width(10);
    cout<<pt<<endl;
    cout.width(10);
    cout.fill('*');
    cout<<pt<<endl;
    double pi=22.0/7.0;
    cout.setf(ios::scientific);
    cout<<"pi=";
    cout.width(14);
    cout<<pi<<endl;
    cout.unsetf(ios::scientific);
    cout.setf(ios::fixed);
    cout.width(12);
    cout.setf(ios::showpos);
    cout.setf(ios::internal);
    cout.precision(6);
    cout<<pi<<endl;
    return 0;
}</span></strong>

例4-1

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>
using namespace std;
int main( )
{
    char *a="BASIC";		//字符指针指向'B'
    for(int i=4; i>=0; i--)
        cout.put(*(a+i));   //从最后一个字符开始输出
    cout.put('\n');
    return 0;
}
</span></strong>

例4-2

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include<iostream>
#include<cstdio>
int main()
{
    char *a="BASIC";
    for(int i=4; i>=0; i--)
        putchar(*(a+i));
    putchar('\n');
    return 0;
}</span></strong>

例5

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>
using namespace std;
int main( )
{
    float grade;
    cout<<"enter grade:";
    while(cin>>grade)  //能从cin流读取数据
    {
        if(grade>=85)
            cout<<grade<<" GOOD!"<<endl;
        if(grade<60)
            cout<<grade<<" fail!"<<endl;
        cout<<"enter grade:";
    }
    cout<<"The end."<<endl;
    return 0;
}
</span></strong>

例6

(1)不带参数的get函数

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include<iostream>
#include<cstdio>
using namespace std;
int main( )
{
    int c;
    cout<<"enter a sentence:"<<endl;
    while((c=cin.get())!=EOF)
        cout.put(c);
    return 0;
}
</span></strong>

(2) 有一个参数的get函数

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include<iostream>
#include<cstdio>
using namespace std;
int main( )
{
    char c;
    cout<<"enter a sentence:"<<endl;
    while(cin.get(c))  //读取一个字符赋给字符变量c,如果读取成功,cin.get(c)为真
        cout.put(c);
    cout<<"end"<<endl;
    return 0;
}</span></strong>

(3) 有3个参数的get函数

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include<iostream>
using namespace std;
int main( )
{
    char ch[20];
    cout<<"enter a sentence:"<<endl;
    cin.get(ch,10,'\n');//指定换行符为终止字符
    cout<<ch<<endl;
    return 0;
}</span></strong>

例7

<strong><span style="font-family:KaiTi_GB2312;font-size:18px;color:#ff6666;">#include <iostream>
using namespace std;
int main( )
{
    char ch[20];
    cout<<"enter a sentence:"<<endl;
    cin>>ch;
    cout<<"The string read with cin is:"<<ch<<endl;
    cin.getline(ch,20,'/');//读19个字符或遇'/'结束
    cout<<"The second part is:"<<ch<<endl;
    cin.getline(ch,20);    //读19个字符或遇'/n'结束
    cout<<"The third part is:"<<ch<<endl;
    return 0;
}
</span></strong>

时间: 2024-09-29 20:26:52

第14周 《C++语言基础》程序阅读——标准输入输出对象及文本文件 (1)的相关文章

2.6-Java语言基础(程序流程控制)

判断结构 选择结构 循环结构 2.6.1  判断结构 if语句 三种格式: 1.  if(条件表达式) { 执行语句: } 2.  if(条件表达式) { 执行语句: } else { 执行语句: } 3. if(条件表达式) { 执行语句: } else if (条件表达式) { 执行语句: } -- else { 执行语句: } if语句特点: a,每一种格式都是单条语句. b,第二种格式与三元运算符的区别:三元运算符运算完要有值出现.好处是:可以写在其他表达式中. c,条件表达式无论写成什

《你必须知道的495个C语言问题》笔记--标准输入输出

getchar的返回值 这样的代码有什么问题: char c; while((c = getchar()) != EOF).... getchar返回值变量必须是int型.因为EOF通常定义为-1,二十进制为255的字符会被符号扩展,和EOF比较时会相等,从而 过早第结束输入. feof函数的使用 为什么这些代码最后一行复制了两遍? #include <stdio.h> #include <unistd.h> #include <fcntl.h> #define MAX

大数据spark学习第一周Scala语言基础

Scala简单介绍 Scala(Scala Language的简称)语言是一种能够执行于JVM和.Net平台之上的通用编程语言.既可用于大规模应用程序开发,也可用于脚本编程,它由由Martin Odersk于2001开发.2004年開始程序执行在JVM与.Net平台之上.由于其简洁.优雅.类型安全的编程模式而受到关注. Scala的创建者——Martin Odersk 在Scala的创建之初,并没有怎么引起重视,随着Apache Spark和Apache Kafka这样基于Scala的大数据框架

Java之J2se-Java语言基础(程序结构) 教学视频发布了,请小伙伴们前往观看

视频地址如下: http://v.youku.com/v_show/id_XODA5NTM3NTAw.html

2016年9月29日--语言基础:控制台的输入输出、数据类型、数据转换、运算符

一.输入输出 二.数据类型 1.值类型 2.引用类型 三.数据转换 四.运算符 1.算术运算符2.关系运算符3.逻辑运算符4.其它运算符5.条件运算符 一.输入输出 输出 Console.Write(""); Console.WriteLine(""); 输出 输入 Console.Read (); Console.ReadLine(); Console.ReadKey(); Console.ReadLine(); //直到接受到回车命令为止,之前所有输入的内容全部

程序语言基础 8.14课堂代码

1.判断一个5位数是不是回文数! #include <stdio.h> void main() { int num,ge,shi,qian,wan; printf("请输入一个5位数:"); scanf("%d",&num); ge = num % 10; shi = num / 10 % 10; qian = num / 1000 % 10; wan = num / 10000; (ge == wan && shi == qia

java--java语言基础(3)--黑马程序员

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- java语言基础(3) 主要内容:<运算符.键盘录入.顺序结构.选择结构if.三元运算符.选择结构switch.> 1 位运算符的基本用法1 位运算符:是对整数的二进制直接进行操作的 1.<< : 左移:左侧高位丢弃,右侧补0.左移一位,相当于原数 * 2 ; 实际移动的位数 = 要移动的位数 % 32; 2.>> : 带符号右移:右移一位,右侧的最低位丢弃,左侧高位

java--java语言基础(4)--黑马程序员

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- java语言基础(4) 主要内容:<循环结构while.do...while.for.嵌套循环.跳转> 1 循环结构while语句的格式和基本使用 第一种循环结构: while循环: 格式: while(逻辑表达式){ //循环体代码.需要重复执行的代码 } 说明: 1.逻辑表达式:必须返回一个boolean类型的结果: 2.如果返回true:执行循环体: 3.循环体执行完毕,回到上面的&q

java--学习java从这里开始:Java语言基础(1)《基础知识篇》--黑马程序员

------Java培训.Android培训.iOS培训..Net培训.期待与您交流! ------- Java语言基础(1) 从这篇日记开始说一些关于java的语言基础知识, 1  Java语言概述 java的创始人——詹姆斯·高斯林(James Gosling) 1977年获得了加拿大卡尔加里大学计算机科学学士学位,1983年获得了美国卡内基梅隆大学计算机科学博士学位,毕业后到IBM工作,设计IBM第7一代工作站NeWS系统,但不受重视.后来转至Sun公司,1990年,与Patrick,Na