顺序结构的程序设计教材

上传人:F****n 文档编号:95455086 上传时间:2019-08-18 格式:PPT 页数:131 大小:2.01MB
返回 下载 相关 举报
顺序结构的程序设计教材_第1页
第1页 / 共131页
顺序结构的程序设计教材_第2页
第2页 / 共131页
顺序结构的程序设计教材_第3页
第3页 / 共131页
顺序结构的程序设计教材_第4页
第4页 / 共131页
顺序结构的程序设计教材_第5页
第5页 / 共131页
点击查看更多>>
资源描述

《顺序结构的程序设计教材》由会员分享,可在线阅读,更多相关《顺序结构的程序设计教材(131页珍藏版)》请在金锄头文库上搜索。

1、第四章 顺序结构的程序设计,1,一、数据输出,C中没有专门的输入输出语句,输入 输出操作是通过输入、输出函数实现,两个基本的输出函数: 字符输出函数 putchar 格式输出函数 printf,2,4.3 数据输出,字符输出函数 格式: putchar(字符变量) 功能 :在标准输出设备上输出指定字符 说明:一次调用只能输出一个字符 加上分号成为字符输出语句 使用时在程序开头用预编译指令,#include ,3,4.3 数据输出,格式输出函数 格式:printf(格式字符串,输出项表) 功能:从标准输出设备上,按指定的格式输出对应的输出项,%d: 按十进制整数形式输出 %u: 按无符号十进制整

2、数形式输出 %o: 按无符号八进制整数形式输出 %x: 按无符号十六进制整数形式输出,格 式 控 制 串,printf(“Output x=%dn”,x);,4,4.3 数据输出,%f: 输出实数(6位小数) %e: 按指数形式输出实数 %c: 输出单个字符 %s: 输出一个字符串 %ld: 按十进制整数形式输出长整型,格 式 控 制 串,注意区分: 输出位数 浮点数实际能表达的有效数字,5,4.3 数据输出,对格式的修饰,%md 输出整型数据至少占m个字符位,右对齐 %-md 输出整型数据至少占m个字符位,左对齐 %m.nf 输出实型数据至少占m个字符位,小数点 后留n位,(对字符串,输出前

3、n个字符), 右对齐 %-m.nf 同上,左对齐,修饰符与数据实际宽度不符时如何处理?,6,4.3 数据输出,例:int a=1234; printf(“%5d”,a); printf(“%3d”,a); float b=123.45; printf(“%-8.3f”,b); printf(“%6.3f”,b),123.450,7,4.3 数据输出,几点说明:,格式控制串的控制符号与变量表要一一对应,即:类型相同,个数相等 格式控制符号之外的符号均照原样显示 若需显示百分号,格式为:% 如果实际数据所占字符位大于指定的域宽,按实际输出,但小数不会妥协,8,二、数据输入,字符输入函数,功能:从标

