第3章 结构化程序设计12-07(2)

2019-04-10 09:39

博学谷——让IT教学更简单,让IT学习更有效

条件的值为非0,按“真”处理,执行{}中的语句。if语句的执行流程如图3-6所示。

开始 判断条件真执行语句假结束

图3-6 if语句流程图

接下来用if语句来比较两个数的大小,求出较大的值,如例3-2所示。 例3-2

1 #include 2 void main() 3 { 4 5 6 7 8 9 }

int x = 11, y = 22; int max = x; if (x < y)

max = y;

printf(\

运行结果如图3-7所示。

图3-7 运行结果

例3-2定义了两个变量x,y的值,并且定义最大值标识max,将x的值赋给max。然后判断x

2、if…else语句——双分支结构

if…else语句是指如果满足某种条件,就进行相应的处理,否则就进行另一种处理。例如,要判断一个正整数的奇偶,如果该数字能被2整除则是一个偶数,否则该数字就是一个奇数。if…else语句的具体语法格式如下:

if (判断条件) {

执行语句1 } else {

执行语句2

6

……

博学谷——让IT教学更简单,让IT学习更有效

}

……

上述语法格式中,判断条件的值只能是0或非0,若判断条件的值为非0,按“真”处理,if后面{}中的执行语句1会被执行,若判断条件的值为0,按“假”处理,else后面{}中的执行语句2会被执行。if…else语句的执行流程如图3-8所示。

开始判断条件真执行语句 1假执行语句 2结束

图3-8 if…else语句流程图

例3-2实现了两个数值比较大小,那么现在用if…else实现图3-2所描述的流程,三个数比较大小,求出最小值。如例3-3所示。

例3-3

1 #include 2 void main() 3 { 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 }

int x = 10, y = 20, z = 30; if (x > y) { } else { }

if (x > z)

printf(\最小值是%d\\n\else

printf(\最小值是%d\\n\if (y > z)

printf(\最小值是%d\\n\printf(\最小值是%d\\n\else

运行结果如图3-9所示。

7

博学谷——让IT教学更简单,让IT学习更有效

图3-9 运行结果

如图3-9所示,运行结果为10。通过if…else条件判断,求出了三个数中的最小值。 3、if…else if…else语句——多分支结构

if…else if…else语句用于对多个条件进行判断,从而进行多种不同的处理。例如,对一个学生的考试成绩进行等级的划分,如果分数大于等于80分等级为优,如果分数小于80分大于等于70分等级为良,如果分数小于70分大于等于60分等级为中,否则,等级为差。if…else if…else语句的具体语法格式如下:

if (判断条件1) { }

else if (判断条件2) { } ……

else if (判断条件n) { } else { }

执行语句n+1 执行语句n 执行语句2 执行语句1

上述语法格式中,判断条件的值只能是0或非0。若判断条件的值为非0,按“真”处理,if后面{}中的执行语句1会被执行,若判断条件的值为0,按“假”处理,继续执行判断条件2,如果判断条件2的值为非0,则执行语句2,以此类推,如果所有判断条件的值都为0,意味着所有条件都不满足,else后面{}中的执行语句n+1会被执行。if…else if…else语句的执行流程如图3-10所示。

开始真判断条件1假判断条件2假判断条件3真执行语句3真执行语句2执行语句1假??真判断条件n假执行语句n+1执行语句n结束

8

博学谷——让IT教学更简单,让IT学习更有效

图3-10 if…else if…else语句的流程图

接下来用if…else if…else语句对学生考试成绩进行等级划分,如例3-4所示。 例3-4

1 #include 2 void main() 3 { 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 }

int grade = 75; //定义学生成绩 if (grade >= 80) { }

else if (grade >= 70) { }

else if (grade >= 60) { } else { }

//不满足条件 grade >= 60 printf(\该成绩的等级为差\\n\

//不满足条件 grade >= 70 ,但满足条件 grade >= 60 printf(\该成绩的等级为中\\n\

//不满足条件 grade >= 80 ,但满足条件 grade >= 70 printf(\该成绩的等级为良\\n\//满足条件 grade >=80

printf(\该成绩的等级为优\\n\

运行结果如图3-11所示。

图3-11 运行结果

例3-4中,定义了学生成绩grade为75,由于它不满足第一个判断条件grade>=80,会执行第二个判断条件grade>=70,条件成立,因此会打印“该成绩的等级为良”。

3.4.2 if语句的嵌套

在一个if语句中还可以包含一个或多个if语句,这称为if语句的嵌套。其一般形式可表示如下:

if (判断条件1) {

if (判断条件2) {

执行语句1

9

博学谷——让IT教学更简单,让IT学习更有效

} else { }

if (判断条件3) { } else { }

执行语句4 执行语句3 } else { }

执行语句2

或者

if (判断条件1) { }

if (判断条件2) { }

else if (判断条件3) { } else { }

执行语句3 执行语句2 执行语句1

在上述语法格式中,需要注意的是,嵌套内的if语句可能又是if-else类型的,这将会出现多个if和else重叠的情况,为避免歧义,C语言规定,else总是与它前面最近的没有配对的if语句配对。

if语句嵌套的流程图如图3-12所示。

10


第3章 结构化程序设计12-07(2).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:村镇银行发展现状存在问题及对策

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: