第3章格式化输入输出和字符输入输出_1ppt课件_第1页
第3章格式化输入输出和字符输入输出_1ppt课件_第2页
第3章格式化输入输出和字符输入输出_1ppt课件_第3页
第3章格式化输入输出和字符输入输出_1ppt课件_第4页
第3章格式化输入输出和字符输入输出_1ppt课件_第5页
已阅读5页,还剩27页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

2010年2月,哈尔滨工业大学计算机学院,,C语言大学实用教程,格式化输入/输出和字符输入输出,教学目的:,熟练掌握字符输入/出函数 熟练掌握格式输入/输出函数,第3章 格式化输入/输出和字符输入输出,主要内容,C的语句,字符输入函数getchar()和输出函数putchar(),格式输出函数printf()和输入函数scanf(),C中的语句,变量声明语句: int i; 赋值语句: i = i + 1; 函数调用语句: printf(“%dn”,i); 控制语句: if(i10) i+; 空语句: ; /*什么也不做*/ 复合语句: 由一条或多条括在花括号里的语句构成。 t = x ; x = y; y = t; ,3.1 c的语句,复合语句,使用条件,条件语句和循环语句在语法上只允许带一条语句 在分支或循环中又需要进行多项操作时,3.1 c的语句,#include main() int a, b; int term; scanf(%d %d, ,例3.1 从键盘输入任意两个数,将这两个数按从小到大顺序输出。,3.1 c的语句,文件名:3-1.c,字符输入输出函数,字符输出函数 putchar ( ch ) 输出一个字符ch 字符输入函数 getchar ( ) 无参数 函数值为从输入设备接收的字符,3.2字符输入输出函数,#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,格式输出函数 printf(格式控制字符串); printf(格式控制字符串, 输出项列表); 输出若干个任意类型的数据 输出项列表可以是常量、变量或表达式 printf(“a=%d b=%f“, a, b);,普通字符,普通字符,格式转换说明符,格式转换说明符,3.3格式输入输出函数,输出项列表,d 以带符号十进制整数输出 o 以八进制无符号整数输出(无前导0) x 以十六进制无符号整数输出(无前导0x) u 以十进制无符号整数输出 c 以字符形式输出单个字符 s 输出一个字符串 f 以小数形式输出浮点数(6位小数) e 以标准指数形式输出(6位小数) g 选用%f,%e中输出宽度较小的一种格式 %,Printf 格式转换说明符,3.3格式输入输出函数,l 长整型整数,加在d、o、x、u前 L long double型数,加在f、e、g前 m 表示数据占用的最小宽度 数据宽度大于m,按实际宽度输出 数据宽度小于m时,补空格 n 对实数表示输出n位小数 对字符串表示最多输出的字符个数 - 改变输出内容的对齐方式,左对齐 缺省为右对齐,printf格式修饰符,3.3格式输入输出函数,#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); printf(); ,12 30 214 1230 214,程序执行结果:,例3.3 阅读程序,给出程序的执行结果,3.3格式输入输出函数,文件名:3-3.c,#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 阅读程序,给出程序的执行结果,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 阅读程序,给出程序的执行结果,格式输入函数 scanf(格式控制字符串, 输入参数地址表列); scanf(“%d %d”, ,格式输入函数scanf(),,,3.3格式输入输出函数,格式控制字符串中,若有非格式字符,输入数据 时要原样输入,d 以带符号十进制形式输入整型数据 o 以八进制无符号形式输入(无前导0) x 以十六进制无符号形式输入(无前导0x) c 以字符形式输入单个字符 s 输入字符串,以非空字符开始,遇第一个 空白字符结束 f 以小数形式输入浮点数 e 以标准指数形式输入,scanf格式字符,3.3格式输入输出函数,l 加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型 L 加在f、e 前:输入long double型 h 加在d、o、x 前:输入短整型 m 表示数据占用的宽度 * 本输入项在读入后不赋给相应的变量,scanf格式修饰符,3.3格式输入输出函数,#include main() int a; float b,c; scanf (“%d %f”, ,12 14.5 ,可以按以下形式输入数据:,3.14 ,12 ,14.5 ,3.14 ,12 ,14.5 3.14 ,12 14.5 3.14 ,3.3格式输入输出函数,例3.6 阅读程序,给出程序的执行结果,常见错误 scanf(“%d,%fn”,格式输入函数,3.3格式输入输出函数,#include main() int a, b; printf(“Please input a and b:”); scanf(“%2d%*2d%2d”, ,Please input a and b:,a=12, b=56, a+b = 68,123456,程序执行结果:,例3.7 阅读程序,给出程序的执行结果,3.3格式输入输出函数,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”, ,3.3格式输入输出函数,输入数据的格式控制,#include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, ,Please input a and b:,12 34,a =12,b=34,问题1:当要求程序输出结果为 a = 12, b = 34 时,用户应该如何输入数据?,例3.8 阅读程序,给出程序的执行结果,3.3格式输入输出函数,问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为: 12, 34 时,应修改程序中的哪条语句?怎样修改?,输入数据的格式控制例3.8,#include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, ,scanf( %d , % d , ,3.3格式输入输出函数,#include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, ,scanf ( a = %d, b = %d “, ,Please input a and b:,a=12,b=34,a =12,b=34,输入数据的格式控制例3.8,问题3:语句scanf(“%d %d”, 时,用户应该如何输入数据?,执行程序:,3.3格式输入输出函数,#include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, ,问题4:限定用户输入数据为以下格式: 1234 同时要求程序输出结果为: a = 12, b = 34,scanf(“%2d%2d“, ,输入数据的格式控制例3.8,3.3格式输入输出函数,#include main() int a, b; printf(“Please input a and b:“); scanf(“%d %d“, ,问题5:限定用户输入数据为以下格式: 12 34 同时要求程序输出结果为a = “12“, b = “34“ 应如何修改scanf和printf?,scanf(“%d%d“, ,输入数据的格式控制例3.8,3.3格式输入输出函数,#include main() int a, b; printf(“Please input a and b:“); scanf(“%2d %2d“, ,问题6:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入?,scanf(“%d%*c%d“, ,输入数据的格式控制例3.8,3.3格式输入输出函数,例3.9-1 按下述格式,从键盘输入一个整数加法表达式: 操作数1 + 操作数2 然后计算并输出表达式的计算结果,形式如下: 操作数1 + 操作数2 = 计算结果,3.3格式输入输出函数,分析:操作数1和操作数2应是整型数据,分别用整型变量data1和 data2来表示; 运算符应是字符型数据,用字符变量op来表示。,例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“, ,3.3格式输入输出函数,#include main() int data1, data2, sum; char op; printf(“Please enter the expression data1 + data2n“); scanf(“%d%c%d“, ,第2次测试,Please enter the expression data1 + data2,12 + 3,12 3129 = 3141,3.3格式输入输出函数,例3.9-3

温馨提示

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

评论

0/150

提交评论