C语言程序设计课件:第2章-C语言快速入门-4.ppt
- 【下载声明】
1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
3. 本页资料《C语言程序设计课件:第2章-C语言快速入门-4.ppt》由用户(罗嗣辉)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 课件 _C 语言 快速 入门
- 资源描述:
-
1、第第3 3章章 程序控制结构程序控制结构第第3章章 程序基本结构程序基本结构 第第3 3章章 程序控制结构程序控制结构程序控制结构程序控制结构顺序顺序 选择选择 循环循环第第3 3章章 程序控制结构程序控制结构顺序结构顺序结构第第3 3章章 程序控制结构程序控制结构#include #include void main() float a,b,c,s,area; scanf(%f%f%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%f, b=%f, c=%f, s=%fn,a,b,c,s); prin
2、tf(area=%fn,area);文件包含预处理命令变量定义输入数据输出数据【例例】输入三角形的三边长输入三角形的三边长a a、b b、c c,求三角形面积,求三角形面积areaarea。 设设s=(a+b+c)/2s=(a+b+c)/2顺序结构顺序结构程序中语句自上而下顺序执行,无分支、无转移、无循环。程序中语句自上而下顺序执行,无分支、无转移、无循环。输入:3 4 6 输出:a= 3.00, b= 4.00, c= 6.00 s= 6.50 area= 5.33试一下试一下第第3 3章章 程序控制结构程序控制结构【例例】交换交换a,ba,b的值。的值。 a=b ; b=a ; 第第3 3
3、章章 程序控制结构程序控制结构【例例】交换交换a,ba,b的值。的值。 a=b ; b=a ; 第第3 3章章 程序控制结构程序控制结构【例例】交换交换a,ba,b的值。的值。 a=b ; b=a ;不能只写上面两个赋值语句不能只写上面两个赋值语句 第第3 3章章 程序控制结构程序控制结构【例例】交换交换a,ba,b的值。的值。 设一个中间变量设一个中间变量t t暂存数据:暂存数据:(1) (1) 将将a a存入存入t;t;(2) (2) 将将b b赋给赋给a;a;(3) (3) 将将t t赋给赋给b b(原来(原来a a的值)的值); ;第第3 3章章 程序控制结构程序控制结构tba第第3
4、3章章 程序控制结构程序控制结构abt第第3 3章章 程序控制结构程序控制结构abt第第3 3章章 程序控制结构程序控制结构abt第第3 3章章 程序控制结构程序控制结构abt第第3 3章章 程序控制结构程序控制结构abt第第3 3章章 程序控制结构程序控制结构abt正确的交换方法正确的交换方法: t=a ; a=b ; b=t;第第3 3章章 程序控制结构程序控制结构NY分支结构(选择结构)分支结构(选择结构)第第3 3章章 程序控制结构程序控制结构2.7 2.7 选择结构选择结构 如果没有条件判断语句,世界上最先进的计算机如果没有条件判断语句,世界上最先进的计算机也只是一个计算器。也只是一
5、个计算器。选择结构使得计算机表现出具有智能。选择结构使得计算机表现出具有智能。模式模式1模式模式2备注备注ifif(exprexpr) 语句语句S1 S1 ifif(exprexpr) 语句语句S1S1elseelse 语句语句S2S2语句语句S1,S2可以是简单语可以是简单语句,也可以是复合语句。句,也可以是复合语句。如果是复合语句,必须用如果是复合语句,必须用一对花括号一对花括号“ ”括起来括起来1. 1. 基本选择结构(基本选择结构(ifelseifelse结构)结构)表表2-112-11:选择结构的基本编程模式:选择结构的基本编程模式 if if语句的三种基本形式语句的三种基本形式模式
6、模式1: 单选择单选择if语句语句语句格式语句格式: if (条件条件) 语句组语句组; 语句语句N条件条件Y 功能:判断条件为真时执功能:判断条件为真时执行语句行语句,否则否则跳过跳过语句语句模式模式2: 2: 双选择双选择if if语句语句语句格式语句格式: if (条件条件) 语句组语句组1; else 语句组语句组2; 功能:判断条件为真时执行语句组功能:判断条件为真时执行语句组1,否则否则执行语句组执行语句组2 条件条件 语句语句1 语句语句2YN模式模式3: 3: 多条件的多条件的if if语句语句语句格式语句格式: if (条件条件1) 语句语句1; else if (条件条件2
7、) 语句语句2; else if (条件条件3) 语句语句3; else if (条件条件m) 语句语句m; else 语句语句n; 语句语句1N条件条件1Y条件条件2条件条件nYY语句语句2 语句语句3语句语句nNN功能:功能:从多组语句中选择满足条从多组语句中选择满足条件的语句组执行。件的语句组执行。第第3 3章章 程序控制结构程序控制结构#include void main() int a,b,t; scanf(%d%d,&a,&b); if(ab) /使用模式使用模式1 t=a;a=b;b=t; printf(a=%d,b=%dn,a,b);【例例】将二数(将二数(a,ba,b)中的大
8、数存放到)中的大数存放到a a中。中。 5 105 10a=10,b=5 a=10,b=5 第第3 3章章 程序控制结构程序控制结构#include void main() float a,b,c,max3;printf(输入三个数输入三个数a,b,c:);scanf(%f%f%f,&a,&b,&c);if(ab) /第一个选择结构:使用模式第一个选择结构:使用模式2max3=a;elsemax3=b; /第一个选择结构结束第一个选择结构结束if(max3c) /第二个选择结构:使用模式第二个选择结构:使用模式1max3=c; /第二个选择结构结束第二个选择结构结束printf(max3=%f
9、n,max3);【例例2-92-9】从键盘任意输入三个数,输出三个数中最大的数从键盘任意输入三个数,输出三个数中最大的数 输入三个数输入三个数a,b,c:a,b,c:3 4 53 4 5max3=5.000000 max3=5.000000 第第3 3章章 程序控制结构程序控制结构#include #include void main() float a,b,c,s,area; scanf(%f%f%f,&a,&b,&c); s=1.0/2*(a+b+c); area=sqrt(s*(s-a)*(s-b)*(s-c); printf(a=%f, b=%f, c=%f, s=%fn,a,b,c,
10、s); printf(area=%fn,area);【例例】输入三角形的三边长输入三角形的三边长a a、b b、c c,求三角形面积,求三角形面积areaarea。思考:下面程序的问题?如何改进?思考:下面程序的问题?如何改进?24有一函数有一函数编写一个程序,输入编写一个程序,输入x输出输出y值。值。0, 10, 00, 1xxxy main( ) int x, y; scanf( “%d”, &x ); if( x =0) if(x0) y=1; else y=0; else y=-1; printf( “x = %dty = %dn”, x. y );方法二:方法二:运行:23X=23,
11、y=125例例 考虑下面程序输出结果考虑下面程序输出结果: main() int x=100,a=10,b=20; int v1=5,v2=0; if(ab) if(b!=15) if(!v1) x=1; else if(v2) x=10; printf(“%d”,x); 结果:结果:100例:体型判断例:体型判断按按“体指数体指数”对肥胖程度进行划分:对肥胖程度进行划分: 体指数体指数t = w / h2 (体重(体重w单位为公斤,身高单位为公斤,身高h单位为米)单位为米)当当t 18时,为低体重;时,为低体重;当当18 t 25时,为正常体重;时,为正常体重;当当25 t 27时,为超重体
12、重;时,为超重体重;当当t 27时,为肥胖。时,为肥胖。编程从键盘输入你的身高编程从键盘输入你的身高h和体重和体重w,判断你的体重属,判断你的体重属于何种类型。于何种类型。例例#include main()float h, w, t;printf(Please enter h,w:);scanf(%f%f, &h, &w);t = w / (h * h);if (t = 18 & t = 25 & t = 27) printf(t=%ftToo fat!n, t);当当t 18时,为低体重;时,为低体重;当当18 t 25时,为正常体重;时,为正常体重;当当25 t 27时,为超重体重;时,为
13、超重体重;当当t 27时,为肥胖。时,为肥胖。#include main() float h, w, t;printf(Please enter h,w:);scanf(%f%f, &h, &w);t = w / (h * h);if (t 18)printf(t=%ftLower weight!n, t);else if (t 25)printf(t=%ftStandard weight!n, t);else if (t 27)printf(t=%ftHigher weight!n, t);elseprintf(t=%ftToo fat!n, t);例例当当t 18时,为低体重;时,为低体重
14、;当当18 t 25时,为正常体重;时,为正常体重;当当25 t 27时,为超重体重;时,为超重体重;当当t 27时,为肥胖。时,为肥胖。3.多分支选择结构多分支选择结构输入一个整数,输出是英文月份名输入一个整数,输出是英文月份名?scanf(“%d”,m);if (m=1) printf(“January”);else if (m=2) printf(“Febrary”);else if (m=3) printf(“March”);else if (m=12) printf(“December”);else printf(“Wrong input!”); 代码太长代码太长结构不清晰结构不清晰
15、Example: switch (month) case 1:printf(“January”); break;case 2:printf(“February”); break;case 3:printf(“March”); break; case 12:printf(“December”); break;default:printf(“Othersn”);break; Example: switch (month) case 1:printf(“Januaryn”);break;case 2:printf(“Februaryn”);break;case 3:printf(“Marchn”);
16、break;default:printf(“Othersn”);break; printf(“End”);January_JanuaryEnd _运输公司对用户计算运费。运输公司对用户计算运费。路程()越远,每公里运费越低。标准如下:路程()越远,每公里运费越低。标准如下: 没有折扣没有折扣 折扣折扣 折扣折扣 折扣折扣 折扣折扣 折扣折扣设每公里每吨货物的基本运费为,货物重为,设每公里每吨货物的基本运费为,货物重为,距离为,折扣为,则总运费的计算公式为:距离为,折扣为,则总运费的计算公式为:* * * *()() ifif(s250) d=0;(s250) d=0; elseelse ifi
17、f(s500) d=2;(s500) d=2; else ifelse if(s1000) d=5;(s1000) d=5; elseelse ifif(s2000) d=8;(s2000) d=8; elseelse ifif(s3000) d=10;(s3000) d=10; elseelse d=15; d=15;1.1.嵌套条件语句实现嵌套条件语句实现折扣的折扣的“变化点变化点”都是都是250250的倍数的倍数 在横轴上加一种坐标,在横轴上加一种坐标,c c的值为的值为s/250s/250。c c代表代表250250的倍数。的倍数。 , 无折扣;无折扣;, ;, ;, ;, ; , 。
18、 考虑用考虑用switchcase switchcase 结构结构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; default:d=15;break; 2.switch2.switch语句实现语句实现第第3 3章章 程序控制结构程序控制结构【例例】将将百分制百分制成绩转换为五分制。成绩转换为五分制。 #include void main()
19、 int s; scanf(%d,&s); switch(s/10) case 1: case 2: case 3: case 4: case 5: printf(E.n);break; case 6: printf(D.n);break; case 7: printf(C.n);break; case 8: printf(B.n);break; case 9: default:printf(A.n); 9595A.A.第第3 3章章 程序控制结构程序控制结构void main( )float score;char grade;printf(请输入成绩请输入成绩:);scanf(%f,&sco
20、re);switch(int)(score/10)case 10:case 9: grade=A; break;case 8: grade=B; break;case 7: grade=C; break;case 6: grade=D; break;case 5: case 4: case 3: case 2: case 1:case 0: grade=E;printf(“成绩是成绩是%.1f,相应等级是,相应等级是%c。n,score,grade); 请输入成绩:请输入成绩:95.595.5成绩是成绩是95.595.5,相应等级是,相应等级是A A。第第3 3章章 程序控制结构程序控制结构【
21、例例2-13】分析下面程序段中的错误分析下面程序段中的错误float x=2;int a=3,b=1;switch(2*x) case 2.5: printf(“%f”,2*x); break; case a+b: printf(“%d”,a+b); case 2,3,4: printf(“%d %d %d”,2,3,4);/错误:错误:2 2* *x x是浮点型表达式是浮点型表达式/错误:错误:2.52.5是浮点常量表达式是浮点常量表达式/错误:错误:a+ba+b是不是整型常量表达式,因为是不是整型常量表达式,因为a a,b b是变量是变量/错误:错误:casecase子句只能有一个常量表达
22、式子句只能有一个常量表达式第第3 3章章 程序控制结构程序控制结构利用利用switch语句实现一个简单的计算器,能完成加、减语句实现一个简单的计算器,能完成加、减、乘、除运算。、乘、除运算。 如输入:如输入: 2.5*4 则输出:则输出: 2.5*4 = 10 如输入:如输入: 1+3 则输出:则输出: 1+3 = 4 编程思路:编程思路:-利用利用scanfscanf语句获取需要计算的两个操作数和运算语句获取需要计算的两个操作数和运算符符- -根据运算符取值的不同根据运算符取值的不同(+-(+-* */)/),来进行相应的运算,来进行相应的运算- -利用利用printfprintf语句输出运
展开阅读全文