C语言数据的输入输出_第1页
C语言数据的输入输出_第2页
C语言数据的输入输出_第3页
C语言数据的输入输出_第4页
C语言数据的输入输出_第5页
已阅读5页,还剩43页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、编辑ppt1 第第3章章 数据的输入与输出(数据的输入与输出(2)编辑ppt23.4.3 字符输入输出函数字符输入输出函数3.4.4 格式化输入输出函数的一般使用格式化输入输出函数的一般使用编辑ppt3数据输入输出的概念数据输入输出的概念n所谓输入输出是以计算机主机为主体而言的。所谓输入输出是以计算机主机为主体而言的。 输出输出: :从计算机向外部输出设备从计算机向外部输出设备( (显示器显示器, ,打印打印机机) )输出数据。输入输出数据。输入: :从输入设备从输入设备( (键盘键盘, ,鼠标鼠标, ,扫描扫描仪仪) )向计算机输入数据向计算机输入数据nC C语言本身不提供输入输出语句语言本

2、身不提供输入输出语句, ,输入和输出操作输入和输出操作是由是由C C函数库中的函数来实现的函数库中的函数来实现的例如例如: :字符输入函数字符输入函数:getchar :getchar 字符输出函数字符输出函数:putchar:putchar格式输入函数格式输入函数: scanf : scanf 格式输出函数格式输出函数: printf: printf字符串输入函数字符串输入函数:gets :gets 字符串输出函数字符串输出函数:puts:puts编辑ppt43.4.3字符输入输出函数字符输入输出函数nputchar(x)函数:有参数函数:有参数例:例:putchar(ch); putcha

3、r(A); putchar(65); 每句只能输出一个字符数据每句只能输出一个字符数据。ngetchar( )函数:无参数函数:无参数从键盘读入一个字符从键盘读入一个字符(空格回车都算空格回车都算)。 程序执行到程序执行到 getchar函数时函数时,等待输入字符等待输入字符,直到按回直到按回车才结束车才结束,回车前的所有输入字符都将逐个显示在屏幕上。回车前的所有输入字符都将逐个显示在屏幕上。但只有第一个字符被但只有第一个字符被getchar函数接收。函数接收。 c=getchar();c=getchar();按回车符才可送出按回车符才可送出n当当使用这两个函数时使用这两个函数时, 在程序的开

4、头一定要加上在程序的开头一定要加上: #include 编辑ppt5字符输入输出函数字符输入输出函数ngetch() 函数函数: 无参数。无参数。 getch()的作用与的作用与getchar类似类似,都是从标准输入设备都是从标准输入设备(通常指键盘通常指键盘)读入一个字符。其调用形式分别为:读入一个字符。其调用形式分别为: getch( ); 但但getch函数读入的字符不会回显在屏幕上函数读入的字符不会回显在屏幕上, 它与它与getchar函数不同之处在于:函数不同之处在于:getch函数不必输入回车才函数不必输入回车才结束结束, 只要输入任意一个键只要输入任意一个键, 该字符立即被接收该

5、字符立即被接收, 程序继续程序继续执行下一条语句。利用这一特点执行下一条语句。利用这一特点, 这两个函数经常用于交这两个函数经常用于交互输入的过程中实现暂停功能互输入的过程中实现暂停功能, 或直接查看程序运行结果或直接查看程序运行结果。编辑ppt6字符输入输出函数字符输入输出函数补充例题补充例题#include main() char ch; ch=getchar(); putchar(ch); putchar(n); printf(%c,%dn,ch,ch); getch(); /* 等待按任一键程序结束等待按任一键程序结束 */ 当屏幕输入当屏幕输入12345回车时屏回车时屏幕输出的结果是

6、幕输出的结果是什么?什么?此语句可否用:此语句可否用:scanf(“%c“,&ch);编辑ppt7例:输出单个字符例:输出单个字符#include stdio.hmain() char a,b,c; a=A; b=B; c=C; clrscr(); putchar(a);putchar(b);putchar(c);putchar(n);putchar(a);putchar(n);putchar(b);putchar(n);putchar(c);每次只能输出一个字符每次只能输出一个字符putchar( ); 输出空格输出空格运行结果:运行结果:ABC A B C 字符输入输出函数字符输入

7、输出函数putchar (101); A编辑ppt8运行程序:运行程序:从键盘输入字符从键盘输入字符a a按按EnterEnter键键屏幕上将显示输出的屏幕上将显示输出的字符字符a aa aa a例例 输入单个字符。输入单个字符。#include stdio.hmain() char c; c=getchar(); putchar(c); putchar(n);字符输入输出函数字符输入输出函数编辑ppt93.4.4格式输入函数与格式输出函数格式输入函数与格式输出函数nprintf函数是格式化输出函数函数是格式化输出函数, 用于向标准输出设用于向标准输出设备备(通常指定为屏幕通常指定为屏幕)按规

8、定格式输出数据。按规定格式输出数据。nprintf函数的调用格式为:函数的调用格式为: printf(格式控制字符串格式控制字符串, 输出列表输出列表);其中其中格式化字符串包括两部分内容格式化字符串包括两部分内容:一是普通字符一是普通字符按原样输出按原样输出,转义字符转义字符输出它所代表的字符;二是输出它所代表的字符;二是“输出格式说明输出格式说明”, 以以“%”开始开始,后跟格式字符后跟格式字符, 用用来指定输出数据的格式。如来指定输出数据的格式。如 %d 输出输出int型数据型数据 输出列表输出列表是若干个需要输出的数据项是若干个需要输出的数据项, 称为函数的称为函数的参数参数, 可以是

9、常量、变量或表达式可以是常量、变量或表达式, 各参数之间用各参数之间用,分开。分开。编辑ppt10格式化输出函数格式化输出函数printf()nprintf函数的输出格式说明函数的输出格式说明 每个格式说明都必须用每个格式说明都必须用%开头开头,以一个格式字以一个格式字符作为结束符作为结束,在此之间根据需要可以插入在此之间根据需要可以插入宽度说宽度说明明、长度修饰符、长度修饰符l和和L等。等。n(1)格式字符:格式字符:格式字符用于规定输出不同的数据格式字符用于规定输出不同的数据类型类型,格式字符和它们的作用如下表,可详见附录格式字符和它们的作用如下表,可详见附录D。编辑ppt11格式化输出函

10、数格式化输出函数printf()格式字符格式字符作作 用用d 或或 i输出十进制有符号整数输出十进制有符号整数(正数不输出符号正数不输出符号+)u输出十进制无符号整数输出十进制无符号整数o无符号整数以八进制整数输出无符号整数以八进制整数输出(输出时不带前导输出时不带前导0)x 或或 X无符号整数以无符号整数以十六进制整数输出十六进制整数输出(输出时不带前导输出时不带前导0 x或或0X)。x用于输出用于输出abcdef,X用于输出用于输出ABCDEFc以以字符形式输出单个字符字符形式输出单个字符s输出字符串直至字符串结束标志输出字符串直至字符串结束标志0为止为止,不输出不输出f以小数形式输出实型

11、数据以小数形式输出实型数据,系统默认整数部分全部输出系统默认整数部分全部输出,小数部小数部分输出分输出6位小数位小数, 小数部分小数部分自动四舍五入自动四舍五入e 或或 E以指数形式输出实数以指数形式输出实数,系统默认输出系统默认输出1位整数和位整数和5位小数位小数,超长超长部分自动四舍五入部分自动四舍五入,输出格式为:输出格式为:-m.dddddeddg 或或 G由系统来选择由系统来选择%f或或%e输出格式输出格式,宽度小者被输出宽度小者被输出p输出变量的内存地址输出变量的内存地址%输出一个输出一个%号号编辑ppt12格式化输出函数格式化输出函数printf()(2) 长度修饰符长度修饰符:

12、 长度修饰符加在长度修饰符加在%和格式字符之间。和格式字符之间。长度修饰符长度修饰符作作 用用l格式字符是格式字符是d,i,o,u,x,X时时, 用于输出长整型数用于输出长整型数据据(long int)L格式字符是格式字符是e,E,f,g,G时时, 用于输出长双精度用于输出长双精度实型数据实型数据(long double) 从上表可知:从上表可知:双精度实型数据的输出不要用双精度实型数据的输出不要用%lf, 只要用只要用%f即可。但即可。但长双精度实型数据的输出必须加长双精度实型数据的输出必须加长度修饰符长度修饰符L, 例如例如%Lf、%Le等。等。编辑ppt13(3)#修饰符修饰符:使用使用

13、%#o、%#x ,在输出的八进制或十六进制前加前导在输出的八进制或十六进制前加前导“0”。 例如:例如:main() unsigned c=65535; printf(%#on,c); printf(%#xn,c); 格式化输出函数格式化输出函数printf()输出结果输出结果如下如下: 01777770 xffff编辑ppt14格式化输出函数格式化输出函数printf()(4) 在输出的数字前加在输出的数字前加+号号 使用使用%+格式字符格式字符 (如如%+d、%+f等等), 可在输出的数字前可在输出的数字前加加+号号, 例如例如 printf(%+d,%+10.2f,123,12345.6

14、78); 输出结果如下输出结果如下: +123, +12345.68。例:例:int x=1234,y=123,z=12;printf(%4d+%3d+%2d, x, y, z)输出结果:输出结果:1234+123+12编辑ppt15格式化输出函数格式化输出函数printf() (5) 输出数据所占的宽度输出数据所占的宽度整型数据的输出宽度整型数据的输出宽度 %md、%mu、%mo、%mx, 按按m宽度输出数据宽度输出数据,不足不足m个位数个位数,左补空格左补空格(数据右对齐数据右对齐)。实型数据的输出宽度实型数据的输出宽度 %m.nf、%m.ne、%m.ng,数据输出的总宽占数据输出的总宽占

15、m列列,其中其中小数部分占小数部分占n列列, 若数据自身宽度小于若数据自身宽度小于m列列,则左则左补空格补空格。字符串的输出宽度字符串的输出宽度 %ms 输出宽度占输出宽度占m列列,若字符串宽度小于若字符串宽度小于m列列,左补空格左补空格,若字符串宽度大于若字符串宽度大于m列则原样输出字串。列则原样输出字串。编辑ppt16整型数据的输出宽度整型数据的输出宽度main() int a=34,b=12345; clrscr(); printf(%dn,a); printf(%10dn,a); printf(%-10dn,a); printf(%4dn,b);34 343412345编辑ppt17实

16、型数据的输出宽度实型数据的输出宽度main()float a=123.456; clrscr(); printf(a=%fn,a); printf(a=%4fn,a); printf(a=%15fn,a); printf(a=%.2fn,a); printf(a=%.5fn,a);a=123.456001a=123.456001a= 123.456001a=123.46a=123.45600编辑ppt18格式化输出函数格式化输出函数printf() 字符数据的输出宽度字符数据的输出宽度 %mc输出宽度占输出宽度占m列列, 左补左补m-1个空格。个空格。在输出宽度在输出宽度m前加一个负号前加一个

17、负号,则右补则右补m-1个空格个空格。表。表2.11举例说明举例说明字符型数据的输出。字符型数据的输出。输出语句输出语句输出结果输出结果 说明说明printf(%cn,A);A输出宽度为输出宽度为1printf(%5cn,A); A输出宽度为输出宽度为5, 左补左补4个空格个空格printf(%-5c*n,A);A *输出宽度为输出宽度为5, 右补右补4个空格个空格编辑ppt19格式化输出函数格式化输出函数printf()格式符。用来输出十进制整数。格式符。用来输出十进制整数。几种用法:几种用法: : :按十进制整型数据的实际长度输出。按十进制整型数据的实际长度输出。 : :为指定的输出字段的

