苏小红c语言电子教案第四章

上传人:熏** 文档编号:243391767 上传时间:2024-09-22 格式:PPT 页数:31 大小:1.04MB
收藏 版权申诉 举报 下载
苏小红c语言电子教案第四章_第1页
第1页 / 共31页
苏小红c语言电子教案第四章_第2页
第2页 / 共31页
苏小红c语言电子教案第四章_第3页
第3页 / 共31页
资源描述:

《苏小红c语言电子教案第四章》由会员分享,可在线阅读,更多相关《苏小红c语言电子教案第四章(31页珍藏版)》请在装配图网上搜索。

1、Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,2024/9/22,31,/38,,,,第,4,章 键盘输入,,和屏幕输出,本章学习内容,,,字符常量与转义字符,,,字符输出函数,putchar,(),,,字符输入函数,getchar,(),,,,数据的格式化输出函数,printf,(),,,数据的格式化输入函数,scanf,(),,字符常量,字符常量是用单引号括起来的一个字符,,'a',是字符常量,而

2、,a,则是一个标识符,,'3',表示一个字符常量,而,3,则表示一个整数,,转义字符,(,Escape Character,),,一些特殊字符(无法从键盘输入或者另有他用)用转义字符表示,,,,,,,,字符型变量的取值范围取决于计算机系统所使用的字符集,,ASCII,(美国标准信息交换码)字符集,,规定了每个字符所对应的编码,,一个字符以其对应的,ASCII,码的二进制形式存储在内存中,,一个字节,保存一个字符(英文字母、数字、符号),,字符常数就是一个普通整数,也可参与各种数学运算,,每个字符具有一个,0~255,之间的数值,可从,ASCII,表查出,,注意:,'5',和整数,5,的区别,,

3、'5',的,ASCII,码值是,53,字符常量,4.1,单个字符的输入,/,输出,通过调用标准库函数来实现,,,#,include,<,stdio.h,>,,字符输出函数,,putchar(ch,),,输出,一个,字符,ch,ch,为字符变量名,,字符输入函数,,getchar,(),,无参数,,函数值为从输入设备接收的字符,【,例,4.1】,大小写英文字母转换,Press a key and then press Enter: B↙,,b,,ch,=,ch,+ ('a' – 'A');,,,,,What does,this statement,mean?,,,4.2,数据的格式化屏幕输出,格

4、式,,printf,(,格式控制字符串,,,输出项表列,);,,printf,(,",a=,%d,b=,%f,",,,a, b,);,,,,,,,可以输出若干,任意类型,的数据,,函数名,可选输,,出表列,普通字符,格式,,说明,%c character,以字符形式输出单个字符,,%s string,输出一个字符串,,%d decimal,以带符号十进制整数输出,,%f float,以小数形式输出浮点数(,6,位小数),,%e exponent,以标准指数形式输出(,6,位小数),,%g,选用,%f,,,%e,中输出宽度较小的一种格式,,%o octal,以八进制无符号整数输出(无前导,0,)

5、,,%x hex,以十六进制无符号整数输出(无前导,0x,),,%u unsigned,以十进制无符号整数输出,printf(),格式字符,【,例,4.2】,大小写英文字母转换,Press a key and then press Enter: B↙,,b, 98,m,表示数据占用的最小宽度,,数据宽度大于,m,,按实际宽度输出,,数据宽度小于,m,时,补空格,,n,对实数表示输出,n,位小数,,对字符串表示最多输出的字符个数,,l,长整型整数,,加在,d,、,o,、,x,、,u,前,,L long double,型数,加在,f,、,e,、,g,前,,-,,改变输出内容的对齐方式,,默认为

6、右对齐,printf,(),的格式修饰符,printf,(),的格式修饰符,Format for float:,%f,,,General format:,,,%,[<,最小域宽,> . <,小数位数,>],f,Example:,printf("Value is:%10.4f", 32.6784728);,,,Value is: 32.6785,,,,,,,,,10 characters,4 digits,printf,(),的格式修饰符,Example:,printf("Value is:%10f", 32.6784728);,,Value is: 32.678473,,,,,,,,1

7、0 characters,6 digits (default),Example:,printf("Value is:%.3f", 32.6784728,);,,,Value is:32.678,,,3 digits,printf,(),的格式修饰符,,,,,,,,Input r: 5.3↙,,printf,WITHOUT width or precision specifications:,,circumference = 33.300854, area = 88.247263,,printf,WITH width and precision specifications:,,circumfe

