第03章简单的输入输出.ppt

上传人:本田雅阁 文档编号:2250423 上传时间:2019-03-11 格式:PPT 页数:25 大小:281.01KB
返回 下载 相关 举报
第03章简单的输入输出.ppt_第1页
第1页 / 共25页
第03章简单的输入输出.ppt_第2页
第2页 / 共25页
第03章简单的输入输出.ppt_第3页
第3页 / 共25页
亲,该文档总共25页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《第03章简单的输入输出.ppt》由会员分享,可在线阅读,更多相关《第03章简单的输入输出.ppt(25页珍藏版)》请在三一文库上搜索。

1、1,目 录,第1章 C+概述 第2章 数据类型、运算符和表达式 第3章 简单的输入/输出 第4章 C+的流程控制 第5章 函数 第6章 编译预处理 第7章 数组 第8章 结构体、共同体和枚举类型 第9章 指针和引用 第10章 类和对象 第11章 类和对象的其他特性 第12章 继承和派生 第13章 多态性 第14章 输入/输出流 第15章 模板,第一部分 面向过程的程序设计,第二部分 面向对象的程序设计,2,第3章 简单的输入/输出,3,3.1 传统的输入/输出函数实现方法 输入:从键盘输入数据赋给变量 输出:指计算机把计算结果送到显示器上显示 应用程序可以包含零个或多个输入 应用程序至少包含一

2、个或多个输出 传统程序使用I/O函数实现输入/输出操作 C+程序使用操作符重载方法实现输入/输出流技术 C+中输入/输出实现更加简单方便,4,3.2 cin 输入流,键盘输入称为标准输入(standard input) 显示器输出称为标准输出(standard output) C+中通过输入/输出流来实现标准输出/输出操作。 输入操作通过流cin来实现 输出操作通过流cout来实现 使用输入流 cin ,必须在程序的第一行包含头文件。 即:#include ,5,3.2 cin 输入流,cin一般格式: cin . “”称为提取运算符,表示程序暂停执行,等待从输入流中提取数据赋给变量 将cin

3、想象成键盘,“”想象成数据流向箭头,可以很容易记忆输入操作 例:int i , j ; float x , y ; cin i j ; cin x y ; 输入的数据之间用分隔符分隔:、,运行时: 输入:1 2 3.2 4.5 则 变量 i、j 的值为 1、2 变量 x、y 的值 3.2 和 4.5,6,3.2 cin 输入流,每行末尾输入回车键的作用是: 1告诉cin一行数据已经输入完毕,cin开始提取用户输入的数据(忽略分隔符),并依次将所提取的数据赋值给cin中所列举的变量中尚未获得数据的变量。 2在屏幕上显示光标换行,为下一行的输入或者显示程序的输出结果做好准备,起到输入数据之间以及输

4、入数据与输出结果之间的分隔符的作用。 用户输入数据的个数小于变量的个数。则在提取完输入行的有效数据后仍有变量没有获得数值,当前的输入语句不会结束,会继续等待用户输入新的一行数据。,7,3.2 cin 输入流,用户输入的数据个数大于变量的个数。则输入语句只依次提取输入行中的部分数值给变量。而多余的数值会被下一条cin输入语句中的变量所提取,或者在没有后续的输入语句的情况下被程序舍弃。 int i , j ; cin i j ; 若输入:100 200 300,300将被程序舍弃。 如果用户输入的一行仅仅是一个回车键,则cin把该键作为分隔符来处理(将其忽略),只是在屏幕上显示光标换行,程序会继续

5、等待用户输入数据。,8,3.2 cin 输入流,输入数据的类型由cin根据变量的类型来自动判定。从键盘上输入数据的个数、类型及顺序,必须与cin中列举的变量一一对应。 例如: int a, b; cin a b; 执行cin时,若输入字符数据: D F 由于用户输入的数据是字符类型,而对应的接收变量是整数类型,两者类型不匹配,变量a得不到有效值,其值为0。后续的变量b受影响无法继续获得数值,其值为一个随机数。错误会继续向后延伸,造成后续的cin语句也不能正确提取数据。,9,3.2 cin 输入流,例如: int a; float b; cin b a; 执行cin时,若输入:300 1.234

6、 . 实型b变量获得300.0的数值。而整型变量a同样进行数据类型转换,将小数1.234转换为整数1,小数部分被丢弃。,10,3.2.1 输入十六进制或者八进制数据,必须在cin中指明相应的数据类型:hex表示十六进制,oct表示八进制,dec表示十进制。 例3.3:#include void main( ) int a,b,c,d; / 变量名a,b,c,d cin hex a; /指明输入为十六进制数 cin oct b; /指明输入为八进制数 cin c; /输入仍旧是八进制数 cin dec d; /指明输入为十进制数 cout a , b , c , d endl; ,11,3.2.

7、1 输入十六进制或者八进制数据,必须在cin中指明相应的数据类型:hex表示十六进制,oct表示八进制,dec表示十进制。 例3.3:#include void main( ) int a,b,c,d; / 变量名a,b,c,d cin hex a; /指明输入为十六进制数 cin oct b; /指明输入为八进制数 cin c; /输入仍旧是八进制数 cin dec d; /指明输入为十进制数 cout a , b , c , d endl; ,输入:20 21 22 23 a=32, b=17, c=18, d=23,12,3.2.1 输入十六进制或者八进制数据,使用非十进制输入数据时,要

