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

类型C语言程序设计第4章-选择结构程序设计课件.pptx

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

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

    特殊限制:

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

    关 键  词:
    语言程序设计 选择 结构 程序设计 课件
    资源描述:

    1、0101020203034 4.1.1 关系运算符与关系表达关系运算符与关系表达式式 4.2 4.2 逻辑运算符与逻辑表达式逻辑运算符与逻辑表达式4.3 4.3 ifif语句语句第四章第四章 选择结构程序设计选择结构程序设计040405050606 4.4 4.4 switch switch 语句语句4.5 4.5 知识点强化与应用知识点强化与应用4.6 4.6 本章小结本章小结【学习要点】1.关系运算符、关系表达式 逻辑运算符、逻辑表达式 2.IF 语句3.Switch 语句本章主要介绍关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句、switch语句。要求掌握关系运算符和关系表达式

    2、的定义和使用;掌握逻辑运算符和逻辑表达式的定义和使用;掌握if语句和switch语句的定义和使用。【导入案例:根据给定的条件,执行不同的操作】图4-1选择结构程序设计案例 定义学生信息管理系统中的各个子模块的功能,用户根据需要进行的操作输入相应的(1-9)数字后,系统按照对应的功能进行执行,如录入学生信息,查找学生信息,统计学生信息,删除学生信息,退出程序等操作。【导入案例:根据给定的条件,执行不同的操作】在本案例中,用户根据自已的需要进行功能的选择,在某一时刻只能选择其中一种功能,比如用户需要“录入学生信息”功能时,就要输入数字1进行选择;用户需要“修改学生信息”功能时,就要输入数字2进行选

    3、择,依此类推,用户需要执行图中九种功能中的某一种功能时,就要输入某一功能前所对应的数字进行选择?在程序设计中,上述功能的实现就需要用选择结构来实现。选择结构的作用是根据所给条件的真假,决定程序的运行途径。如何表示条件呢?这就要学习C语言的关系运算符和逻辑运算符及其对应的表达式。分析 所谓“关系运算”实际上就是“比较运算”,即将两个数据进行比较,判定两个数据是否符合给定的关系。例如,“a b”中的“”表示一个大于关系运算。如果a的值是5,b的值是3,则大于关系运算“”的结果为“真”,即条件成立;如果a的值是2,b的值是3,则大于关系运算“”的结果为“假”,即条件不成立。4.1 关系运算符与关系表

    4、达式 在程序中经常需要比较两个量的大小关系,以决定程序下一步的工作。比较两个量的运算符称为关系运算符。在C语言中有以下关系运算符:小于 大于=大于或等于=等于!=不等于4.1.1 关系运算符 关系运算符都是双目运算符,其结合性均为左结合。关系运算符的优先级低于算术运算符,高于赋值运算符。在六个关系运算符中,=的优先级相同,高于=和!=,=和!=的优先级相同。注意 在语言中,“等于”关系运算符是双等号“=”,而不是单等号“=”(赋值运算符)。4.1.1 关系运算符关系表达式的一般形式为:表达式 关系运算符 表达式 例如:64,a!=b,a-bc+d,-i-3*j=k+8;都是合法的关系表达式。由

    5、于表达式也可以又是关系表达式。因此也允许出现嵌套的情况,例如:ac),i!=(j=k)等。由于语言没有逻辑型数据,所以用整数“”表示“逻辑真”,用整数“”表示“逻辑假”。如:64的值为“真”,即为1。(a=3)(b=5)由于35不成立,故其值为假,即为0。4.1.2 关系表达式4.1.2 关系表达式【例4-1】关系运算符的使用。#includevoid main()char ch=c;int a=5,b=2,c=1;float x=0.85,y=8.2;printf(%d,%dn,a+6ch,x+5.15=y-x);printf(%d,%dn,2ba+5);运行结果:0,1 1,0说明:在本例

    6、中求出了各种关系运算符的值。a+6ch表达式中字符变量a是以它对应的ASC码参与运算的,相当于97+699,显示结果为假(0),x+5.25=y-x相当于0.85+5.15=1”。如果需要描述“x=1”、同时“x=0)&(x10),(x5),!(x=0),(year%4=0)&(year%100!=0)|(year%400=0)4.2.1 逻辑运算符与运算符&和或运算符|均为双目运算符。具有左结合性。非运算符!为单目运算符,具有右结合性。逻辑运算符和其它运算符优先级的关系可表示如下:!(非)&(与)|(或)!算术运算 关系运算&|赋值运算按照运算符的优先顺序可以得出:ab&cd等价于(ab)&

    7、(cd)!b=c|da等价于(!b)=c)|(dc&x+yc)&(x+y)0&42,由于50为真,42也为真,相与的结果也为真。(2)或运算|参与运算的两个量只要有一个为真,结果就为真。两个量都为假时,结果为假。例如:50|58,由于50为真,相或的结果也就为真。(3)非运算!参与运算量为真时,结果为假;参与运算量为假时,结果为真。例如:!(50)的结果为假。虽然C编译在给出逻辑运算值时,以“1”代表“真”,“0”代表“假”。但反过来在判断一个量是为“真”还是为“假”时,以“0”代表“假”,以非“0”的数值作为“真”。例如:由于5和3均为非“0”,因此5&3的值为“真”,即为1。又如:5|0的

    8、值为“真”,即为1。4.2.1 逻辑运算符逻辑表达式的一般形式为:表达式 逻辑运算符 表达式如:b&c4、!c=a|b4、x1&x100都是合法的逻辑表达式。逻辑表达式的结果和关系表达式的结果一样,是一个逻辑值,即“真”或“假”,分别用整数1和0表示。在判断一个量的真假时,以0表示“假”,以非0表示“真”。逻辑运算符的求值规则,见书P56表4-1。4.2.2 逻辑表达式注意注意:在求解逻辑表达式的值时并不是所有的运算都要被执行,除了考虑各种运算的优先级和结合性之外,还要考虑与(&)和或(|)运算具有的短路效应,即当某个运算对象的值可以确定整个逻辑表达式的值时,其余的运算对象将不需要再参与运算,

    9、具体几种情况见书P56-57,请同学们认真阅读理解。4.2.2 逻辑表达式4.2.2 逻辑表达式【例4-2】逻辑运算符的应用。#includevoid main()int x=0,y=1,z=0,a,b,c;a=x&y-&+z;printf(x=%d,y=%d,z=%d,a=%dn,x,y,z,a);b=+x|+y|-z;printf(x=%d,y=%d,z=%d,b=%dn,x,y,z,b);c=x+&-y|+z;printf(x=%d,y=%d,z=%d,c=%dn,x,y,z,c);运行结果:x=0,y=1,z=0,a=0 x=1,y=1,z=0,b=1 x=2,y=0,z=1,c=14

    10、.2.2 逻辑表达式说明:本例中在a=x&y-&+z;语句中,x的值为0,短路了后面的运算,表达式结果为(a=0),y=1,z=0值不发生变化;在b=+x|+y|-z;语句中,x的值为1,短路了后面的运算,表达式结果为1(b=1),y=1,=0值不发生变化;在c=x+&-y|+z;语句中,先进行与运算,再进行或运算。选择结构语句是通过判断给定的条件是否满足,从而决定执行条件匹配的分支程序段。选择结构包括单分支选择结构、双分支结构和多分支结构三种基本形式。4.3 IF 语句 单分支if语句格式:if(表达式)功能:(1)表达式是选择结构执行的条件,一般是一个逻辑表达式或关系表达式,也可以是一个数

    11、值,需要用圆括号括起来。(2)用花括号括起来的语句组称为复合语句,当语句只有一条,可以省略花括号()。(3)当条件成立(即表达式的值为真)时,执行语句块,然后执行if语句下面的一条语句,如果条件不成立,则不执行语句块,直接执行if语句下面的一条语句。4.3.1 单分支 IF 语句 4.3.1 单分支if语句【例4-3】从键盘输入一个圆的半径,如果半径大于0,则计算其面积,否则,什么都不做。分析:需要定义两个变量s、a用来存放圆的面积和半径,可以用“int s,a”语句定义;使用scanf语句从键盘输入圆的半径的值,存储于a变量中;判定圆的半径的值是否大于0,如果大于0,就利用公式计算机出圆的面

    12、积,最后使用printf语句输出圆的面积,如果输入圆的半径的值小于0,则什么都不做,直接退出程序。#define pi 3.14159void main()int a,s;printf(请输入圆的半径:n);scanf(%d,&a);if(a0)s=pi*a*a;4.3.1 单分支if语句printf(this rear is:%dn,s);运行结果:请输入圆的面积:4This rear is:50.265440 双分支if语句 格式:if(表达式)else (执行流程图)功能:if 和else是C语言的关键字,在该结构执行时,先计算机表达式的值,如果表达式的值为“真”(为非0),则执行语句块

    13、1;否则执行语句块2。当语句1和语句2是多条语句时,要用花括号括起来。4.3.2 双分支 IF 语句 4.3.2 双分支if语句【例4-6】在购买某商品时,商品价格随团购的购买人数而定,试根据团购人数求最终实际出售价格,求解过程应遵循如下规则:如果团购人数为10人以上时,商品价格为实际价格的9折;否则商品按原价出售。分析:需要定义三个变量,第一个变量用来存放购买人数,第二个变量用来存放商品的原来价格,第三个变量用来存放商品的出售价格,然后根据团购的人数来计算商品的出售价格,如果如果团购人数为10人以上时,商品价格为实际价格的9折;否则商品按原价出售。参考程序如下:#include void m

    14、ain()int number=0;double originprice,price;printf(请输入number的值:);scanf(%d,&number);4.3.2 双分支if语句 printf(请输入originprice的值:);scanf(%lf,&originprice);if(number=10)price=originprice*0.9;else price=originprice;printf(商品价格为:%lfn,price);多分支if语句 格式:if(表达式1)else if(表达式2)else if(表达式n)else 功能:首先计算表达式1的值,如果为真,则执

    15、行语句块1后,表示该多分支结构执行完毕,接着执行else下面的语句;否则判断表达式2的值是否为真,若为真,则执行语句块2;否则继续往下判断下面的表达式的值,若前n-1个表达式的值为“假”(0),但第n个表达式的值为“真”(为非0),则执行语句n;若所有表达式的值都为“假”(0),则执行语句n+1。4.3.3 多分支 IF 语句 4.3.3 多分支if语句【例4-7】编程实现分段函数。0 x 0 y=2x+1 0 x10 3x+2 10 x20 5x-1 x20输入x的值,求对应的y值并输出。分析:(1)判断条件x 0是否成立,如果成立,y=0。(2)判断条件0 x10是否成立,如果成立,y=2

    16、*x+1。(3)判断条件10 x20是否成立,如果成立,y=3*x+2。(4)以上条件都不成立,y=5*x-1。(5)最后使用printf函数输出y的值。4.3.3 多分支if语句参考程序如下:#include void main()float x,y;scanf(%f,&x);if(x=0)y=0;else if(x=10)y=2*x+1;else if(x=20)y=3*x+2;else y=5*x-1;printf(x=%f,y=%fn,x,y);4.3.4 IF 语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套,一般有以下两种情况。1内嵌一个if 语句语句格式为:if(

    17、表达式1)else if(表达式2)else2.内嵌多个if语句语句格式为:if(表达式1)if(表达式2)elseelse if(表达式3)else4.3.4 IF 语句的嵌套说明:(1)在if语句的嵌套中,出现了多个if与else语句,其中else语句不能单独作为语句使用,其必须和if语句配对使用;else总是与离它上面最近的、尚未与其他else配对的if 语句配对,一般是从后往前查找,确定else与if的匹配关系,此时不要被缩进对齐格式所迷惑。(2)if与else的个数最好相同,从内层到外层要一一对应,以避免出错。(3)如果if与else的个数不相同,可以用花括号来确定配对关系,形式如下

    18、:if()if(表达式1)else 这时的 限定了内嵌if语句的范围,因此else与最上面的if配对。4.3.4 IF 语句的嵌套【例4-8】输入一个字符,如果是数字则输出1,是字母则输出2,是其它符号则输出3。分析:(1)定义一个字符变量并完成输入。(2)判断输入的字符是否是数字,如果成立,输出1。(3)判断输入的字符是否是字母,如果成立,输出2。(4)判断输入的字符是否是除了数字和字母的其它字符,如果成立,输出3。参考程序如下:#include void main()char c;scanf(%c,&c);if(0=c&c=9)printf(c=%c%cn,c,1);/*如果是数字,则输出

    19、字符1*/else if(A=c&c100是否成立,如果成立,输出“输入分值错误!”。(2)判断条件0n60是否成立,如果成立,输出等级“E”。(3)判断条件60n70是否成立,如果成立,输出等级“D”。(4)判断条件70n80是否成立,如果成立,输出等级“C”。(5)判断条件80n90是否成立,如果成立,输出等级“B”。(6)判断条件90n100是否成立,如果成立,输出等级“A”。参考程序如下:#includevoid main()int c;printf(n Input a score:);4.3.4 IF 语句的嵌套scanf(%d,&c);if(c100|c=90&c=80&c=70&

    20、c=60&c=0&cb)a=1;b=-1;else a=-1;b=1;4.3.5 条件运算符和条件表达式 如果如果在条件语句中,只执行单个的赋值语句时,常可在条件语句中,只执行单个的赋值语句时,常可使用使用条件表达式条件表达式来实现。不但使程序简洁,也提高了运行效率。来实现。不但使程序简洁,也提高了运行效率。条件运算符为条件运算符为?和:,它是一个三目运算符,即有三个参与和:,它是一个三目运算符,即有三个参与运算运算的的量量。由由条件运算符组成条件表达式的一般形式为:条件运算符组成条件表达式的一般形式为:表达式表达式1?表达式表达式2:表达式表达式3 求求值规则为值规则为:如果如果表达式表达式

    21、1的值为真,则以表达式的值为真,则以表达式2 的值作为的值作为条条件件表达式的值,否则以表达式表达式的值,否则以表达式2的值作为整个条件表达式的值的值作为整个条件表达式的值。条件条件表达式通常用于赋值语句之中。表达式通常用于赋值语句之中。4.3.5 条件运算符和条件表达式注意:注意:(1)条件运算符优先级高于赋值运算符,低于关系运算符,因此,“max=(ab)?a:b”可以去掉括号写成“max=ab?a:b”。(2)条件运算符“?”和“:”是一对运算符,不能分开单独使用。(3)条件运算符的结合方向是自右往左结合。例如:ab?a:cd?c:d应该理解为ab?a:(cd?c:d),这是条件表达式嵌

    22、套的情形,即第一个条件表达式中的表达式3又是一个条件表达式。4.3.5 条件运算符和条件表达式【例4-12】通过键盘输入一个字符,判断它是否是大写字母,如果是,将其转换为对应的小写字母,否则不转换。分析:英文字母的大写和小写的ASC码相差32,将一个大写字母转换为对应的小写字母的方法是把大写字母的ASC码值加上32即可;判断一个字符变量ch是否为大写字母,只要判断表达式”ch=A&ch=A&ch=Z)?(ch+32):ch”。参考程序如下:#include void main()char ch;printf(请输入一个字符:n);scanf(%c,&ch);ch=(ch=A&ch=Z)?(ch

    23、+32):ch);printf(ch=%cn,ch);4.4 switchswitch语句语句 在在用用ifif语句进行选择结构处理时,当要实现的语句进行选择结构处理时,当要实现的分支较分支较多时,就要多时,就要使用使用ifif语句的多重嵌套才能实现,此时语句的多重嵌套才能实现,此时程序程序就就变得复杂变得复杂冗长,程序冗长,程序的可读性会大大降低。的可读性会大大降低。C C语言语言提供提供了了switchswitch语句语句,switch switch语句称为开关语句,用于多分支选择的一种语句称为开关语句,用于多分支选择的一种特特殊情况的处理殊情况的处理,即每个分支、每种情况通过一个,即每个

    24、分支、每种情况通过一个表达取表达取不同不同的值(的值(选择选择常量、情况常量)来描述,可以很常量、情况常量)来描述,可以很方便方便地地进行多路进行多路选择选择的的功能功能,使程序变得,使程序变得简洁。简洁。4.4 switchswitch语句语句switch语句的一般形式如下:switch(表达式)case常量表达式1:;break;case常量表达式2:break;case常量表达式n:;4.4 switchswitch语句语句 break;default :语句n+1;说明:(1)执行过程:首先计算switch后面括号内表达式的值,若此值等于某个case后面常量表达式的值,则转向该case

    25、后面的语句去执行,然后接着执行该case后面的其他语句;若表达式的值不等于任何case后面的常量表达式的值,则转向default后面的语句去执行,如果没有default部分,则将不执行switch语句中的任何语句,而直接转到switch语句后面的语句去执行。(2)switch后面圆括号内的表达式的值和case后面的常量表达式的值,一般是整型的或字符型。4.4 switchswitch语句语句(3)各个case和default的出现次序可以是任意的,不影响执行结果。(4)每一个case的常量表达式的值必须互不相同。(5)由于switch语句中的“case常量表达式”部分只起语句标号作用,而不进行

    26、条件判断,所以在执行完某个case后面的语句后,将自动转到该语句后面的语句去执行,直到遇到switch语句的花括号或break语句为止,而不再进行条件判断。(请同学们分析P68相关例子来理解第(5)点)4.4 switchswitch语句语句【例4-13】把本章中的例4-9用switch语句实现。分析:(1)从键盘输入考试成绩。(2)考试等级分为五个等级六种情况,不同等级对应不同的分数段,分别用case语句来实现。(3)将考试成绩和每一个case语句后面的条件表达式进行匹配,和其中一个case语句匹配成功后,就去执行该case语句后面的语句系列,从而输出相应的考试等级。参考程序如下:#incl

    27、ude void main()int n;printf(Please input the score:);scanf(%d,&n);switch(n/10)4.4 switchswitch语句语句case 10:case 9:printf(A n);break;case 8:printf(Bn);break;case 7:printf(Cn);break;case 6:printf(Dn);break;case 5:case 4:case 3:case 2:case 1:case 0:printf(En);break;default:4.4 switchswitch语句语句printf(输入分

    28、值错误!);思考:switch后面的表达式使用的是n/10,而不是直接用的n变量,请分析及意义是什么?4.4 switchswitch语句语句【例4-14】设计一个模拟计算机器,实现两个数的加、减、乘、除运算,并在屏幕上输出计算结果。分析:(1)定义两个变量存储需要进行运算的数据,然后从键盘上输入两个值。(2)定义一个变量用来存储用户输入的运算符类型,并从键盘上输入(可以输入“+”、“-”、“*”、“/”四种运算符中的一种)。(3)把输入值后的符号变量作为switch语句后面的表达式,根据变量的不同取值(“+”、“-”、“*”、“/”)进行不同的运算,分别用四个case语句来实现,并将计算结果

    29、在屏幕上输出。参考程序如下:#includevoid main()float a,b;char c;printf(input expression:a(+、-、*、/)bn);4.4 switchswitch语句语句scanf(%f%c%f,&a,&c,&b);switch(c)case+:printf(%fn,a+b);break;case-:printf(%fn,a-b);break;case*:printf(%fn,a*b);break;case/:if(b=0)printf(division by zeron);else printf(%fn,a/b);break;default:pr

    30、intf(input errorn);思考:上例中的break语句是否可以省略?如果不写break语句,程序运行的结果会发生什么变化?4.5 知识点强化与应用总结:总结:利用利用选择结构求解问题的一般步骤为:选择结构求解问题的一般步骤为:1 1定义变量定义变量 根据根据所要处理的数据类型和个数来定义合适数量和类型的所要处理的数据类型和个数来定义合适数量和类型的变变量量,对变量进行命名时,注意到变量名的实义性。,对变量进行命名时,注意到变量名的实义性。2 2为变量赋初值为变量赋初值 变量变量定义后,并未存放确切的数据值,必须根据实际需要定义后,并未存放确切的数据值,必须根据实际需要为为变量变量赋

    31、初值。赋初值。3 3解决问题解决问题根据题意确定相应的算法,根据算法确定是使用单分支、双分根据题意确定相应的算法,根据算法确定是使用单分支、双分支还是多分支结构来解决问题。支还是多分支结构来解决问题。4 4输出结果输出结果使用相应的输出函数把结果显示到屏幕上。使用相应的输出函数把结果显示到屏幕上。4.5 知识点强化与应用 程序举例程序举例【例4-15】企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万

    32、之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数?分析:由题目可知利润提成方案有五种,因此可以利用多分支选择结构来完成程序的设计,根据输入的利润来判断是五种情况中的哪一个,就执行哪个分支后面的语句,从而计算机相应的奖金数额。参考程序如下:#includevoid main()4.5 知识点强化与应用 程序举例程序举例float i;float bonus1,bonus2,bonus4,bonus6,bonus10,bonus;printf(“please i

    33、nput a number:n”);scanf(%f,&i);bonus1=100000*0.1;bonus2=bonus1+100000*0.75;bonus4=bonus2+200000*0.5;bonus6=bonus4+200000*0.3;bonus10=bonus6+400000*0.15;if(i=100000)bonus=i*0.1;else if(i=200000)bonus=bonus1+(i-100000)*0.075;else if(i=400000)bonus=bonus2+(i-200000)*0.05;else if(i=600000)bonus=bonus4+(

    34、i-400000)*0.03;else if(i=1000000)bonus=bonus6+(i-600000)*0.015;else bonus=bonus10+(i-1000000)*0.01;4.5 知识点强化与应用 程序举例程序举例?思考:本题如果使用switch语句来实现,程序代码该如何编写?【例4-16】给一个不多于5位的正整数,要求:求它是几位数,逆序打印出各位数字。分析:本题的关键是如何把随机输入的五位数的每一位数字利用C语言的运算规则分解出来,首先设置一个变量x用来存储随机输入的正整数,那么万位的数字=x/10000、千位的数字=x%10000/1000、百位的数字=x%10

    35、00/100、个位的数字=x%100/10,设置五个变量分别用来存储万位、千位、百位、十位、个位分解出来的数字,再通过判断这五个变量是否等于零来判断这个正整数是几位数,输出时把分解出来的每位数字按个位、十位这样的顺序输出即可。4.5 知识点强化与应用 程序举例程序举例参考程序如下:#includevoid main()int a,b,c,d,e,x;printf(please input a number:n);scanf(%d,&x);a=x/10000;/*分解出万位*/b=x%10000/1000;/*分解出千位*/c=x%1000/100;/*分解出百位*/d=x%100/10;/*分

    36、解出十位*/e=x%10;/*分解出个位*/if(a!=0)printf(This is a five digits,%d%d%d%d%dn,e,d,c,b,a);else if(b!=0)printf(This is a four digits,%d%d%d%dn,e,d,c,b);else if(c!=0)printf(This is a three digits,%d%d%dn,e,d,c);4.5 知识点强化与应用 程序举例程序举例else if(d!=0)printf(This is a two digits,%d%dn,e,d);else if(e!=0)printf(This i

    37、s a one digits,%dn,e);4.6 本章小结本章主要讲述了三个方面的内容,简单选择结构,嵌套的本章主要讲述了三个方面的内容,简单选择结构,嵌套的选择选择结构结构以及以及switchswitch语句的使用方法。语句的使用方法。1 1.简单简单的选择的选择结构结构(1 1)单分支)单分支ifif语句的功能:当表达式的值为真时,执行语句块,语句的功能:当表达式的值为真时,执行语句块,否则执行否则执行ifif结构后面的其他语句。结构后面的其他语句。(2 2)双分支)双分支ifif语句的功能:当表达式语句的功能:当表达式1 1为真时,执行语句块为真时,执行语句块1 1,否则执行语句块否则

    38、执行语句块2 2。(3 3)多分支)多分支ifif语句的功能:当表达式语句的功能:当表达式1 1为真,则执行语句块为真,则执行语句块1 1,否则去判断表达式否则去判断表达式2 2,若表达,若表达2 2为真,则执行语句块为真,则执行语句块2 2,否则再,否则再去判断表达式去判断表达式33一直继续下去,当所有表达式均为假时,一直继续下去,当所有表达式均为假时,才去执行语句块才去执行语句块n+1n+1。4.6 本章小结2.if语句的嵌套在if语句中又包含一个或多个if语句称为if语句的嵌套。(1)内嵌一个if 语句语句格式:if(表达式1)else if(表达式2)else4.6 本章小结2.if语

    39、句的嵌套(2)内嵌多个if语句语句格式:if(表达式1)if(表达式2)elseelse if(表达式3)else4.6 本章小结3.switch语句switch(表达式)case常量表达式1:;break;case常量表达式2:break;case常量表达式n:;break;default :语句n+1;4.6 本章小结3.switch语句 switch语句是实现多选择判定的另一种方法,它可以比较方便和清楚地列出各种情况,以及在每种情况下应执行的语句。4.6 本章小结 案例分析与实现利用本章所学知识,解决本章开头提出的问题:用户输入相应的数字后,输出如图4-1所示的提示信息。分析:界面上的“学生成绩管理系统”共有九个不同的功能,用户根据自已的需要进行功能的选择,在某一时刻只能选择其中一种功能,比如用户需要执行“录入学生信息”功能时,输入数字1进行选择即可;用户需要执行“修改学生信息”功能时,输入数字2进行选择即可,依此类推,我们需要图中九种功能中的某一个功能,就输入某一功能前所对应的数字即可,这种算法特别适合使用switch语句。请同学们分析和理解教材P76-77的程序清单,进一点熟悉和掌握选择结构程序设计的方法。休息一会!

    展开阅读全文
    提示  163文库所有资源均是用户自行上传分享,仅供网友学习交流,未经上传用户书面授权,请勿作他用。
    关于本文
    本文标题:C语言程序设计第4章-选择结构程序设计课件.pptx
    链接地址:https://www.163wenku.com/p-3514914.html

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


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


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

    163文库