4、准输入设备上读一个字符,getchar(),9,4.4 数据输入,格式输入函数 格式:scanf(格式字符串,输入项地址表) 功能:按照格式要求,从终端上把数据送到地址参数所指定的内存空间中 格式控制符号同printf,要求:类型相同,个数相等,int a,b; scanf(“%d,%d”, ,&b,&a,输入:5 , 8,5,8,10,4.4 数据输入,练习 int a,b; double c; scanf(“%f%f%f”,11,4.4 数据输入,输入时不允许规定精度,可以指定域宽,int a ; scanf(“%3d”,float x; scanf(“%8.2f ”,12,4.4 数据输

5、入,遇下列3种情况结束当前数据的输入:,1. 换行,Tab,空格 2. 宽度结束 3. 非法输入,int a,b; scanf(“%d%d”, 输入:12 34 a为12,b为34,13,4.4 数据输入,例:,main() int a; float b,c; scanf(“%2d%3f%4f”, ,输入:12345678987654321,输出?,a=12,b=345.000000,c=6789.000000,14,注意: scanf、printf设置的格式要与变量类型一致; 输入、输出long int要用%ld; 输入double要用%lf或%le;(输出可以用%f) 可以用%d输出cha

6、r型,用%c输出int型;但输入,只能%c对char,%d对int;,选择结构的程序设计,16,第5章 选择结构的程序设计,用if语句设计选择结构程序 用switch语句设计多分支结构程序 应用举例,17,5.1 用if语句设计选择结构程序,if语句的两种基本形式 单选择if语句,功能:判断条件为真时执行 语句,否则跳过语句,语句格式: if (条件) 语句组;,条件可以是关系表达式或逻辑表达式,例: if (ab) x=a;,单选择,18,5.1 用if语句设计选择结构程序,双选择if语句,语句格式: if (条件) 语句组1; else 语句组2;,功能:判断条件为真时执行语句 组1,否则

7、执行语句组2,双选择,19,例:求a和b两数中较大的一个,main( ) int a,b,max; printf(“Input a and b=“); scanf(“%d%d”, ,20,例:求a和b两数中较大的一个 只用单选择,main( ) int a,b,max; printf(“Input a and b=“); scanf(“%d%d“, ,21,5.1 用if语句设计选择结构程序,if (ab) x=a; else x=b;,复合语句的表示: if (ab) x=a; printf(“a=%dn”,x); else x=b; printf(“b=%dn”,x); ,if或else只

8、能管辖“一条”语句!,复合语句被视为“一条”语句!,22,5.1 用if语句设计选择结构程序,有关if语句的说明 条件后面不加分号 语句之后有分号 else不是语句,不能单独使用 当if后有多个执行语句时,必须用 将多个语句括起来,构成一个复合语句,而 之外不必有分号。,; 是一条语句 if ( ) ; if ( ) ; ; ,23,if ( ) ; ; else ; ; ,24,else ; ; ,25,5.1 用if语句设计选择结构程序,例:从键盘输入被除数a和除数b,求商,int main( ) int a,b; printf(“Enter two numbers: “); scanf(

9、“%d%d“, ,26,5.1 用if语句设计选择结构程序,多选择的if结构,功能:从多组语句中选择满足条件的语句组执行。用else if 实现多选择。,语句格式: if (条件1) 语句1; else if (条件2) 语句2; else if (条件3) 语句3; else if (条件m) 语句m; else 语句n;,语句1,N,条件1,Y,条件2,条件n,Y,Y,语句2,语句3,语句n,N,N,多选择,27,例:按分数统计学分,将分数分为五个分数段,分别是:=90、80= 90、70= 80、60= 70、60,对应的学分系数分别是:1.3、1.2、1.1、1、0。程序段如下:,if

10、 (fs=90) xf=kc*1.3; else if (fs=80) xf=kc*1.2; else if (fs=70) xf=kc*1.1; else if (fs=60) xf=kc; else xf=0.0; printf (“xf=%fn”,xf);,只做其一,28,5.1 用if语句设计选择结构程序,说明 在if-else语句中,一般采用“缩进”的书写形式来表示“语句1”或“语句2”所属的层次。 注意:缩进仅是一种书写形式,不具有逻辑意义。 例:银行存款本金计算:期满总金额= 本钱 +本钱月息 月数,29,int main() int year; float money,rate

11、,total; /*本金 月利率 本利合计*/ printf(“Input money and year =?“); scanf(“%f%d“, ,30,if (year = 1) rate=0.0063; else if (year = 2) rate=0.0066; else if (year = 3) rate=0.0069; else if (year = 5) rate=0.0075; else if (year = 8) rate=0.0084; else rate=0.0;,31,5.1 用if语句设计选择结构程序,if语句的嵌套,格式:if (表达式) if (表达式1) 语句

12、11; else 语句12; else if (表达式2) 语句21; else 语句22;,功能:判断表达式的值,若为非0,再判断表达式1的值,非0执行语句11,否则执行语句12; 若表达式的值为0,再判断表达式2的值,非0执行语句21,否则执行语句22。,32,例:下列程序段表示的数学式? y=-1; if (x!=0) if (x0) y=2*sin(x); else y=0;,程序段表示的数学式1: 0 (x0),讨论:给第二个if行加 后表示的数学式?,程序段表示的数学式2: -1 (x0),数学式1程序可表示为: y=-1; if (x!=0) if (x0) y=2*sin(x)

13、; else y=0; ,33,例:比较两个整数之间的关系(大小、相等),int main( ) int x, y; printf (“Enter integer X and Y:“); scanf (“%d%d“, ,34,5.1 用if语句设计选择结构程序,嵌套if-else语句的配对关系 例:if(ab) /*1 */ if(ac) /*2 */ if(ad) flag=1; /*3 */ else flag=2; /*4 */ else flag=3; /*5 */ 匹配规则:在嵌套的if-else语句中,else子句总是与上面的、离它最近的、且在同一复合语句中还没有配对的if子句配对

14、。,35,例:a=3,b=2,c=4,d=1; flag=?,if (ab) if (ac) if (ad) flag=1; else flag=2; else flag=3; 当 a=b 时,flag=3,if (ab) if (ac) if (ad) flag=1; else flag=2; else flag=3; 当 cab 时flag=3,36,5.1 用if语句设计选择结构程序,if (y0) x=-y; else x=y;,(y0)?x=-y:x=y;,等价,等价,x=(y0)?-y:y;,说明:if else可以完成与条件运算符( ? : )完全相同的任务,并且可以进行相应的转

15、换。,37,5.1 用if语句设计选择结构程序,if语句与条件运算的区别 例:,if (s=100) printf(“Perfect!”); else printf(“Just so so.”);,条件运算符的形式比较简单,有较强的灵活性,可以替代部分if语句。,转换:(s=100)? printf(“Perfect!”) : printf(“Just so so.”);,转换:printf(s=100? “Perfect!”: “Just so so”);,38,第5章 选择结构的程序设计,用if语句设计选择结构程序 用switch语句设计多分支结构程序 应用举例,39,switch语句格式,switch (表达式) case 常量1: 语句序列1 break; case 常量2: 语句序列2 break; default: 语句序列n+1 ,5.2 用switch语句设计多分支结构程序,40,switch (number) case 1: statement 1; break; case 2: statement 2; break; case 3: statement 3; break; default: state

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > PPT模板库 > PPT素材/模板

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号