实验二 C 程序设计初步
实验目的
1.掌握算术表达式和赋值表达式的使用
2.掌握基本输入函数 scanf 函数的使用
3.能够编程实现简单的数据处理
4.掌握宏定义的使用
5.理解编译错误信息的含义,掌握简单 C 程序查错方法
实验条件:
PC 计算机,Windows7 或 Windows10 操作系统,Office2010 及以上版本,
Dev-C++5.11 及以上版本或 Code Blocks16.01 及以上版本。
实验内容
1.程序调试示例
下列程序是求华氏度 100ºF 对应的摄氏温度,其计算公式为:c =
5 × (
9
其中,c 表示摄氏温度,f 表示华氏温度。
源程序(有错误)
#include<stdoi.h>
int main()
{
int celsius;fahr;
fahr=100;
celsius=5*(fahr-32)/9;
printf(“fahr=d, celsius=%d\n”,fahr, celsius);
return 0;
}
(1)在 DEV-C++中完成该源程序的编辑存盘,对该程序进行编译,出现
的第一条错误是: 没有 stdoi,h ,原因是: 拼写
错误 。
(2)改正后重新编译,产生的第一个错误是: 没有给 fahr
定义 ,原因是: 在 celsius 和 fahr 之间有分号
(3)改正后错误后,重新编译。程序通过编译,输出结果为: fahr=d,
celsius=100 ,结果不正确的原因为 应该是发货人
=%d 。
#include<stdio.h>
int main()
{
int celsius,fahr;
fahr=100;
celsius=5*(fahr-32)/9;
printf("fahr=%d, celsius=%d\n",fahr, celsius);
return 0;
}
2.基础编程
(1)从键盘任意输入一个 3 位数,编程计算并输出它的逆序数(忽略整数前的
正负号)。例如输入-123,则忽略负号,由 123 分离出百位 1,十位 2,个位 3,
然后计算 3*100+2+10+1=321,输出 321。
#include<stdio.h>
#include<math.h>
int main()
{
int Number,NewNumber,UnitDigit,TenDigit,HundredDigit;
printf("Please input the Number :\n");
scanf("%d",&Number);
Number=abs(Number);//取绝对值UnitDigit=Number%10;//取个位
TenDigit=(Number/10)%10;//取十位
HundredDigit=Number/100;//取百位
NewNumber=UnitDigit*100+TenDigit*10+HundredDigit;//取逆
printf("逆序数为%d",NewNumber);
return 0;
}
(2)分别使用宏定义和 const 常量定义 π 的值,编程计算并输出球的体积和表
面积,球的半径 r 的值由用户从键盘输入。
#include<stdio.h>
#include<math.h>
int main()
{
double Radius,Volume,SurfaceArea;
const double PI=3.14159;
printf(“Please input the radius of the ball”);
scanf("%lf",&Radius);
Volume=4.0/3*PI*Radius*Radius*Radius;
SurfaceArea=4*PI*Radius*Radius;
Volume=4.0/3*PI*Radius*Radius*Radius;SurfaceArea=4.0*PI*Radius*Radius;
printf("Volume=%lf,SurfaceArea=%lf",Volume,SurfaceArea);
return 0;
}
#include<stdio.h>
#include<math.h>
#define PI 3.14159
int main()
{
double Radius,Volume,Surface;
printf("Please input the radius of the ball");
scanf("%lf",&Radius);
Volume=4.0*PI*pow(Radius,3)/3;
Surface=4.0*PI*Radius*Radius;
printf("Volume=%f,Surface=%f",Volume,Surface);
return 0;
}
输入输出示例:
Please input the radius of the ball:
3
volume=113.097240, surface_area= 113.097240
(3)计算物体自由下落的距离:一个物体从 100m 的高空自由落下,编写程序,
求他在前 3s 内下落的垂直距离。假设重力加速度为 10m/s2。
#include<stdio.h>
#include<math.h>
int main()
{
int H,T=3,G=10;
H=1*T*T*G/2;
printf("Height=%d",H);
return 0;
}
Height=45m
实验总结与心得
通过这次实验掌握算术表达式和赋值表达式的使用,掌握基本输入函数 scanf 函
数的使用,能够编程实现简单的数据处理,掌握宏定义的使用,理解编译错误信
息的含义,掌握简单 C 程序查错方法。
Scanf 函数后面要加&,而 printf 后面不需要加&
注意数字类型,整型或者浮点数。