欢迎来到天天文库
浏览记录
ID:59421539
大小:166.00 KB
页数:35页
时间:2020-09-19
《C语言程序设计基础分支结构程序设计课件.ppt》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、第四章分支结构程序设计表达式关系表达式逻辑表达式条件表达式语句if语句多分支语句(switch)4.1.1关系运算符和关系表达式比较两个量(x,y)之间的关系xyx>=yx!=y比较的结果:真3>1假1>3intx=2,y=6;x=(y>3)x=(x>y)10x=1x=0关系运算符的优先级运算符优先级:算术运算符高<<=>>===!==低d=b+2==3d=((b+2)==3)b-1==a!=c((b–1)==a)!=c关系表达式32、算符和逻辑表达式33并且x<533、4、YXYXY!XX与或非逻辑与&&逻辑或5、6、逻辑非!(x>1)&&(y>1)(x>1)7、8、(y>1)(x>1)!(x>1)即x<=1逻辑运算符逻辑运算的规则-真值表逻辑与&&逻辑或9、10、逻辑非!真值表xyx&&yx11、12、y!x假假001假真011真假010真真110逻辑运算的规则-真值表逻辑与&&逻辑或13、14、逻辑非!真值表xyx&&yx15、16、y!x假假001假真011真假010真真11017、5&&7是否合法?000非0非00非0非0!!2=?=1逻辑表达式对于X&&Y,X和Y可以是:关系表达式或逻辑量x<=5&&x>=33&&5(x+y)&&7X,Y可以是任意表达式判断逻辑量的真假非0表示真0表示假逻辑运算的结果1表示真0表示假!算术运算符<<=>>===!=&&18、19、=,运算符的优先级设x=1,y=2,c=0x>=y==c&&!x+2>3(x>=y==c)&&(!x+2>3)((x>=y)==c)&&((!x+2)>3)((x>=y)==c)&&(((!x)+2)>3))例4-3写出满足下列要求的表达20、式⑴ch是小写英文字母ch>='a'&&ch<='z'⑵x为零关系表达式x==0或逻辑表达式!x验证:x取0!x真x取非0!x假x取0x==0真x取非0x==0假等价⑶x不为零x!=0或x例4-3(4)x和y不同时为零x!=021、22、y!=0或x23、24、y(5)year是闰年,即year能被4整除但不能被100整除,或year能被400整除。(year%4==0&&year%100!=0)25、26、(year%400==0)或(!(year%4)&&year%100)27、28、!(year%400)逻辑运算符&&和29、30、intx,y;/31、*假设每次运算后,将x的值置1*/y=(3>1&&x++);y=(3<1&&x++);y=(3<132、33、x++);y=(3>134、35、x++);exp1&&exp2先算exp1,若其值为0,STOPexp136、37、exp2先算exp1,若其值为1,STOPy=1x=2y=0x=1y=1x=2y=1x=14.2.1基本的if语句1、if–else结构if(exp)statement_1elsestatement_2语句1表达式语句2非00x+2x>0y=x2x<=0if(x>0)y=x+2;elsey=x*x;if–else结38、构if(exp)statement_1elsestatement_2scanf("%d%d",&a,&b);if(a!=b){t=a;a=b;b=t;printf("%d,%d",a,b);}elseprintf("a==b");一条语句一条语句4.2.1基本的if语句2、省略else的if结构if(exp)statement_1语句1表达式非00ch=getchar();if(ch>='a'&&ch<='z')ch=ch-'a'+'A';putchar(ch);ch=getchar();if(ch>='a'&&c39、h<='z'){ch=ch-'a'+'A';putchar(ch);}例4-7求最大值输入3个数,输出其中的最大值。#includevoidmain(){inta,b,c,max;printf("inputa,b,c:");scanf("%d%d%d",&a,&b,&c);max=a;if(maxb)max=a;elsemax=b;If(max40、lsemax=max;4.2.2嵌套的if语句if(exp)statement1elsestatement21、else–if结构if(exp_1)statement_1elseif(exp_2)statement_2……elseif(exp_n-1)statement_n-1elsestatement_nif语句if语句嵌套的if语句if(exp_1)st
2、算符和逻辑表达式33并且x<533、4、YXYXY!XX与或非逻辑与&&逻辑或5、6、逻辑非!(x>1)&&(y>1)(x>1)7、8、(y>1)(x>1)!(x>1)即x<=1逻辑运算符逻辑运算的规则-真值表逻辑与&&逻辑或9、10、逻辑非!真值表xyx&&yx11、12、y!x假假001假真011真假010真真110逻辑运算的规则-真值表逻辑与&&逻辑或13、14、逻辑非!真值表xyx&&yx15、16、y!x假假001假真011真假010真真11017、5&&7是否合法?000非0非00非0非0!!2=?=1逻辑表达式对于X&&Y,X和Y可以是:关系表达式或逻辑量x<=5&&x>=33&&5(x+y)&&7X,Y可以是任意表达式判断逻辑量的真假非0表示真0表示假逻辑运算的结果1表示真0表示假!算术运算符<<=>>===!=&&18、19、=,运算符的优先级设x=1,y=2,c=0x>=y==c&&!x+2>3(x>=y==c)&&(!x+2>3)((x>=y)==c)&&((!x+2)>3)((x>=y)==c)&&(((!x)+2)>3))例4-3写出满足下列要求的表达20、式⑴ch是小写英文字母ch>='a'&&ch<='z'⑵x为零关系表达式x==0或逻辑表达式!x验证:x取0!x真x取非0!x假x取0x==0真x取非0x==0假等价⑶x不为零x!=0或x例4-3(4)x和y不同时为零x!=021、22、y!=0或x23、24、y(5)year是闰年,即year能被4整除但不能被100整除,或year能被400整除。(year%4==0&&year%100!=0)25、26、(year%400==0)或(!(year%4)&&year%100)27、28、!(year%400)逻辑运算符&&和29、30、intx,y;/31、*假设每次运算后,将x的值置1*/y=(3>1&&x++);y=(3<1&&x++);y=(3<132、33、x++);y=(3>134、35、x++);exp1&&exp2先算exp1,若其值为0,STOPexp136、37、exp2先算exp1,若其值为1,STOPy=1x=2y=0x=1y=1x=2y=1x=14.2.1基本的if语句1、if–else结构if(exp)statement_1elsestatement_2语句1表达式语句2非00x+2x>0y=x2x<=0if(x>0)y=x+2;elsey=x*x;if–else结38、构if(exp)statement_1elsestatement_2scanf("%d%d",&a,&b);if(a!=b){t=a;a=b;b=t;printf("%d,%d",a,b);}elseprintf("a==b");一条语句一条语句4.2.1基本的if语句2、省略else的if结构if(exp)statement_1语句1表达式非00ch=getchar();if(ch>='a'&&ch<='z')ch=ch-'a'+'A';putchar(ch);ch=getchar();if(ch>='a'&&c39、h<='z'){ch=ch-'a'+'A';putchar(ch);}例4-7求最大值输入3个数,输出其中的最大值。#includevoidmain(){inta,b,c,max;printf("inputa,b,c:");scanf("%d%d%d",&a,&b,&c);max=a;if(maxb)max=a;elsemax=b;If(max40、lsemax=max;4.2.2嵌套的if语句if(exp)statement1elsestatement21、else–if结构if(exp_1)statement_1elseif(exp_2)statement_2……elseif(exp_n-1)statement_n-1elsestatement_nif语句if语句嵌套的if语句if(exp_1)st
3、
4、YXYXY!XX与或非逻辑与&&逻辑或
5、
6、逻辑非!(x>1)&&(y>1)(x>1)
7、
8、(y>1)(x>1)!(x>1)即x<=1逻辑运算符逻辑运算的规则-真值表逻辑与&&逻辑或
9、
10、逻辑非!真值表xyx&&yx
11、
12、y!x假假001假真011真假010真真110逻辑运算的规则-真值表逻辑与&&逻辑或
13、
14、逻辑非!真值表xyx&&yx
15、
16、y!x假假001假真011真假010真真110
17、5&&7是否合法?000非0非00非0非0!!2=?=1逻辑表达式对于X&&Y,X和Y可以是:关系表达式或逻辑量x<=5&&x>=33&&5(x+y)&&7X,Y可以是任意表达式判断逻辑量的真假非0表示真0表示假逻辑运算的结果1表示真0表示假!算术运算符<<=>>===!=&&
18、
19、=,运算符的优先级设x=1,y=2,c=0x>=y==c&&!x+2>3(x>=y==c)&&(!x+2>3)((x>=y)==c)&&((!x+2)>3)((x>=y)==c)&&(((!x)+2)>3))例4-3写出满足下列要求的表达
20、式⑴ch是小写英文字母ch>='a'&&ch<='z'⑵x为零关系表达式x==0或逻辑表达式!x验证:x取0!x真x取非0!x假x取0x==0真x取非0x==0假等价⑶x不为零x!=0或x例4-3(4)x和y不同时为零x!=0
21、
22、y!=0或x
23、
24、y(5)year是闰年,即year能被4整除但不能被100整除,或year能被400整除。(year%4==0&&year%100!=0)
25、
26、(year%400==0)或(!(year%4)&&year%100)
27、
28、!(year%400)逻辑运算符&&和
29、
30、intx,y;/
31、*假设每次运算后,将x的值置1*/y=(3>1&&x++);y=(3<1&&x++);y=(3<1
32、
33、x++);y=(3>1
34、
35、x++);exp1&&exp2先算exp1,若其值为0,STOPexp1
36、
37、exp2先算exp1,若其值为1,STOPy=1x=2y=0x=1y=1x=2y=1x=14.2.1基本的if语句1、if–else结构if(exp)statement_1elsestatement_2语句1表达式语句2非00x+2x>0y=x2x<=0if(x>0)y=x+2;elsey=x*x;if–else结
38、构if(exp)statement_1elsestatement_2scanf("%d%d",&a,&b);if(a!=b){t=a;a=b;b=t;printf("%d,%d",a,b);}elseprintf("a==b");一条语句一条语句4.2.1基本的if语句2、省略else的if结构if(exp)statement_1语句1表达式非00ch=getchar();if(ch>='a'&&ch<='z')ch=ch-'a'+'A';putchar(ch);ch=getchar();if(ch>='a'&&c
39、h<='z'){ch=ch-'a'+'A';putchar(ch);}例4-7求最大值输入3个数,输出其中的最大值。#includevoidmain(){inta,b,c,max;printf("inputa,b,c:");scanf("%d%d%d",&a,&b,&c);max=a;if(maxb)max=a;elsemax=b;If(max40、lsemax=max;4.2.2嵌套的if语句if(exp)statement1elsestatement21、else–if结构if(exp_1)statement_1elseif(exp_2)statement_2……elseif(exp_n-1)statement_n-1elsestatement_nif语句if语句嵌套的if语句if(exp_1)st
40、lsemax=max;4.2.2嵌套的if语句if(exp)statement1elsestatement21、else–if结构if(exp_1)statement_1elseif(exp_2)statement_2……elseif(exp_n-1)statement_n-1elsestatement_nif语句if语句嵌套的if语句if(exp_1)st
此文档下载收益归作者所有