18、宽度。如果为指定的输出字段的宽度。如果数据的位数小于数据的位数小于, 则左端补以空格,若则左端补以空格,若大于,则按实际位数输出大于,则按实际位数输出。 例例: : (,),); ; 若,则输出结果为若,则输出结果为 , : :输出长整型数据。输出长整型数据。 例例: : ;/ /* * 定义定义a a为长整型变量为长整型变量* */ / (,);,); 输出结果为输出结果为编辑ppt20格式化输出函数格式化输出函数printf()(2) (2) 格式符。以八进制整数形式输出。格式符。以八进制整数形式输出。输出的数值不带符号,输出的数值不带符号,符号位也一起作为八进制数的一部分符号位也一起作为

19、八进制数的一部分输出。输出。例:例:int a=-1;int a=-1; printf(%d printf(%d,%o%o,a a,a); a); 在内存单元中的存放形式(以补码形式存放)如下:在内存单元中的存放形式(以补码形式存放)如下: 11111111111111111111111111111111 输出为输出为: : ,不会输出带负号的八进制整数。对长整数(型)可以不会输出带负号的八进制整数。对长整数(型)可以用用“”格式输出。还可以格式输出。还可以指定字段宽度指定字段宽度,例例: :( ,),); ; 输出为输出为: : 177777177777。 ( (数字前有数字前有2 2个空格

20、个空格) )编辑ppt21格式化输出函数格式化输出函数printf()(3)(3)格式符。以十六进制数形式输出整数。同样不会出格式符。以十六进制数形式输出整数。同样不会出现负的十六进制数。现负的十六进制数。例:例: ; (,);,); 输出结果为输出结果为: : ffff ffff,可以用可以用“”输出长整型数,也可以输出长整型数,也可以指定输出字段的宽度指定输出字段的宽度例例: : “ “” 输出为输出为: ffff。 (数字前有数字前有8个空格个空格) 编辑ppt22格式化输出函数格式化输出函数printf()(4)(4)格式符,用来输出型数据格式符,用来输出型数据. .一个有符号整数(型

21、)也可以用格式输出;一个有符号整数(型)也可以用格式输出;一个型数据也可以用格式输出。一个型数据也可以用格式输出。型数据也可用或格式输出。型数据也可用或格式输出。(5)(5)格式符,用来输出一个字符。格式符,用来输出一个字符。如:如:d d; (,d d);); 输出字符输出字符. 一个整数,一个整数,只要它的值在范围内,可以用只要它的值在范围内,可以用“”使之按字符形式输出使之按字符形式输出,在输出前,系统会将该整数作为,在输出前,系统会将该整数作为ASCIIASCII码码转换成相应的字符;一个字符数据也可以用整数形式输出。转换成相应的字符;一个字符数据也可以用整数形式输出。 编辑ppt23

