内容正文:
编程语言基础——C语言
3.2 条件语句(if语句)
第3章 分支结构程序设计
高等教育出版社
教学目标
一
理解条件语句的概念、格式和功能。
1
2
通过对if嵌套语句的学习,理解选择结构程序的基本思路。
3
能够运用if语句编写简单的选择结构程序。
教学重难点
二
掌握if 语句的两种基本形式。
1
2
数量运用if语句编写简单的选择结构程序解决实际应用问题。
导入新课
三
某商场为了促销,采取购物打折的优惠办法,每位顾客一次购物在1000元及以上者,按九五折优惠,用计算机解决这个问题,该如何设计程序语言呢?
导入新课
三
(1)在上面的问题中,设计程序语言可以运用 ______语句解决。
(2)条件语句与程序框图中的____________相对应。
条件
条件结构
if语句通常被称为选择语句或分支语句。它不再局限于顺序结构的单一流程,而是用来对给定条件进行判定,根据其判定结果,从两种操作中选择其一。if语句用于实现分支结构,C语言提供了两种形式的if语句。
新知讲授
四
if语句可以根据给定的条件进行判断,决定执行某个分支程序段,以实现选择结构的程序设计。
if语句
3.2.1
1. if语句的一般形式
if(表达式) 语句1
表达式可以是任何类型的C表达式
说明:
执行if语句时,先对“表达式”进行求值,如果计算结果为非0(为真),则执行其后的“语句”,否则跳过其后的“语句”。
“表达式”可以为任何类型的表达式。看下面的例子。
算术表达式-3+’D’ 值65 结果为“真”
赋值表达式a=0 值0 结果为“假”
赋值表达式a=5 值5 结果为“真”
if语句
3.2.1
③“语句”可以是一条简单语句,也可以是用花括号将几条语句括起来的一个符合语句。看下面的例子。
if(x<y)
x=x+1; //简单语句
if(x<y)
{ x=x+1;
y=y+1;
} //复合语句
if语句
3.2.1
注意:
用“{}”括起来的复合语句被看成是一条语句。
在编写程序时,经常会出现这样的错误,将“if(a==b)”写出”if(a=b)“,由于表达式”(a==b)”与“(a=b)”均是正确的表达式,因此程序编译时不会指出错误。这样的错误在程序调试中很难被发现,所以应该特别注意。
if语句
3.2.1
例3-1 输入一个成绩score,如果成绩大于等于60,则显示“通过!”否则不显示。
程序如下:
#include <stdio.h>
main()
{ int score;
printf(“输入一个成绩:”);
scanf(“%d”,&score);
if(score﹥=60) printf(“通过!
”);
}
if语句
3.2.1
运行时,若输入65,则输出“通过!”;若输入56,则无输出,如图:
if语句
3.2.1
它的功能是:输入一个成绩后,对表达式“score﹥=”进行计算,如果结果值为真(非0),就执行printf()语句;否则,就跳过printf()语句,转而执行后续语句。
if …else语句的形式为:
if(表达式)
语句1;
else
语句2;
if……else 语句
3.2.2
执行过程如图所示:
如果“表达式”计算结果值为真,则执行语句1;否则执行语句2。其中,“语句1”和“语句2”部分可以是简单语句或复合语句。关于书写风格,建议使用缩写格式,以便清楚地看出哪些语句的执行依赖于“表达式”的真假。
if……else 语句
3.2.2
注意:在if后面的“语句1”部分和else后面的“语句2”部分如果有几条语句,则应该用花括号“{}”将这几条语句括起来,成为一条复合语句。如:
if……else 语句
3.2.2
if(x﹥y)
printf(“较大者为:%d”,x); //if后面的“语句1”部分有两条语句
x=x+1;
else
printf(“较大者为:%d”,y);
应改为:
if(x﹥y)