[IT认证]第4章 选择结构程序设计.ppt

上传人:音乐台 文档编号:1995472 上传时间:2019-01-29 格式:PPT 页数:47 大小:116KB
返回 下载 相关 举报
[IT认证]第4章 选择结构程序设计.ppt_第1页
第1页 / 共47页
[IT认证]第4章 选择结构程序设计.ppt_第2页
第2页 / 共47页
[IT认证]第4章 选择结构程序设计.ppt_第3页
第3页 / 共47页
亲,该文档总共47页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《[IT认证]第4章 选择结构程序设计.ppt》由会员分享,可在线阅读,更多相关《[IT认证]第4章 选择结构程序设计.ppt(47页珍藏版)》请在三一文库上搜索。

1、C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,1,第4章 选择结构程序设计,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,2,目 录,基本语句 关系运算符和关系表达式 逻辑运算符和逻辑表达式 分支程序设计,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,3,基本语句 (Statements),控制语句 表达式语句 函数调用语句 空语句 复合语句,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,4,控制语句,完成一定的控制功能 C语言的9种控制语句 if-else while continue switch return,for do-whil

2、e break goto,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,5,表达式语句,形式 expression; 表达式最后加一个分号 举例 a=3; /* 赋值语句 */ z=x*y, z+; /* 一条语句 */ x-y; /* 语句,但无实际意义 */ i+; /* 语句 */ i+ /* 表达式,不是语句 */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,6,函数调用语句,形式 function(arguments); 函数调用后加一个分号 函数调用语句可以看作一种表达式语句 举例 printf(“%d“, i); getchar(); myfun(a

3、, b);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,7,空语句,形式 ; 只有一个分号 用法 作为转向点 作为循环语句中的循环体 举例 for(i=1; i=100; i+) sum+=i; for(i=1; i=100; sum+=i+);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,8,复合语句 (块语句,Block),形式 statements 用把若干条语句组合成为一个复合语句 内可以没有任何语句,可以只有一条语句,也可以有多条语句 可以包括复合语句、空语句、控制语句等 用法 一个复合语句当作一条语句来使用 需要把多条语句放在只允许一条语句的场合,C

4、语言程序设计 - 第3章 C语言的基本语句和程序结构设计,9,复合语句举例,int x, y, t; if (x y) /* 复合语句开始 */ t = x; x = y; y = t; /* 复合语句结束 */ printf(“%d, %d“, x, y);,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,10,交换两个变量值的方法,int x=-3 , y= 5, t; t=x; x=y; y=t; /*此复合语句能交换x,y的值*/ 具体执行步骤如下: (1) t=(x=-3) t=-3 (2) x=(y=5) x=5 (3) y=(t=-3) y=-3,C语言程序设计 -

5、第3章 C语言的基本语句和程序结构设计,11,C语言语句使用说明,除复合语句外,语句都以分号;作为结束 语句书写格式比较自由,确定语句结束的唯一标准是分号(;) 注意区分表达式和表达式语句,它们的用法不同 举例,if(a=b)0) t=a; 错例,if(a=b;)0) t=a; 举例,if(xy) x-; y+; 错例,if(xy) x-; y+,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,12,关系运算符 (Relational Operators),C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,13,关系表达式,用关系运算符将两个表达式连接起来 a+bc+d,

6、 (a=3)x 注意区分等于(=)和赋值运算符(=) a=b, a=b 关系表达式的值是逻辑值“真”或“假” C语言用整型表示逻辑值,“真”1、“假”0 举例: int a=3, b=2, c=1; d=ab; /* d=1 */ f=abc; /* f=(ab)c=0 */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,14,逻辑运算符 (Logical Operators),C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,15,逻辑运算规则,!a 若a为“真”,!a为“假” 若a为“假”,!a为“真” a&b 若a、b都为“真”,则a&b为“真” 若a、b不全为“

7、真”,则a&b为“假” a|b 若a、b都为“假”,则a|b为“假” 若a、b不全为“假”,则a|b为“真”,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,16,逻辑表达式,逻辑运算符把逻辑量或表达式连接起来 (y%4=0&y%100!=0)|(y%400=0) /*判断闰年 2004 2000 */ 逻辑表达式的值是逻辑值 用整型表示逻辑值 “真”1,“假”0 把一个表达式的值作为逻辑值使用 非零“真”,零“假” 这里的非零与零,包括整型、浮点型等,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,17,逻辑表达式举例,int i=3; char c=a; float

8、 f=0.0; i=0; !i; /* 两者逻辑值相同 */ i!=0; i; /* 两者逻辑值相同 */ c /* “假” */,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,18,逻辑表达式求值特点,逻辑表达式中的运算符,只有会影响表达式求值时,才会执行 a ,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,19,习题5.3 写出下面各逻辑表达式的值。(P104),int a=3,b=4,c=5; (1)a+bc ,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,20,分支程序设计,if语句 条件运算符?: switch语句 分支程序设计举例,C语言程

9、序设计 - 第3章 C语言的基本语句和程序结构设计,21,if语句的三种形式,if(表达式) 语句 if(表达式1) 语句1 else 语句2 if(表达式1) 语句1 else if(表达式2) 语句2 else if(表达式3) 语句3 . . else if(表达式n) 语句n else 表达式n+1,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,22,if语句的说明,无论哪种形式,一条if语句,包括else或else if子句,只算作一条语句 if语句中的子句,可以是一条任何类型的语句,包括表达式语句、空语句、复合语句、控制语句 子句末尾的分号,只表示子句的结束,不表示i

