




已阅读5页,还剩32页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2019/5/26,1,第3章 简单的C程序设计,2019/5/26,2,第3章 简单的C程序设计,本章主要教学内容,C语句分类 字符输入/输出函数 格式输入/输出函数,2019/5/26,3,3.1 C语句分类,变量声明语句 int x, y; 表达式语句 i+; i = i + 1; 空语句 ; 复合语句 t = x; x = y; y = t; 控制语句:9种,2019/5/26,4,3.2 表达式语句,由表达式后接一个分号(;)即构成了表达式语句。,例如: a=9; printf(“%d”,a);,注意表达式语句与表达式在概念上的区别,c=a+b c=a+b;,表达式,表达式语句,2019/5/26,5,3.3 复合语句和空语句的作用,在什么情况下使用复合语句? 条件语句和循环语句在语法上只允许带一条语句 当分支和循环中需要进行多项操作时, t=x; x=y; y=t; ,被当作一条语句来处理,2019/5/26,6,main() int a = 0; int a = 1; printf(“In: a = %dn“, a); printf(“Out: a = %dn“, a); ,In: a = 1 Out: a = 0,例3.1,注意:复合语句中声明的变量只能在复合语句中使用。,2019/5/26,7,空语句,空语句有什么作用? 什么也不做,只表示语句的存在 自顶向下程序设计时用在那些未完成的模块中 延时,main() DataInitialze(); DataProcess(); DataOutput(); ,DataInitialze() ; ,2019/5/26,8,3.4 基本输入/输出操作的实现,C语言没有提供专门的输入/输出语句; 输入/输出操作通过调用标准库函数实现; 使用时要加编译预处理命令。,#include ,2019/5/26,9,字符输入/输出函数,字符输出函数 putchar(ch) 输出一个字符ch 字符输入函数 getchar() 无参数 函数值为从输入设备接收的字符,使用格式: 变量=getchar(); puchar(变量),2019/5/26,10,#include main() char ch; printf(“Press a key and then press Enter:“); ch = getchar(); printf(“You pressed “); putchar(ch); putchar(n); ,Press a key and then press Enter:,A,You pressed,A,例 3.2(ex32),2019/5/26,11,3.4 基本输入/输出操作的实现,# include main() char a=B,b=o,c=k; putchar(a);putchar(b);putchar(b); putchar( c);putchar(t); putchar(a);putchar(b); putchar(n); putchar(b);putchar(c); ,附例,2019/5/26,12,格式输入/输出,格式输出函数 printf(“格式控制字符串”, 输出项表列); 输出若干个任意类型的数据 printf(“a=%d b=%fn“, a, b);,函数名,输 出 表 列,普通字符,2019/5/26,13,3.4 基本输入/输出操作的实现,printf () 函数的说明,(1)格式控制字符用双引号括起来。,三种字符:,格式说明 %+格式字符,转义字符 +字符,普通字符 原样输出的字符,(2)输出表列中各量用逗号分开,常量、变量、 表达式均可。,2019/5/26,14,3.4 基本输入/输出操作的实现,printf () 格式转换说明符(P55),d 以带符号十进制整数输出 o 以八进制无符号整数输出(无前导0) x 以十六进制无符号整数输出(无前导0x) u 以十进制无符号整数输出 c 以字符形式输出单个字符 s 输出一个字符串 f 以小数形式输出浮点数(6位小数) e 以标准指数形式输出(6位小数) g 选用%f,%e中输出宽度较小的一种格式 % 显示%,2019/5/26,15,printf () 附加格式修饰符(P57),3.4 基本输入/输出操作的实现,l 长整型整数,加在d、o、x、u前 L long double型数,加在f、e、g前 m 表示数据占用的最小宽度 数据宽度大于m,按实际宽度输出 数据宽度小于m时,补空格 n 对实数表示输出n位小数 对字符串表示最多输出的字符个数 - 改变输出内容的对齐方式 缺省为右对齐,2019/5/26,16,#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(“printf WITH width and precision specifications:n“); printf(“%5.2fn%6.1fn%3.0fn“, f1, f2, f3); printf(“%5dn%6dn%3dnn“, n1, n2, n3); ,例 3.8(P58),2019/5/26,17,3.4 基本输入/输出操作的实现,1.设a=123,b=12345 则: printf(“%4d,%4d“,a,b);,输出为:,_123,12345,附 加 例,2.设 long a=135790;则 printf(“%ld,%d“,a,a);,输出为:,135790,4718,3.设 x=111111.123, y=222222.321,则,printf(“%10.2f,%e“,x+y,x+y);,输出为:,333333.45,3.33333e+05,4.printf(“%f%“,1.0/3);,输出为:,0.333333%,2019/5/26,18,格式输入函数 scanf(格式控制字符串, 地址表列); scanf(“%d,%f”, ,格式输入/输出,3.4 基本输入/输出操作的实现,2019/5/26,19,3.4 基本输入/输出操作的实现,scanf() 函数的格式转换说明符P57,d 以带符号十进制形式输入整型数据 o 以八进制无符号形式输入(无前导0) x 以十六进制无符号形式输入(无前导0x) c 以字符形式输入单个字符 s 输入字符串,以非空字符开始,遇第一个 空白字符结束 f 以小数形式输入浮点数 e 以标准指数形式输入 % 输入一个百分号,2019/5/26,20,3.4 基本输入/输出操作的实现,scanf () 函数的格式修饰符P59,l 加在d、o、x、u前:输入长整型 加在f、e 前:输入双精度型 L 加在f、e 前:输入long double型 h 加在d、o、x 前:输入短整型 m 表示数据占用的宽度 * 本输入项在读入后不赋给相应的变量,返回,2019/5/26,21,3.4 基本输入/输出操作的实现,输入数据时,遇以下情况时该数据认为结束 遇空格、回车、TAB 键 遇宽度 :%3d 遇非法输入,scanf () 函数,2019/5/26,22,3.4 基本输入/输出操作的实现,例3.9,#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,修饰符,2019/5/26,23,3.4 基本输入/输出操作的实现,使用scanf () 时需要注意的问题,(1)输入多个数值型数据时,若格式控制串中没有非格式字符,则可用空格、TAB键、回车键作为数据间的分隔符。,#include main() int a, b; scanf(“%d%d“, ,12 34,问题1:当要求程序输出结果为: a = 12, b = 34 时,用户应该如何输入数据?,2019/5/26,24,3.4 基本输入/输出操作的实现,(2)若格式控制串中有非格式字符,则输入时也要输入相同的字符。,使用scanf () 时需要注意的问题,#include main() int a, b; scanf(“%d %d“, ,问题2:当限定用户输入数据以逗号为分隔符,即输入数据格式为:12, 34时,应修改程序中的哪条语句?怎样修改?,2019/5/26,25,使用scanf () 时需要注意的问题,#include main() int a, b; scanf(“%d %d“, ,问题3:语句scanf(“%d %d“, 时,用户应该如何输入数据?,a = 12, b = 34,2019/5/26,26,使用scanf () 时需要注意的问题,#include main() int a, b; scanf(“%d %d“, ,问题4:限定用户输入数据为以下格式为 1234 同时要求程序输出结果为a = 12, b = 34,scanf(“%2d%2d“, ,2019/5/26,27,使用scanf () 时需要注意的问题,#include main() int a, b; scanf(“%d %d“, ,问题5:限定用户输入数据为以下格式为 12 34 同时要求程序输出结果为a = “12“, b = “34“,scanf(“%d%d“, ,2019/5/26,28,使用scanf () 时需要注意的问题,#include main() int a, b; scanf(“%d %d“, ,scanf(“%d%*c%d“, ,问题6:设计程序使得用户可以以任意字符(回车、空格、制表符、逗号、其它)作为分隔符进行数据的输入,2019/5/26,29,#include main() int data1, data2; char op; printf(“Please enter the expression data1 + data2n“); scanf(“%d%c%d“, ,Please enter the expression data1 + data2,第1次测试,12_ +_ 3,12 3129 = 3141,%c在应用中存在的问题及解决e3-11.c,2019/5/26,30,#include main() int data1, data2, sum; char op; printf(“Please enter the expression data1 + data2n“); scanf(“%d%c%d“, ,%c在应用中存在的问题及解决,Please enter the expression data1 + data2,第2次测试,12 3,12 3 = 15,2019/5/26,31,#include main() int data1, data2, sum; 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在应用中存在的问题及解决,2019/5/26,32,%c在应用中存在的问题及解决(e3-12.c),#include main() int a; char b; float c; printf(“Please input an integer:“); scanf(“%d“, ,Please input an integer:,结果好像很奇怪嘛!,12,Please input an character :,character,Please input a float number:,3.5,integer:12,float number:3.500000,2019/5/26,33,#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在应用中存在的问题及解决e3-12.c,2019/5/26,34,用%1s解决问题存在的隐患(ex12_1),#include main() char a,b,c; printf(“Please input c:“); scanf(“%1s“, printf(“ASCII:c:%d,b:%d,a:%dn“,c,b,a) ,C= ,b= ,a=c ASCII:c:0,b:0,c:99,结果:,
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 造纸工新员工考核试卷及答案
- 陶瓷工艺师晋升考核试卷及答案
- 制浆废液回收利用工专项考核试卷及答案
- 2025企业临时工聘用合同模板
- 中医护理诊法题库及答案解析
- 吞咽障碍患者护理题库及答案解析
- 变压器线圈制造工突发故障应对考核试卷及答案
- 煤矿安全生产答题题库及答案解析
- 漆艺师工艺创新考核试卷及答案
- 2025标准合同范本:物业租赁合同
- 电商行业员工行为规范与工作手册
- 借款合同中国农业银行担保借款合同3篇
- 建筑装修工程质量监督管理制度
- 不锈钢栏杆施工全流程方案
- 2025住院医师规范化培训院内师资培训考核测试题附答案
- 《一定要争气》(第2课时) 课件 小学语文部编版三年级上册
- 血透室护士手卫生
- USP232-233标准文本及中英文对照
- 部编版八上语文名著《红岩》问答题精练(教师版)
- 2025-2026学年人教精通版四年级英语上册(全册)教学设计(附目录)
- 2025年秋期人教版2年级上册数学核心素养教案(校园小导游)(教学反思有内容+二次备课版)
评论
0/150
提交评论