第5章选择结构程序设计
第5章选择结构程序设计
5.1 if语句
5.2 switch语句
5.3 goto语句
5.4 程序设计举例
第5章选择结构程序设计
5.1 if语句
5.1.1 单分支if语句
格式: if (条件表达式)语句
功能: 先计算条件表达式的值, 如果条件表达式的
值为真(非0 ), 执行语句(选择体), 否则执行if语句
的下一条语句。
NS 图: 见图5 - 1 之(a) 。
第5章选择结构程序设计
图 5 - 1
第5章选择结构程序设计
例如:
(1) 如果x>0, 输出x 。
if (x>0 )printf (″x=%f ″, x );
(2) 如果a等于b, 输出″a=b ″。
if (a==b )printf (″%s ″, ″a=b ″);
第5章选择结构程序设计
说明:
(1) 条件表达式必须用小括号括起, 同时注意区分
作为条件的表达式与作为数值的表达式。
(2) if语句中要选择执行的语句称为选择体, 选择
体从语法上只能是一条语句, 如果选择体需多条语句
描述, 必须采用复合语句。
第5章选择结构程序设计
例如: 如果x>0, 求x 的平方根。
(1) 将结果放入变量y 中;
(2) 输出x 的平方根。
if (x>0 )
{y=sqrt (x );
printf (″平方根=%f ″, y );
}
(3) 不管选择体多么复杂, 包含多少条语句, if语句
逻辑上是一条语句, 后面的双分支if语句、多分支if语
句、switch语句、循环语句均是逻辑上的一条语句。
第5章选择结构程序设计
x 1
例5 – 1 计算y, y 。
x 1
提示: x等于1函数无定义。
程序如下:
/*程序5 - 1, 求函数值*/
main( )
{float x;
float y;
printf (″请输入x: ″);
scanf (″%f ″, &x );
if (x!=1 )
{y= (x+1 )/ (x -1 );
printf (″x=%6.2f, y=%6.2f\n ″, x, y );
}
}
输入数据: 1.2
运行结果: x= 1.20, y= 11.00
第5章选择结构程序设计
5.1.2 双分支if语句
格式: if (条件表达式)语句1 else 语句2
功能: 先计算条件表达式的值, 如果条件表达式的
值为真(非0 ), 执行语句1 (选择体1), 否则执行语句
2 (选择体2 ), if语句执行完后执行if 语句的下条语句。
NS 图: 见图5 - 1之(b)