C语言课件第4章_第1页
C语言课件第4章_第2页
C语言课件第4章_第3页
C语言课件第4章_第4页
C语言课件第4章_第5页
已阅读5页,还剩28页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、南昌大学计算中心,C语言程序设计,南昌大学计算中心,第4章 选择结构,4.1 关系运算和逻辑运算 4.1.1 C语言的逻辑值 通过关系运算或逻辑运算都会得到一个逻辑值。只有两种结果:“真”和“假”,在C中非0就认作“真”,0就认作“假”。 4.1.2 关系运算符和关系表达式 C语言的关系运算符(左结合) = = = != 较高 较低 关系运算符是双目运算符。所有6种运算符的优 先级都高于赋值运算符,但都低于算术运算符,南昌大学计算中心,关系表达式的值为逻辑值(0或1)。 如:1=3 值为0 1+1=4/2 值为1 4.1.3 逻辑运算符和逻辑表达式 ! 逻辑非 d=(abc); printf(

2、“%dn”,d);,0,南昌大学计算中心,练习:设int x=1,y=1;表达式(!x|y-)的值是_。 A)0 B)1 C)2 D)-1,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int x=4,y=0,z; x*=3+2; printf(“%d”,x); x*=y=(z=4); printf(“%d”,x); A)14 40B)20 0 C)20 4D)14 4,南昌大学计算中心,练习:设x,y和z都是int型变量,且x=3,y=4,z=5,则下面表达式中,值为0的表达式是_。 A)x if (c=a+b) printf(“yesn”); else printf(“n

3、on”);,yes,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int x=3; if (x=5) x+; printf(“%d”,x);,6,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int n=0,m=1,x=2; if (!n) x-=1; if (m) x-=2; if (x) x-=3; printf(“%dn”,x);,4,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int x=10,y=20,t=0; if (x=y) t=x;x=y;y=t; printf(“%d,%d”,x,y);,20,0,南昌大学计算中心,练习

4、:下面程序的输出结果是_。 main() int i=1,j=1,k=2; if (j+|k+) A)1,1,2B)2,2,1 C)2,2,2D)2,2,3,南昌大学计算中心,4.2.2 嵌套的if语句 if (表达式1) if (表达式2) 语句1 else 语句2 else 语句3 if (表达式1) if (表达式2) 语句1 else 语句2,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int a=2,b=-1,c=2; if (ab) if (b0) c=0; else c+; printf(“%dn”,c); A)0B)1 C)2D)3,南昌大学计算中心,练习:

5、下面程序的输出结果是_。 main() int a=2,b=-1,c=2; if (ab) ; if (b0) c=0; else c+; printf(“%dn”,c); A)0B)1 C)2D)3,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int a=10,b=20,c=30; if (ab) if(ac) printf(“a=%d”,a); else printf(“b=%d”,b); printf(“c=%d”,c);,c=30,南昌大学计算中心,if (表达式1) 语句1 else if (表达式2) 语句2 else 语句3,if (表达式1) 语句1 els

6、e if (表达式2) 语句2 else if (表达式m) 语句m else 语句 n,南昌大学计算中心,南昌大学计算中心,练习:下面程序的输出结果是_。 main() float x=2.0,y; if (x0.0) y=0.0; else if (x10.0) y=1.0/x; else y=1.0; printf(“%fn”,y); A)0.000000B)0.250000 C)0.500000D)1.000000,南昌大学计算中心,练习:下面程序运行时输入:-1 -2 ,输出结果是_。 main() int a,b,m=1,n=1; scanf(“%d%d”,m=1 n=2,南昌大学

7、计算中心,4.3 条件表达式构成的选择结构 利用C语言中唯一的三目运算符(? :)构成选择结构。 条件表达式的形式: 表达式1 ? 表达式2 : 表达式3 条件表达式的结果是表达式2或表达式3,取决于表达式1的真假。 条件运算符优先级高于赋值、逗号运算符,低于其他运算符 如:5/37/3?10:20,南昌大学计算中心,练习:若运行时给变量x赋值12,则下面程序的输出结果是_。 main() int x,y; scanf(“%d”, A)0B)22 C)12D)10,南昌大学计算中心,填空:以下程序输出x,y,z三个数中的最小值。 main() int x=4,y=5,z=8; int u,v;

8、 u=xy?_; v=uz?_; printf(“%d”,v);,x:y,u:z,南昌大学计算中心,练习:若已定义:int a=25,b=14,c=19;执行以下三目运算符(?:)所构成的语句: a=25输出结果是_。 A)*a=25,b=13,c=19 B) *a=26,b=14,c=19 C) #a=25,b=13,c=19 D) #a=26,b=14,c=19,南昌大学计算中心,练习:以下程序段中与语句k=ab?(bc?1:0):0;功能等价的是_。 A)if (ab,南昌大学计算中心,4.4 switch语句以及用switch语句和break语句构成的选择结构 4.4.1 switch

9、语句 switch (表达式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 . . . case 常量表达式n: 语句n default: 语句n+1,南昌大学计算中心,N-S结构图,4.4.2 switch语句的执行过程 如: switch (a) case 1: printf( switch(x) case 0:b+; case 1:a+; case 2:a+;b+; printf(“a=%d,b=%dn”,a,b); A)a=2,b=1 B)a=1,b=1 C)a=1,b=0 D)a=2,b=2,南昌大学计算中心,注意:case后面的常量表达式不能用浮点数形式,switch后面的表达式也不能是浮点数形式,南昌大学计算中心,练习:下面程序的输出结果是_。 main() int n=c; switch(n+) def

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论