书签 分享 收藏 举报 版权申诉 / 60
上传文档赚钱

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

  • 上传人(卖家):三亚风情
  • 文档编号:3212513
  • 上传时间:2022-08-05
  • 格式:PPT
  • 页数:60
  • 大小:941.76KB
  • 【下载声明】
    1. 本站全部试题类文档,若标题没写含答案,则无答案;标题注明含答案的文档,主观题也可能无答案。请谨慎下单,一旦售出,不予退换。
    2. 本站全部PPT文档均不含视频和音频,PPT中出现的音频或视频标识(或文字)仅表示流程,实际无音频或视频文件。请谨慎下单,一旦售出,不予退换。
    3. 本页资料《第5章C语言语句类型与基本控制结构课件.ppt》由用户(三亚风情)主动上传,其收益全归该用户。163文库仅提供信息存储空间,仅对该用户上传内容的表现方式做保护处理,对上传内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知163文库(点击联系客服),我们立即给予删除!
    4. 请根据预览情况,自愿下载本文。本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
    5. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007及以上版本和PDF阅读器,压缩文件请下载最新的WinRAR软件解压。
    配套讲稿:

    如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。

    特殊限制:

    部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。

    关 键  词:
    语言 语句 类型 基本 控制 结构 课件
    资源描述:

    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语言语句类型 C C语句分为语句分为5类类控制语句控制语句函数调用语句函数调用语句表达式语句表达式语句空语句空语句复合语句复合语句空语句空语句 只有一个分号(;)的语句只有一个分号(;)的语句 (什么也不做)(什么也不做)表达式语句表达式语句 语句形式:语句形式:表达式;表达式;例如:

    2、例如:a a*=10;=10;(a+b(a+b*5)20;5)20;注意:注意:一个表达式可以成为另一个更复杂的表达式一个表达式可以成为另一个更复杂的表达式的一部分,而表达式语句则不能。的一部分,而表达式语句则不能。例如:例如:a=b(表达式),可以写(表达式),可以写(a=b)0 a=b;(表达式语句),不可以写(表达式语句),不可以写(a=b;)0复合语句复合语句 用一对用一对 括起来的语句括起来的语句 z=x+y;t=z/100;printf(“%f”,t);注意:注意:复合语句中最后一个语句中最后的分号复合语句中最后一个语句中最后的分号不能忽略不写。不能忽略不写。函数调用语句函数调用语

    3、句 语句形式:语句形式:函数名(实参列表);函数名(实参列表);例如:例如:scanf(scanf(“%d%d”,&a);,&a);printf(printf(“%d%d”,a);,a);控制语句控制语句 用于完成一定的控制功能用于完成一定的控制功能C C语言有语言有9 9中控制语句:中控制语句:if()elseif()else/条件语句,实现选择结构条件语句,实现选择结构switchswitch/多分支选择语句多分支选择语句while()while()/当型循环语句,实现循环结构当型循环语句,实现循环结构do while()do while()/直到型循环语句直到型循环语句for()for(

    4、)/循环语句循环语句continuecontinue/结束本次循环语句结束本次循环语句breakbreak/中止执行中止执行switchswitch或循环语句或循环语句gotgoto o/转向语句转向语句returnreturn/从函数返回语句从函数返回语句5.2 程序的三种基本结构程序的三种基本结构 程序的基本结构有三种:程序的基本结构有三种:(1)(1)顺序结构:各操作步骤顺序执行,是一顺序结构:各操作步骤顺序执行,是一种最简单的基本结构。种最简单的基本结构。(2)(2)选择结构选择结构 (3)(3)循环结构循环结构 例例 交换两个变量的值交换两个变量的值#include void mai

    5、n()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);顺序结构程序设计举例顺序结构程序设计举例例例 输入三角形的三边输入三角形的三边长,求三角形面积。长,求三角形面积。假设:三个边长假设:三个边长a a,b b,c c能构能构成三角形。成三角形。已知面积公式:已知面积公式:area=area=s=(a+b+c)/2s=(a+b+c)/2c)-b)(s-a)(s-s(s开始开始输入三边长输入三边长计算计算s s计算面积计算面积结束结束#include#include

    6、#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/2s=1.0/2*(a+b+c);(a+b+c);area=area=sqrtsqrt(s(s*(s-a)(s-a)*(s-b)(s-b)*(s-c);(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、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 5.3 if语句语句5.3.1 if语句的语句的3种形式种形式IfIf语句形式语句形式ifif(表达式)(表达式)语句语句表达式为条件判断表达式,表达式为条件判断表达式,结果为逻辑值结果为逻辑值例:例:if(xy)printf(“%d”,x);表达式表达式语句语句真(非真(非0)假假(0)if的内嵌语句通常多于一条语句,这时必须

    8、的内嵌语句通常多于一条语句,这时必须使用使用 把这些语句括起来,形成复合语句,把这些语句括起来,形成复合语句,使其在语法上成为一条单语句使其在语法上成为一条单语句 例如:例如:if(x0)y=1;z=10;printf(“y=%d,z=%dn”,y,z);如果不加如果不加,程序会有什么变化,程序会有什么变化 例:输入一个学生的两门课程考试成例:输入一个学生的两门课程考试成绩,如果两门课程成绩均在绩,如果两门课程成绩均在90分以上,分以上,则显示则显示“优秀优秀”。分析:分析:输入两门课程的考试成绩(输入两门课程的考试成绩(scanf)判断两门课程成绩是否均在判断两门课程成绩是否均在90分以上分

    9、以上 如果如果“是是”,则显示,则显示“优秀优秀”if 需要定义两个变量需要定义两个变量x1、x2存放输入的存放输入的成绩成绩 用用scanf接受输入的数据存放到接受输入的数据存放到x1、x2中中 判断是否是判断是否是x190并且并且x290 如果是,则如果是,则printf(“优秀优秀”);if#include main()float x1,x2;printf(“请输入两门课程的考试成请输入两门课程的考试成绩:绩:”);scanf(“%f%f”,&x1,&x2);if(x190&x290)printf(“优秀优秀n”);lif-elseif-else语句形式语句形式if(if(表达式表达式)

    10、语句语句1 1else else 语句语句2 2例:例:if(xy)printf(“%d”,x);else printf(“%d”,y);条件条件 语句语句1 语句语句2YN开始开始输入输入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 例:输入一个英文字母,判断是否为大例:输入一个英文字母,判断是否为大写字母,若是,则转换成小写字母输出,写字母,若是,则转换成小写字母输出,否则不转换直接输出。否则不转换直

    11、接输出。分析:分析:输入一个英文字母存放在变量输入一个英文字母存放在变量ch中中 判断判断ch是否为大写字母是否为大写字母 如果是则需要将其转换为小写字母如果是则需要将其转换为小写字母 输出字母输出字母 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);lif-else ifif-else if语句形式:语句形式:

    12、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 n3 例:例: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;例:例:scanf(“%d”,&g

    13、rade);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;例:求解下面的分段函数并显示结果。例:求解下面的分段函数并显示结果。分析:分析:分段函数中需要用到两个变量分段函数中需要用到两个变量x、y 判断判断x的范围,根据判断

    14、结果选择使用哪个公的范围,根据判断结果选择使用哪个公式计算式计算y的值的值 声明变量声明变量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);例例 输入某人的身高和体重,根据下面输入某人的身高和体重,根据下面的计算公式判断此人的体重是标准、的计算公式判断此人的体重是标准、过胖还是过瘦。过胖还是过瘦。(1)标准体重)标准体重=(身高(身高-110)公斤;)公斤;(2)超过标准体重)超过标准体重5公斤为过胖;公斤为过胖;(3

    15、)低于标准体重)低于标准体重5公斤为过瘦。公斤为过瘦。步骤:步骤:将输入的身高存放到变量将输入的身高存放到变量h中,体重存中,体重存放到变量放到变量w中中 计算标准体重,放到变量计算标准体重,放到变量bw 中中(bw=h-110)。)。如果如果w-bw5,则体重过胖,否则进一,则体重过胖,否则进一步进行判断,如果步进行判断,如果bw-w5,则体重过,则体重过瘦,否则体重为标准。瘦,否则体重为标准。#include main()float h,w,bw;printf(请输入某人的身高和体重(公斤):);scanf(%f%f,&h,&w);bw=h-110;if(w-bw5)printf(过胖n)

    16、;else if(bw-w5)printf(过瘦n);else printf(标准n);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内嵌内嵌ifif 例例 输入三个数输入三个数x,y,z,然后按从大到小输出。然后按从大到小输出。如果如果xy&xz,说明,说明x最大,应该首先输出,最大

    17、,应该首先输出,然后判断,如果然后判断,如果yz,则接下来应该先输出,则接下来应该先输出y然后输出然后输出z,否则接下来应该先输出,否则接下来应该先输出z后输出后输出y。如果如果yx&yz,说明,说明y最大,应该首先输出,最大,应该首先输出,然后判断,如果然后判断,如果xz,则接下来应该先输出,则接下来应该先输出x然后输出然后输出z,否则接下来应该先输出,否则接下来应该先输出z后输出后输出x。如果以上两种情况都不是,则说明如果以上两种情况都不是,则说明z最大,应最大,应该首先输出该首先输出z的值,然后判断,如果的值,然后判断,如果xy,则,则接下俩应该按照先接下俩应该按照先x后后y的顺序输出,

    18、否则应的顺序输出,否则应该按照先该按照先y后后x的顺序输出。的顺序输出。xy&xz输出输出x真真yz输出输出y输出输出z输出输出z输出输出yyx&yz输出输出y真真xz输出输出x输出输出z输出输出z输出输出x输出输出zxy输出输出x输出输出y输出输出y输出输出x假假假假假假假假假假真真真真真真#include main()float x,y,z;printf(请输入三个数字:请输入三个数字:);scanf(%f%f%f,&x,&y,&z);printf(三数从大到小为:三数从大到小为:”);if(x=y&x=z)printf(%ft,x);if(y=z)printf(%ft%fn,y,z);e

    19、lse 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);elseprintf(%ft,z);if(x=y)printf(%ft%fn,x,y);elseprintf(%ft%fn,y,x);例 输入三个数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

    20、#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);匹配规则

    21、:匹配规则:ElseElse总是与它上面的,最近的,总是与它上面的,最近的,同一复合语句中的,未配对的同一复合语句中的,未配对的ifif语句配对。语句配对。例:If()if()语句1elseif()语句2 else 语句3例:If()if()语句1elseif()语句2 else 语句3当当ifif和和elseelse数目不同时,可以加数目不同时,可以加花括号花括号来确定配对关系。来确定配对关系。-1 (x0)#include#includevoid main()void main()int x,y;int x,y;scanf(scanf(“%d%d”,&x);,&x);程序段程序段 prin

    22、tf(printf(“x=%d,y=%dnx=%d,y=%dn”,x,y);,x,y);上例中的程序段有四个,请判断哪个是正确的?上例中的程序段有四个,请判断哪个是正确的?程序程序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;正确正确条件运算符和条件表达式条件运算符和条件表达式格式:格式:表达式?表达式表达式?表达式表达式表达式功能:功能:判断判

    23、断表达式表达式1 1的值,如果成立就执行的值,如果成立就执行表表 达式达式2 2,否则就执行,否则就执行表达式表达式3 3例:例:ifif ()()max=max=;else else maxmax;当当abab时将时将a a的值赋给的值赋给maxmax,当,当abab时将时将b b的值赋给的值赋给maxmax,可以看到无论可以看到无论abab是否满足,都是向同一个变量赋值。是否满足,都是向同一个变量赋值。可以用下面的条件运算符来处理:可以用下面的条件运算符来处理:()?)?;输入一个整数输入一个整数c,判断,判断c是否大于是否大于10,如果大于如果大于10,则输出,则输出“c10”,否,否则

    24、,输出则,输出“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说明:(2).(2).条件运算符的结合方向为条件运算符的结合方向为“自右至左自右至左”。(3).3).“表达式表达式2 2”和和“表达式表达式3 3”不仅可以是数值表达式,不仅可以是数值表达式,还可以是赋值表达式或函数表达式。还可以是赋值表达式或函数表达式。(4).(4).条件表达式中,表达式的类型可以与表达式

    25、条件表达式中,表达式的类型可以与表达式和表达式的类型不同。和表达式的类型不同。例例 输入一个字符,判别它是否大写字母,如果输入一个字符,判别它是否大写字母,如果是,将它转换成小写字母;如果不是,不转换。是,将它转换成小写字母;如果不是,不转换。然后输出最后得到的字符。然后输出最后得到的字符。#include void main()char ch;scanf(%c,&ch);ch=(ch=A&ch=Z)?(ch+32):ch;printf(%cn,ch);5.4 switch语句switchswitch (表达式)(表达式)casecase常量表达式:语句序列常量表达式:语句序列 casecas

    26、e常量表达式:语句序列常量表达式:语句序列 case case常量表达式常量表达式i i:语句序列:语句序列i i case case常量表达式:语句序列常量表达式:语句序列 default default:语句序列:语句序列 功能:当功能:当switchswitch后的表达式的值与某后的表达式的值与某casecase分支中的分支中的常量表达式常量表达式i i相等时,执行该相等时,执行该casecase分支后语句序列直分支后语句序列直到退出到退出switchswitch结构,否则执行结构,否则执行defaultdefault后的语句序列。后的语句序列。例例:要求按照考试成绩的等级输出百分制分数

    27、段,用要求按照考试成绩的等级输出百分制分数段,用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(););说明:说明:(1)switch(1)switch和和casecase

    28、语句中的表达式需要是整型、字语句中的表达式需要是整型、字符类型或者枚举类型。符类型或者枚举类型。(2)(2)每一个每一个casecase的常量表达式的值必须互不相同,的常量表达式的值必须互不相同,否则就会出现互相矛盾的现象(对表达式的同否则就会出现互相矛盾的现象(对表达式的同一个值,有两种或多种执行方案)。一个值,有两种或多种执行方案)。(3)(3)执行完一个执行完一个casecase后面的语句后,流程控制转后面的语句后,流程控制转移到下一个移到下一个casecase继续执行。不再判断表达式与继续执行。不再判断表达式与“casecase常量表达式常量表达式”是否相等。是否相等。为避免执行后为避

    29、免执行后面面casecase分支中的语句,应该在一个分支中的语句,应该在一个casecase分支后分支后,用一个用一个breakbreak语句来终止语句来终止switchswitch语句的执行。语句的执行。switch(grade)case printf(););case printf(););case printf(););case printf(););default printf(););(4)(4)良好的程序逻辑结构应该有良好的程序逻辑结构应该有defaultdefault分支,分支,但也可以没有这个分支,如果没有但也可以没有这个分支,如果没有defaultdefault,那,那么在找

    30、不到与表达式相等的常量表达式时,不执么在找不到与表达式相等的常量表达式时,不执行任何分支。行任何分支。defaultdefault语句的位置没有要求。语句的位置没有要求。(5)(5)多个多个casecase可以共用一组执行语句。可以共用一组执行语句。int i=10;switch(i)default:printf(“defaultn”);case 1:printf(“1n”);break;case 2:printf(“2n”);break;最终显示:最终显示:default1 switch(day)case 1:case 2:case 3:case 4:case 5:printf(“工作日工作

    31、日 n);break;case 6:case 7:printf(“休息日休息日 n);break;default:printf(“输入不在(输入不在(17)中)中 n);break;例例 编程实现两个整数的算术运算。编程实现两个整数的算术运算。分析:分析:算术运算的基本形式为:算术运算的基本形式为:根据操作符的不同会有不同的计算结果根据操作符的不同会有不同的计算结果 因此需要判断的是操作符的种类,根据这个因此需要判断的是操作符的种类,根据这个判断来选择不同的计算公式判断来选择不同的计算公式 操作符的可能种类有:操作符的可能种类有:+、-、*、/、%,是,是有限的几种情况,可以在进行选择判断时使

    32、有限的几种情况,可以在进行选择判断时使用用switch语句语句 变量声明:变量声明:操作符:操作符: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;#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;

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:第5章C语言语句类型与基本控制结构课件.ppt
    链接地址:https://www.163wenku.com/p-3212513.html

    Copyright@ 2017-2037 Www.163WenKu.Com  网站版权所有  |  资源地图   
    IPC备案号:蜀ICP备2021032737号  | 川公网安备 51099002000191号


    侵权投诉QQ:3464097650  资料上传QQ:3464097650
       


    【声明】本站为“文档C2C交易模式”,即用户上传的文档直接卖给(下载)用户,本站只是网络空间服务平台,本站所有原创文档下载所得归上传人所有,如您发现上传作品侵犯了您的版权,请立刻联系我们并提供证据,我们将在3个工作日内予以改正。

    163文库