-
1 文字讲解
-
2 视频讲解
-
3 过关测试
前面所介绍的if语句允许用户选择是否执行某一操作,if … else 语句允许用户在两个操中选择其一执行。不过,在实际运用中可能存在两种以上的选择,把 if … else 语句稍加扩展就能满足要求。
多分支语句格式∶
if(表达式1)
语句1;
else if(表达式2)
语句2;
else if(表达式3)
语句3;
else
语句4;
使用这种形式可以有几种不同的选择,其执行过程如图3-6所示。

例3-3 有一个函数

编写程序,输入x,输出y值。
1、程序编写思路分析:①正确理解程序所需完成的功能,②算法分析,③画出程序流程流,④书写源程序,⑤测试源程序。
2、算法分析:对于数据x,取值范围为实数空间,可为单精度或双精度类型。将x划分为三部份:① x<1 , ② 1<=x<10, ③ x>=10,每一部分进行不同处理,这种情况采用多分支if语句。
对于一种数据,分为多种情况,每种情况都做出相应的处理,这类型问题可选用单入口多出口if语句。
3、程序流程图如下图所示:

4、源程序如下:
参考一:
#include <stdio.h>
#include <conio.h>
main( )
{ float x, y;
printf("请输入x的值∶");
scanf("%f", &x);
if( x < 1 )
y = x;
else if( x < 10 )
y = 2 * x - 1;
else
y = 3 * x-10;
printf("y=%.2f\n", y);
getch( );
}
参考二:
#include <stdio.h>
#include <conio.h>
main( )
{
float x, y;
scanf("%f",&x);
if(x>=10)
y=3*x-10;
else if(x>=1)
y=2*x-1;
else
y=x;
printf("%.2f", y);
}
5、程序测试:
测试程序运行是否正确,采用三组不同区间的数据进行测试。① x<1 , ② 1<=x<10, ③ x>=10
第一组(x<1)数据:选用数据样例为0.5,可以多选几个样例数据。
运行程行,结果如下,表明程序运行符合预期结果。

第二组(1<=x<10)数据:选用数据样例为7,可以多选几个样例数据。
运行程行,结果如下,表明程序运行符合预期结果。

第三组( x>=10)数据:选用数据样例为10,可以多选几个样例数据。
运行程行,结果如下,表明程序运行符合预期结果。

经过三次数据测试,都能得到正确结果,表示程序没有语义错误。


