已阅读5页,还剩27页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出1 2011年3月 哈尔滨工业大学计算机学院 格式化输入/输出和字符输入输出 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出2 教学目的: n 熟练掌握字符输入/出函数 n 熟练掌握格式输入/输出函数 第3章 格式化输入/输出 和字符输入输出 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出3 主要内容 nC的语句 n字符输入函数getchar()和输出函数putchar() n格式输出函数printf()和输入函数 scanf() 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出4 C中的语句 n变量声明语句: int i; n赋值语句: i = i + 1; n函数调用语句: printf(“%dn”,i); n控制语句: if(i main() int a, b; int term; scanf(%d %d, if(ab) term=a; a=b; b=term; printf(%d,%d,a,b); 例3.1 从键盘输入任意两个数,将这两个数按从小到大顺序输出。 3.1 c的语句 文件名:3-1.c 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出7 字符输入输出函数 n字符输出函数 putchar ( ch ) 输出一个字符ch n字符输入函数 getchar ( ) 无参数 函数值为从输入设备接收的字符 3.2字符输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出8 #include main() char ch; printf(“Press a key and then press Enter:“); ch = getchar(); printf(“You pressed ”); putchar(ch); putchar(n); 例3.2 阅读程序,给出程序的执行结果 Press a key and then press Enter: A You pressed 程序执行结果: A 3.2字符输入输出函数 文件名:3-2.c 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出9 n格式输出函数 printf(格式控制字符串); printf(格式控制字符串, 输出项列表); 输出若干个任意类型的数据 输出项列表可以是常量、变量或表达式 nprintf(“a=%d b=%f“, a, b); 格式输出函数格式输出函数printfprintf()() 函数名普通字符 普通字符格式转换说明符格式转换说明符 3.3格式输入输出函数 输出项列表 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出10 d 以带符号十进制整数输出 o 以八进制无符号整数输出(无前导0) x 以十六进制无符号整数输出(无前导0x) u 以十进制无符号整数输出 c 以字符形式输出单个字符 s 输出一个字符串 f 以小数形式输出浮点数(6位小数) e 以标准指数形式输出(6位小数) g 选用%f,%e中输出宽度较小的一种格式 % Printf 格式转换说明符 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出11 l 长整型整数,加在d、o、x、u前 L long double型数,加在f、e、g前 m 表示数据占用的最小宽度 数据宽度大于m,按实际宽度输出 数据宽度小于m时,补空格 n 对实数表示输出n位小数 对字符串表示最多输出的字符个数 - 改变输出内容的对齐方式,左对齐 缺省为右对齐 printf格式修饰符 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出12 #include main() long int m=12; int a=30,b=214; printf(“%ld%5d%5dn”, m, a, b); printf(%ld%-5d%-5d,m,a,b); 12 30 214 1230 214 程序执行结果: 例3.3 阅读程序,给出程序的执行结果 3.3格式输入输出函数 文件名:3-3.c 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出13 #include main() float f1 = 100.15799, f2 = 12.55, f3 = 1.7; int n1 = 123, n2 = 45, n3 = 6; printf(“printf WITHOUT width or precision specifications:n“); printf(“%fn%fn%fn“, f1, f2, f3); printf(“%dn%dn%dn“, n1, n2, n3); printf WITHOUT width or precision specifications: 100.157990 12.550000 1.700000 123 45 6 3.3格式输入输出函数 例3.4 阅读程序,给出程序的执行结果 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出14 printf WITHOUT width or precision specifications: 100.16 12.6 2 123 45 6 #include main() float f1 = 100.15799, f2 = 12.55, f3 = 1.7; int n1 = 123, n2 = 45, n3 = 6; printf(“printf WITH width and precision specifications:n“); printf(“%5.2fn%6.1fn%3.0fn“, f1, f2, f3); printf(“%5dn%6dn%3dn“, n1, n2, n3); 3.3格式输入输出函数例3.5 阅读程序,给出程序的执行结果 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出15 n格式输入函数 scanf(格式控制字符串, 输入参数地址表列); nscanf(“%d %d”, 格式输入函数scanf() 函数名 格式说明符 非格式字符 输入参数地址表 , 3.3格式输入输出函数 格式控制字符串中,若有非格式字符,输入数据 时要原样输入 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出16 d 以带符号十进制形式输入整型数据 o 以八进制无符号形式输入(无前导0) x 以十六进制无符号形式输入(无前导0x) c 以字符形式输入单个字符 s 输入字符串,以非空字符开始,遇第一个 空白字符结束 f 以小数形式输入浮点数 e 以标准指数形式输入 scanf格式字符 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出17 n l 加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型 n L 加在f、e 前:输入long double型 n h 加在d、o、x 前:输入短整型 n m 表示数据占用的宽度 n * 本输入项在读入后不赋给相应的变量 scanf格式修饰符 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出18 #include main() int a; float b,c; scanf (“%d %f”, scanf(%f, printf(“a=%dtb=%ftc=%fn”,a,b,c); 12 14.5 可以按以下形式输入数据: 3.14 12 14.5 3.14 12 14.5 3.14 12 14.5 3.14 3.3格式输入输出函数例3.6 阅读程序,给出程序的执行结果 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出19 n常见错误 scanf(“%d,%fn”, scanf(“%d,%f”,a,b); scanf(“%7.2f“, 格式输入函数 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出20 #include main() int a, b; printf(“Please input a and b:”); scanf(“%2d%*2d%2d”, printf(“a=%d, b=%d, a+b=%dn“,a,b,a+b); Please input a and b: a=12, b=56, a+b = 68 123456 程序执行结果: 例3.7 阅读程序,给出程序的执行结果 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出21 Please input a and b: a=12, b=5, a+b = 17 12345a 程序执行结果: 例3.7 阅读程序,给出程序的执行结果 #include main() int a, b; printf(“Please input a and b:”); scanf(“%2d%*2d%2d”, printf(“a=%d, b=%d, a+b=%dn“,a,b,a+b); 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出22 输入数据的格式控制 #include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, printf(“a=%d, b=%dn“,a,b,); Please input a and b:12 34 a =12,b=34 问题1:当要求程序输出结果为 a = 12, b = 34 时,用户应该如何输入数据? 例3.8 阅读程序,给出程序的执行结果 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出23 问题2:当限定用户输入数据以逗号为分隔符,即 输入数据格式为: 12,34 时,应修改程序中的哪条语句?怎样修改? 输入数据的格式控制例3.8 #include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, printf(“a=%d, b=%dn“,a,b); scanf( %d , % d , 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出24 #include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, printf(“a=%d, b=%dn“,a,b); scanf ( a = %d, b = %d “, Please input a and b:a=12,b=34 a =12,b=34 输入数据的格式控制例3.8 问题3:语句scanf(“%d %d”, 修改为 scanf(“a = %d, b = %d“, 时,用户应该如何输入数据 ? 执行程序: 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出25 #include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, printf(“a=%d, b=%dn“,a,b); 问题4:限定用户输入数据为以下格式: 1234 同时要求程序输出结果为: a = 12, b = 34 scanf(“%2d%2d“, 输入数据的格式控制例3.8 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出26 #include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, printf(“a=%d, b=%dn“,a,b,a+b); 问题5:限定用户输入数据为以下格式: 12 34 同时要求程序输出结果为a = “12“, b = “34“ 应如何修改scanf和printf? scanf(“%d%d“, printf(“a=“%d“, b=“%d“n“, a, b); 输入数据的格式控制例3.8 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出27 #include main() int a, b; printf(“Please input a and b:“); scanf(“%2d %2d“, printf(“a=%d, b=%d, a+b=%dn“,a,b,a+b); 问题6:设计程序使得用户可以以任意字符(回车、空格、制表符、 逗号、其它)作为分隔符进行数据的输入? scanf(“%d%*c%d“, 输入数据的格式控制例3.8 3.3格式输入输出函数 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出28 例3.9-1 按下述格式,从键盘输入一个整数加法表达式: 操作数1 + 操作数2 然后计算并输出表达式的计算结果,形式如下: 操作数1 + 操作数2 = 计算结果 3.3格式输入输出函数 分析:操作数1和操作数2应是整型数据,分别用整型变量data1和 data2来表示; 运算符应是字符型数据,用字符变量op来表示。 章: 节 : Slide:3-第3章 格式化输入/出和字符输入/出29 例3.9-2 Please enter the expression data1 + data2 第1次测试 12+3 12+3 = 15 #include main() int data1, data2; char op; printf(“Please enter the expression data1 + data2n“); scanf(“%d%c%d“, printf(“%d%c%d = %dn“, data1, op, data2,data1+data2); 3.3格式输入输出函数 章: 节 : Slide:3-
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 西医骨科常见试题及详细答案
- 在线学习行为分析课程设计
- 卫星数据洪涝灾害预警平台课程设计
- 交互式数据新闻可视化平台数据建模课程设计
- OpenCV图像处理人脸识别课程设计
- 尽职调查员安全教育测试考核试卷含答案
- 边缘检测Python实现课程设计
- AI换脸实战教程课程设计
- 基于PID的直流电机调速系统仿真实践课程设计
- UART通信模块FPGA开发技巧课程设计
- 配网工程激励方案(3篇)
- 煤层气地质学课件
- 烙铁焊接贴片知识培训课件
- 研学基地活动策划与执行流程
- 2025年4月自考00840第二外语(日语)试题
- 护理死亡病例讨论课件
- 大象版心理健康六年级全册教学设计教案
- 2025年高考地理大题答题模板汇编
- T/CWAN 0015-2020钎焊接头质量评价规范
- 生态学(第三版) 杨持 第七章 学习资料
- 2024年新人教版1年级上册数学课件 第2单元 6~10的认识和加、减法第1课时 6~9的认识
评论
0/150
提交评论