版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、本章学习内容, 字符输出函数putchar() 字符输入函数getchar() 数据的格式化输出函数printf() 数据的格式化输入函数scanf(),第4章 键盘输入 和屏幕输出,4.1单个字符的输入/输出,通过调用标准库函数来实现 #include 字符输出函数 putchar(ch) 输出一个字符ch 字符输入函数 getchar() 无参数 函数值为从输入设备接收的字符,【例4.1】大小写英文字母转换,Press a key and then press Enter: B b,printf()函数的作用:向计算机系统默认的输出设备(一般指终端或显示器)输出一个或多个任意类型的数据。
2、printf()函数的一般格式: printf(格式控制字符串 ,输出项表);,4.2数据的格式化屏幕输出,1格式控制字符串。 可以包含以下三种字符: (1)输出项的格式说明。格式说明的一般形式如下: %FlagsWidth.prech|L格式指示符,Flags为选择的标志字符。常用的有:- : 为左对齐,否则右对齐+:正数输出+,负数输出-空格:正数输出空格,负数输出-,Width为宽度指示符。用十进制数来设置输出值的最少输出位数。数据宽度大于Width ,按实际宽度输出 数据宽度小于Width时,补空格,.prec为精度指示符。用小数点加十进制正整数构成,用来限制输出数的精度。,h|L为长
3、度修饰符: h短整型数据的值 L长整型数据的值,格式指示符:用来进行格式转换,(2)转义字符 (3)普通字符除格式指示符和转义字符之外的其它字符。格式字符串中的普通字符,原样输出。 2输出项表 输出项表是可选的。如果要输出的数据不止1个,相邻2个之间用逗号分开。下面的printf()函数都是合法的: (1)printf(I am a student.n); (2)printf(%d,3+2); (3)printf(a=%f b=%5dn, a, b); 必须强调:“格式字符串”中的格式指示符,必须与“输出项表 ”中、输出项的数据类型一致,否则会引起输出错误。,【例4.2】大小写英文字母转换,P
4、ress a key and then press Enter: B b, 98,printf()的格式修饰符,Format for float: %f General format: % . f,Example: printf(Value is:%10.4f, 32.6784728);,Value is: 32.6785,printf()的格式修饰符,Example: printf(Value is:%10f, 32.6784728);,Value is: 32.678473,Example: printf(Value is:%.3f, 32.6784728);,Value is:32.67
5、8,printf()的格式修饰符,Input r: 5.3 printf WITHOUT width or precision specifications: circumference = 33.300854, area = 88.247263 printf WITH width and precision specifications: circumference = 33.30, area = 88.25,【例4.3】计算圆的周长和面积,在程序中给变量提供数据,可以用赋值语句,也可以用输入函数。 scanf()函数的作用:通过键盘输入,同时提供一个或多个任意类型的数据。 scanf()函
6、数的一般格式: scanf(“格式控制字符串”, 输入项首地址表); 1、格式控制字符串:包含3种类型的字符 (1)格式说明:格式说明的一般形式为: %* 宽度 h|l 类型字符 * 本输入项在读入后不赋给相应的变量 宽度n 该项输入数据所占列数为n。,4.3数据的格式化键盘输入,换句话说,读取输入数据中相应的n位,但按需要的位数赋给相应的变量,多余部分被舍弃。 例如,scanf(%3c%3c, 假设输入“1234567”,则系统将读取12赋给变量ch1;将读取345赋给变量ch2,所以printf()函数的输出结果为:ch1=12,ch2=345。 类型修饰符h、l。 其含义与printf(
7、)中的一样,分别为短整型和长整型(双精度) 。,格式指示符 格式指示符是必须的,表示输入后转换的数据类型。与printf函数格式中的格式指示符相同。,(2)空白字符: (空格、Tab键和回车键):作为相邻2个输入数据的缺省分隔符; (3)非空白字符(又称普通字符):普通字符不是显示的而是规定在输入有效数据时,必须原样一起输入的字符。 如:scanf(“ch=%d,f=%fn, 若要使ch值为3,f的值为56.6,则应怎样输入?,2、输入项首地址表由若干个表示内存首地址的项组成,相邻2个项之间,用逗号分开。 内存首地址,可以是变量的首地址,也可以是字符数组名或指针变量。 变量首地址的表示方法:
8、printf(Please input a and b:); scanf(%2d%*2d%2d, ,Please input a and b:,a=12, b=56, a+b = 68,123456,跳过一个输入项,输入数据的格式控制,#include main() int a, b; scanf(%d %d, ,问题1:当要求程序输出结果为 a = 12, b = 34 时,用户应该如何输入数据?,12 34,输入数据的格式控制例4.4,#include main() int a, b; scanf(%d %d, ,问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为: 12,34 时
9、,应修改程序中的哪条语句?怎样修改?,输入数据的格式控制例4.4,#include main() int a, b; scanf(%d %d, ,问题3:语句scanf(%d %d, 时,用户应该如何输入数据?,a = 12, b = 34,输入数据的格式控制例4.4,#include main() int a, b; scanf(%d %d, ,问题4:限定用户输入数据为以下格式 1234 同时要求程序输出结果为a = 12, b = 34,%2d%2d,输入数据的格式控制例4.4,#include main() int a, b; scanf(%d %d, ,问题5:限定用户输入数据为以下
10、格式 12 34 同时要求程序输出结果为a = 12 ,b = 34,%d ,b = %d,输入数据的格式控制例4.4,#include main() int a, b; scanf(%d %d, ,问题6:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其他)作为分隔符进行数据的输入,输入数据的格式控制例4.4,#include main() int a, b; scanf(%d %d, ,问题7:输入123456时程序的输出结果是什么?,输入数据的格式控制例4.4,a = 12, b = 56,#include main() int a, b; scanf(%d %d, ,问题8
11、:如果用户输入了非法字符,例如输入了12 3a,那么程序运行结果如何?,输入数据的格式控制例4.4,12 3a a = 12, b = 3,#include main() int a, b; scanf(%d %d, ,问题9:如果用户输入的是123a,那么结果又会如何呢?,输入数据的格式控制例4.4,123a a = 123, b = -858993460,#include main() int a, b; scanf(%d %d, ,问题10:如果程序第5行语句修改为.,那么结果又会如何呢?,输入数据的格式控制例4.4,#include main() int data1, data2; c
12、har op; printf(Please enter the expression data1 + data2n); scanf(%d%c%d, ,Please enter the expression data1 + data2,第1次测试,12 + 3,12 4199288 = 4199300,C格式符的问题及解决例4.5,#include main() int data1, data2; char op; printf(Please enter the expression data1 + data2n); scanf(%d%c%d, ,Please enter the express
13、ion data1 + data2,第2次测试,12 3,12 3 = 15,C格式符的问题及解决例4.5,#include main() int data1, data2; char op; printf(Please enter the expression data1 + data2n); scanf(%d%c%d, ,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 inpu
14、t an integer:); scanf(%d, ,Please input an integer:,希望得到的运行结果,12,Please input an character :,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, ,Please input an integer:,结
15、果好像很奇怪呀!,12,Please input an character :,character:,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, ,Please input an integer:,程序修改后得到的运行结果,12,Please input an character :,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, ,C格式符的问题及解决例4.6,使用空白字符(空格属于空白字符)会使scanf()函数在读操作中略去输入
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妊娠期糖尿病妇女体重增长管理:WS-T 828-2023标准解读与临床护理实践
- 叙事学就业方向与前景
- 某塑料厂注塑成型细则
- 海信AI设备联网指南
- 大学生四年后就业前景
- 腿部包扎急救方法
- 2027夏季饲料批量销售合同畜禽养殖基地采购协议三篇
- 2026中牟在职面试题及答案
- 2026大队书记面试题及答案大全
- 2026道德滑坡面试题及答案
- 心房颤动诊断和治疗中国指南
- 2025年香港苏浙公学笔试面试及答案
- 海军与海洋知识进校园
- 液冷技术原理介绍
- 人教部编版道德与法治五年级下册期末综合测试卷含答案5
- 屋顶sbs防水施工方案
- 2026年大学生心理健康教育考试题库附答案【考试直接用】
- 技师专业论文撰写指南
- 防水材料销售培训课件
- 新版中华民族共同体概论课件第十二讲民族危亡与中华民族意识觉醒(1840-1919)-2025年版
- 2025河北雄安新区安新县公共服务局招聘专项岗位人员180人第二批备考考试题库附答案解析
评论
0/150
提交评论