选择结构程序设计(一).ppt_第1页
选择结构程序设计(一).ppt_第2页
选择结构程序设计(一).ppt_第3页
选择结构程序设计(一).ppt_第4页
选择结构程序设计(一).ppt_第5页
已阅读5页,还剩21页未读 继续免费阅读

下载本文档

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

文档简介

复 习 标准字符输出函数? 标准字符输入函数? 格式输出函数? 格式输入函数? putchar(变量) getchar( ) printf(格式控制, 输出表列) scanf(格式控制, 地址表列) %d, %f, %ld, %c, %s, %8.2f, %4d %d, %ld, %f, %lf, %c 引入:上节讲了当一元二次方程=0的求解, 当=3。 关系运算符 = =3的值为“真”。 若a=2,a=3的值为“假”。 C语言中没有逻辑型数据,因此以“1”代 表真,以“0”代表假。 系统给出运算结果时,以“1”代表“真”, “0”代表假,即若真赋“1”,假赋“0”。 判断一个量是否为真时,以非0代表“真” ,以0代表“假” 。 5.1 关系运算 三. 优先级 关系运算:, =, b !=c, 相当于(ab)!=c 其结果:ab 0, 0 != c (真:1) 各种运算:(由低到高) 赋值运算 关系运算 算术运算 如 a=1,b=2,c=3; ca+b 相当于c(a+b)结果: 问:a=2*bc+2 ? d=a+1a printf(“输入两个数a,b:”); scanf ; if /*满足条件为1*/ t=a;a=b;b=t; /*复合语句*/ printf(“%6.2f, %6.2f”, ); 分析:1。定义: 2。输入两个实数 3。条件:ab 则:交换a,b 4。输出:a,b 问:若输入三个数,按由小到大输出? float a, b, t (“%f,%f”, 否则为假(0),执行语句2。 if (cj=60) printf(“及格”) ; else printf(“不及格”); *5.3 if语句 表达式 语句1 语句2 假(0) 真(非0) 例3:输入两数,输出两数中大者。 void main( ) float a,b,m ; printf(“输入两数a,b:”); scanf(“%f, %f ”, _ _ printf ( “max = %5.2f” , m); if (ab) m = a; else m = b; 运行:输入两个数a,b:23.4,87.5 max= 87.50 注意:if和else是配对使用的 练习:编程求y的值 x2+1 (x=0) y= x2-1 (x void main() int x,y; scanf(“%d”, if (x=0) y=x*x+1; else y=x*x-1; printf( “y=%d”,y); 例5:写一程序,判断某一年是否为闰年 分析:满足以下条件之一为闰年: (1)能被4整除,但不能被100整除; (2)或者能被4整除且能被400整除。 其逻辑表达式:year? (year%4=0 printf (“输入年份year:” ); scanf (“%d”, if (year%4 =0 else l=0; if ( l ) printf(“%d年是闰年”,year); else printf (“%d年不是闰年”,year); 说明:if中的表达式可以是关系式,逻辑表达 式,也可以是任意类型的数据。 能否写成 l=1 ? 形式3:if (表达式1) 语句1 else if (表达式2) 语句2 else if (表达式3) 语句3 else if (表达式n) 语句n else 语句 n +1 形式3多用于有多个条件需要判断得出不 同值的情况。 *5.3 if语句 表达式 1 表达式2 表达式3 表达式 n 语句 1 语句 2 语句 3 语句 n 假 假 假 真 真 真 真 假 形式3的流程图 例6 编一个程序输入某人工资,若工资 2000元以上增加5%, 15001999元增加8%, 10001499元之间的增加10%, 500999元之间的增加12%, 499元以下的增加15% 给出增加后的工资数。 分析:定义gz,额度i;输入gz; 判断工资,求增加额度 i :0.05, 0.08, 0.10, 0.12, 0.15,并计算工资gz=gz*(1+i) 输出gz值 void main( ) float gz , i ; printf( “Input gz:”); scanf( “%f” , if ( gz =2000) i=0.05; else if i=0.08; else if i=0.10; else if i=0.12; else ; gz = gz*(1+i); printf ( “xgz =%7.2f”, gz); (gz=1500) (gz=1000) (gz=500) i= 0.15 编程:求ax2+bx+c=0 的实根 if (d=0) q=sqrt(d)/(2*a); x1=p+q; x2=p-q; printf (“x1=%f,x2=%f”,x1,x2); else printf(“is no a quadratic”); 复合语 句 #include “stdio.h” #include “math.h” void main( ) float a,b,c,d,x1,x2,p,q; printf(“Input a,b,c:”); scanf(“%f,%f,%f”, d=b*b-4*a*c; p=-b/(2*a); if (d=0) q=sqrt(d)/(2*a); x1=p+q; x2=p-q; printf(“x1=%f,x2=%f”,x1,x2); else printf(“is no a quadratic”); 小 结 v关系运算符和关系表达式 = = = = != 运算结果:逻辑值“真”、“假” v逻辑运算符和逻辑表达式 与 & 或 | 非 ! 运算结果:逻辑值“真”

温馨提示

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

评论

0/150

提交评论