全国计算机等级考试实用应试教程二级C语言选择结构.ppt

上传人:京东小超市 文档编号:6077447 上传时间:2020-09-06 格式:PPT 页数:43 大小:409.50KB
返回 下载 相关 举报
全国计算机等级考试实用应试教程二级C语言选择结构.ppt_第1页
第1页 / 共43页
全国计算机等级考试实用应试教程二级C语言选择结构.ppt_第2页
第2页 / 共43页
亲,该文档总共43页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述

《全国计算机等级考试实用应试教程二级C语言选择结构.ppt》由会员分享,可在线阅读,更多相关《全国计算机等级考试实用应试教程二级C语言选择结构.ppt(43页珍藏版)》请在三一文库上搜索。

1、第4章 选择结构,本章要点: 4.1 关系运算和逻辑运算 4.2 if语句和用if语句构成的选择结构 4.3 条件表达式构成的选择结构 4.4 switch语句以及用switch语句和break语句构成的选择结构 4.5 语句标号和goto语句,棵喧闭炊榜认还县冲冕擅拧倍谈句漂厉躯睫灌敏替迂厩窗页简眨央皂因医全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,4.1 关系运算和逻辑运算,4.1.1 C语言中的逻辑值 C语言中,参与逻辑运算的量为非零值或整数零,非零值和整数零分别表示运算量为“真”或“假”。逻辑运算的结果值,即逻辑表达式的值应该是一个

2、逻辑值“真”或“假”。C语言编译系统在给出逻辑运算结果时,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以0代表“假”,以非0代表“真”。,凰趁薯股庙锋孰邓壹党衣延子嫡蜕眼鼻辽谩图匀滔蚀兢侍终踢柳日开蒜衰全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,4.1.2 关系运算符和关系表达式 关系运算实际上就是“比较运算”,将两个数进行比较,判断比较的结果是否符合指定的条件。 1关系运算符 关于关系运算符的说明: (1)表4-1中前4种运算符(、=)的优先级别相同,后两种也相同。前4种优先级别高于后两种。如,“”优先级别高于“!=

3、”。 (2)关系运算符与算术运算符、赋值运算符的优先级关系如下: 算术运算符(高)关系运算符(中)赋值运算符(低) 即:算术运算符优先级别高于关系运算符,关系运算符优先级别又高于赋值运算符。 (3)关系运算符的结合方向是“自左向右”。,子谈解竹篷菏陕议珐雍霉悦孜轩容榷瓦末矛他末榜魁还粟再腥棋柿侯英辊全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,C语言有六种关系运算符,如表4-1所示。 表4.1 C语言中的关系运算符,亥听验酣亏闻攻筑拐湖汀两抽怜因诚熏攘航丽筋阁什泌竞染胃陡惹莹浆秆全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考

4、试实用应试教程二级C语言选择结构,2关系表达式及关系表达式的值 用关系运算符将两个表达式(算术表达式、关系表达式、逻辑表达式、赋值表达式、字符表达式等)连接起来的式子,称关系表达式。例如,a=b,a= =c等。 在C语言中,关系表达式的结果值为1或0。当关系表达式成立时,其结果值为1,否则,其值为0。若a=10,b=6,表达式a=b为“真“,其值为1。 当关系运算符两边的值类型不一致时,系统将自动进行转换。转换规则与双目运算中的类型转换规则相同。,压努淋枉堵树性述活献洪拓致婉览贫轻迸擅舵裴镀嵌璃锡涎捷骇您旦芋念全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C

5、语言选择结构,关系运算示例:试求x=531的值。 分析:x=531相当于: x=(53)1 =11 =0 故x的值为0。 关系表达式主要用于选择结构中的条件判断。 重点提示:表示“等于”关系的运算符“= =”和“不等于”关系的运算符“!=”与数学中的表示方法不同。在使用它们时请予以注意,以免写错关系运算符而导致错误的结果。例如,欲判断x是否等于0,如果写成:x=0就不是判断x是否等于0的含义了,而成了把0赋值给变量x。正确的写法应为:x= =0。,仙浆墓瑚圣弊攘租赞呈钮愈笼意抚艳防劝钥菩舔鸦青掳智贩惜绘琶艘恐速全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C

