教案实验2用c语言编写简单程序
实验2 用C语言编写简单程序
2.1 基本数据处理1.调试示例
改正下列程序中的错误,求华氏温度100oF对应的摄氏温度?计算公式如下,其中:c 表示摄氏温度,f 表示华氏温度?(源程序error02_1.c)
源程序(有错误的程序)
#include
int main(void)
{
int celsius; fahr;
fahr =100;
celsius =5*(fahr -32) /9;
printf("fahr =d, celsius =%d\n", fahr, celsius);
return 0;
}
运行结果(改正后程序的运行结果)
fahr =100, celsius =37
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)
源程序(有错误的程序)
#include
int main(void)
{
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);
retu