C语言程序设计实用教程第4章.ppt_第1页
C语言程序设计实用教程第4章.ppt_第2页
C语言程序设计实用教程第4章.ppt_第3页
C语言程序设计实用教程第4章.ppt_第4页
C语言程序设计实用教程第4章.ppt_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

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

文档简介

C语言程序设计教程 第4章 选择结构 第四章 选择结构程序设计 4.1 关系运算符和关系表达式 4.2 逻辑运算符逻辑表达式 4.3 if语句 4.4 switch语句 4.5 程序举例 C语言程序设计教程 第4章 选择结构 教学提示 本章介绍结构化程序设计的第二种基本结构 :选择结构程序设计,要求学生掌握if语句和 switch语句的使用方法,并逐步建立程序设计的 思想。 教学目标 掌握选择结构程序设计的方法,并能结合第 二章介绍的C语言的基本数据类型及基本数据运算 编制出简单的C程序。 C语言程序设计教程 第4章 选择结构 关系运算就是比较运算,即将两个 数据进行比较,判断其比较的结果是否 符合给定的条件。例如,ab中的“” 表示一个大于关系运算。如果a的值是5 ,b的值是3,则关系运算“”的结果为 真,即条件成立;如果a的值是3,b的值 是3,则运算的结果为假,条件不成立。 C语言程序设计教程 第4章 选择结构 4.1 关系运算符和关系表达式 n 关系运算符及其优先次 序 一般形式 表达式 关系运算符 表达式 a+bc-d x3/2 a+1b中的“”表示 一个大于关系运算。如果a的值是5,b 的值是3,则关系运算“”的结果为真, 即条件成立;如果a的值是3,b的值是3, 则运算的结果为假,条件不成立。 4.1.1 关系运算符及其优先次序 大于 = 大于或等于 等于 ! 不等于 优先级相同 (高) 优先级相同 (低) 低 高 赋值运算符 关系运算符 算术运算符 C语言程序设计教程 第4章 选择结构 关系运算的结果(值) 关系成立: 1 (表示逻辑真); 关系不成立: 0 (表示逻辑假)。 例如: 5 3 值: 1 5 b + c 比较两个算术表达式的值 a 5的值为真(值为1); 5= =3的值为假(值为0); 2)C语言没有逻辑型数据,因此关系成 立,以1代表逻辑真,关系不成立,以0 代表逻辑假。 C语言程序设计教程 第4章 选择结构 3. 关系运算符的结合律 C语言规定关系表达式采取左结合律。表达 式中出现优先级别为同一级别的运算符时, 则按从左到右结合方向处理。 例如: int a=2,b=3,c=1; abb,值是0 , 再计算 033 ,值是1 , 再计算 1b else printf(“%d”,y); 流程图 if 语句的第三种形式 if(表达式1) 语句1; else if(表达式2) 语句2; else if(表达式3) 语句3; else if(表达式m) 语句m else 语句n; 流程图 说明 if 语句的说明 1)在三种形式的if语句中,在if关键字之后均为表达式。 该表达式通常是逻辑表达式或关系表达式, 但也可以 是其它表达式,如赋值表达式等,甚至也可以是一个 变量。 2)在if语句中,条件判断表达式必须用括号括起来,在语 句之后必须加分号。 3)在if语句的三种形式中,所有的语句应为单个语句,如 果要想在满足条件时执行一组(多个)语句,则必须把 这一组语句用括起来组成一个复合语句。但要注意 的是在之后不能再加分号。 例4.1例4.2 例4.1 输入两个实数,按代数值由小到大的次序输出这两个数 main() float a,b,t; scanf(“%f,%f“, if(ab) t=a;a=b;b=t; printf(“%5.2f,%5.2fn“,a,b); 输出: 3.6 ,-3.2 -3.20,3.60 C程序设计 第4章 选择结构程序设计 例4.2 输入3个数a,b,c,要求按由小到大的顺序输出 main() float a,b,c,t; scanf(“%f,%f,%f”, if(ab) t=a;a=b;b=t; if(ac) t=a;a=c;c=t; if(bc) t=b;b=c;c=t; printf(“%5.2f,%5.2f,%5.2fn”,a,b,c); 输出: 3,7,1 1.00,3.00,7.00 C程序设计 第4章 选择结构程序设计 if 语句的嵌套 一般形式 if ( ) if ( ) 语句1 else 语句2 else if ( ) 语句3 else 语句4 内嵌if 内嵌if else总是与 它前面最近 的if配对 例4.3 例4.3 比较两个数的大小关系 main() int a,b; printf(“please input A,B: “); scanf(“%d,%d“, if(a!=b) if(ab) printf(“ABn“); else printf(“Ab)?a:b max=ab?a:b ab?a:cd?c:d ab?a:(cd?c:d) 例4.4 输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是, 不转换。然后输出最后得到的字符。 main() char ch; scanf(“%c”, ch=(ch=A x2=(-b-sqrt(disc)/(2*a); printf(“has distinct real roots:%8.4f and %8.4fn“,x1,x2); else realpart=-b/(2*a); imagpart=sqrt(-disc)/(2*a); printf(“has complex roots:n“); printf(“%8.4f+%8.4fin“,realpart,imagpart); printf(“%8.4f-%8.4fin“,realpart,imagpart); C程序设计 第五章 选择结构程序设计 运行情况: 1,2,1 The equationhas two equal roots: -1.0000 1,2,2 2,6,1 例4.7 计算运费 main() int c,s; float p,w,d,f; scanf(“%f,%f,%d“, if(s=3000)c=12; else c=s/250; switch(c) case 0:d=0;break; case 1:d=2;break; case 2: case 3:d=5;break; case 4: case 5: case 6: case 7:d=8;break; case 8: case 9: case 10: case 11:d=10;break; case 12:d=15;break; f=p*w*s*(1-d/100.0); printf(“freght=%15.4f“,f); C程序设计 第五章 选择结构程序设计 运行情况: 100,20,300 freght= 588000.0000 例4.8 输入三个整数,输出最大数和最小数。 main() int a,b,c,max,min; printf(“input three numbers: “); scanf(“%d%d%d“, if(ab) max=a;min=b; else max=b;min=a; if(maxc) min=c; printf(“max=%dnmin=%d“,max,min); C程序设计 第五章 选择结构程序设计 输出: 10 12 35 max=35 min=10 例4.9计算器程序。用户输入运算数和四则运算符,输出计算结果。 main() float a,b; char c; printf(“input expression: a+(-,*,/)b n“); scanf(“%f%c%f“, switch(c) case +: printf(“%fn“,a+b);break; case -: printf

温馨提示

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

评论

0/150

提交评论