资源描述:
《《程序基本结构》PPT课件》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第二章程序基本结构2.1关系运算和逻辑运算2.2分支结构2.3循环结构2.4break和continue语句2.5goto语句2.6指针程序设计2.7经典算法举例2021/8/91引言第一章中我们学习了顺序结构的C程序设计方法,但是实际应用中,很多问题仅有顺序结构的方法是无法解决的。算法问题1:输入三个整数,按从大到小的顺序输出。问题2:编写程序计算:1+2+3+…+100。算法2021/8/92问题1的算法:S1:输入3个整数,分别赋值给a,b,cS2:如果a
2、构输入a,b,c的值Na、>=、==、!=说明:1、优先级:前4种相同,后2种也相同,但前4种高于后两种;所有关系运算符的优先级都低于算术运算符而高于赋值运算符。2、结合性:自左至右a>b-ca>(b-c)a==b>=ca==(b>=c)a=b!=ca=(b!=c)2021/8/94二、关系表达式用关系运算符将两个表达式连接起来的式子。其中被连接的表达式可以是算术表达式、关系表达式、逻辑表达
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/8/952.1.2逻辑运算符和逻辑表达式一、逻辑运算符3种:&&
4、
5、!①、优先级:!(非)→&&(与)→
6、
7、(或)!(非)算术运算符关系运算符&&
8、
9、赋值运算符(高)(低)②、结合性:!是右结合性,&&和
10、
11、是左结合性③、逻辑运算真值表:ab!a!
12、ba&&ba
13、
14、b非0非00011非0001010非010010011002021/8/96例:a
15、
16、b!=c(a==b)
17、
18、(b!=c)a>=1
19、
20、!b(a>=1)
21、
22、(!b)二、逻辑表达式逻辑表达式的值应该是“逻辑真”或“逻辑假”。C语言以数值1代表“真”,以数值0代表“假”;但参加运算的运算量可以是任何数值,进行判断时,非零值代表“真”,零值代表“假”。若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-
31、!0011011002021/8/97表示x∈[-1,1]区间,应写为:x>=-1&&x<=1不能写为:-1<=x<=1规律:在逻辑表达式的求解过程中,并不是所有的逻辑运算符都被执行,只是在必须执行下一个逻辑运算符才能求出表达式的解时,才执行该运算符。①、在&&表达式中,若左端为0,则不必再计算右端,表达式值为0;即:0&&a==0②、类似有:1
32、
33、a==1(假设a、b取值为1或者0)0
34、
35、a==a0&&a==01
36、
37、a==11&&a==aa
38、
39、a==aa&&a==aa
40、
41、!a==1a&&!a==0!(a
42、
43、b)==!a&&!b!(a&&b)==!a
44、
45、!
46、b例:a=1,b=2,c=3,d=4,m=n=1(m=a>b)&&(n=c>d)m=?n=?01注意:2021/8/98C语言运算符的“优先级口决”1小括中括指向点,( "()","[]","->",".")非反后来自加减;(!~++--)负类指针有地址, (-,类型转换,*,&)长度唯一右在前.(sizeof,单目运算,从右至左)先乘除,再求余,(*,/,%)加减后,左右移,(+,-,<<,>>)关系运算左为先.(<,<=,>,>>)等于还是不等于,(==,!=)按位运算与异或;(&,^,
47、)逻辑与,逻辑或,(&&,
48、
49、)条件运算右至左.(?:)赋值运算
50、虽然多,(=,+=,-=,*=,/=,%=,>>=,<<=,&=,^=,
51、=)从右至左不会错;(从右至左)逗号不是停顿符,(,)顺序求值得结果.(顺序求值运算符)2021/8/99C语言运算符的“优先级口决”2括号成员第一; //括号运算符[]()成员运算符. ->全体单目第二; //所有的单目运算符比如++--+(正)-(负)指针运算*&乘除余三,加减四; //这个“余”是指取余运算即%移位五,关系六; //移位运算符:<<>>,关系:><>=<=等等于(与)不等排第七; //即==!=位与异或和位或; //这几个都是位运
52、算:位与(&)异或(^)位或(
53、) “三分天下”八九十;逻