C语言第四讲 程序的控制结构
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验五程序的控制结构
实验目的
(1)理解程序的控制结构
(2)掌握if语句实现选择结构
(3)掌握函数中的if与return语句
(4)掌握计数型循环结构的构建
(5)掌握while语句和for语句
实验内容
任务一:改错分段函数的计算
1.打开程序文件error1-8.cpp。
#include
int main(void)
{
double x,
printf("Enter x: \n");
scanf("=%f", x);
if(x = 10){
y = 1 / x
}
else (x != 10){
y = x;
}
printf("f(%.2f) = %.lf\n" x y);
return 0;
}
2. 程序的功能是输入x,如果x等于10,y等于1/x,否则y等于x。请根据VC2012的错误信息改正错误,使程序可以运行。
3. 测试运行结果
⏹Enter x:10
⏹f(10.00)=0.1
⏹Enter x:0.23
⏹f(0.23)=0.2
任务二:改错两数排序
1.打开程序文件error1-9.cpp。
#include
int main(void)
{
double a,b,c;
printf("Enter a,b: \n");
scanf("%lf,%lf", a,b);
if(a>b)
c=a;a=b;b=c;
printf("a= %lf,b=%lf\n" a,b);
return 0;
}
2. 程序的功能是输入两数到变量a,b,比较a、b,使a中存放较小数,b中存放较大数。请根据VC6的compile和link错误信息改正错误,使程序可以运行。
3. 测试运行结果
⏹Enter a,b:24.5,14.5
⏹a=14.5 b=24.5
任务三:改错输出温度转化表
1.打开程序文件error1-10.cpp
#include
int main(void)
{
int fahr , lower, upper; /* fahr表示华氏度*/
double celsius; /* celsius表示摄氏度*/
lower = 30; /* 变量lower 给定转换范围的下限*/
upper = 35; /* 变量upper 给定转换范围的上限*/
printf("fahr celsius\n"); /* 显示表头*/
/* 温度转换*/
for (fahr = lower , fahr <= upper, fahr ++) ;
celsius = 5 /9 * (fahr - 32.0);
printf("%3.0f %6.1f\n", fahr, celsius);
return 0;
}
2. 程序的功能是输出30-35度的华氏温度与摄氏温度的对应表。请根据VC2012的错误信息改正错误,使程序可以运行。
任务四:求个人所得税
从2011年9月起,个人所得税将按新规定计算,请调查学习个人所得税新规,编写计算个人所得税的函数,并在main函数中提供合理的用户界面,方便用户计算个人所得税。
问题分析
输入:
输出:
问题解决的方法:
设计算法
1.
2.
3.
编码:ex4_1.cpp
数据类型的确定:
源程序清单:
测试
1. 测试数据设计:
输入:
输出:
2. 运行过程记录:(截图)
任务五:求三个数中较大者ex4_2.cpp
打开程序ex4_2.cpp,该程序的功能是求两个数中较大值,改写程序,使用不同的方法,输入a,b,c 三个值,输出其中最大者。注意:不需要改变max的代码。
1.方法一:在main函数中调用子函数int max(int x, int y) 完成3个数的比较。(ex4_2_1.cpp)。源程序清单:
2. 方法二:增加一个函数int getMaxOfabc(int x,int y,int z),调用子函数int max(int x, int y) 完成3个数的比较,返回最大值。在main函数中调用函数getMaxOfabc完成3个数的比较。(ex4_2_2.cpp)
源程序清单:
3. 测试用例设计:
任务六:编程求x的n次方ex4_3.cpp
打开程序文件ex4_3.cpp,程序的功能是求x的n次方,要求自定义函数power求x的n次方,并在main函数中进行验证。
#include
//函数声明
int main()
{int n;
double x,result;
//输入x和n
printf("x=");scanf("%lf",&x);
printf("n=");scanf("%d",&n);
//调用power函数计算x的n次方
//输出结果
printf("%f 的%d次方为%f\n",x,n,result);
return 0;
}
double power(double x,int n)
{
}
测试用例设计:
任务七:编程求累加和ex4_4.cpp
编写一个函数,传入参数a和n,求累加和a+aa+aaa+aaaa+….+a……aa。在main函数中设计恰当的IPO结构验证所编写的函数。
源程序清单:
测试用例设计: