第4章 简单程序设计.ppt
《第4章 简单程序设计.ppt》由会员分享,可在线阅读,更多相关《第4章 简单程序设计.ppt(108页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构第第4章章程序控制结构程序控制结构4.1 C4.1 C语言的执行语句语言的执行语句4.2 4.2 顺序结构顺序结构4.3 4.3 选择结构选择结构4.4 4.4 循环结构循环结构1 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构4.1C C语言的执行语句语言的执行语句C程序组成程序组成C C程序程序源程序文件源程序文件1 1源程序文件源程序文件2 2源程序文件源程序文件3 3预处理命令预处理命令函数函数n n函数函数1 1数据声明数据声明函数首部函数首部函数体函数体数据声明数据声明执行语句执行语句2 C
2、语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构4.1C语言的执行语句语言的执行语句C语句的分类:语句的分类:1.表达式语句表达式语句2.空语句空语句3.复合语句复合语句4.控制语句控制语句3 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构表达式语句表达式语句赋值语句:变量赋值语句:变量=表达式表达式;功能:将功能:将“=”右侧表达式的值赋给左右侧表达式的值赋给左侧变量的值。侧变量的值。函数调用语句;函数调用语句;例如例如putchar(ch);4 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构空语句和复合语句空语句和复合语句空语句
3、:仅由一个分号构成的语句,在执行时空语句:仅由一个分号构成的语句,在执行时不产生任何指令。不产生任何指令。复合语句:用一对花括号复合语句:用一对花括号将多个语句括起来将多个语句括起来构成一个整体。构成一个整体。注意:注意:1)复合语句中的每个语句必须以分号;结束)复合语句中的每个语句必须以分号;结束但右花括号但右花括号后不能有分号后不能有分号2)复合语句中可以有自己的数据说明)复合语句中可以有自己的数据说明5 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构控制语句控制语句条件选择语句:条件选择语句:if开关分支语句:开关分支语句:switch当循环语句:当循环语句:whi
4、le直到循环语句:直到循环语句:dowhile计数循环语句:计数循环语句:for中止本次循环语句:中止本次循环语句:continue中止整个循环语句:中止整个循环语句:break函数返回语句:函数返回语句:return无条件转移语句:无条件转移语句:goto6 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构顺序结构顺序结构顺序结构程序:由两个或两个以上的语句组成,顺序结构程序:由两个或两个以上的语句组成,先执行先执行A操作,然后再执行操作,然后再执行B操作。操作。传统流程图传统流程图N-S流程图流程图 A B AB7 C语言语言程序设计程序设计 第第4 4章章 程序控制结
5、构程序控制结构顺序结构程序设计举例顺序结构程序设计举例例例4.1输入任意两个整数,求它们的和及平均值。要求平输入任意两个整数,求它们的和及平均值。要求平均值取两位小数输出。均值取两位小数输出。#includevoidmain()intnum1,num2;floatsum,aver;printf(Pleaseinputtwointegers:n);scanf(%d,%d,&num1,&num2);sum=(float)num1+num2;/*求累计和求累计和*/aver=sum/2.0;/*求平均值求平均值*/printf(sum=%.0f,aver=%.2fn,sum,aver);8 C语言语
6、言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构顺序结构程序设计举例顺序结构程序设计举例例例4.2给定一个三位正整数,分别输出它的个位数、十位数给定一个三位正整数,分别输出它的个位数、十位数和百位数。和百位数。#includevoidmain()intm,m0,m1,m2;printf(Inputanumber(100999):);scanf(%d,&m);m0=m%10;m1=(m/10)%10;m2=m/100;printf(Thethreedigitsare);printf(%d,%d,%dn,m0,m1,m2);9 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程
7、序控制结构顺序结构程序设计举例顺序结构程序设计举例例例4.4求方程求方程ax2+bx+c=0的根。的根。a、b、c由键盘输入,由键盘输入,a0且且b2-4ac0。#include#includevoidmain()floata,b,c,d,x1,x2;printf(Inputa,b,c:);scanf(%f,%f,%f,&a,&b,&c);d=b*b-4*a*c;/*求判别式的值赋给求判别式的值赋给d*/x1=(-b+sqrt(d)/(2*a);x2=(-b-sqrt(d)/(2*a);printf(x1=%.4fnx2=%.4fn,x1,x2);10 C语言语言程序设计程序设计 第第4 4章
8、章 程序控制结构程序控制结构4.3选择结构选择结构C语言的选择控制结构语句有:语言的选择控制结构语句有:if语句和语句和switch语句语句if语句是用来判断所给定的条件是否满语句是用来判断所给定的条件是否满足,根据判定的结果足,根据判定的结果(真或假真或假)决定执行决定执行给定的某种操作之一。给定的某种操作之一。11 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句的形式语句的形式1单分支结构单分支结构格式格式:if(表达式表达式)语句语句执行过程:执行过程:语句语句成立成立表达式表达式入口入口入口入口出口出口出口出口不成立不成立12 C语言语言程序设计程序设计
9、第第4 4章章 程序控制结构程序控制结构if语句举例语句举例1例例输入两个实数,按升序输出两个实数。输入两个实数,按升序输出两个实数。解法一:解法一:#includevoidmain()floata,b;scanf(%f%f,&a,&b);if(ab)printf(%f,%fn,b,a);单边条件单边条件(条件判断(条件判断两次)两次)13 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句的形式语句的形式2双分支结构双分支结构格式格式:if(表达式表达式)语句语句1else语句语句2执行过程:执行过程:不成立不成立语句语句1语句语句2成立成立表达式表达式入口入口入口
10、入口出口出口出口出口14 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句举例语句举例1例例输入两个实数,按升序输出两个实数。输入两个实数,按升序输出两个实数。解法二:解法二:#includevoidmain()floata,b;scanf(%f%f,&a,&b);if(ab)printf(%f,%fn,b,a);elseprintf(%f,%fn,a,b);双边条件双边条件(条件判断(条件判断一次)一次)15 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句举例语句举例1解法三:解法三:#includevoidmain()floata,
11、b,t;scanf(%f%f,&a,&b);if(ab)t=a;a=b;b=t;/*两个变量交换数据两个变量交换数据*/printf(%f,%fn,a,b);单边条件(条单边条件(条件判断一次)件判断一次)3个语句用花括号个语句用花括号括起来构成括起来构成1个复个复合语句合语句若不使用复合语句,若不使用复合语句,则可用则可用t=a,a=b,b=t;16 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句的形式语句的形式3多分支结构多分支结构格式格式:if(表达式表达式1)语句语句1elseif(表达式表达式2)语句语句2elseif(表达式表达式3)语句语句3:els
12、eif(表达式表达式n)语句语句nelse语句语句n+1假假语句语句1真真表达式表达式1 1表达式表达式2 2表达式表达式3 3表达式表达式n n语句语句n+1语句语句n语句语句3语句语句2真真真真真真假假假假假假入口入口入口入口出口出口出口出口17 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句举例语句举例2例例根据所输入的根据所输入的x之值,求之值,求解法一:用多分支解法一:用多分支if语句语句#includevoidmain()intx,y;scanf(%d,&x);if(x0)y=1;elseif(x=0)y=0;elsey=-1;printf(x=%d,
13、y=%dn,x,y);1(x0)y=0(x=0)-1(x0)18 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句举例语句举例2解法二:用多个单分支解法二:用多个单分支if语句语句#includevoidmain()intx,y;scanf(%d,&x);if(x0)y=1;if(x=0)y=0;if(x0)y=-1;printf(x=%d,y=%dn,x,y);19 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句举例语句举例2解法三:用双分支解法三:用双分支if语句的嵌套语句的嵌套#includevoidmain()intx,y;sc
14、anf(%d,&x);if(x=0)if(x0)y=1;elsey=0;elsey=-1;printf(x=%d,y=%dn,x,y);这是一个这是一个嵌套结构嵌套结构20 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构if语句的嵌套语句的嵌套在在if语句中又包含一个或多个语句中又包含一个或多个if语句语句,称为称为if语句语句的嵌套的嵌套一般形式一般形式:if(条件条件1)if(条件条件2)语句语句1else语句语句2elseif(条件条件3)语句语句3else语句语句4if与与else的配对关系:从最内层开始的配对关系:从最内层开始,else总是与总是与它上面最近的且
15、尚未配对的它上面最近的且尚未配对的if配对。配对。为了使逻辑关系清晰,为了使逻辑关系清晰,建议采用建议采用“分层缩进书分层缩进书写格式写格式”。21 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构在内嵌在内嵌if语句中要注意配对关系语句中要注意配对关系结合右图,观察以下程序:结合右图,观察以下程序:#includevoidmain()intx,y;scanf(%d,&x);y=-1;if(x!=0)if(x0)y=1;elsey=0;printf(x=%d,y=%dn,x,y);输入输入0输出结果:输出结果:x=0,y=-1真正的配对真正的配对结果错误结果错误假假y=1真
16、真 x!=0 x!=0 x0 x0y=-1y=0真真假假22 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构在内嵌在内嵌if语句中要注意配对关系语句中要注意配对关系在内嵌在内嵌if语句中加花括号改变配对关系语句中加花括号改变配对关系#includevoidmain()intx,y;scanf(%d,&x);y=-1;if(x!=0)if(x0)y=1;elsey=0;printf(x=%d,y=%dn,x,y);结论:如果内层结论:如果内层if语句为单边结构,要加花括号语句为单边结构,要加花括号花括号改变配花括号改变配对关系对关系结果正确结果正确正确配对正确配对23 C语
17、言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构条件运算符的应用条件运算符的应用例:输入一个字符,判断它是否大写字母,若是例:输入一个字符,判断它是否大写字母,若是将其转换为小写;否则原样输出。将其转换为小写;否则原样输出。#includevoidmain()charch;scanf(%c,&ch);ch=(ch=A&ch=Z)?ch+32:ch;printf(%cn,ch)24 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构switch语句(多分支选择语句,开关语句)语句(多分支选择语句,开关语句)switch语句的格式语句的格式:switch(表达式表
18、达式)case常量表达式常量表达式1:语句语句1;break;case常量表达式常量表达式2:语句语句2;break;case常量表达式常量表达式3:语句语句3;break;case常量表达式常量表达式n:语句语句n;break;default:语句语句n+1执行过程:执行过程:先计算先计算switch后面表达式的值,后面表达式的值,如果与某个如果与某个case后的常量值相等,则执行其后后的常量值相等,则执行其后的语句;若所有的语句;若所有case中的常量值都不能与之匹中的常量值都不能与之匹配,则执行配,则执行default后的语句后的语句n+1。根据此表达式的根据此表达式的值找入口值找入口一
19、般为常量,一般为常量,TC要要求为求为int或或char型型25 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构switch语句流程图(无语句流程图(无break语句)语句)注意注意:执行完入口语句后执行完入口语句后,则自动转到下一个则自动转到下一个case后面的语句执行;后面的语句执行;表达式表达式语句语句1语句语句2语句语句3语句语句n语句语句n+1=常量常量3=常量常量2=常量常量1=其它其它=常量常量n26 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构switch语句流程图(有语句流程图(有break语句)语句)注意注意:如果语句中有如果语
20、句中有break;,则执行完一个入,则执行完一个入口语句后跳出口语句后跳出switch选择结构。选择结构。表达式表达式语句语句1语句语句2语句语句3语句语句n语句语句n+1=常量常量3=常量常量2=常量常量1=其它其它=常量常量n27 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构switch语句举例语句举例例:输入成绩等级例:输入成绩等级,打印出百分制分数段。打印出百分制分数段。#includevoidmain()charc;printf(Pleaseenteracharn);c=getchar();c=(c=a&c=z)?c-32:c;switch(c)caseA:p
21、rintf(“90100n);break;caseB:printf(“8089n);break;caseC:printf(“7079n);break;caseD:printf(“6069n);break;caseE:printf(60n);break;default:printf(errorn);注意:注意:case后面应为字后面应为字符常量符常量A、B等,不等,不能为变量能为变量A、B等。等。28 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构switch语句举例(无语句举例(无break语句的效果)语句的效果)例例4.9:输入成绩等级:输入成绩等级,打印出百分制分数段
22、。打印出百分制分数段。#includevoidmain()charc;printf(Pleaseenteracharn);c=getchar();c=(c=a&c=z)?c-32:c;switch(c)caseA:printf(“90100n);caseB:printf(“8089n);caseC:printf(“7079n);caseD:printf(“6069n);caseE:printf(60n);default:printf(errorn);去掉去掉break语句,程序运语句,程序运行后,从键盘上输入行后,从键盘上输入b,则程序运行的,则程序运行的顺序和结果如下:顺序和结果如下:808
23、97079606960error29 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构switch语句使用说明语句使用说明各个分支中如果没有各个分支中如果没有break语句,则执行了相语句,则执行了相应的操作后,会自动转到下一个应的操作后,会自动转到下一个case后面的语后面的语句执行。句执行。case后面的常量值不能相同。后面的常量值不能相同。各个分支中允许有多个语句,可以不用各个分支中允许有多个语句,可以不用括起括起来。来。各个各个case和和default分支的顺序可以改变,但分支的顺序可以改变,但default总是最后考虑的入口。如果各个分支中总是最后考虑的入口。如
24、果各个分支中均有均有break语句,各个分支的出现次序不影响语句,各个分支的出现次序不影响执行结果。执行结果。可以使多个可以使多个case共用同一组执行语句。共用同一组执行语句。30 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构例例4.10输入百分制成绩,要求输出相应的五级制成绩。输入百分制成绩,要求输出相应的五级制成绩。百分制成绩与五级制成绩之间的转换标准为:百分制成绩与五级制成绩之间的转换标准为:90分以分以上为上为“A”,80-89分为分为“B”,70-79分为分为“C”,60-69分为分为“D”,60分以下为分以下为“E”。#includevoidmain()i
25、ntscore;scanf(%d,&score);switch(score/10)case10:case9:printf(An);break;case8:printf(Bn);break;case7:printf(Cn);break;case6:printf(Dn);break;default:printf(En);switch语句举例语句举例31 C语言语言程序设计程序设计 第第4 4章章 程序控制结构程序控制结构上题也可用多分支上题也可用多分支if语句实现,见课本语句实现,见课本P71例例4.7。#includevoidmain()intscore;scanf(%d,&score);if(
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 第4章 简单程序设计 简单 程序设计
限制150内