实验2 用C语言编写简单程序
2.1 基本数据处理
【实验目的】
(1)掌握算术表达式和赋值表达式的使用。 (2)掌握基本输出函数的使用。 (3)能够编程实现简单的数据处理。
(4)理解编译错误信息的含义,掌握简单C程序的查错方法。 【实验内容】 一、调试示例
改正下列程序中的错误,求华氏温度100oF对应的摄氏温度。计算公式如下:
c?5?(f?32)9
其中,c表示摄氏温度,f表示华氏温度。(源程序error02_1.cpp) 源程序(有错误的程序) 1 #include 2 int main(coid) 3 { 4 5 6 7 8 9 10 }
运行结果(改正后程序的运行结果) fahr=100, celsius=37
(1)在实验1中,使用菜单来完成编译、连接和运行操作,现在介绍使用工具栏完成上述操作的方法。在工具栏或菜单栏上右击,出现完整的工具箱菜单,单击选中“编译微型条”选项,该工具条即出现在工具栏下方。其中,第一个按钮
return 0; int Celsius;fahr; fahr=100;
celsius=5*(fahr-32)/9;
printf(“fahr=d,Celsius=%d\\n”,fahr,celsius);
表示编译,第二个按钮表示构件,第四个按钮表示运行。
(3)单击编译按钮,编译时出现的第一条错误信息是: Cannot open include file:’stdoi.h’: No such file or directory双击该错误信息,箭头指向源程序的第1行,错误信息指出
,仔细观察后,发现错误原因是
,改正后重
新编译,新产生的第一个错误信息是:’fahr’: undeclared identifier 双击该错误信息,箭头指向源程序的第4行,错误信息指出 误原因是
,仔细观察后,发现错
,改正后重新编译,编译正确。
(4)单击按钮构建,连接正确。 (5)单击按钮执行,运行结果为: fahr=d, Celsius=100
结果不符合题目的要求,仔细检查源程序,原因是 译、连接和运行,运行结果与题目要求的结果一致。 二、改错题
改正下列程序中的错误。计算某个数x的平方,赋值给y,并分别以“y=x*x”和“x*x=y”的形式输出x和y的值。请不要删除源程序中的任何注释(源程序error02_2.cpp)。
输入输出示例(假设x的值为3) 9=3*3 3*3=9
源程序(有错误的程序) 1 2 3 4 5 6 7 8 9 10
return 0;
y=x*x;
printf(“%d”=%d*%d”,x); /*输出 printf(“d*%d=%d”,y); #include int main(void) {
int x,y;
,改正后,重新编
11 }
(1)打开源程序error02_2.cpp,对程序进行编译,信息窗口显示
error(s)
warning(s)。双击第一个错误,观察源程序中的箭头位置,并分析错误原
因。 错误信息: 错误原因: 改正方法:
(2)改正错误后重新进行编译,信息窗口显示
error(s)
warning(s)。双
击第一个错误,观察源程序中的箭头位置,并分析错误原因。 错误信息: 错误原因: 改正方法:
(3)改正后错误再次进行编译和连接,没有出现错误信息,运行程序。 运行结果为
,是否正确:
仔细观察源程序,指出错误的位置并给出正确的语句。 错误行号: 错误行号: 错误行号:
三、编程题
(1)求华氏温度150 oF对应的摄氏温度。计算公式如下。
55c??f??32 99正确语句: 正确语句: 正确语句:
其中,c表示摄氏温度,f表示华氏温度。 输入输出示例 fah=150,celsius=66 思考:如果使用公式c?5?(f?32)9计算华氏温度150 oF对应的摄氏温度,这两个公
式的计算结果是否一样?为什么?
(2)求摄氏温度26 oC对应的华氏温度。计算公式如下f9?c?32,其中5c表示摄
氏温度,f表示华氏温度。 输入输出示例 celsius=26,fah=78
(3)已知某位学生的数学、英语和计算机课程的成绩分别是87分、72分和93分,求该生3门课的平均分。 输入输出示例
math=87,eng=72,comp=93,average=84
(4)当n为152时,分别求出n的个位数字(digit1)、十位数字(digit2)和百位数字(digit3)的值。 【实验结果与分析】
将源程序、运行结果和分析以及实验中遇到的问题和解决问题的方法写在实验报告上。