《C输入输出语句.pptx》由会员分享,可在线阅读,更多相关《C输入输出语句.pptx(27页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。
1、标准输入输出流流是同C+语言工具捆绑的资源库。流iostream主管数据类型的识别工作和沟通操作系统,全权负责将流中的数据送到对应的设备上;第1页/共27页正确使用流iostream推荐使用如下形式:#includeusingnamespacestd;第2页/共27页补充:什么是namespaceC中采用的是单一的全局变量命名空间。在这单一的空间中,如果有两个变量或函数的名字完全相同,就会出现冲突。C+命名空间就是为解决C中的变量、函数的命名冲突而服务的。第3页/共27页补充:什么是stdC标准程序库中的所有标识符都被定义于一个名为std的namespace中。由于namespace的概念,使
2、用C标准程序库的任何标识符时,可以有三种选择:1.直接指定标识符。例如std:cout或者std:endl;2.usingstd:cout;usingstd:endl;然后就可以写cout3endl;3.最方便的就是使用usingnamespacestd第4页/共27页 cout 是什么?cout是C+编程语言中标准输出流类的一个对象。cout对应着标准输出设备,即屏幕(显示器)第5页/共27页类似于+-*/,也是一个操作符有两个操作数:左操作数是一个流类的对象,我们常用cout;右操作数是任意的常量或变量;利用操作实现将指定数据输出到其左操作数对应的设备上。如:cout23;cout“hel
3、loworld!”;inta=10;couta;操作可以连续进行:cout23“hello”a;是什么?第6页/共27页输出流的格式控制(1)cout12endl;coutshowpos12endl;cout13endl;coutnoshowpos15endl;coutdec1820endl;couthex1820endl;coutoct1820endl;cout123456.678endl;coutscientific123456.678endl;cout101.23endl;cout.unsetf(ios:scientific);cout12.45endl;12+12+131518 201
4、2 1422 24123456.6781.234567e+0051.012300e+00212.45第7页/共27页输出流的格式控制(1)cout12endl;coutshowpos12endl;cout13endl;coutnoshowpos15endl;coutdec1820endl;couthex1820endl;coutoct1820endl;cout123456.678endl;coutscientific123456.678endl;cout101.23endl;cout.unsetf(ios:scientific);cout12.45endl;12+12+131518 2012
5、1422 24123456.6781.234567e+0051.012300e+00212.45第8页/共27页思考:如何输出如下九九乘法表?第9页/共27页输出流的格式控制(2)第二种与流出符连用的函数设置方式:setw(int)/设置显示宽度setfill(char)/待显示字符串长度小于宽度时的填充字符setprecision(int)/设置显示精度练习:以下语句在屏幕上显示什么?coutsetw(4)27endl;coutsetw(4)setfill($)27endl;coutsetw(4)setfill($)left27endl;coutsetw(4)setfill($)2727en
6、dl;27$2727$27$27第10页/共27页对于九九乘法表:关键是实现第关键是实现第 i 行行 j 列次乘法的输出列次乘法的输出第11页/共27页#include#includeusingnamespacestd;voidmain()for(inti=1;i=9;i+)for(intj=1;j=9;j+)couti*j=setw(2)i*j;coutendl;setw:“仅当次设置有效原则”第12页/共27页输出流的格式控制(3)使用cout捆绑函数调用的方式:cout.width(5);cout.fill(S);cout2323;/输出:SSS2323注意width(n)为一次性操作等
7、同于:coutsetw(5)setfill(S)2323;第13页/共27页有如下程序:#includeusingnamespacestd;voidmain()cout.fill(*);cout.width(6);cout.fill(#);cout123操作符将从键盘取得数据送到内存中;因此在C+中,这种输入操作称为“提取”或“得到”,常称为“提取运算符”。第15页/共27页注意:操作符的右操作数必须是一个具有实体空间的变量!这样,从键盘键入的数据才有“栖身之地”!以下用法是错误的:cin23;cin”helloworld!”;第16页/共27页cin与的配合使用inta;floatb;cin
8、ab;/输入一个整数和一个实数。解析:1.不要写成cina,b;第17页/共27页2.数据间以只可用Space/Enter/Tab分隔,输入完成后按回车结束试验:从键盘输入:2032.45(回车)则a和b分别获得值20和32.45从键盘输入:20,32.45(回车)第18页/共27页3.输入数据的类型要匹配试验,从键盘键入如下组合:ab3.54第19页/共27页补充:输入缓冲区程序的输入都有一个缓冲区,即输入缓冲区。一次输入过程是这样的,当一次键盘输入结束时会将输入的数据存入输入缓冲区,而cin直接从该区中取数据,因此,有时候当缓冲区中有残留数据时,cin函数会直接取得这些残留数据而不会请求键
9、盘输入。此时,输入语句会“失效”。第20页/共27页voidmain()inta;couta;coutaendl;intb;coutb;coutbendl;第21页/共27页思 考intsum=0,score;for(inti=0;iscore;sum+=score;intaverage=sum/7;某同学的某同学的7门功课成绩分别为:门功课成绩分别为:88,89,90,75,76,64,95。设计一个程序依次输入成绩并求其平均。设计一个程序依次输入成绩并求其平均。第22页/共27页文件流将成绩存入当前路径下的文件a.txt88 89 90 75 76 64 9588 89 90 75 76
10、64 95第23页/共27页文件流 ifstream fin(“a.txt”);ifstream fin(“a.txt”);int sum=0,score;int sum=0,score;for(int i=0;i7;i+)for(int i=0;iscore;cinscore;sum+=score;sum+=score;int average=sum/7;int average=sum/7;finfinscore;score;#includeinclude 第24页/共27页文件流将平均成绩存入当前路径下的文件b.txt所求的平均成绩是:所求的平均成绩是:8282第25页/共27页文件流 i
11、fstream fin(“a.txt”);ifstream fin(“a.txt”);ofstream fout(“b.txt”);ofstream fout(“b.txt”);int sum=0,score;int sum=0,score;for(int i=0;i7;i+)for(int i=0;i score;fin score;sum+=score;sum+=score;int average=sum/7;int average=sum/7;foutfout“所求的平均成绩是:所求的平均成绩是:”averageendl;averageendl;#includeinclude 第26页/共27页感谢您的欣赏!第27页/共27页