欢迎来到天天文库
浏览记录
ID:40238443
大小:1.76 MB
页数:39页
时间:2019-07-28
《C语言 程序设计 第3章 选择结构程序设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第3章选择结构程序设计3.1条件的表示3.1.1关系运算符与关系表达式3.1.2逻辑运算符与逻辑表达式3.1.3条件运算符与条件表达式3.2用if语句实现选择结构3.2.1if语句的一般形式3.2.2if语句的嵌套3.3利用switch语句实现多分支选择结构【问题3】编程求解一元二次方程ax2+bx+c=0的根。其中系数a、b、c的值由键盘输入。分析:在数学上,根据a、b、c的不同取值,方程的根会有如下几种情况:如果b2-4ac>0,方程有两个不相等的实根。如果b2-4ac=0,方程有两个相等的实根。如果b2-4ac<0,方程无实根。3.1条件的表示给定
2、三角形的三条边,若能构成三角形求其面积。(判断的条件是:任意两边之和≥第三边)求一元二次方程ax2+bx+c=0的实根。(判断的条件是:b2-4ac≥0)统计考试不及格的人数。(判断的条件是:考试成绩<60)输出a,b中的大数。(判断的条件是:a>b)通过对各种条件的判断,得到的结果是一个逻辑值,在计算机中用“真”和“假”来表示。例如,当a=8,b=3时,条件“a>b”成立,就称条件“a>b”为真;如果a=3,b=8,条件“a>b”不成立,就称条件“a>b”为假。3.1.1关系运算和关系表达式关系运算符及其优先次序C语言提供了6种关系运算符:优先级相同(
3、高)优先级相同(低)<(小于)<=(小于或等于)>(大于)>=(大于或等于)==(等于)!=(不等于)例如:c>a+b等效于c>(a+b)a>b==c等效于(a>b)==ca==bc等效于a=(b>c)关系表达式关系表达式:用关系运算符连接起来的式子。例如,下面的关系表达式都是合法的:a>b,a+b='b',a==10,a%2!=0关系表达式的值:整数“1”表示逻辑“真”整数“0”表示逻辑“假”值为0值为1值为1值为6【例3.2】求下列表达式的值。(1)'a'+1>'c'(2)
4、(a=2)<=(f=1)(3)(1,2)!=(2,1)值为0值为0值为1【例3.1】假设有:inta=3,b=4,c=5;试分析下列表达式的值。(1)a>b(2)(a>b)!=c(3)ay,y5、}运行结果:(1)1,0(2)1,0(3)0,1!逻辑非(相当于“取反”)&&逻辑与(相当于“同时”、“并且”)6、7、逻辑或(相当于“或者”)3.1.2逻辑运算符和逻辑表达式C语言提供了三种逻辑运算符:双目运算符结合方向为自左至右单目运算符,结合方向为自右至左逻辑运算的优先次序逻辑非为单目,其优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→8、9、(或)部分运算符的优先级次序单目算术运算符关系运算符逻辑赋值运算符逗号(低)括号(高)逻辑运算规则&&:当两个操作数的值都为“真”时,运算结果为“真”,否则为“假”。即全真为真,见假为假。10、11、:当两个操12、作数的值有一个为“真”时,运算结果为“真”,否则为“假”。即全假为假,见真为真。!:当操作数的值为“真”时,运算结果为“假”;当操作数的值为“假”时,运算结果为“真”。ab!a!ba&&ba13、14、b真真假假真真真假假真假真假真真假假真假假真真假假括号括号逻辑表达式逻辑表达式:用逻辑运算符将一个或多个表达式连接起来的式子。闰年的判断条件是:能被4整除但不能被100整除的年份或者能被400整除的年份。例如:a>b&&c>d!b==c15、16、dc&&x+y17、18、(year%40019、==0)(year%4==0)&&(year%100!=0)(year%400==0)逻辑表达式的值逻辑“真”——用“1”表示逻辑“假”——用“0”表示【例3.4】已知a=4,b=5,求下列表达式的值。(1)!a(2)a&&b(3)5>3&&8<3-!0(4)'c'&&'d'结果为0结果为1结果为0结果为1逻辑运算的“短路”情况具体情况如下:a&&b&&ca为假则不再判别b和ca20、21、b22、23、ca为真不再判断b和c【例3.5】分析阅读下面程序,写出运行结果。程序如下:main(){inta=0,b=2,c;c=a&&(++b);printf("%d,%d,%24、d",a,b,c);c=b25、26、(++a);printf("%d,%d,%d
5、}运行结果:(1)1,0(2)1,0(3)0,1!逻辑非(相当于“取反”)&&逻辑与(相当于“同时”、“并且”)
6、
7、逻辑或(相当于“或者”)3.1.2逻辑运算符和逻辑表达式C语言提供了三种逻辑运算符:双目运算符结合方向为自左至右单目运算符,结合方向为自右至左逻辑运算的优先次序逻辑非为单目,其优先级最高,逻辑与次之,逻辑或最低,即:!(非)→&&(与)→
8、
9、(或)部分运算符的优先级次序单目算术运算符关系运算符逻辑赋值运算符逗号(低)括号(高)逻辑运算规则&&:当两个操作数的值都为“真”时,运算结果为“真”,否则为“假”。即全真为真,见假为假。
10、
11、:当两个操
12、作数的值有一个为“真”时,运算结果为“真”,否则为“假”。即全假为假,见真为真。!:当操作数的值为“真”时,运算结果为“假”;当操作数的值为“假”时,运算结果为“真”。ab!a!ba&&ba
13、
14、b真真假假真真真假假真假真假真真假假真假假真真假假括号括号逻辑表达式逻辑表达式:用逻辑运算符将一个或多个表达式连接起来的式子。闰年的判断条件是:能被4整除但不能被100整除的年份或者能被400整除的年份。例如:a>b&&c>d!b==c
15、
16、dc&&x+y17、18、(year%40019、==0)(year%4==0)&&(year%100!=0)(year%400==0)逻辑表达式的值逻辑“真”——用“1”表示逻辑“假”——用“0”表示【例3.4】已知a=4,b=5,求下列表达式的值。(1)!a(2)a&&b(3)5>3&&8<3-!0(4)'c'&&'d'结果为0结果为1结果为0结果为1逻辑运算的“短路”情况具体情况如下:a&&b&&ca为假则不再判别b和ca20、21、b22、23、ca为真不再判断b和c【例3.5】分析阅读下面程序,写出运行结果。程序如下:main(){inta=0,b=2,c;c=a&&(++b);printf("%d,%d,%24、d",a,b,c);c=b25、26、(++a);printf("%d,%d,%d
17、
18、(year%400
19、==0)(year%4==0)&&(year%100!=0)(year%400==0)逻辑表达式的值逻辑“真”——用“1”表示逻辑“假”——用“0”表示【例3.4】已知a=4,b=5,求下列表达式的值。(1)!a(2)a&&b(3)5>3&&8<3-!0(4)'c'&&'d'结果为0结果为1结果为0结果为1逻辑运算的“短路”情况具体情况如下:a&&b&&ca为假则不再判别b和ca
20、
21、b
22、
23、ca为真不再判断b和c【例3.5】分析阅读下面程序,写出运行结果。程序如下:main(){inta=0,b=2,c;c=a&&(++b);printf("%d,%d,%
24、d",a,b,c);c=b
25、
26、(++a);printf("%d,%d,%d
此文档下载收益归作者所有