实验2用C语言编写简单程序
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
实验2 用C 语言编写简单程序
2.1 基本数据处理 【实验目的】
1.掌握算术表达式和赋值表达式的使用。
2.掌握基本输出函数的使用。
3.能够编程实现简单的数据处理。
4.掌握简单C 程序的查错方法。 【实验内容】 1.调试示例
改正下列程序中的错误,求华氏温度100o F 对应的摄氏温度。计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度。(源程序error02_1.c)
()9
325-⨯=
f c
源程序(有错误的程序) #include
int celsius; fahr; fahr =100;
celsius =5*(fahr -32) /9;
printf("fahr =d, celsius =%d\n ", fahr, celsius); return 0; }
运行结果(改正后程序的运行结果) fahr =100, celsius =37
(1)使用Guide 打开源程序error02_1.c (如图2.1所示)。 (2)使用工具栏按钮进行程序的编译和运行。工具栏按钮中,表
示编译,
表示停止编译,
表示运行,
表示停止运行。
图2.1 Guide打开文件界面
(3)单击编译按钮,编译时出现的第一条错误信息是:
error02_1.c:1:20: stdoi.h : No such file or directory
双击该错误信息,光标指向源程序第一行,错误信息指出不能打开”stdoi.h”文件,因为”stdio.h”被误写为”stdoi.h”。改正为”stdio.h”后,重新编译,新产生的第一条错误信息是:
error02_1.c:4: error: `fahr' undeclared (first use in this function) 双击该错误信息,光标指向源程序第四行,错误信息指出”fahr”变量没有被定义。仔细观察后,反省”fahr”前的分号应该为逗号。将”fahr”前的分号改为逗号后,重新编译,编译正确。
(4) 单击编译按钮,编译正确。
(5) 单击运行按钮,运行结果为:
fahr =d, celsius =37
结果不符合题目的要求,仔细检查源程序,发现函数printf中的”fahr =d”的”d”应为”%d”。改正后,重新编译和运行,运行结果与题目要求的结果一致。
2.编程题
求华氏温度150oF对应的摄氏温度。计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度。
输入输出示例
fahr =150, celsius =66
3.编程题
求摄氏温度26℃对应的华氏温度。计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度
。
输入输出示例
celsius =26, fahr =78
4.编程题
已知某位学生的数学、英语和计算机课程的成绩分别是87 分、72 分和93 分,求该生3 门课程的平均分。
输入输出示例
math =87, eng =72, comp =93, average =84
5.编程题
当n 为152 时,分别求出n 的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。
输入输出示例
整数152 的个位数字是2,十位数字是5,百位数字是1
提示:n 的个位数字digit1 的值是n%10,十位数字digit2 的值是(n /10)%10,百位数字digit3的值是n /100。
思考:如果n 是一个四位数,如何求出它的每一位数字?
6.改错题
改正下列程序中的错误,计算某个数x 的平方y,并分别以“y =x*x”和“x*x =y”的形式输出x 和y 的值。请不要删除源程序中的任何注释。(源程序error02_2.cpp)
输入输出示例(假设x 的值为3)
9 =3*3
3*3 =9
源程序(有错误的程序)
#include
int main(void)
{
int y;
y =x*x;
printf("%d =%d*%d", x); /*输出
printf("d*%d =%d", y);
return 0;
}
2.2 计算分段函数
【实验目的】
1. 使用if语句计算分段函数。
2. 正确书写关系表达式。
3. 掌握基本输入函数的使用,能正确调用C语言提供的数学库函数。
4. 掌握简单的单步调试方法。
【实验内容】
1. 调试示例
改正下列程序中的错误,输入x 、计算并输出下列分段函数f(x)的值(保留1位小数)。(源程序error02_3.c)
)0(
0 )
0( 1
)(=≠==x x x
x f y
源程序(有错误的程序) #include
double x, y;
printf("Enter x: "); scanf("%lf ", x); if(x ! =0){ y =1 /x } else{ y =0; }
printf("f(%.2f) =%.1f\n ", x, y); return 0; }
运行结果1(改正后程序的运行结果) Enter x:10 f(10.00) =0.1 运行结果2 Enter x:0 f(0.00) =0.0
在运行结果中,凡是加下划线的内容,表示用户输入的数据,每行的最后以回车结束;其余内容都为输出结果。在本书的所有实验题目中,都遵循这一规定。
(1)使用软件GUIDE 打开源程序error02_3.c 。执行“编译”菜单|“编译”命令,或者单击(编译)按钮,编译程序。
在窗口下方的“信息查看栏”中,出现了编译错误信息,如图2.2所示。
图2.2 编译错误信息
(2)第一条编译错误信息是: