《C语言程序设计》课程辅导(五)

上传人:壹****1 文档编号:491935161 上传时间:2022-11-04 格式:DOC 页数:4 大小:507.01KB
返回 下载 相关 举报
《C语言程序设计》课程辅导(五)_第1页
第1页 / 共4页
《C语言程序设计》课程辅导(五)_第2页
第2页 / 共4页
《C语言程序设计》课程辅导(五)_第3页
第3页 / 共4页
《C语言程序设计》课程辅导(五)_第4页
第4页 / 共4页
亲,该文档总共4页,全部预览完了,如果喜欢就下载吧!
资源描述

《《C语言程序设计》课程辅导(五)》由会员分享,可在线阅读,更多相关《《C语言程序设计》课程辅导(五)(4页珍藏版)》请在金锄头文库上搜索。

1、C+语言程序设计课程辅导(五)-分支语句辅导 中央电大 徐孝凯 一、if语句 1. 语句格式 if语句又称条件语句,其语句格式为: if () else if语句是一种结构性语句,因为它又包含有语句,即和可选择的,这两条语句称为if语句的子句。 在if语句格式中,其后的保留字else和是任选项,带与不带都是允许的。 if语句中的每个子句可以是任何可执行语句或空语句,可执行语句包括表达式语句、复合语句、以及任一种流程控制语句等。 2. 语句执行过程 if语句的执行过程为: (1) 求的值,若它的值非0,则表明(又称为条件)为真或成立,否则认为条件为假或不成立; (2) 当条件为真则执行;若为假则

2、执行,但若else部分被省略,则不会执行任何操作。 执行if语句的过程可用图1-1描述,其中菱形框表示判断,矩形框表示处理,带箭头的连线表示执行走向。图3-1(a)和(b)分别表示省略和带有else部分的具体执行流程。 图1-1 if语句执行流程示意图 3. 语句格式举例 (1) if(x!=-1) c+; (2) if(x=a) s1+=x; else s2+=x; (3) if(fabs(x)=60 & grade=100) cout”pass”endl; (5) if(grade100) cout”Score error!”b) coutb”endl; else cout”a=b”end

3、l; (7) if(x*x+y*y=z*z) c+; w=x+y+z; (8) if(x) y=3*x-1; z=sqrt(fabs(x)+2; else y=6; z=y*pow(y,4)-3; 在以上列举的语句中,作为判断条件的表达式有的为单个变量,有的为关系表达式,有的为逻辑表达式,作为子句的语句1或语句2有的为简单语句,有的为复合语句。每条语句的执行过程一目了然,如执行第一条语句时,若x不等于-1成立,则执行c+操作,否则不执行任何操作;执行第二条语句时,若x小于等于a成立,则执行s1+=x操作,否则执行s2+=x操作;执行第八条语句时,若x不为0,则执行格式中所对应的复合语句,否则执

4、行所对应的复合语句。 4. 语句嵌套 if语句中的任何一个子句可以为任何可执行语句,当然仍可以是一条if语句,此种情况称为if语句的嵌套。当出现if语句嵌套时,不管书写格式如何,else都将与它前面最靠近的if相配对,构成一条完整的if语句。如: (1) if() if() else (2) if() if() else (3) if() else if() else (4) if() else if() else if() else 注意:在第二条语句中,else不是同它前面复合语句中的if相配对,而是与处于同一层次的最前面的if相配对。 二、switch语句 1. 语句格式 switch语

5、句又称情况语句或开关语句,它也是一种结构性语句,其语句格式为: switch () 该语句中所包含的通常是一条复合语句,并在内部的一些语句前加有特殊的语句标号“case :”或“default:”,因此,switch语句的实际使用格式为: switch() case : M case : M M default: M 该语句中可以使用一次或多次case标号,但只能使用一次default标号,或者省略掉整个default部分。另外,多个case标号也允许使用在同一条语句的前面。 注意:语句标号只起到标识语句位置的作用,对语句的执行不会产生任何影响。 2. 语句执行过程 switch语句的执行过程

6、为: (1) 计算出的值,假定为M,若它不是整型,系统将自动舍去其小数部分,只取其整数部分作为结果值; (2) 依次计算出每个常量表达式的值,假定它们的值依次为M1,M2,L,同样若它们的值不是整型,则自动转换为整型; (3) 让M依次同M1,M2,L 进行比较,一旦遇到M与某个值相等,则就从对应标号的语句开始向下执行,若没有碰到跳转类语句的话,将一直执行到右花括号为止才结束整个switch语句的执行,若M与所有值都不同,则当带有default部分时,就从该标号位置起向下执行,否则不执行任何操作。 执行switch语句的过程可用图1-2加以描述。 图1-2 switch语句执行流程 在实际使用

7、switch语句时,通常要求当执行完某个语句标号后的一组语句后,就结束整个语句的执行,而不让它继续执行下一个语句标号后面的语句序列,为此,可通过使用跳转类语句中的break语句来实现。该语句只有保留字break,而没有其他任何成分。在switch语句中执行到break时,将跳转到所属的switch语句的后面位置,系统将接着向下执行其他语句。 3. 语句格式举例 (1) switch(a) case 1: c1+; break; case 2: c2+; break; case 3: c3+; break; case 4: c4+; break; default: c+; break; (2)

8、switch(cr) case red: cout“red”endl; break; case yellow: cout“yellow”endl; break; case blue: cout“blue”endl; break; (3) switch(ch) case a: case A: d1=(x+y)/2; d2=x*y-2; break; case b: case B: d1=(a+b)/2; d2=a*b-2; break; default: cout“Input error!”endl; exit(1); 第一条语句执行时,将按照a的取值使相应的变量增1,具体地说,当a取1时c1增

9、1,a取2时c2增1,a取3时c3增1,取4时c4增1,a取其他任何值时则使变量c增1,每执行增1操作后,都接着执行一条break语句,使执行流程转出整个switch语句,否则将会顺序执行后面的增1语句。 执行第二条语句时,将按照具有枚举类型color的变量cr的值决定输出哪一个常量标识符,当ch取值为red(即0)时输出red标识符,取值为yellow(即1)时输出yellow标识符,取值为blue(即2)时输出blue标识符。输出最后一个常量标识符虽然没有使用break语句转出去,但由于它后面就是语句结束标志,即右花括号,所以也会自然地结束该语句。 当执行第三条语句时,若ch值为小写字母a或大写字母A,则执行35行的语句,若ch值为小写字母b或大写字母B,则执行79行的语句,若ch不是上述取值,则执行1011行后结束整个程序的运行。 在switch语句所含的复合语句中,可以包含任何语句,当然仍可以是switch语句,所以switch语句也允许出现嵌套的情况。

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 建筑/环境 > 建筑资料

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号