8、rence = 33.30, area = 88.25,【,例,4.3】,计算圆的周长和面积,,4.3,数据的格式化键盘输入,格式,,scanf,(,格式控制字符串,,,地址表列,);,,,scanf,(,",%,d,%f,", ,,格式字符,,指定输入数据类型,,输入数据,,地址表列,,非格式字符,,输入数据以,,,分隔,,没有时可以,空格,、,,Tab,或,回车,分隔,c,以字符形式输入单个字符,,s,输入字符串,,,以非空字符开始,,,遇第一个,,空白字符结束,,d,以带符号十进制形式输入整型数据,,f,以小数形式输入浮点数,,e,以标准指数形式输入,,o,以八进制无符号形式输入

9、(无前导,0,),,x,以十六进制无符号形式输入(无前导,0x,),scanf(),的格式字符,m,表示数据占用的宽度,,l,加在,d,、,o,、,x,、,u,前:输入长整型,,加在,f,、,e,前:输入双精度型,,L,加在,f,、,e,前:输入,long double,型,scanf,(),的格式修饰符,#,include,,main(),{,,int,a, b;,,scanf("%d %d", ,printf("a = %d, b = %d\n", a, b);,},问题,1,:当要求程序输出结果为,,,a = 12, b = 34,,时,用户应该如何输入数据?,,12 34↙,输入数据的

10、格式控制,——,例,4.4,#,include,,main(),{,,int,a, b;,,scanf("%d %d", ,printf("a = %d, b = %d\n", a, b);,},问题,2,:当限定用户输入数据以逗号为分隔符,即输入数据格式为:,12,34↙,,时,应修改程序中的哪条语句?怎样修改?,,,,输入数据的格式控制,——,例,4.4,#,include,,main(),{,,int,a, b;,,scanf("%d %d", ,printf("a = %d, b = %d\n", a, b);,},问题,3,:语句,scanf("%d,%d", ,修改为,scanf(

11、",a,=,%d,,b =,%d", ,,时,用户应该如何输入数据?,a = 12, b = 34↙,输入数据的格式控制,——,例,4.4,#,include,,main(),{,,int,a, b;,,scanf("%d %d", ,printf("a = %d, b = %d\n", a, b);,},问题,10,:如果程序第,5,行语句修改为,...,,那么结果又会如何呢?,输入数据的格式控制,——,例,4.4,,,a, b,#,include,,main(),{,,int,data1, data2, sum;,,char,op;,,printf("Please enter the

12、expression,data1 + data2\n");,scanf("%d%c%d",,printf("%d%c%d = %d\n",,data1, op, data2, data1+data2);,},Please enter the expression data1 + data2,,第,1,次测试,12 + 3↙,12 4199288 = 4199300,C,格式符的问题及解决,—,例,4.5,,,,,,,,,,#,include,,main(),{,,int,data1, data2, sum;,,char,op;,,printf("Please enter the express

13、ion,data1 + data2\n");,scanf("%d%c%d",,printf("%d%c%d = %d\n",,data1, op, data2, data1+data2);,},Please enter the expression data1 + data2,,第,2,次测试,12 3↙,12 3 = 15,,,,,,,,,,C,格式符的问题及解决,—,例,4.5,#,include,,main(),{,,int,data1, data2, sum;,,char,op;,,printf("Please enter the expression,data1 + data2\n"

14、);,scanf("%d%c%d",,printf("%d%c%d = %d\n",,data1, op, data2, data1+data2);,},Please enter the expression data1 + data2,,第,3,次测试,12+3↙,12+3 = 15,,,,,,,,,,C,格式符的问题及解决,—,例,4.5,#,include,,main(),{,,int,a;,,char,b;,,float,c;,printf("Please input an integer:");,scanf("%d", ,printf("integer: %d\n", a);,pri

15、ntf("Please input a character:");,scanf("%c", ,printf("character: %c\n", b);,printf("Please input a float number:");,scanf("%f", ,printf("float: %f\n", c);,},Please input an integer:,希望得到的运行结果,12↙,Please input an character,,:,a↙,Please input a float number:,3.5↙,integer:12,character,,:a,float number

16、:3.500000,C,格式符的问题及解决,—,例,4.6,#,include,,main(),{,,int,a;,,char,b;,,float,c;,printf("Please input an integer:");,scanf("%d", ,printf("integer: %d\n", a);,printf("Please input a character:");,scanf("%c", ,printf("character: %c\n", b);,printf("Please input a float number:");,scanf("%f", ,printf("float

17、: %f\n", c);,},Please input an integer:,结果好像很奇怪呀!,12↙,Please input an character,,:,a↙,Please input a float number:,3.5↙,integer:12,,float number:3.500000,C,格式符的问题及解决,—,例,4.6,,,,,,,#,include,,,main(),,{,,,int,a;,,,char,b;,,,float,c;,,printf("Please input an integer:");,,scanf("%d", ,,printf("integer:

18、 %d\n", a);,,printf("Please input a character:");,,,getchar();,/*,将存于缓冲区中的回车字符读入,避免被后面的变量作为有效字符读入*,/,,scanf("%,c,", ,,printf("character: %c\n", b);,,printf("Please input a float number:");,,scanf("%f", ,,printf("float: %f\n", c);,,},Please input an integer:,程序修改后得到的运行结果,12↙,Please input an character

19、,,:,a↙,Please input a float number:,3.5↙,integer:12,character,,:a,float number:3.500000,C,格式符的问题及解决,—,例,4.6,,,,,,,,,,,,#,include,,,main(),,{,,,int,a;,,,char,b;,,,float,c;,,printf("Please input an integer:");,,scanf("%d", ,,printf("integer: %d\n", a);,,printf("Please input a character:");,,scanf,(,“,

20、%c,”,,,,/*,第,2,种解决方案,:,在,%c,前加一个空格,*/,,printf("character: %c\n", b);,,printf("Please input a float number:");,,scanf("%f", ,,printf("float: %f\n", c);,,},C,格式符的问题及解决,—,例,4.6,,#,include,,main(),{,,int,data1, data2, sum;,,char,op;,,printf("Please enter the expression,data1 + data2\n");,scanf("%d,%c,%d",,printf("%d%c%d = %d\n",,data1, op, data2, data1+data2);,},12+3↙,12 + 3↙,12,↙,+,↙,3↙,再回头来看例,4.5,,,如何以任意分隔符输入加法算式?,格式输入函数常见错误,scanf,(,",%,d,%f,\n,",&a,&b,);,,scanf,(,",%,d,%f",,a,b,);,,scanf,(,",%7,.2f,",,,,,几点忠告,,不要拘泥于细节,,不要死记硬背,,在使用中慢慢掌握,注意!,本章节作业,P59 4.1 4.2 4.3,

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

相关资源

更多
正为您匹配相似的精品文档
关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!