资源描述:
《C语言程序设计技能教程 教学课件 作者 戴佩荣 等 第4章.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第4章让程序作自己的选择—选择结构C语言技能教程第四章4.1技能1:运用条件运算符设计简单的程序4.2技能2:关系表达式与逻辑表达式的运用4.3技能3:用if语句编制选择结构的程序4.4技能4:用switch语句设计多选一的程序C语言技能教程4.1技能1【知识点】1.条件运算符(?:),是c语言唯一的需要三个操作数的运算符,它可以组成一个条件表达式,其一般形式为:表达式1?表达式2:表达式32.条件运算符的执行顺序。首先判断表达式1值,如果数值不是0,则计算表达式2的值,并将此作为条件表达式的值;如果数值是0,则计算表达式3的值,并将此
2、作为条件表达式的值。3.条件运算符的优先级优先于赋值运算符,低于关系运算符。结合性为右结合。C语言技能教程例4.2求三个数中最大值的程序。main(){floatx,y,z,max;scanf("%f%f%f",&x,&y,&z);max=x>y?x:y;max=z>max?z:max;printf("max=%.2f",max);}4.1技能1【典型例题】C语言技能教程4.2技能21.关系运算符用于比较表达式,提出类似“a大于10吗?”或“x等于y吗?”这样的问题。关系表达式的一般形式:表达式关系运算符表达式2.关系表达式的值,根
3、据所描述的关系成立与否取值为1或0。而不是象有些语言的真与假。即关系成立,值为1;不成立,值为0。见表4-1。3.优先级与结合性运算顺序由高到低为:算术运算符关系运算符<,<=,>,>=关系运算符==和!=关系运算符的结合性:从左至右。【知识点】4.2.1关系表达式C语言技能教程运算符符号实例读作求值大于>5>35大于3吗?1大于或等于>=3>=33大于等于3吗?1小于<'a'<'b''a'小于'b'吗?1小于或等于<=5<=35小于等于3吗?0等于==3==33等于3吗1不等于!=3!=33不等于3吗?0表4-1关系运算符和关系表
4、达式C语言技能教程4.2技能2【典型例题】4.2.2关系表达式例4.4从键盘输入某个学生五门课程的成绩,分别存放在整型变量s1,s2,s3,s4,s5中,分别统计出成绩在90分以上(含90)的课程数,成绩在80-90分之间(含80)的课程数。C语言技能教程4.2技能24.2.2关系表达式例4.4程序如下:main(){ints1,s2,s3,s4,s5,c90=0,c80=0;scanf("%d%d%d%d%d",&s1,&s2,&s3,&s4,&s5);c90=(s1>=90)+(s2>=90)+(s3>=90)+(s4>=90)+(
5、s5>=90);c80=(s1>=80)+(s2>=80)+(s3>=80)+(s4>=80)+(s5>=80);printf("90分或90以上的课程数是:%d",c90);printf("80-90分课程数是:%d",c80-c90);/*相减后为80-90之间的课程数*/}C语言技能教程4.2技能24.2.2逻辑表达式【知识点】1.C语言有三种逻辑运算符。见表4-2。用逻辑运算符将关系表达式或逻辑量连接起来的式子称为逻辑表达式。2.一般意义,逻辑表达式成立其值为“真”,不成立其值为“假”。在C语言中用数值1代表“真”,用数
6、值0代表“假”。3.逻辑运算的运算含义见真值表4-33.逻辑运算的优先级顺序:!(非)&&(与)
7、
8、(或)!(非)运算为单目运算符,结合性为右结合。&&(与)、
9、
10、(或)为双目运算符,结合性是左结合。。C语言技能教程4.2技能24.2.2逻辑表达式【知识点】。运算符功能表达式&&逻辑与a&&b
11、
12、逻辑或a
13、
14、b!逻辑非!a表4-2逻辑运算符C语言技能教程4.2技能24.2.2逻辑表达式【知识点】表4-3C逻辑运算的真值表aba&&ba
15、
16、b!a!b非0非01100非0001010非00110000011C语言技能教程4.2技能24.
17、2.2逻辑表达式【知识点】4.C语言逻辑运算总结:(a,b代表一个关系表达式或逻辑量)&&运算:当a,b都为非0时,a&&b的值为1,其它情况均为0。
18、
19、运算:当a,b都为0时,a
20、
21、b的值为0,其它情况均为1。!运算:a为非0,!a的值为0;a为0,!a的值为1。C语言技能教程4.2技能24.2.2逻辑表达式【典型例题】例4.5用一个表达式判断字符型变量ch是否是一个大写英文字母。分析:'A'<=ch<='Z'?先分解成两个简单的条件,即:ch>='A'和ch<='Z',然后再用逻辑运算符连接起来,构成一个逻辑表达式。根据与运算的含义
22、,本题表示为:ch>='A'&&ch<='Z‘思考:用一个表达式判断字符型变量ch是否是一个英文字母C语言技能教程4.2技能24.2.2逻辑表达式【典型例题】例4.6若有变量inta=3,b=2,c=1,