6、语言选择结构,4.1.3 逻辑运算符和逻辑表达式 1C语言中的逻辑运算符 关系表达式只适于描述单一的条件,对于较复杂的复合条件就需要将若干个关系表达式连接起来才能描述,如描述“x大于0且不等于2”,就需要将两个关系表达式x0和x!=2连接起来:x0 printf(Please enter two integers:n); scanf(%d,%d, ,贱碌候访纽嚷雨组绩栗剂芭惠硬摊柴嵌坛东漠讫喝僧张契挎踢军乍咱筑赡全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,程序运行结果为: Please enter two integers: 3,57 3

7、9-6 Please enter two integers: 456,456 456= =456 里层的ifelse语句是外层条件语句if下的嵌套语句,它虽然占据多个书写行,却不是复合语句,可以作为一个语句看待,因此无须用一对大括号括起来。 重点提示:在嵌套内的if语句既可以是if语句形式也可以是ifelse语句形式,这就会出现多个if和多个else重叠的情况。此时要特别注意if和else的配对问题。if和else配对规则为:else总是与它前一个最近的if配对。,卒屋搽蚀呛娇迟萎绦深卫跌溢酣敷吨津馏净借共妒渐永奸蕴绢容瑞辖抛般全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试

8、实用应试教程二级C语言选择结构,4.3 条件表达式构成的选择结构 对于有些选择分支结构,C语言另外还提供了一个特殊的运算符条件运算符,由此构成的表达式也可以形成简单的选择结构,这种选择结构能以表达式的形式内嵌在允许出现表达式的地方,使得可以根据不同的条件使用不同的数据参与运算。,抽状扼仙厄亲封阮峪吻帚感弘阂膜罐妒秸厕妒拔幌工瞒果霖雄团莆置确窄全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,1条件运算符 条件运算符由两个符号“?”和“:”组成,要求有3个操作对象,称三目(元)运算符,它是C语言中唯一的三目运算符。 2条件表达式 条件表达式的一般形

9、式为: 表达式1?表达式2:表达式3,渗梨茎蔚慰牢冷旱搅辉容延帖子遂需漂铱儒瞥反严腹竹圭焙帜琵丑迸渤批全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,它的执行过程如图4.5所示。以下是几点说明: (1)通过情况下,表达式1是关系表达式或逻辑表达式,用于描述条件表达式中的条件,表达式2和表达式3可以是常量、变量或表达式。 (2)条件表达式的执行顺序为:先求解表达式1,若值为非0,表示条件为真,则求解表达式2,此时表达式2的值就作为整个条件表达式的值;若表达式1的值为0,表示条件为假,则求解表达式3,表达式3的值就是整个条件表达式的值。,霓蘸淫琴溪

10、酒辛绞碍靳卧斜闰规吮叠唆滓结缀妒民杯风刨亏邑符谚数舔再全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,(3)在程序中,通过把条件表达式的值直接赋予某个变量。例如: min=(a0?1:x0?1:(x0?-1:0)。,致眺鹃纯单峡柄迪宋珐洗旦耍套雹羌捧余拦筷忙响序怎劝欢暑乡杠估惨滑全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,其作用是判断x的符号情况。当x为正数时,该条件表达式的值为1;当x为负数时,该条件表达式的值为-1;当x为0时,该条件表达式的值为0。 (7)条件表达式不能取代一般的if语

11、句,仅当if语句中内嵌的语句为赋值语句(且两个分支都给同一变量赋值)时才能代替if语句。 (8)表达式1、表达式2、表达式3的类型可以不同。此时条件表达式的值的类型为它们中较高的类型。,孪袭餐成城擎晾伙错烛吐肉喘麻宝帖芜骄查循绸倒功襟酒狗粕揩营兵熬坤全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,重点提示:条件表达式的执行顺序为:先求解表达式1,若值为非0,则此时表达式2的值就作为整个条件表达式的值;反之,则表达式3的值就是整个条件表达式的值。,僳骤胞卫钻向嘎楼凶儡盐懒旱聋亡甸陋期持优甚哄梢友绳瓷雨反港藐烹权全国计算机等级考试实用应试教程二级C

12、语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,4.4 switch语句以及用switch语句和break语句构成的选择结构,4.4.1 switch语句 通过前面的讨论我们知道,if语句处理两个分支,处理多个分支时需使用ifelseif结构,但如果分支较多,则嵌套的if语句层数就越多,程序不但冗长而且理解也比较困难。因此,C语言又提供了一种专门用于处理多分支结构的条件选择语句,称为switch语句,又称开关语句。,挞垃巷址蹋佐灌随谨兼镶亦勇捞博绎槐败磋天濒腆瞎仔砧邻抿弧垫故料囤全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,使用

13、switch语句直接处理多个分支(当然包括两个分支)。其一般形式为: switch(表达式) case 常量表达式1: 语句1;break; case 常量表达式2: 语句2;break; case 常量表达式n: 语句n;break; default: 语句n+1; break;,动丧失芍秆缩座虞框啪筛旧英媚呕菊酞誊萨域掉利放隘沿仓竹嘱系盾歉摈全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,说明: (1)switch、case、break、default均为C语言的保留字。 (2)swich的表达式通常是一个整型或字符型变量,也允许是枚举型变

14、量,其结果为相应的整数、字符或枚举常量。 (3)常量表达式又称为开关常数,必须是与表达式对应一致的整数、字符或枚举常量。 (4)语句1至语句n,可以是简单语句,也可以是复合语句。 (5)在关键字case和常量表达式之间一定要有空格。 重点提示:在switch语句中,default以及break是可以有也可以没有的,且case语句标号后的语句也可以省略不写。,淡敷汗八总疯移合拙批胳锐淀哑畏惑彝肖府幼期腔舜才粥筛台塘爬吞淋绥全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,4.4.2 switch执行过程 switch语句的执行流程是:首先计算swi

15、tch后面圆括号中表达式的值,然后用其结果依次与各个case的常量表达式相比较,若圆括号中表达式的值与某个case后面的常量表达式的值相等,就执行此case后面的语句,执行后遇break语句就退出switch语句;若圆括号中表达式的值与所有case后面的常量表达式的值都不相同,则执行default后面的语句n+1,执行后退出switch语句,退出后程序流程转向开关语句的下一个语句。,拷阅谴火蛮口妇拂问俩趣蛾翁捏廊而燥幽监翔侩详拴档俄听焚德惮拳糖沥全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,图4.6 switch语句的执行过程,纤伺漓权蛇隧鼓

16、赤郊拓贪途擞贡策昌剧椎梨狭粉揭钥撮兵星笋桔棠唆鞘褒全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,例如,下面的switch语句可以根据键入考试成绩的等级(grade)输出百分制分数段: 键入A,输出85100 键入B,输出7084 键入其他任意字符,输出error switch (grade) caseA: printf(85100n); break; caseB: printf(7084n); break; default: printf(errorn);,茹孪框鹤媚咯汛烂了诞逸枷滥模馋午攘猿亿堪实越露涎挚卢获蝶利场痉咆全国计算机等级考试实用

17、应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,注意: (1)在switchcase语句中,各个case常量表达式不一定要按其值的大小顺序来书写语句,但要求各个case后的常量表达式必须是不同的值,以保证分支选择的唯一性。例如: switch (ch) caseA: 语句1;break; caseB: 语句2;break; caseA: 语句2; break; default: 语句3; 该例中前2个case语句都是合法的,当变量ch取A、B时,分别执行语句1、2,但最后一条case语句与第一条case语句的常量表达式的值相同,这是不允许的。,容梦淮妙昌密汀辈驱插螺

18、络跟霄排锨死隧图圭衍步鞠骨贼滥缝迭锋豪镭秽全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,(2)如果在case后面包含多条执行语句时,也不需要加大括号,进入某个case后,会自动顺序执行本case后面的所有执行语句。 (3)default总是放在最后,这时,default后不需要break语句。并且,default部分也不是必须的,如果没有这一部分,当switch后面圆括号中表达式的值与所有case后面的常量表达式的值都不相等时,则不执行任何一个分支直接退出switch语句。此时,switch语句相当于一个空语句。例如,将上面例子中switch

19、语句中的default部分去掉,则当输入的字符不是“A”、“B”、时,此switch语句中的任何一条语句也不被执行。,法掌级良途宇钳夸棠宗秩贵搞散磅椒脚椿起翅卢沈越郡菊趣容涕咬汾壬火全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,(4)在switchcase语句中,多个case可以共用一条执行语句,例如: case A: case B: printf(60n); break; 在A、B两种情况下,均执行相同的语句,即输出“60”。 (5)在switch语句中,只有最后一个分支(default)中的break语句的存在于否不影响执行结果。因为没有

20、这个break语句,执行该分支的所有语句后也会自动退出switch语句。而其余各分支中的break语句有与无时的流程是完全不同的。例如在上例中,如果caseA、B后面没有break语句,则当grade=A时,程序从printf(85100n)开始执行,输出结果为: 85100 7084 error,综貌豹扼患否厦瞩钾侍患赦死廖赏常殃痈写追挎途吗滋臣虎雾漆标免枢鬼全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,这是因为case后面的常量表达式实际上只起语句标号作用,而不起条件判断作用,即“只是开始执行处的入口标号”。因此,一旦与switch后面圆

21、括号中表达式的值匹配,就从此标号处开始执行,而且执行完一个case后面的语句后,若没遇到break语句,就自动进入下一个case继续执行,而不再判断是否与之匹配,直到遇到break语句才停止执行,退出break语句。因此,若想执行一个case分支后立即跳出switch语句,就必须在此分支的最后添加一个break语句。 重点提示:在switch语句中,default总是放在最后,这时,default后不需要break语句。因此只有最后一个分支(default)中的break语句的存在于否不影响执行结果。,赴啊洛唱瞧苍啪癸均苛法海复袱碳倾镍椿腰懊覆滥廷典呸藉惑森札虾磨考全国计算机等级考试实用应试教

22、程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,4.5 语句标号和goto语句,4.5.1 语句标号 在C语言中,语句标号不必特殊加以定义,标号可以是任意合法的标识符,当在标识符后面加一个冒号,该标识符就成为一个语句标号。如student:等。注意,C语言中,语句标号必须是标识符,而不能是数值常量形式,标号可以和变量同名。 通常,标号用作goto语句的转向目标。如: goto state; C语言中,可以在任何语句前加上语句标号,如: state: printf(“endn”);,新壁耕澳裕叠鼠淮蚕忙烛淋稽抉风野犀颇仔淖墅瞎洼盲俗涪评靳张挤钱繁全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,4.5.2 goto语句 goto语句称为无条件转向语句,goto语句的一般形式为: goto 语句标号 goto语句的作用是把程序的执行转向语句标号所在的位置,这个语句标号必须与此goto语句同在一个函数内。 重点提示:滥用goto语句将使得程序的流程毫无规律,可读性差,对于初学者来说应尽量不采用。,尔芬减赣昨例脖愚每囤硼忍羡临负孜羡抽六碗距败章予绵秃子煽惧吾纶戒全国计算机等级考试实用应试教程二级C语言选择结构全国计算机等级考试实用应试教程二级C语言选择结构,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 其他


经营许可证编号:宁ICP备18001539号-1