22、格式化输出函数格式化输出函数printf()例例 无符号数据的输出。无符号数据的输出。#includemain( ) unsigned int a=65535; int b=-2; printf(a=%d,%o,%x,%un,a,a,a,a); printf(b=%d,%o,%x,%un,b,b,b,b); 运行结果:运行结果:a=-1a=-1,177777177777,ffffffff,6553565535b=-2b=-2,177776177776,fffefffe,6553465534编辑ppt24格式化输出函数格式化输出函数printf()例:字符数据的输出例:字符数据的输出#inclu

23、de main() char c=a; int i=97; clrscr(); printf(%c,%dn,c,c); printf(%c,%dn,i,i); getch();运行结果:运行结果:a,97a,97a,97a,97编辑ppt25格式化输出函数格式化输出函数printf()(6)s(6)s格式符格式符 输出字符串输出字符串. . 。例如:。例如: (,) 输出字符串输出字符串“”(不包括双引号)。(不包括双引号)。 %ms %ms,输出的字符串占,输出的字符串占m m列,若串长大于列,若串长大于m m,则全部输出,若串长,则全部输出,若串长 小于小于m m,则左补空格。,则左补空格

24、。 %-ms %-ms,若串长小于,若串长小于m m,字符串,字符串向左靠,右补空格向左靠,右补空格。 %m. ns, %m. ns,输出占输出占m m列,列,只取字符串中左端只取字符串中左端n n个字符个字符,输出在,输出在m m列的列的 右侧,左补空格。右侧,左补空格。 %-m.ns %-m.ns,n n个字符输出在个字符输出在m m列的左侧,右补空格,若列的左侧,右补空格,若n nm m,m m自自 动取动取n n值。值。编辑ppt26main()clrscr(); printf(*%s*n , china); printf(*%8s*n , china); printf(*%-8s*n

25、 , china“); printf(*%5.3s*n , china“); printf(*%7.2s*n , china“); printf(*%.4s*n , china“);运行结果:运行结果:* *china* * * china* * *china * * * chi* * * ch* * *chin* *编辑ppt27格式化输出函数格式化输出函数printf()(7)(7)格式符。用来以小数形式输出实数(包括单双精度)格式符。用来以小数形式输出实数(包括单双精度)有以下几种用法:有以下几种用法: 。不指定字段宽度,由系统自动指定字段宽度,使整数。不指定字段宽度,由系统自动指定字段