10、f语句结束 注意复合语句末尾没有分号 else子句可以没有,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,23,if语句举例,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,24,if语句的嵌套,if语句的各子句都可以又是if语句 应注意if-else的配对关系 else总是与其上面的最近的未配对的if配对! 可以用明确if-else的配对关系 if(exp1) if(exp1) if(exp2) if(exp2) statement1 statement1 else else statement2 statement2,C语言程序设计 - 第3章 C语言的基本语句和

11、程序结构设计,25,例5.3 (P95),方法一: main() int x,y; scanf(“%d”, ,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,26,方法二: (if语句嵌套) main() int x,y; scanf(“%d”, ,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,27,方法三: (if语句嵌套的错例1,思考如何改正!) main() int x,y; scanf(“%d”, /*错误分析: else 的配对不是以对齐为准,而是以语法为准*/,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,28,方法四: (if语句嵌套的错例

12、2,思考如何改正!) main() int x,y; scanf(“%d”, /*错误分析: else 的配对不是以对齐为准,而是以语法为准*/ 习题5.5,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,29,条件运算符 (Conditional Operator),条件运算符 ? : 条件表达式 exp1 ? exp2 : exp3 先判断exp1 若exp1为“真”,表达式的值为exp2的值 若exp1为“假”,表达式的值为exp3的值 举例, max = (xy) ? x : y; 同: if(xy) max = x; else max = y;,C语言程序设计 - 第3章

13、 C语言的基本语句和程序结构设计,30,例5.4(P98) 输入一个字符,判断它是否大写字母,如果是,将它转换为小写字母;如果不是,则不转换。,main( ) char ch; scanf(“%c”, 输入:A 输出:a,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,31,例题5.1 输入2个实数,由小到大输出。(P98) void main() float a,b,t; scanf(“%f,%f”, ,输出:6,8,输入:8,6,t=a=8,a=b=6,b=t=8,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,32,例题5.2 输入3个实数,由小到大输出。(P98

14、) void main() float a,b,c,t; scanf(“%f,%f,%f”, ,输出:6,7,8,输入:8,6,7,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,33,switch语句,switch (含变量表达式) case 常量表达式1: 语句1;break; case 常量表达式2 : 语句2;break; . . case 常量表达式n :语句n;break; default:语句n+1 ,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,34,switch语句的说明,先求switch后表达式的值,若此值与某个case后的常量表达式的值相等,则跳

15、转到这个case后的语句;若没有相等的常量表达式,则跳转到default 跳转后程序一直往下执行,不会因为遇到另一个case而直接跳出switch 根据实际需要,可以没有default 若需要跳出switch,可使用break语句,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,35,switch语句举例1(P105),main() char grade; printf(“Please enter your grade:n”); scanf(“%c”, ,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,36,例题5.5 写程序判断某一年是否是闰年。 void main(

16、) int year,leap; /*leap是状态变量*/ scanf(“%d”,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,37,if(leap) printf(“%d is “,year); else printf(“%d is not “,year); printf(“a leap year.n); ,输入:2007 输出:2007 is not a leap year.,输入:2004 输出:2004 is a leap year.,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,38,习题5.4 求a、b、c的最大值(方法一)。 void main()

17、int a,b,c,max; scanf(“%d,%d,%d”, ,输入:5,8,6 输出:8,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,39,习题5.4 求a、b、c的最大值(方法二)。 void main() int a,b,c,max,d; scanf(“%d,%d,%d”, ,输入:5,8,6 输出:8,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,40,习题5.5 求y= void main() float x,y; scanf(“%f”, ,输入:5 输出:9,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,41,习题5.6 给出百分制成

18、绩,输出等级(5)。 void main() float score; char grade; scanf(“%f”, ,输入:76 输出:C,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,42,习题5.6 给出百分制成绩,输出等级(5)。 void main() float score; char grade; int n; printf(“Please enter your score:n”); scanf(“%f”,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,43,case 6: grade=D; break; case 5: case 4: case 3:

19、 case 2: case 1: case 0: grade=E; break; printf(“score=%f,grade=%cn”,score,grade); ,输入:83 输出:B,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,44,习题5.7 给一个不多于3位的正整数,求:它是 几位数?每一位的数字? void main() unsigned int n; scanf(“%u”,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,45,else if(n1000) printf(“It has 3 numbers:%d,%d,%dn”, n/100,n/10%1

20、0,n%10); 分析: n=45678 n/100=4 n/10%10=45%10=5 n%10=6,输入:456 输出:It has 3 numbers:4,5,6,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,46,习题5.9:输入4个整数,按从小到大的顺序输出。 void main() int a,b,c,d,t; scanf(“%d,%d,%d,%d”, ,输入:9, 8 , 7 , 6,8, 9 , 7 , 6,7, 9 , 8 , 6,6, 9 , 8 , 7,6, 8 , 9 , 7,6, 7 , 9 , 8,6, 7 , 8 , 9,6,7,8,9,C语言程序设计 - 第3章 C语言的基本语句和程序结构设计,47,结束,The End,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1