资源描述:
《[工学]c语言课件 第4章_键盘输入与屏幕输出》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章键盘输入和屏幕输出哈尔滨工业大学计算机科学与技术学院苏小红sxh@hit.edu.cn本章学习内容字符常量与转义字符字符输出函数putchar()字符输入函数getchar()数据的格式化输出函数printf()数据的格式化输入函数scanf()字符常量字符常量是用单引号括起来的一个字符'a'是字符常量,而a则是一个标识符'3'表示一个字符常量,而3则表示一个整数转义字符(EscapeCharacter)一些特殊字符(无法从键盘输入或者另有他用)用转义字符表示字符型变量的取值范围取决于计算机系统所使用的字符集
2、ASCII(美国标准信息交换码)字符集规定了每个字符所对应的编码一个字符以其对应的ASCII码的二进制形式存储在内存中一个字节,保存一个字符(英文字母、数字、符号)字符常数就是一个普通整数,也可参与各种数学运算每个字符具有一个0~255之间的数值,可从ASCII表查出注意:'5'和整数5的区别'5'的ASCII码值是53字符常量4.1单个字符的输入输出通过调用标准库函数来实现#include字符输出函数putchar(ch)输出一个字符ch字符输入函数getchar()无参数函数值为从输入设备接收的字符【例
3、4.1】大小写英文字母转换PressakeyandthenpressEnter:B↙bch=ch-('a'–'A');Whatdoesthisstatementmean?4.2数据的格式化屏幕输出格式printf(格式控制字符串,输出项表列);printf("a=%db=%f",a,b);可以输出若干任意类型的数据函数名可选输出表列普通字符格式说明%ccharacter以字符形式输出单个字符%sstring输出一个字符串%ddecimal以带符号十进制整数输出%ffloat以小数形式输出浮点数(6位小数)%eexponent
4、以标准指数形式输出(6位小数)%g选用%f,%e中输出宽度较小的一种格式%ooctal以八进制无符号整数输出(无前导0)%xhex以十六进制无符号整数输出(无前导0x)%uunsigned以十进制无符号整数输出printf()格式字符【例4.2】大小写英文字母转换PressakeyandthenpressEnter:B↙b,98m表示数据占用的最小宽度数据宽度大于m,按实际宽度输出数据宽度小于m时,补空格n对实数表示输出n位小数对字符串表示最多输出的字符个数l长整型整数,加在d、o、x、u前Llongdouble型数,加在f
5、、e、g前-改变输出内容的对齐方式默认为右对齐printf()的格式修饰符printf()的格式修饰符Formatforfloat:%fGeneralformat:%[<最小域宽>.<小数位数>]fExample:printf("Valueis:%10.4f",32.6784728);Valueis:32.678510characters4digitsprintf()的格式修饰符Example:printf("Valueis:%10f",32.6784728);Valueis:32.67847310characters6di
6、gits(default)Example:printf("Valueis:%.3f",32.6784728);Valueis:32.6783digitsprintf()的格式修饰符Inputr:5.3↙printfWITHOUTwidthorprecisionspecifications:circumference=33.300854,area=88.247263printfWITHwidthandprecisionspecifications:circumference=33.30,area=88.25【例4.3】计算圆的
7、周长和面积4.3数据的格式化键盘输入格式scanf(格式控制字符串,地址表列);scanf("%d,%f",&a,&b);格式字符指定输入数据格式输入数据地址表列非格式字符输入数据以,分隔没有时可以空格、Tab或回车分隔c以字符形式输入单个字符s输入字符串,以非空字符开始,遇第一个空白字符结束d以带符号十进制形式输入整型数据f以小数形式输入浮点数e以标准指数形式输入o以八进制无符号形式输入(无前导0)x以十六进制无符号形式输入(无前导0x)scanf()的格式字符m表示数据占用的宽度l加在d、o、x、u前:输入长整型加在f、
8、e前:输入双精度型L加在f、e前:输入longdouble型h加在d、o、x前:输入短整型*本输入项在读入后不赋给相应的变量scanf()的格式修饰符#includemain(){inta,b;printf("Pleaseinputaandb:");scanf("%2d%