26、宽度,使整数部分全部输出,部分全部输出,并输出位小数并输出位小数。应当注意,在输出的数字中。应当注意,在输出的数字中并非全部数字都是有效数字。并非全部数字都是有效数字。单精度实数的有效位数一般为位单精度实数的有效位数一般为位。. .。指定输出的数据共占列,其中有位小数。如果。指定输出的数据共占列,其中有位小数。如果数值长度小于,则左端补空格。数值长度小于,则左端补空格。. .与与. .基本相同,只是使输出的数值向左端基本相同,只是使输出的数值向左端靠,右端补空格。靠,右端补空格。 编辑ppt28格式化输出函数格式化输出函数printf()例:输出单精度有效位数例:输出单精度有效位数#inclu

27、de stdio.hmain()float x,y; x=111111.111; y=222222.222; clrscr(); printf(%f,x+y);运行结果:运行结果:333333.328125编辑ppt29格式化输出函数格式化输出函数printf()例:输出双精度有效位数例:输出双精度有效位数#include stdio.hmain()float x,y;x=1111111111111.111111111;y=2222222222222.222222222; clrscr();printf(%f,x+y);运行结果:运行结果:3333333333333.333010double

28、x,y;编辑ppt30格式化输出函数格式化输出函数printf()例例 输出实数时指定小数位数。输出实数时指定小数位数。#include stdio.hmain() float a=123.456; clrscr(); printf(*%f*,*%10f*,*%10.2f*n,a,a,a); printf(*%-10.2f*,*%.2f*n,a,a); 运行结果:运行结果:* *123.456001123.456001* * * *123.456001123.456001* * * * 123.46 123.46* * * *123.46 123.46 * * * *123.46123.46*

29、 * 编辑ppt31main()float a=123.456; clrscr(); printf(a=%en,a); printf(a=%10en,a); printf(a=%10.2en,a); printf(a=%-10.2en,a); printf(a=%.2en,a);(8)格式符,以指数形式输出实数格式符,以指数形式输出实数a=1.23456e+02a=1.23456e+02a= 1.2e+02a=1.2e+02a=1.2e+02格式化输出函数格式化输出函数printf()编辑ppt32格式化输出函数格式化输出函数printf()(9)(9)格式符,用来输出实数格式符,用来输出实数

