C语言程序设计基础——分支结构程序设计PPT课件.ppt_第1页
C语言程序设计基础——分支结构程序设计PPT课件.ppt_第2页
C语言程序设计基础——分支结构程序设计PPT课件.ppt_第3页
C语言程序设计基础——分支结构程序设计PPT课件.ppt_第4页
C语言程序设计基础——分支结构程序设计PPT课件.ppt_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、第四章 分支结构程序设计,表达式 关系表达式 逻辑表达式 条件表达式 语句 if 语句 多分支语句 (switch),4.1.1 关系运算符和关系表达式,比较两个量(x, y)之间的关系 x y x = y x != y 比较的结果: 真 31 假 13,int x=2, y=6; x = (y 3) x = (x y),1 0,x=1 x=0,关系运算符的优先级,运算符优先级: 算术运算符 高 = = != = 低,d = b+2 = 3 d = (b+2) = 3) b - 1 = a != c (b 1) = a) != c,关系表达式,3 x 5 x=1时 x=4时 ( 3x ) 5

2、恒为 1,4.1.2 逻辑运算符和逻辑表达式,3 3 并且 x 5 3 x /* 假设每次运算后,将x的值置1 */ y = (3 1 exp1 else y=x*x;,if else结构,if (exp) statement_1 else statement_2,scanf(%d%d, ,一条语句,一条语句,4.2.1 基本的if语句,2、省略else的if结构 if (exp) statement_1,语句1,表达式,非0,0,ch=getchar(); if(ch=a,ch=getchar(); if(ch=a ,例47 求最大值,输入3个数,输出其中的最大值。 #include voi

3、d main( ) int a, b, c, max; printf(input a, b, c:n); scanf(%d%d%d, ,a max b c,max,max,If (ab) max=a; else max=b; If (maxc) max=c; else max=max;,4.2.2 嵌套的if语句,if (exp) statement1 else statement2,1、 else if 结构 if (exp_1) statement_1 else if(exp_2) statement_2 else if(exp_n-1) statement_n-1 else statem

4、ent_n,if 语句,if 语句,嵌套的if语句,if (exp_1) statement_1 else if(exp_2) statement_2 else if(exp_n-1) statement_n-1 else statement_n,n个分支需要n-1次比较,输入变量x, 计算符号函数: 1 当 x0 y = 0 当 x=0 -1 当 x0,例:计算符号函数,if (x0) y = 1; else if (x=0) y = 0; else y = -1; If (x=0 ) if(x=0) y=0; /else y=1;/ else y=-1;,输入变量x, 计算y: x+1 x

5、=3,例4-9,if (x1) y = x+1; else if (x2) y = x+2; else if(x3) y = x+3; else y = x+4;,4.2.2 嵌套的if语句,2、嵌套的 if else 结构 if (exp_1) if(exp_2) statement_1 else statement_2 else if(exp_3) statement_3 else statement_4,if (exp) statement1 else statement2,if 语句,if 语句,嵌套的if语句,输入变量x, 计算符号函数: 1 当 x0 y = 0 当 x=0 -1

6、当 x0,例:计算符号函数,if (x=0) if(x0) y = 1; else y = 0; else y = -1;,输入变量x, 计算y: x+1 x=3,例4-9,if (x2) if(x1) y = x+1; else y = x+2; else if(x3) y = x+3; else y = x+4;,if (x0) y = 1; else if (x=0) y = 0; else y = -1;,if (x=0) if(x0) y = 1; else y = 0; else y = -1;,2种嵌套if语句的比较,else 和 if 的匹配,if (exp_1) if(exp

7、_2) statement_1 else statement_2 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,else 与最靠近它的、没有与别的 else 匹配过的 if 匹配,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,改变else 和 if 的配对,if (exp_1) if(exp_2

8、) statement_1 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else if(exp_3) statement_3 else statement_4,if (exp_1) if(exp_2) statement_1 else else if(exp_3) statement_3 else statement_4,4.2.3

9、条件表达式,exp1 ? exp2 : exp3,非0,0,y = (x0) ? x+2 : x*x;,int n; (n0) ? 2.9 : 1 n = 10 n = -10,2.9 1.0,x+2 x0 y = x2 x=0,if ( x0 ) y=x+2; else y=x*x;,4.3 switch语句,switch(表达式) case 常量表达式1:语句段1 case 常量表达式2:语句段2 . case 常量表达式n:语句段n default :语句段n+1 ,switch(表达式) case 常量表达式1:语句段1 case 常量表达式2:语句段2 . case 常量表达式n:语

10、句段n default :语句段n+1 ,例413,# include void main( ) int k; scanf(%d, ,输入 2,输入 6,# include void main( ) int k; scanf(%d, ,输入 2,输入 6,if(k=1) printf ( Im in the case1n ); else if(k=2) printf ( Im in the case2n ); else if(k=3) printf ( Im in the case3n ); else printf ( Im in the defaultn);,例414,void main( ) char c; printf(Please input a character:n); c = getchar(); switch(c) case : case n: printf(This is a blank or enter); break; case 0 : case 1 : case 2 : case 3 : case 4 : case 5 : case 6 : case 7 : case 8 : case 9 : printf(This is a digit.n); break; default: printf(This is an other character. n);

温馨提示

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

评论

0/150

提交评论