




已阅读5页,还剩53页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第二讲第二讲 三三 种种 程程 序序 控控 制制 结结 构构 预处理命令 C 程 序 源程序文件1 源程序文件2 源程序文件n 全局变量声明 函数1 函数2 函数n 函数首部 函数体 变量声明 执行部分 (语句) 数据输入/输出的概念 内内 存存 RAMRAM 从键盘将数据输入从键盘将数据输入 从从数据文件读入数据文件读入 将将数据输出到屏幕数据输出到屏幕 将将数据输出到文件数据输出到文件 数据输入数据输入/ /输出是相对计算机内存输出是相对计算机内存 顺序结构 语言本身不提供输入/输出语句,所有的数据输入 输出都是由库函数完成的。 在C语言中使用库函数时,要使用预处理命令#include 将相关的头文件(*.h)包含到用户源文件中。 使用形式: #include “头文件“ 或 #include 说明:1. 标准输入/输出头文件是:stdio.h 2. printf() 和 scanf()函数不需要头包含文件 数据输入/输出语句 函数putchar 的功能是在显示器上输出单个字符。 其一般形式为: putchar(字符变量) ; 字符输出函数putchar() 函数getchar函数的功能是从键盘上输入单个字符。 其一般形式为: 字符变量=getchar(); 只接受单个字符,输入数字也按字符处理。 输入多于一个字符时,只接收第一个字符,多余的字符 存入到键盘的缓冲区,若有下一个getchar函数语句,由 直接从键盘的缓冲区读一个字符。 字符输入函数getchar( ) 一、格式输出函数printf() 一般形式为: printf(“格式控制字符串”,输出表列) 格式输入/输出 例如:printf(”x=%3dn“,x) %格式说明起始符 3输出数据的宽度 d输出数据的类型 x输出项 普通字符 格式字符串的一般形式为: % 标志 输出最小宽度 .精度 长度 类型 其中方括号 中的项为可选项。 说 明: d ,i 以十进制形式输出带符号整数(正数不输出符号) o 以八进制形式输出无符号整数(不输出前缀O) x, X 以十六进制形式输出无符号整数(不输出前缀OX) u 以十进制形式输出无符号整数 f 以小数形式输出单、双精度实数(小数6位) e ,E 以指数形式输出单、双精度实数 g ,G 以%f ,%e中较短的输出宽度输出单、双精度实数 c 输出单个字符 s 输出字符串 格式字符 - 结果左对齐,右边填空格 + 输出符号(正号或负号)空格输出值为正时冠以空格,为 负时冠以负号 # 对c,s,d,u类无影响; 对o类,在输出时加前缀o;对x类,在输出时加前缀0x ;对e,g,f 类当结果有小数时才给出小数点 标志 输出最小宽度 用十进制整数来表示输出的最少位数。 若实际位数多于定义的宽度,则按实际位数输出; 若实际位数少于定义的宽度则补以空格或0。 精度格式符以“.”开头,后跟十进制整数。 本项的意义是:如果输出数字,则表示小数的位数;如 果输出的是字符, 则表示输出字符的个数;若实际位数大 于所定义的精度数,则截去超过的部分。 精度 各种格式字符的说明 一:d格式符 1. %d 按数据实际长度输出 2. %md m为指定的输出字段的宽度,如果数据的位数小于 m,则左端补以空格,若大于m,则按实际位数输出。 3. %ld 输出长整型数据 二:o格式符和x格式符 输出数据不带符号,即符号位作为数据的一部分输出 三:u格式符 以无符号十进制输出 例如: int a=-1; (-1以补码形式存储为11111111111111111111111111111111 ) printf(“%d,%o,%x,%u”,a,a,a,a); 结果为:-1,177777 , ffff ,65535 四:c格式符(输出一个字符) 五:s格式符(输出字符串) 1. %s 按数据实际长度输出 2. %ms m为指定的输出字段的宽度,如果数据的位数 小 于m,则左端补以空格,若大于m,则按实际位 数输出。 3. %-ms 右端补以空格 4. %m.ns 输出m列,但是只取字符串左端n个字符。 输出在m列的右侧,左补空格。 5. %-m.ns 右补空格,若nm则保证n个字符输出。 void main() printf(“%4.3sn“,“123456789“); printf(“%-4.3sn“,“123456789“); printf(“%4.5sn“,“123456789“); printf(“%-4.5sn“,“123456789“); 例 如: 六:f格式符 1. %f 整数部分全部输出,输出六位小数。 (注意有效位只有7位) 2. %m.nf 输出数据共m列,其中n位小数。 如果数据长度小于m,左端补空。 3. %-m.nf 右端补0。 (注意小数点也占一列) void main() printf(“%fn“,1.23456789); printf(“%4.3fn“,1.23456789); printf(“%-4.3fn“,1.2); printf(“%4.5fn“,12.3456789); printf(“%-4.5fn“,12.3456789); 例 如: 七:e格式符 1. %e 小数部分输出6位,指数部分5位,其中“e”占1位, 指数符号占一位,指数占3位。 2. %m.ne 输出数据共m列,其中n为尾数的小数位数。 如果数据长度小于m,左端补空。 3. %-m.ne 右端补空。 void main() printf(“%en“,12.3456789); printf(“%7.3en“,12.3456789); printf(“%16.3en“,12.3456789); printf(“%-16.3en“,12.3456789); 例 如: scanf(“格式控制字符串”,地址表列); 格式控制字符串的使用与printf函数基本相同; 不能显示非格式字符串,也就是不能显示提示字符串; 地址表列中给出各变量的地址。 地址是由地址运算符“ 输入: 12345678 只把12345赋予变量a,其余部分被截去。 又如: scanf(“%4d%4d“, 输入:12345678将把1234赋予a,而把5678赋予b。 (1) scanf函数中没有精度控制。 (2) 输入多个数值数据时,若格式控制串中没有非格式字符作 输入数据之间的间隔则可用空格,TAB或回车作间隔。 (3) C编译在碰到空格,TAB,回车或非法数据时即认为该数 据结束。 (4) 在输入字符数据时,若格式控制串中无非格式字符,则认 为所有输入的字符均为有效字符。 (5) 如果格式控制串中有非格式字符则输入时也要输入该非格 式字符。 (6) 输入的数据与格式字符串中的类型要相一致。 使用scanf函数注意以下几点: 判断题(P18) 10printf函数中的格式符“%c”只能用于输出字符类型数据 。 12按格式符“%6.3f”输出i (i=123.45) 时,输出结果为 123.450。 14格式符“%f”不能用于输入 double类型数据。 15当格式符中指定宽度时,从缓冲区中读入的字符数完全 取决于所指定的宽度。 29不能用printf()函数输出字符。 填空题(P19-P21) 1根据所给条件,写出下列各题的输出结果。 (1)int i=234, j=567; 函数printf(“%d%dn“, i, j)的输出结果 是 。 (2)int i=234; float x=-513.624; 函数printf(“i=%5d x=%7.4fn“, i, x)的输出结果是 。 (3)float alfa=60, pi=3.1415926535626; 函数 printf(“sin(%3.0f*%f/180)n“, alfa, pi)的输出结果是 。 (4)char ch=$; float x=153.45; 函数printf(“%c%-8.2fn“, ch, x)的输出结果是 。 (5)int d=27; 函数printf(“%-5d,%-5o,%-5xn“, d, d, d)的 输出结果是 。 (6)float x1=13.24, x2=-78.32; 函数printf(“x(%d)=%.2f x(%d)=%.2fn“,1,x1,2,x2)的输出结果是 。 选择结构程序设计 顺序结构 语句1 语句2 条件 语句1语句2 YN 选择结构 1)第一种形式,基本形式: if (表达式) 语句; 2) 第二种形式,if-else形式 if (表达式) 语句1; else 语句2; if 语句 3)第三种形式,if-else-if形式 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式m) 语句m; else 语句n; (1) if关键字之后均为表达式,该表达式通常是逻辑表达 式或关系表达式,但也可以是其它表达式,甚至也可 以是一个变量。 (2) 在if 语句中,条件判断表达式必须用括号括起来,即 使是一个变量的最简单表达式,也要用括号括起来; 在语句之后必须加分号。 (3) 在if 语句的三种形式中,所有的语句应为单个语句, 如果要想在满足条件时执行一组(多个)语句,则必须 把这一组语句用 括起来组成一个复合语句。 注 意 : 一般形式可表示如下: if (表达式1) if (表达式2) 语句1; else 语句2; if 语句的嵌套 if(表达式1) if (表达式2) 语句; 在嵌套内的if语句可能又是if-else型的,这将会出现多个if 和多个else重叠的情况,这时要特别注意if和else的配对问题 。 语言规定,else 总是与它前面最近的if配对。 为了避免配对问题的产生,建议加 。 switch语句 switch(表达式) case 常量表达式1: 语句1; break; case 常量表达式2: 语句2; break; case 常量表达式n: 语句n; break; default : 语句n+1; 在switch语句中,“case 常量表达式”只相当于一个语 句标号,表达式的值和某标号相等则转向该标号执行, 但不能在执行完该标号的语句后自动跳出整个switch 语 句,将继续执行所有后面case语句的情况。 case后的各常量表达式的值不能相同。 case后,允许有多个语句,可以不用 括起来。 各case和default子句的先后顺序可以变动,而不会影响 程序执行结果。default子句可以省略不用。 若判断的是一个区间,要将区间转换成单个值。 说 明 main() int a=0, i; for(i=1;i0),求m使得 2的m次方小 于或等于n、2的m+1次方大于或等于n。 #include void main() int i=0,t=1,n; while( _ 1 _); while(!(t=n) _ 2 _ i+; printf(“%dn“,i); 参考:上机考试样卷程序调试(P80) (1) scanf(“%d“, for(a=6; a0) if(fun1(n) printf(“%d中各位数字按从小到大排列n“, n); int fun1( (1) ) int k; (2) while(m) if(m/10%10k) return 0; else (3) ; k=m%10; return 1; (1) int m (2) k=m%10; (3) m=(m-k)/10 程序阅读题( P29) 程序1 # include # include void main() float a1, a2, a3, s, d; scanf(“%f%f%f”, s=(a1+a2+a3)/2; s=sqrt(s*(s-a1)*(s-a2)*(s-a3); printf(“%.2f,%.2f,%.2f,s=%10.3fn”, a1, a2, a3, s); 运行时输入3 4 5 输出结果为: 3.00,4.00,5.00,s= 6.00 程序2 # include void main() unsigned k, n; scanf(“%u“, k=n%10*10+n/10; printf(“n=%d k=%dn“, n, k); 运行时输入数据为: 69 输出结果为: n=69 k=96 程序3 # include void main() int x=40, y=4, z=4; x=y=z; printf(“%d %d %dn“, x, y, z); x=x=(y=z); printf(“%d %d %dn“, x, y, z); 输出结果为: 144 044 程序4 # include void main() int x, y, z; x=y=2; z=3; y=x+-1; printf(“%dt%dt %dt“, x, y, z); y=-z+1; printf(“%dt%dt %dn“, x, y, z); x=y=z=
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 妇女权益保护协议
- 描写郁金香的作文10篇范文
- 教师招聘之《幼儿教师招聘》考前冲刺测试卷讲解附参考答案详解(模拟题)
- 谈友谊900字初三作文13篇
- 考点解析-冀教版7年级下册期末试卷及完整答案详解【典优】
- 品牌营销战略合作协议与分析
- 教师招聘之《小学教师招聘》考前冲刺练习题【典型题】附答案详解
- 弘讯科技:新质生产力企业探析
- 农村土地流转变更合作协议
- 新质生产力的三大创新维度
- T-CUWA 20059-2022 城镇供水管网模型构建与应用技术规程
- 火电厂检修培训课件
- 核医学医学影像医技科室质量评估细则
- 观看《中国乒乓之绝地反击》观后感600字三篇
- 贸易融资典型案例介绍
- YY/T 0698.5-2023最终灭菌医疗器械包装材料第5部分:透气材料与塑料膜组成的可密封组合袋和卷材要求和试验方法
- 小学生班干部竞选PPT模板
- 大学生创新创业(微课版 第3版)教学大纲
- 外来器械清洗消毒操作流程要点
- GB/T 42861-2023鼓包型抽芯铆钉通用规范
- 初中物理“秒表的读数”专项练习题-专题同类题【含答案;详细解释,word版;可编辑】
评论
0/150
提交评论