[IT认证]第4章 选择结构.ppt
《[IT认证]第4章 选择结构.ppt》由会员分享,可在线阅读,更多相关《[IT认证]第4章 选择结构.ppt(39页珍藏版)》请在三一文库上搜索。
1、C程序设计语言,主讲教师:刘玉秀,第4章 选择结构程序设计,Hi, everyone!,4.1 关系运算符和关系表达式 4.2 逻辑运算符和逻辑表达式 4.3 if语句 4.4 条件运算符和条件表达式 4.5 switch语句和goto语句 4.6 程序举例,第4章 选择结构程序设计,逻辑与:00=0 01=0 10=0 11=1,二进制的逻辑运算,逻辑或:00=0 01=1 10=1 11=1,逻辑非:0 =1 1 =0,逻辑运算是指对某一给定条 件,判断其是否成立的一种 运算。运算结果不表示数值 的大小,而是表示条件成立 与否。,引例:求下列函数的值。 -1(x0) 程序执行时,每输入一个
2、x值,输出对应的y值。,在程序中经常需要计算机进行逻辑判断,然后根据逻辑判断的不同结果进行相应的处理。这种根据某种条件的成立与否而采用不同的程序段进行处理的程序结构称为选择结构。 有单分支、双分支、多分支选择结构 。,4.1 关系运算符和关系表达式,1. 关系运算符及其优先次序 关系运算符有种,都是双目运算符,其结合性均为左结合。 、=、(等于)、!(不等于) 运算优先次序: (1)关系运算符中,前种同级、后2种同级,前种高于后种 例如: x != y、 s - db+c bd、a= = bc 等价于 (bd)=c,(2)关系运算符的优先级低于算术运算符,高于赋值运算符。 算术运算符 (高)
3、关系运算符 赋值运算符 (低),2. 关系表达式 用关系运算符将两个表达式连接起来的式子。 如:(ab)(by 、s+fd 关系表达式的值是一个逻辑值(真或假),但语言没有逻辑型数据,关系表达式的真、假是以数值1和0表示。“1”代表“真”,以“0”代表“假”。 例: a=3, b=2, c=1 则 cb; 0 (a-b) = = 1; 1 b+cbc; (自左至右 ) f=0,4.1 关系运算符和关系表达式,逻辑运算符及其优先次序 C语言提供三种逻辑运算符: & (逻辑与) 、 | (逻辑或) 、! (逻辑非) 注:“&”和“| ”是“双目运算符”,要求有两个操作数。而“! ”是“单目运算符”
4、,只要求有一个操作数。 运算规则:a&b a、b同时为真,a&b为真; a|b a、b之一为真,a|b为真; !a a为真,!a为假。 a为假,!a为真 运算优先顺序: (1)!&| (2)&和|低于关系运算符, !高于算术运算符,4. 逻辑运算符和逻辑表达式,!(非) (高) 算术运算符 关系运算符 &和| 赋值运算符 (低),2. 逻辑表达式 用逻辑运算符将关系表达式或逻辑值连接起来的式子就是逻辑表达式。 逻辑表达式的值为真或假,我们用“非0”代表 “真”,用“0”代表“假”。 例: 2 | 4!0 值为:“ 1 ” b& 0 值为:“ 0 ” 53&84-!0 值为:“0” 注:有些逻辑
5、运算符可能不被执行: 对于a&b&c,只有当a0,才继续进行右面的运算 对于a|b|c,只有当a=0,才继续进行右面的运算。 例:判断某年是否闰年。条件为下面之一,(1)能被4整除,但不能被100整除;(2)能被4整除,又能被400整除。 (year%4=0&year%100!=0)|year%400=0,1. if 语句的三种形式 (1) if (表达式) 语句; (单分支) 如: if(g=80) printf(“%d”,g);,4.3 if 语句,(3)if (表达式) 语句 1; (多分支) else if(表达式2) 语句 2; else if(表达式3) 语句 3; else if
6、(表达式m) 语句 m; else 语句 n;,(2) if (表达式) 语句; else 语句 2; (双分支) 如: if(xy) printf(“ %d ”, x); else printf(“%d”,y);,如: If (x=90)y=1; else if (x=80)y=2; Else if (x=60)y=3; Else y=0;,说明: (1)条件表达式必须用圆括号括起来。 (2)条件表达式可以是逻辑表达式或关系表达式,也可以是其它表达式,如赋值表达式等,甚至也可以是一个变量 。 如:if (b) printf(“%dn”,x); (3)else子句不能单独使用,必须配合if语句
7、使用。 (4)if和else后均可放置复合语句,复合语句是用括起来的多个C语句。,4.3 if 语句,例4.3 分析程序 #include void main() int a=1, b=2,t=0; if (a=0) t=a;a=b;b=t; printf (“%d,%dn“,a,b); ,4.3.1 单分支if 语句举例,例4-4 编程完成:输入两个整数,输出其中的大数。,程序: #include void main() int a,b,max; printf(“n input two numbers: “); scanf(“%d%d“, ,思考:(1)从两个数中找出最小数如何编写程序? (
8、2)若从三个或更多的数中找出最大数应如何编程?,程序运行结果: 显示:input two numbers: 输入:6 13 输出: a=6,b=13,max=13,4.3.2 双分支if 语句举例,例4-5输入两个整数a和b,按由大到小的顺序输出这两个数。 #include void main() int a, b; printf(“input two numbers: “); scanf(“%d%d“, ,程序运行结果: 显示:input two numbers: 输入:10 20 输出:20,10,【例3】求四个整数中,偶数的和与奇数的个数。,#include “stdio.h“ void
9、 main() int a,b,c,d; int sum=0,num=0; scanf (“%d,%d,%d,%d“, ,思考:如果求若干个数的乘积又应如何处理?,程序运行结果: 输入:12,3,27,8 输出:a=12,b=3,c=27,d=8 sum=20,num=2,【例4-7】编程完成判别键盘输入字符的类别。,#include “stdio.h“ void main() char c; printf(“input a character: “); c=getchar(); if(c=0 ,4.3.3 多分支if 语句举例,程序运行结果: 显示:input a character: 输入
10、:a 输出:This is a small letter,【例4-8】输入某学生的成绩,输出对应的成绩和等级。等级:90-100分A级、80-89分B级、60-79分C级、0-59分为D级。,#include “stdio.h“ void main() int score; printf(“Please input score:n“); scanf(“%d“, ,程序运行结果: 显示:Please input score: 输入:120 输出:score error!,if 语句的嵌套格式 if ( ) if ( ) 语句 else 语句 else if ( ) 语句 else 语句 注意:e
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- IT认证 IT认证第4章 选择结构 IT 认证 选择 结构
链接地址:https://www.31doc.com/p-1995470.html