第5章C语言语句类型与基本控制结构ppt课件

上传人:20****08 文档编号:240687801 上传时间:2024-04-30 格式:PPT 页数:60 大小:302.64KB
返回 下载 相关 举报
第5章C语言语句类型与基本控制结构ppt课件_第1页
第1页 / 共60页
第5章C语言语句类型与基本控制结构ppt课件_第2页
第2页 / 共60页
第5章C语言语句类型与基本控制结构ppt课件_第3页
第3页 / 共60页
点击查看更多>>
资源描述
第第5 5章章C语言言语句句类型与基本控制型与基本控制结构构第5章C语言语句类型与基本控制结构1我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.1 C语言语句类型语言语句类型5.2 程序的三种基本结构程序的三种基本结构5.3 if语句语句5.4 switch语句语句5.5 while语句语句5.6 do-while语句语句5.7 for语句语句5.8 循环嵌套循环嵌套5.9 break语句和语句和continue语句语句5.1 C语言语句类型2我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 5.1 C语言语句类型 C C语句分为语句分为5类类控制语句控制语句函数调用语句函数调用语句表达式语句表达式语句空语句空语句复合语句复合语句 5.1 C语言语句类型 C语句分为5类控制语句3我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物空语句空语句 只有一个分号(;)的语句只有一个分号(;)的语句 (什么也不做)(什么也不做)空语句 4我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物表达式语句表达式语句 语句形式:语句形式:表达式;表达式;例如:例如:a*=10;a*=10;(a+b*5)20;(a+b*5)20;注意:注意:一个表达式可以成为另一个更复杂的表达式一个表达式可以成为另一个更复杂的表达式的一部分,而表达式语句则不能。的一部分,而表达式语句则不能。例如:例如:a=b(表达式),可以写(表达式),可以写(a=b)0 a=b;(表达式语句),不可以写(表达式语句),不可以写(a=b;)0表达式语句 5我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物复合语句复合语句 用一对用一对 括起来的语句括起来的语句 z=x+y;t=z/100;printf(“%f”,t);注意:注意:复合语句中最后一个语句中最后的分号复合语句中最后一个语句中最后的分号不能忽略不写。不能忽略不写。复合语句 6我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物函数调用语句函数调用语句 语句形式:语句形式:函数名(实参列表);函数名(实参列表);例如:例如:scanf(scanf(“%d%d”,&a);,&a);printf(printf(“%d%d”,a);,a);函数调用语句 7我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物控制语句控制语句 用于完成一定的控制功能用于完成一定的控制功能C C语言有语言有9 9中控制语句:中控制语句:if()elseif()else/条件语句,实现选择结构条件语句,实现选择结构switchswitch/多分支选择语句多分支选择语句while()while()/当型循环语句,实现循环结构当型循环语句,实现循环结构do while()do while()/直到型循环语句直到型循环语句for()for()/循环语句循环语句continuecontinue/结束本次循环语句结束本次循环语句breakbreak/中止执行中止执行switchswitch或循环语句或循环语句gotgoto o/转向语句转向语句returnreturn/从函数返回语句从函数返回语句控制语句 8我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.2 程序的三种基本结构程序的三种基本结构程序的基本结构有三种:程序的基本结构有三种:(1)(1)顺序结构:各操作步骤顺序执行,是一顺序结构:各操作步骤顺序执行,是一种最简单的基本结构。种最简单的基本结构。(2)(2)选择结构选择结构 (3)(3)循环结构循环结构 5.2 程序的三种基本结构程序的基本结构有三种:9我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例 交换两个变量的值交换两个变量的值#include void main()int a=3,b=5,c;printf(“交换前:交换前:a=%d,b=%d”,a,b);c=a;a=b;b=c;printf(“交换后:交换后:a=%d,b=%d”,a,b);顺序结构程序设计举例顺序结构程序设计举例例 交换两个变量的值顺序结构程序设计举例10我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例 输入三角形的三边输入三角形的三边长,求三角形面积。长,求三角形面积。假设:三个边长假设:三个边长a a,b b,c c能构能构成三角形。成三角形。已知面积公式:已知面积公式:area=area=s=(a+b+c)/2s=(a+b+c)/2开始开始输入三边长输入三边长计算计算s s计算面积计算面积结束结束例 输入三角形的三边开始输入三边长计算s计算面积结束11我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物#include#include#include#includevoid main()void main()float a,b,c,s,area;float a,b,c,s,area;scanf(“%f%f%f”,&a,&b,&c);scanf(“%f%f%f”,&a,&b,&c);s=1.0/2*(a+b+c);s=1.0/2*(a+b+c);area=area=sqrtsqrt(s*(s-a)*(s-b)*(s-c);(s*(s-a)*(s-b)*(s-c);printf(“a=%7.2f,b=%7.2f,c=%7.2f,printf(“a=%7.2f,b=%7.2f,c=%7.2f,s=%7.2fn”,a,b,c,s);s=%7.2fn”,a,b,c,s);printf(“area=%7.2fn”,area);printf(“area=%7.2fn”,area);数学函数库因为要用到其中的sqrt函数运行情况:3.4 4.5 5.6a=3.40,b=4.50,c=5.60area=7.65#include#includey)printf(“%d”,x);表达式表达式语句语句真(非真(非0)假假(0)5.3 if语句5.3.1 if语句的3种形式If语句形13我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物if的内嵌语句通常多于一条语句,这时必须的内嵌语句通常多于一条语句,这时必须使用使用 把这些语句括起来,形成复合语句,把这些语句括起来,形成复合语句,使其在语法上成为一条单语句使其在语法上成为一条单语句例如:例如:if(x0)y=1;z=10;printf(“y=%d,z=%dn”,y,z);如果不加如果不加,程序会有什么变化,程序会有什么变化if的内嵌语句通常多于一条语句,这时必须使用 把这些语句14我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例:输入一个学生的两门课程考试成例:输入一个学生的两门课程考试成绩,如果两门课程成绩均在绩,如果两门课程成绩均在90分以上,分以上,则显示则显示“优秀优秀”。分析:分析:输入两门课程的考试成绩(输入两门课程的考试成绩(scanf)判断两门课程成绩是否均在判断两门课程成绩是否均在90分以上分以上如果如果“是是”,则显示,则显示“优秀优秀”if例:输入一个学生的两门课程考试成绩,如果两门课程成绩均在9015我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物需要定义两个变量需要定义两个变量x1、x2存放输入的存放输入的成绩成绩用用scanf接受输入的数据存放到接受输入的数据存放到x1、x2中中判断是否是判断是否是x190并且并且x290如果是,则如果是,则printf(“优秀优秀”);if需要定义两个变量x1、x2存放输入的成绩if16我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物#include main()float x1,x2;printf(“请输入两门课程的考试成绩:请输入两门课程的考试成绩:”);scanf(“%f%f”,&x1,&x2);if(x190&x290)printf(“优秀优秀n”);#include 17我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物lif-elseif-else语句形式语句形式if(if(表达式表达式)语句语句1 1else else 语句语句2 2例:例:if(xy)printf(“%d”,x);else printf(“%d”,y);条件条件 语句语句1 语句语句2YNif-else语句形式 条件 语句1 语18我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物开始开始输入输入a,b输出输出zabz=az=b结束结束#include void main()int a,b,z;scanf(“%d,%d”,a,b);if(ab)z=a;else z=b;printf(“最大数是:最大数是:%d”,z);YesNo开始输入a,b输出zabz=az=b结束#include 19我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例:输入一个英文字母,判断是否为大例:输入一个英文字母,判断是否为大写字母,若是,则转换成小写字母输出,写字母,若是,则转换成小写字母输出,否则不转换直接输出。否则不转换直接输出。分析:分析:输入一个英文字母存放在变量输入一个英文字母存放在变量ch中中判断判断ch是否为大写字母是否为大写字母如果是则需要将其转换为小写字母如果是则需要将其转换为小写字母输出字母输出字母例:输入一个英文字母,判断是否为大写字母,若是,则转换成小写20我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物char ch;printf(请输入一个英文字母:请输入一个英文字母:);scanf(%c,&ch);if(ch=A&chb,则,则max=a,否则,否则max=b;再判断:再判断:如果如果maxb)max=a;else max=b;if(cmax)max=c;printf(三个数中最大的值为:三个数中最大的值为:%dn,max);int a,b,c,max;24我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物lif-else ifif-else if语句形式:语句形式:ifif(表达式(表达式1 1)语句)语句1 1else if(else if(表达式表达式2)2)语句语句2 2else if(else if(表达式表达式3)3)语句语句3 3 else if(else if(表达式表达式m)m)语句语句m melse else 语句语句n n3if-else if语句形式:325我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例:例:scanf(“%d”,&grade);if(grade100|grade=90)score=A;else if(grade=80)score=B;else if(grade=70)score=C;else if(grade=60)score=D;else score=E;例:26我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例:例:scanf(“%d”,&grade);if(grade=90&grade=90&grade=80)score=else if(grade=80)score=B B;else if(grade=70)score=else if(grade=70)score=C C;else if(grade=60)score=else if(grade=60)score=D D;else if(grade=0)score=else if(grade=0)score=E E;例:27我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例:求解下面的分段函数并显示结果。例:求解下面的分段函数并显示结果。分析:分析:分段函数中需要用到两个变量分段函数中需要用到两个变量x、y判断判断x的范围,根据判断结果选择使用哪个公的范围,根据判断结果选择使用哪个公式计算式计算y的值的值例:求解下面的分段函数并显示结果。28我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物声明变量声明变量x、y输入输入x的值的值判断:如果判断:如果x10,则,则y=2*x;否则再判断是否否则再判断是否x=0并且并且x10)y=2*x;else if(x=0)y=x+1;else y=x-10;printf(y=%d,y);int x,y;30我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例 输入某人的身高和体重,根据下面输入某人的身高和体重,根据下面的计算公式判断此人的体重是标准、的计算公式判断此人的体重是标准、过胖还是过瘦。过胖还是过瘦。(1)标准体重)标准体重=(身高(身高-110)公斤;)公斤;(2)超过标准体重)超过标准体重5公斤为过胖;公斤为过胖;(3)低于标准体重)低于标准体重5公斤为过瘦。公斤为过瘦。例 输入某人的身高和体重,根据下面的计算公式判断此人的体重是31我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物步骤:步骤:将输入的身高存放到变量将输入的身高存放到变量h中,体重存放中,体重存放到变量到变量w中中计算标准体重,放到变量计算标准体重,放到变量bw 中中(bw=h-110)。)。如果如果w-bw5,则体重过胖,否则进一,则体重过胖,否则进一步进行判断,如果步进行判断,如果bw-w5,则体重过,则体重过瘦,否则体重为标准。瘦,否则体重为标准。步骤:32我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物#include main()float h,w,bw;printf(请输入某人的身高和体重(公斤):);scanf(%f%f,&h,&w);bw=h-110;if(w-bw5)printf(过胖n);else if(bw-w5)printf(过瘦n);else printf(标准n);#include 33我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物ifif语句的嵌套语句的嵌套在在ifif语句中又包含一个或多个语句中又包含一个或多个ifif语句语句称为称为ifif语句的嵌套。语句的嵌套。形式:形式:If(If(表达式表达式1)1)if(if(表达式表达式2 2)语句语句1 1else else 语句语句2 2ElseElseif(if(表达式表达式3 3)语句语句3 3else else 语句语句4 4内嵌内嵌ififif语句的嵌套内嵌if34我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例 输入三个数输入三个数x,y,z,然后按从大到小输出。然后按从大到小输出。如果如果xy&xz,说明,说明x最大,应该首先输出,最大,应该首先输出,然后判断,如果然后判断,如果yz,则接下来应该先输出,则接下来应该先输出y然后输出然后输出z,否则接下来应该先输出,否则接下来应该先输出z后输出后输出y。如果如果yx&yz,说明,说明y最大,应该首先输出,最大,应该首先输出,然后判断,如果然后判断,如果xz,则接下来应该先输出,则接下来应该先输出x然后输出然后输出z,否则接下来应该先输出,否则接下来应该先输出z后输出后输出x。如果以上两种情况都不是,则说明如果以上两种情况都不是,则说明z最大,应最大,应该首先输出该首先输出z的值,然后判断,如果的值,然后判断,如果xy,则,则接下俩应该按照先接下俩应该按照先x后后y的顺序输出,否则应该的顺序输出,否则应该按照先按照先y后后x的顺序输出。的顺序输出。例 输入三个数x,y,z,然后按从大到小输出。35我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物xy&xz输出输出x真真yz输出输出y输出输出z输出输出z输出输出yyx&yz输出输出y真真xz输出输出x输出输出z输出输出z输出输出x输出输出zxy输出输出x输出输出y输出输出y输出输出x假假假假假假假假假假真真真真真真xy&xz输出x真yz输出y输出z输出z输出yyx36我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物#include main()float x,y,z;printf(请输入三个数字:请输入三个数字:);scanf(%f%f%f,&x,&y,&z);printf(三数从大到小为:三数从大到小为:”);#include 37我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 if(x=y&x=z)printf(%ft,x);if(y=z)printf(%ft%fn,y,z);else printf(%ft%fn,z,y);else if(y=x&y=z)printf(%ft,y);if(x=z)printf(%ft%fn,x,z);elseprintf(%ft%fn,z,x);if(x=y&x=z)38我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 elseprintf(%ft,z);if(x=y)printf(%ft%fn,x,y);elseprintf(%ft%fn,y,x);else39我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例 输入三个数a,b,c,要求按由大到小的顺序输出。If ab If ab 将将a a和和b b对换对换If ac If ac 将将a a和和c c对换对换If bc If bc 将将b b和和c c对换对换nabacbca和b交换a和c交换c和b交换yyynn例 输入三个数a,b,c,要求按由大到小的顺序输出。If 40我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物#include#include void main()void main()float a,b,c,t;float a,b,c,t;scanf(scanf(“%f,%f,%f%f,%f,%f”,&a,&b,&c);,&a,&b,&c);if(aif(a b)b)t=a;a=b;b=t;t=a;a=b;b=t;if(a if(a c)c)t=a;a=c;c=t;t=a;a=c;c=t;if(bc)if(bc)t=b;b=c;c=t;t=b;b=c;c=t;printf(%5.2f,%5.2f,%5.2fn,a,b,c);printf(%5.2f,%5.2f,%5.2fn,a,b,c);#include void main(41我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物匹配规则:匹配规则:ElseElse总是与它上面的,最近的,总是与它上面的,最近的,同一复合语句中的,未配对的同一复合语句中的,未配对的ifif语句配对。语句配对。例:If()if()语句1elseif()语句2 else 语句3例:If()if()语句1elseif()语句2 else 语句3当当ifif和和elseelse数目不同时,可以加数目不同时,可以加花括号花括号来确定配对关系。来确定配对关系。匹配规则:例:例:当if和else数目不同时,可以加花括号来42我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物 -1 (x0)#include#includevoid main()void main()int x,y;int x,y;scanf(scanf(“%d%d”,&x);,&x);程序段程序段 printf(printf(“x=%d,y=%dnx=%d,y=%dn”,x,y);,x,y);43我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物上例中的程序段有四个,请判断哪个是正确的?上例中的程序段有四个,请判断哪个是正确的?程序程序1:程序程序2:if(x=0)y=-1;if(x0)y=1;else else y=0;if(x=0)y=0;else y=-1;else y=1;程序程序3:程序程序4:y=-1;y=0;if(x!=0)if(x=0)if(x0)y=1;if(x0)y=1;else y=0;else y=-1;正确正确上例中的程序段有四个,请判断哪个是正确的?正正44我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物条件运算符和条件表达式条件运算符和条件表达式格式:格式:表达式?表达式表达式?表达式表达式表达式功能:功能:判断判断表达式表达式1 1的值,如果成立就执行的值,如果成立就执行表表 达式达式2 2,否则就执行,否则就执行表达式表达式3 3条件运算符和条件表达式45我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例:例:ifif ()()max=max=;else else maxmax;当当abab时将时将a a的值赋给的值赋给maxmax,当,当abab时将时将b b的值赋给的值赋给maxmax,可以看到无论可以看到无论abab是否满足,都是向同一个变量赋值。是否满足,都是向同一个变量赋值。可以用下面的条件运算符来处理:可以用下面的条件运算符来处理:()?)?;例:46我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物输入一个整数输入一个整数c,判断,判断c是否大于是否大于10,如果大于如果大于10,则输出,则输出“c10”,否,否则,输出则,输出“c10)printf(“c10”);else printf(“c10?”c10”:”cb?amax=ab?a:b+1b+1相当于:相当于:max=(ab)?a:(b+1)max=(ab)?a:(b+1)不等于:不等于:max=(ab?a:bmax=(ab?a:b)+1+1说明:48我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物说明:(2).(2).条件运算符的结合方向为条件运算符的结合方向为“自右至左自右至左”。(3).3).“表达式表达式2 2”和和“表达式表达式3 3”不仅可以是数值表达式,不仅可以是数值表达式,还可以是赋值表达式或函数表达式。还可以是赋值表达式或函数表达式。(4).(4).条件表达式中,表达式的类型可以与表达式条件表达式中,表达式的类型可以与表达式和表达式的类型不同。和表达式的类型不同。说明:49我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例 输入一个字符,判别它是否大写字母,如果输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。然后输出最后得到的字符。#include void main()char ch;scanf(%c,&ch);ch=(ch=A&ch=Z)?(ch+32):ch;printf(%cn,ch);例 输入一个字符,判别它是否大写字母,如果是,将它转换成小50我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物5.4 switch语句switchswitch (表达式)(表达式)casecase常量表达式:语句序列常量表达式:语句序列 casecase常量表达式:语句序列常量表达式:语句序列 case case常量表达式常量表达式i i:语句序列:语句序列i i case case常量表达式:语句序列常量表达式:语句序列 default default:语句序列:语句序列 功能:当功能:当switchswitch后的表达式的值与某后的表达式的值与某casecase分支中的分支中的常量表达式常量表达式i i相等时,执行该相等时,执行该casecase分支后语句序列直分支后语句序列直到退出到退出switchswitch结构,否则执行结构,否则执行defaultdefault后的语句序列。后的语句序列。5.4 switch语句switch(表达式)51我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例:要求按照考试成绩的等级输出百分制分数段,用要求按照考试成绩的等级输出百分制分数段,用switchswitch语句实现:语句实现:switch(gradegrade)case printfprintf(););break;/break;/表示退出表示退出switchswitch结构结构 case printf printf(););break;break;case case printf printf(););break;break;case case printf printf(););break;break;default printf printf(););例:52我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物说明:说明:(1)switch(1)switch和和casecase语句中的表达式需要是整型、字语句中的表达式需要是整型、字符类型或者枚举类型。符类型或者枚举类型。(2)(2)每一个每一个casecase的常量表达式的值必须互不相同,的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。一个值,有两种或多种执行方案)。(3)(3)执行完一个执行完一个casecase后面的语句后,流程控制转后面的语句后,流程控制转移到下一个移到下一个casecase继续执行。不再判断表达式与继续执行。不再判断表达式与“casecase常量表达式常量表达式”是否相等。是否相等。为避免执行后为避免执行后面面casecase分支中的语句,应该在一个分支中的语句,应该在一个casecase分支后分支后,用一个用一个breakbreak语句来终止语句来终止switchswitch语句的执行。语句的执行。说明:53我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物switch(grade)case printf(););case printf(););case printf(););case printf(););default printf(););switch(grade)54我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物(4)(4)良好的程序逻辑结构应该有良好的程序逻辑结构应该有defaultdefault分支,分支,但也可以没有这个分支,如果没有但也可以没有这个分支,如果没有defaultdefault,那,那么在找不到与表达式相等的常量表达式时,不执么在找不到与表达式相等的常量表达式时,不执行任何分支。行任何分支。defaultdefault语句的位置没有要求。语句的位置没有要求。(5)(5)多个多个casecase可以共用一组执行语句。可以共用一组执行语句。(4)良好的程序逻辑结构应该有default分支,但也可以55我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物int i=10;switch(i)default:printf(“defaultn”);case 1:printf(“1n”);break;case 2:printf(“2n”);break;最终显示:最终显示:default1int i=10;最终显示:56我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物switch(day)case 1:case 2:case 3:case 4:case 5:printf(“工作日工作日 n);break;case 6:case 7:printf(“休息日休息日 n);break;default:printf(“输入不在(输入不在(17)中)中 n);break;switch(day)57我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物例例 编程实现两个整数的算术运算。编程实现两个整数的算术运算。分析:分析:算术运算的基本形式为:算术运算的基本形式为:根据操作符的不同会有不同的计算结果根据操作符的不同会有不同的计算结果因此需要判断的是操作符的种类,根据这个因此需要判断的是操作符的种类,根据这个判断来选择不同的计算公式判断来选择不同的计算公式操作符的可能种类有:操作符的可能种类有:+、-、*、/、%,是,是有限的几种情况,可以在进行选择判断时使有限的几种情况,可以在进行选择判断时使用用switch语句语句例 编程实现两个整数的算术运算。58我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物变量声明:变量声明:操作符:操作符:char op;操作数:;操作数:int x,y;输入算术运算:输入算术运算:scanf(%d%c%d,&x,&op,&y);操作符判断:操作符判断:switch(op)case+:printf(x+y=%dn,x+y);break;case-:printf(x-y=%dn,x-y);break;case*:printf(x*y=%dn,x*y);break;case/:printf(x/y=%dn,x/y);break;case%:printf(x%y=%dn,x%y);break;变量声明:59我吓了一跳,蝎子是多么丑恶和恐怖的东西,为什么把它放在这样一个美丽的世界里呢?但是我也感到愉快,证实我的猜测没有错:表里边有一个活的生物#include main()int x,y;char op;scanf(%d%c%d,&x,&op,&y);switch(op)case+:printf(x+y=%dn,x+y);break;case-:printf(x-y=%dn,x-y);break;case*:printf(x*y=%dn,x*y);break;case/:printf(x/y=%dn,x/y);break;case%:printf(x%y=%dn,x%y);break;#include 60
展开阅读全文
相关资源
相关搜索

最新文档


当前位置:首页 > 办公文档 > 教学培训


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!