C语言程序设计第四章课件.pptx
《C语言程序设计第四章课件.pptx》由会员分享,可在线阅读,更多相关《C语言程序设计第四章课件.pptx(38页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、本章学习内容 字符常量与转义字符 字符输出函数putchar()字符输入函数getchar()数据的格式化输出函数printf()数据的格式化输入函数scanf()第1页/共38页字符常量字符常量是用单引号括起来的一个字符a是字符常量,而a则是一个标识符3表示一个字符常量,而3则表示一个整数 转义字符(Escape Character)一些特殊字符(无法从键盘输入或者另有他用)用转义字符表示第2页/共38页字符型变量的取值范围取决于计算机系统所使用的字符集ASCII(美国标准信息交换码)字符集规定了每个字符所对应的编码 一个字符以其对应的ASCII码的二进制形式存储在内存中一个字节,保存一个字
2、符(英文字母、数字、符号)字符常数就是一个普通整数,也可参与各种数学运算每个字符具有一个0255之间的数值,可从ASCII表查出注意:5和整数5的区别5的ASCII码值是53字符常量第3页/共38页4.1单个字符的输入/输出通过调用标准库函数来实现#include 字符输出函数putchar(ch)输出一个字符ch字符输入函数getchar()无参数函数值为从输入设备接收的字符第4页/共38页【例4.1】大小写英文字母转换Press a key and then press Enter:B b ch=ch-(a A);What does this statement mean?第5页/共38页
3、4.2数据的格式化屏幕输出格式printf(格式控制字符串,输出项列表);printf(a=%d b=%f,a,b);可以输出若干任意类型的数据 函数名函数名可选输可选输出列表出列表普通普通字符字符格式格式说明说明第6页/共38页%c character以字符形式输出单个字符以字符形式输出单个字符%s string 输出一个字符串输出一个字符串%d decimal 以带符号十进制整数输出以带符号十进制整数输出%f float 以小数形式输出浮点数(以小数形式输出浮点数(6位小数)位小数)%e exponent 以标准指数形式输出(以标准指数形式输出(6位小数)位小数)%g 选用选用%f,%e中
4、输出宽度较小的一种格式中输出宽度较小的一种格式%o octal 以八进制无符号整数输出(无前导以八进制无符号整数输出(无前导0)%x hex 以十六进制无符号整数输出(无前导以十六进制无符号整数输出(无前导0 x)%u unsigned 以十进制无符号整数输出以十进制无符号整数输出printf()printf()格式字符格式字符格式字符格式字符第7页/共38页【例4.2】大小写英文字母转换Press a key and then press Enter:B b,98第8页/共38页m 表示数据占用的最小宽度表示数据占用的最小宽度 数据宽度大于数据宽度大于m,按实际宽度输出,按实际宽度输出 数据
5、宽度小于数据宽度小于m时,补空格时,补空格n 对实数表示输出对实数表示输出n位小数位小数 对字符串表示最多输出的字符个数对字符串表示最多输出的字符个数l 长整型整数长整型整数,加在,加在d、o、x、u前前L long double型数,加在型数,加在f、e、g前前-改变输出内容的对齐方式改变输出内容的对齐方式 默认为右对齐默认为右对齐printf()printf()的格式修饰符的格式修饰符的格式修饰符的格式修饰符第9页/共38页printf()的格式修饰符nFormat for float:%f%f nGeneral format:%.f fExample:printf(Value is:%1
6、0.4f,32.6784728);Value is:32.6785 10 characters4 digits第10页/共38页printf()的格式修饰符Example:printf(Value is:%10f,32.6784728);Value is:32.67847310 characters6 digits(default)第11页/共38页Example:printf(Value is:%.3f,32.6784728);Value is:32.678 3 digitsprintf()的格式修饰符第12页/共38页Input r:5.3 printf WITHOUT width or
7、precision specifications:circumference=33.300854,area=88.247263printf WITH width and precision specifications:circumference=33.30,area=88.25【例例例例4.34.3】计算圆的周长和面计算圆的周长和面计算圆的周长和面计算圆的周长和面积积积积#include main()const double pi=3.14159;double r,circum,area;printf(Input r:);scanf(%lf,&r);circum=2*pi*r;area=pi
8、*r*r;printf(printf WITHOUT width or precision specifications:n);printf(circumference=%f,area=%fn,circum,area);printf(printf WITH width and precision specifications:n);printf(circumference=%7.2f,area=%7.2fn,circum,area);第13页/共38页4.3数据的格式化键盘输入格式scanf(格式控制字符串,地址列表);scanf(%d,%f,&a,&b);格式字符指定输入数据格式输入数据地址
9、列表非格式字符输入数据以,分隔没有时可以空格、Tab或回车分隔第14页/共38页c 以字符形式输入单个字符以字符形式输入单个字符s 输入字符串输入字符串,以非空字符开始以非空字符开始,遇第一个遇第一个 空白字符结束空白字符结束d 以带符号十进制形式输入整型数据以带符号十进制形式输入整型数据f 以小数形式输入浮点数以小数形式输入浮点数e 以标准指数形式输入以标准指数形式输入o 以八进制无符号形式输入(无前导以八进制无符号形式输入(无前导0)x 以十六进制无符号形式输入(无前导以十六进制无符号形式输入(无前导0 x)scanf()scanf()的格式字符的格式字符的格式字符的格式字符第15页/共3
10、8页m 表示数据占用的宽度表示数据占用的宽度l 加在加在d、o、x、u前:输入长整型前:输入长整型 加在加在f、e 前:输入双精度型前:输入双精度型L 加在加在f、e 前:输入前:输入long double型型h 加在加在d、o、x 前前:输入短整型输入短整型*本输入项在读入后不赋给相应的变量本输入项在读入后不赋给相应的变量scanf()scanf()的格式修饰符的格式修饰符的格式修饰符的格式修饰符第16页/共38页#includeinclude main()main()intint a,b;a,b;printf(Please input a and b:);printf(Please inp
11、ut a and b:);scanf(%2d scanf(%2d%*2d%*2d%2d,&a,&b);%2d,&a,&b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);printf(a=%d,b=%d,a+b=%dn,a,b,a+b);Please input a and b:a=12,b=56,a+b=68123456 跳过一个输入项跳过一个输入项输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制第17页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(
12、%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题1 1:当要求程序输出结果为:当要求程序输出结果为 a=12,b=34a=12,b=34时,用户应该如何输入数据?时,用户应该如何输入数据?12 3412 34 输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4第18页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn
13、,a,b);printf(a=%d,b=%dn,a,b);问题问题2 2:当限定用户输入数据以逗号为分隔符,即输入数据:当限定用户输入数据以逗号为分隔符,即输入数据格式为:格式为:12,3412,34 时,应修改程序中的哪条语句?怎样修改?时,应修改程序中的哪条语句?怎样修改?,输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4第19页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,
14、b);printf(a=%d,b=%dn,a,b);问题问题3 3:语句:语句scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);修改为修改为scanf(scanf(a=a=%d,%d,b=b=%d,&a,&b);%d,&a,&b);时,用户应该如何输入数据?时,用户应该如何输入数据?a=12,b=34a=12,b=34 输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4第20页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(
15、%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题4 4:限定用户输入数据为以下格式:限定用户输入数据为以下格式 12341234 同时要求程序输出结果为同时要求程序输出结果为a=12,b=34a=12,b=34%2d%2d%2d%2d 输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4第21页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);prin
16、tf(a=%d,b=%d n,a,b);printf(a=%d,b=%d n,a,b);问题问题5 5:限定用户输入数据为以下格式:限定用户输入数据为以下格式1212 3434 同时要求程序输出结果为同时要求程序输出结果为a=12,b=34a=12,b=34%d%d ,b=,b=%d%d输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4第22页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%d
17、n,a,b);printf(a=%d,b=%dn,a,b);问题问题6 6:设计程序使得用户可以以任意字符(回车、空格、:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其他字符)作为分隔符进行数据的输入制表符、逗号、其他字符)作为分隔符进行数据的输入输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4%*c第23页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);pri
18、ntf(a=%d,b=%dn,a,b);问题问题7 7:输入:输入123456123456时程序的输出结果是什么?时程序的输出结果是什么?输入数据的格式控制输入数据的格式控制输入数据的格式控制输入数据的格式控制例例例例4.44.44.44.4%*2da=12,b=56a=12,b=56第24页/共38页#includeinclude main()main()intint a,b;a,b;scanf(%d%d,&a,&b);scanf(%d%d,&a,&b);printf(a=%d,b=%dn,a,b);printf(a=%d,b=%dn,a,b);问题问题8 8:如果用户输入了非法字符,例如输
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 第四 课件
限制150内