30、. . 它根据数值的大小,自动选格式或格式(选择输出时占宽度它根据数值的大小,自动选格式或格式(选择输出时占宽度较小的一种),且不输出无意义的零。较小的一种),且不输出无意义的零。例例: :若若a=123.456a=123.456,则,则 printf(printf(%f,a); 123.456001 printf(%g,a); printf(%g,a); 123.456123.456编辑ppt33格式化输出函数格式化输出函数printf()(二)调用(二)调用printf函数的注意事项函数的注意事项1、格式说明与输出项从左到右,、格式说明与输出项从左到右,类型必须一一对应类型必须一一对应,若

31、类,若类型不匹配,系统不会给错误提示型不匹配,系统不会给错误提示#include stdio.hmain() int a=34; float b=5.3; clrscr(); printf(%d,%dn,a,b);运行结果:运行结果:34,00是错误,系是错误,系统不给提示统不给提示编辑ppt34格式化输出函数格式化输出函数printf()2、格式说明与输出项个数相同,若不同,格式说明多,输、格式说明与输出项个数相同,若不同,格式说明多,输出不定值;输出项多无用;出不定值;输出项多无用; printf(“%d %f”,a); 左右两侧必须匹配,而且个数相同左右两侧必须匹配,而且个数相同3、除格

32、式说明外,其它合法字符、除格式说明外,其它合法字符“原样输出原样输出”;4、如需要输出、如需要输出%,则用两个连续的,则用两个连续的“%”输出输出main() int a=34; float b=5.3; clrscr(); printf(%dn,a);运行结果:运行结果:%da 不起作用不起作用编辑ppt35格式化输入函数格式化输入函数scanf()nscanf函数的功能是从标准输入流中函数的功能是从标准输入流中按指定格式按指定格式接收输入的数据接收输入的数据;nscanf函数的调用格式为:函数的调用格式为: scanf(格式控制字符串格式控制字符串, 地址列表地址列表);格式控制字符串同格

33、式控制字符串同printf地址列表地址列表是由若干个地址组成的表列,可以是是由若干个地址组成的表列,可以是变变量的地址,或字符串的首地址量的地址,或字符串的首地址编辑ppt36格式化输入函数格式化输入函数scanf()例:用例:用scanf函数输入数据函数输入数据#include stdio.hmain()int a,b,c;clrscr();scanf(%d%d%d,&a,&b,&c);printf(%d,%d,%dnf,a,b,c);运行情况:运行情况:3 4 53 4 5 ( (输入输入a,b,ca,b,c的值的值) )3 3,4 4,5 5 (输出(输出a,b,

34、ca,b,c的值)的值)a a在内存中的地在内存中的地址址& &是地址运算符是地址运算符编辑ppt37通过通过scanf函数从键盘输入数据函数从键盘输入数据1、当调用、当调用scanf函数从键盘输入数据时,最后一定要函数从键盘输入数据时,最后一定要按按下回车键下回车键,scanf函数才能接受键盘输入的数据;函数才能接受键盘输入的数据;2、输入数据的数值:、输入数据的数值:(1)从键盘输入数值数据时,输入的数值数据之间用间)从键盘输入数值数据时,输入的数值数据之间用间隔符隔开;隔符隔开;(2)此处的间隔符可以是空格符、)此处的间隔符可以是空格符、Tab、回车符;、回车符;(3)如

35、果在)如果在“格式控制格式控制”字符串中除了格式说明以外字符串中除了格式说明以外还还有其他字符,有其他字符,则在输入数据时则在输入数据时在对应位置应输入与这些字在对应位置应输入与这些字符相同的字符符相同的字符。如:。如:3,4,5 否则会出现错误结果否则会出现错误结果 scanf(“%d,%d,%d,&a,&b,&c); printf(%d,%d,%dnf,a,b,c);编辑ppt38格式化输入函数格式化输入函数scanf()3、在格式字符串中插入其它字符、在格式字符串中插入其它字符 如果如果想在屏幕上输入字符来提示想在屏幕上输入字符来提示,应该使用,应该使用print

36、f函数函数;如果用如果用scanf格式控制字符串中插入其它字符格式控制字符串中插入其它字符,则输入时,则输入时,要求要求按一一对应的位置原样输入按一一对应的位置原样输入这些字符;这些字符;#include stdio.hmain()int a,b,c; clrscr(); printf(“input:a,b,cn“); scanf(%d%d%d,&a,&b,&c); printf(%d,%d,%dnf,a,b,c);scanf(“input:a,b,c:%d%d%d,&a,&b,&c);运行情况:运行情况:input a,b,c:3 4 5 in

