内容正文:
YCF
(中职)计算机程序设计(C语言)第四章第2节教学课件工信版
1
第4章 选择结构程序设计
4.2 if语句
4.2 if语句
4.2.1单分支结构if语句
4.2.2双分支结构if…else…语句
4.2.3多分支结构 if…else if…语句
4.2.4 if语句的嵌套
4.2.1 单分支结构if语句
单分支结构if语句,即if语句中条件成立就执行相应的语句,否则不执行。
单分支结构if语句的特点:
该语句只有条件成立才执行,否则就什么也不做。
4.2.1 单分支结构if语句
1、单分支结构if语句执行流程如图4-2-1所示
2、单分支结构if语句的一般格式为:
if(表达式) 语句
3、单分支结构if语句的语法含义是:若表达式的值为非0(真),则执行语句;否则不执行该语句而直接执行下一条语句。
表达式
语句
真(非0)
假(0)
4.2.1 单分支结构if语句
【例4.1】 输入两个整数,要求比较其大小并将较大者输出。
#include <stdio.h>
void main()
{
int a,b,max; //定义整型变量
scanf("%d,%d",&a,&b);//接受用户键盘输入变量a,b的值
max=a; //赋值运算
if(max<b) //单分支条件语句
max=b;
printf("max=%d
",max);//输出运算结果
}
4.2.1 单分支结构if语句
程序说明:
(1)如果表达式(max<b)的值为真,则执行if语句的语句块,即“max=b;”语句,然后执行控制语句的后续语句;
(2)如果表达式的值为假,则不执行if语句控制
的语句块,而直接跳转执行控制语句的后续语句。
4.2.2 双分支结构if…else…语句
双分支结构if…else…语句,即if语句中条件成立,执行紧跟if条件之后的语句,否则执行紧跟else之后的语句。
双分支结构if…else…语句的特点:
无论条件是否成立,都会执行一条语句。
4.2.2 双分支结构if…else…语句
1、双分支结构的if语句,执行流程如图4-2-2所示
2、双分支结构的if语句的一般格式为:
if (表达式)
语句1
else
语句2
3、双分支结构的if语句的语法含义是:
如果表达式的值为非0(真),则执行语句1,否则执行语句2。
4.2.2 双分支结构if…else…语句
【例 4.2】 输入一个数,求该数的绝对值。
#include <stdio.h>
void main()
{
int x;
scanf("%d",&x);
if(x>=0)
printf("|x|=%d
",x);
else
printf("|x|=%d
",-x);
}
程序运行结果:
-5↙
|x|=5
4.2.2 双分支结构if…else…语句
程序说明:
(1)如果表达式的值为非0,即x>=0 成立,则执行
if所控制的语“printf("|x|=%d
",x);”,否则,执行else
语句所控制的语句“printf("|x|=%d
",-x);”。
4.2.3 多分支结构 if…else if…else语句
多分支结构 if…else if…else语句,即首先判断第一个表达式1,如果其值为真,则执行表达式1之后的语句,然后结束if语句;如果表达式1的值为假,则判断表达式2,如果其值为真,则执行 表达式2之后的语句,然后结束if语句;如果表达式2的值为假,再继续往下判断其他表达式的值;如果所有表达式的值都为假,则执行else之后的语句。
多分支结构 if…else if…else语句的特点:
有多个条件选择,从上至下逐个对条件进行判断,一旦发现某个表达式的值为非0就执行紧跟该表达式后面的语句,该语句执行完后跳过整个if结构,执行后续语句。
4.2.3 多分支结构 if…else if…else语句
1、多分支结构if语句执行流程如图4-2-3所示
表达式1
表达式2
表达式n
语句1
语句2
语句n
语句n+1
0
0
0
非0
非0
非0
非0
4.2.3 多分支结构 if…else if…else语句
2、多分支结构if语句的一般格式为:
if(表达式1)
语句1
else if(表达式2)
语句2
else if(表达式3)
语句3
……
else if(表达式n)
语句n
[else 语句 n+1]
4.2.3 多分支结构 if…else if…else语句
这种结构执行流程是从上至