第4-1课 选择结构程序.doc_第1页
第4-1课 选择结构程序.doc_第2页
第4-1课 选择结构程序.doc_第3页
第4-1课 选择结构程序.doc_第4页
免费预览已结束,剩余1页可下载查看

下载本文档

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

文档简介

第4-1课 选择结构程序一、教学目标1、关系运算符和表达式关系运算符及其优先次序关系表达式2、逻辑运算符和表达式逻辑运算符极其优先次序逻辑运算的值逻辑表达式3、if语句和条件运算 If语句 If else 语句二、教学过程1、关系运算符和表达式 在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。2、关系运算符及其优先次序 在语言中有以下关系运算符:1) 小于2) 大于4) = 大于或等于5) = 等于6) != 不等于关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,,=的优先级相同,高于=和!=,=和!=的优先级相同。3、关系表达式 关系表达式的一般形式为: 表达式 关系运算符 表达式例如:a+bc-dx3/2a+1(bc)a!=(c=d)关系表达式的值是真”和“假”,用“1”和“0”表示。如: 50的值为“真”,即为1。(a=3)(b=5)由于35不成立,故其值为假,即为0。【例】main() char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(%d,%dn,a+5=k+1); printf(%d,%dn,1j5,x-5.25=x+y); printf(%d,%dn,i+j+k=-2*j,k=j=i+5); /*算术高于关系*/ 在本例中求出了各种关系运算符的值。字符变量是以它对应的ASCII码参与运算的。x-5.25b & cd 等价于 (ab)&(cd) !b=c|da 等价于 (!b)=c)|(dc&x+yc)&(x+y)0 & 42由于50为真,42也为真,相与的结果也为真。(2)或运算|:参与运算的两个量只要有一个为真,结果就为真。 两个量都为假时,结果为假。例如:50|58由于50为真,相或的结果也就为真。(3)非运算!:参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(50)的结果为假。虽然编译在给出逻辑运算值时,以“1”代表“真”,“0 ”代表“假”。 但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”因此5&3的值为“真”,即为1。又如:5|0的值为“真”,即为1。6、逻辑表达式 逻辑表达式的一般形式为: 表达式 逻辑运算符 表达式其中的表达式可以又是逻辑表达式,从而组成了嵌套的情形。例如: (a&b)&c根据逻辑运算符的左结合性,上式也可写为: a&b&c逻辑表达式的值是式中各种逻辑运算的最后值,以“1”和“0”分别代表“真”和“假”。【例】main() char c=k; int i=1,j=2,k=3; float x=3e+5,y=0.85; printf(%d,%dn,!x*!y,!x); printf(%d,%dn,x|i&j-3,ij&xy); printf(%d,%dn,i=5&c&(j=8),x+y|i+j+k); 本例中!x和!y分别为0,!x*!y也为0,故其输出值为0。由于x为非0,故!x的逻辑值为0。对x| i & j-3式,先计算j-3的值为非0,再求i & j-3的逻辑值为1,故x|i&j-3的逻辑值为 1。对ij&xy式,由于ij的值为1,而xy为0故表达式的值为1,0相与,最后为0,对i=5&c&(j=8)式,由于i=5为假,即值为0,该表达式由两个与运算组成,所以整个表达式的值为0。对于式x+ y|i+j+k由于x+y的值为非0,故整个或表达式的值为1。7、If语句语法:if(表达式) 语句 其语义是:如果表达式的值为真,则执行其后的语句, 否则不执行该语句。其过程可表示为下图。【例-】main() int a,b,max; printf(n input two numbers: ); scanf(%d%d,&a,&b); max=a; if (maxb) printf(max=%dn,a); else printf(max=%dn,b); 输入两个整数,输出其中的大数。改用if-else语句判别a,b的大小,若a大,则输出a,否则输出b。三、课堂练习1、输入三个整数,输出最大数 main() int a,b,c; int max; scanf(%d%d%d,&a,&b,&c); if(ab) max=a; else max=b; if(maxc) max=max; else max=c; printf(max is :%dn,max); 2、下列程序运行后的输出结果是( ) main() int a,b,c; a=10; b=20; a=10;b=20;c=(a%b1); printf(%d %d %dn,a,b,c); 3、设有定义:int a=2,b=3,c=4;则下列选项中值为0的表达式是( ) A、(!a=1)&(!b=0) B、(a=2&c=2&c=2&cb) printf(%d,a); B) if(&);a=m; C) if(1) a=m; elsea=n; D) if(a0);else a=n;7、分析以下程序,从键盘输入3.8,-3.4,则正确的输出结果是( ) main() float a,b,t; scanf(%f,%f,&a,&b); if(ab) t=a; a=b; b=t; printf(%5.2f,%5.2f,a,b);A)-3.40,-3.80 B) -3.40,3.80 C) -3.4,3.8 D) 3.80,-3.408、以下程序的输出结果为( ) main()int a,b,c;a=10;b=50;

温馨提示

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

最新文档

评论

0/150

提交评论