37、put a,b,c:3 4 5 编辑ppt39格式化输入函数格式化输入函数scanf()说明:说明:1、TC环境下,输入环境下,输入long整数时,用整数时,用%ld;输入输入double时,用时,用lf;2、格式说明的类型和输入项类型,应该一一匹配;、格式说明的类型和输入项类型,应该一一匹配; float a;scanf(“%d”,&a); 不合法不合法3、在、在scanf函数中的格式字符前,函数中的格式字符前,可以一个整数指可以一个整数指定输入数据所占宽度定输入数据所占宽度,但,但不可对实型数指定小数宽不可对实型数指定小数宽度度; scanf(“%3d”,&a); 合法合法

38、 scanf(“%3.2f”,&a); 不合法不合法编辑ppt40格式化输入函数格式化输入函数scanf()4、在、在用用“”格式输入字符时,无需间隔符格式输入字符时,无需间隔符,在这里,回车、在这里,回车、Tab、空格字符和、空格字符和“转义字符转义字符”都都作为有效字符输入作为有效字符输入#include stdio.hmain()char a,b,c; clrscr(); printf(input:n); scanf(%c%c%c,&a,&b,&c); printf(%c,%c,%cn,a,b,c);#include stdio.hmain()char a

39、,b,c; printf(input:n); scanf(%c,%c, %c,&a,&b,&c); printf(%c,%c,%cn,a,b,c);键盘输入:键盘输入:abc键盘输入:键盘输入:a, b, c编辑ppt41格式化输入函数格式化输入函数scanf()例:以下程序的运行结果是什么?例:以下程序的运行结果是什么?#include stdio.hmain()char c1,c2; int a,b; clrscr(); scanf(%d%c%d%c,&a,&c1,&b,&c2); printf(c1=%c,c2=%c,a=%d,b=

40、%dn,c1,c2,a,b);键盘输入:键盘输入:1 x 2 y会是什么结果?会是什么结果?正确输入:正确输入:1x 2y编辑ppt425、在格式输入串中,格式、在格式输入串中,格式说明符的个数应该与输入说明符的个数应该与输入项的个数相同,若项的个数相同,若格式符格式符个数少于输入项个数少于输入项,scanf函函数按格式符的项目结束输数按格式符的项目结束输入,入,多余的输入项没有得多余的输入项没有得到新的数据;到新的数据;若格式符的若格式符的个数多于输入项,个数多于输入项,scanf函函数数按输入项的数据结束输按输入项的数据结束输入,多余的格式符不起作入,多余的格式符不起作用;用;格式化输入函

41、数格式化输入函数scanf()main() int a,b,k,i; clrscr(); scanf(%d%d,&a,&b,&k); scanf(%d%d,&i); printf(a=%d,b=%d, k=%d,i=%dn,a,b,k,i); getch();6、当输入数据、当输入数据少于输入项时少于输入项时,程序等待输入程序等待输入,直到满足要,直到满足要求为止,当输入的数据多于输入项时,求为止,当输入的数据多于输入项时,多余数据并不消失,多余数据并不消失,而是留做下一个输入操作的输入数据而是留做下一个输入操作的输入数据;编辑ppt43格式化输入函数格式化输入

42、函数scanf()n输入时个数不够输入时个数不够,会到下一行取会到下一行取,太多个则放在缓冲区,如太多个则放在缓冲区,如 scanf(%d%d, &a, &b, &k);当输入当输入 1 2 3 则则3不送不送k, 仍放在缓冲区。仍放在缓冲区。n 接着执行:接着执行:scanf(%d%d,&i); 输入输入4 后,后,程序运行结果是:程序运行结果是:a=1,b=2,k=5852,i=3printf与与scanf对实数处理时的区别:对实数处理时的区别: 实型数据实型数据printfscanf float%f%f double%f 或 %lf%lf long double%Lf%Lf编辑ppt44格式化输入函数格式化输入函数scanf()语句:语句:scanf(%3d%8f%d, &i,&f,&j);键盘输入数据:键盘输入数据:123456.7891234回车结果:结果:i为123, f为456.7891, j为234说明:说明:遇到宽度3和8,数据项结束。语句语句:scanf(%ld%c%d, &k,&ch,&i);键盘输入数据键盘输入数据:123456.7890回车结果:结果:k为123456, ch为., i的值为7890说明:说明:遇到非法

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论