8、注意几点: 1八进制或十六进制数的输入,只适用于整型变量,不适用于字符型变量、实型变量。 2当在cin中指明使用的输入数制后,则所指明的数制一直有效,直到在下一个cin语句中指明采用不同的输入数制时为止。 3用户从键盘输入数据的格式、个数和类型必须与cin中所列举的变量类型一一对应。一旦输入出错,不仅使当前的输入数据不正确,而且使得后面的提取数据也不正确。,13,3.2.2 输入字符数据,例: char c1 , c2 , c3 ; cin c1 c2 c3;,运行时: 输入:a b c 或输入:abc 则 变量 c1、c2、c3 的值为 a 、b 、c,cin 自动跳过输入的空格,14,欲将

9、空格输入给变量,则应使用 cin.get( ) 函数。,例: char c1 , c2 , c3 ; cin.get(c1); cin.get(c2); cin.get(c3);,运行时: 输入:a b c 则 变量 c1、c2、c3 的值为 a 、 、b 输入:abc 则 变量 c1、c2、c3 的值为 a 、b 、c,15,例3.4:#include void main( ) int a, b; char c, d; cin a b; cin c d; cout . 将12赋值给变量a,将34赋值给变量b。 将5字符赋值给变量c,将6字符赋值给变量d。 剩余的7字符和8字符将被舍弃。,16

10、,还可以使用cin.ignore( )函数对输入的内容有选择的接收。cin.ignore( )的作用是在字符读取过程中忽略若干个字符,而读取后面的字符。其格式为: cin.ignore( ); 例如: cin a b; cin.ignore(3); cin c d; 输入:12 34 5678 输出结果:12, 34, 7, 8,17,借助函数cin.get( )可以将三种分隔符作为字符输入计算机。 函数cin.get( )的作用是把从键盘上输入的每一个字符,包括空格符和回车符等分隔符都作为一个输入字符赋给字符型变量。其格式为: cin.get( ); 例如:char c5, c6, c7,

11、c8; cin.get(c5); cin.get(c6); cin.get(c7); cin.get(c8); 如果用户输入:A B . c5值为A,c6值为, c7值为B,c8值为,18,3.3 cout 输出流,cout一般格式: cout . “”称为插入运算符,表示将表达式的运算结果插入到输出流的末尾,即在显示器上显示。 将cout想象成显示器,“”想象成数据流向箭头,可以很容易记忆输出操作 例3.6:int a=10, b=20, c=30, d=40; double m=5.23, n=100; cout a b endl; cout c n-d endl; cout m n en

12、dl;,运行结果: 1020 3060 5.23100,注意: 输出数据之间无空白。 endl 与 n 等价。 输出实型数,小数点后若为0,则不输出小数点。,19,3.3 cout 输出流,为了区分输出的数据项,在每一个输出数据之间要输出分隔符。分隔符可以是空格、标点符号或者换行符等。 例如:cout a , b endl; cout c , n-d endl; cout m , n endl; 输出结果:10, 20 30, 60 5.23, 100 例如: cout “a=“ a t “b=“ b endl; cout “c=“ c t n “-“ d “=“ n-d endl; cout

13、 “m=“ m t “n=“ n endl; 输出结果:a=10 b=20 c=30 100-40=60 m=5.23 n=100,t的意义,20,3.3 cout 输出流,使输出的数据项之间隔开的另一种办法是使用setw( )函数来指定输出数据项的宽度。 例如: cout setw(10) a setw(10) b endl; cout setw(10) c setw(10) n-d endl; cout setw(10) m setw(10) n endl; setw(10)指明其后的输出项占用的字符宽度为10(小数点占一位),并且向右对齐。setw是“set width”的缩写。 输出结

14、果为: 10 20 30 60 5.23 100,21,3.3 cout 输出流,使用setw( )函数应该注意以下四点: 1setw( )函数是定义在iomanip.h头文件中的系统函数,所以要使用它就必须在程序的开始位置包含头文件iomanip.h,即在程序的开头增加: #include 2括号中必须给出一个正整数或者数学表达式(值为正整数),它指明紧跟其后输出的数据项的宽度。 3该设置仅对其后的一个输出项有效。一旦按指定的宽度输出其后的输出项后,程序又自动回到原来的按实际宽度输出的缺省输出方式。 4当设置了数据的输出宽度后,如果数据的实际位数小于指定的宽度,则添加填充符。如果数据的实际位

15、数大于指定的宽度,则数据按照实际的宽度输出,不会按照指定的宽度来截断数据。,22,3.3.1 输出八进制、十六进制数和实数,例3.7:#include void main(void) int a=10, b=20, c=30, d=40; double m=5.23, n=100; cout “a=“ oct a t “b=“ b endl; cout.setf(ios:scientific, ios:floatfield);/按照科学计数法输出实数 cout “c=“ hex c t “n-d=“ n-d endl; cout “m=“ m endl; cout.unsetf(ios:sci

16、entific); /取消按照科学计数法输出 cout “m=“ m t “n=“ n endl; ,执行该程序后,输出: a=12 b=24 c=1e n-d=6.000000e+001 m=5.230000e+000 m=5.23 n=100,23,hex和oct在输出流cout中与cin中的用法类似,一旦指定了输出的进制格式后,这种格式将一直有效,直到指定另外一种格式为止。 在程序中调用了两个系统函数:cout.setf( )和cout.unsetf( )。其中,cout.setf( )函数用来指定对实数按照科学计数法格式输出,而cout.unsetf( )用来终止对实数按照科学计数法格式输出。 一旦指定了按照科学计数法输出实数,其后所有的实数都将按照科学计数法的格式输出,直到取消科学计数法的输出格式为止。,24,3.3.2 输出字符或字符串,cout除了能够输出正常可视的标准字符外,还可以输出字符串和转义字符。 例如: char ca,c1b; cout “c=“ c t “c1=“ c1 n;,25,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1