资源描述:
《《程序基本结构》PPT课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、2021/7/21C语言程序设计1第二章程序基本结构2.1关系运算和逻辑运算2.2分支结构2.3循环结构2.4break和continue语句2.5goto语句2.6经典算法举例2021/7/21C语言程序设计22.1关系运算和逻辑运算2.1.1关系运算符和关系表达式一、关系运算符6种:<、<=、>、>=、==、!=说明:1、优先级:前4种相同,后2种也相同,但前4种高于后两种;所有关系运算符的优先级都低于算术运算符而高于赋值运算符。2、结合性:自左至右a>b-ca>(b-c)a==b>=ca==(b>=c)a=b!=
2、ca=(b!=c)2021/7/21C语言程序设计3二、关系表达式用关系运算符将两个表达式连接起来的式子。其中被连接的表达式可以是算术表达式、关系表达式、逻辑表达式、赋值表达式或字符表达式。如:a+b>c+d、x>y==c+d、'a'>'A'关系表达式的值只能是1或0,当表达式成立即为“真”时,值为整数1;否则为“假”,值为整数0。因此可看作整型表达式。假设a=3,b=2,c=1,求以下关系表达式的值:a>b(a>b)==ca>b>c f=a>b<=c11012021/7/21C语言程序设计42.1.2逻辑运算符和逻
3、辑表达式一、逻辑运算符3种:&&
4、
5、!①、优先级:!(非)→&&(与)→
6、
7、(或)!(非)算术运算符关系运算符&&
8、
9、赋值运算符(高)(低)②、结合性:!是右结合性,&&和
10、
11、是左结合性③、逻辑运算真值表:ab!a!ba&&ba
12、
13、b非0非00011非0001010非01001001100例:a
14、
15、b!=c(a==b)
16、
17、(b!=c)a>=1
18、
19、!b(a>=1)
20、
21、(!b)二、逻辑表达式逻辑表达式的值应该是“逻辑真”或“逻辑假”。C语言以数值1代表“真”,以数值0代表“假”
22、;但参加运算的运算量可以是任何数值,进行判断时,非零值代表“真”,零值代表“假”。若a=100,b=5,则!a=?a&&b=?a
23、
24、b=?!a&&b=?4&&0
25、
26、2=?'a'+'b'
27、
28、'c''a'&&' '3>8&&2
29、
30、5<4-!001101100!(非)算术运算符关系运算符&&
31、
32、赋值运算符(高)(低)表示x∈[-1,1]区间,应写为:x>=-1&&x<=1不能写为:-1<=x<=1规律:在逻辑表达式的求解过程中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算
33、符。①、在&&表达式中,若左端为0,则不必再计算右端,表达式值为0;即:0&&a==0②、类似有:1
34、
35、a==10
36、
37、a==a0&&a==01
38、
39、a==11&&a==aa
40、
41、a==aa&&a==aa
42、
43、!a==1a&&!a==0!(a
44、
45、b)==!a&&!b!(a&&b)==!a
46、
47、!b例:a=1,b=2,c=3,d=4,m=n=1(m=a>b)&&(n=c>d)m=?n=?012021/7/21C语言程序设计7第一章中我们学习了顺序结构的C程序设计方法,但是实际应用中,很多问题仅有顺序结构的方法是无法解决的。算法问题
48、1:输入三个整数,按从大到小的顺序输出。问题2:编写程序计算:1+2+3+…+100。算法2021/7/21C语言程序设计8问题1的算法:S1:输入3个整数,分别赋值给a,b,cS2:如果a
49、3+…+100可以改写为:(((1+2)+3)+…+100)S1:p1=1+2S2:p2=p1+3S3:p3=p2+4…S99:p99=p98+100,结果在p99里。定义99个变量,容易实现吗?注意观察:每一步都类似2021/7/21C语言程序设计10算法3:S0:p=0,i=1S1:p=p+i,i=i+1S2:p=p+i,i=i+1S3:p=p+i,i=i+1…S99:p=p+i,i=i+1完全一样的99步算法4:S0:p=0,i=1(循环初值)S1:p=p+i,i=i+1(循环体)S2:i<=100,则返回重新执
50、行步骤S1及S2;否则,算法结束(循环控制)。循环结构2021/7/21C语言程序设计11p=0,i=1p=p+i,i=i+1直到i>1002021/7/21C语言程序设计122.2分支结构2.2.1单分支结构例2.1:输入两个整数,按从小到大的顺序输出这两个数。算法:S1:输入两个整数a,bS2:如果a>b,则a⇔bS3:输出a