凯里学院 C语言程序设计 实验报告
××××× 专业×× 年级×× 班,学号×××××× 姓名××成绩
合作者 实验日期 年 月 日
指导教师 评阅日期 年 月 日
实验三 最简单的C程序设计
一、实验目的:
1、掌握C语言的数据类型和变量的声明。
2、掌握不同类型数据之间赋值的规律。
3、掌握C语言的运算符和表达式的使用。
4、熟悉C程序的编辑、编译、连接和运行的过程。
二、实验内容:
①输人程序:
#include
void main()
{
int a, b;
float d,e;
char c1,c2;
double f, g;
long m, n;
unsigned int p,q;
a=61;b=62;
c1='a';c2='b';
d=3.56;e=-6.87;
f=3157.890121;g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.6f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
②运行此程序并分析结果
(2)按习题4. 8要求编写程序
题目为:
设圆半径r=l. 5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。
程序:
三、实验步骤:
①输人程序:
#include
void main()
{
int a, b;
float d,e;
char c1,c2;
double f, g;
long m, n;
unsigned int p,q;
a=61;b=62;
c1='a';c2='b';
d=3.56;e=-6.87;
f=3157.890121;g=0.123456789;
m=50000;n=-60000;
p=32768;q=40000;
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%6.2f,e=%6.2f\n",a,b,c1,c2,d,e);
printf("f=%15.6f,g=%15.6f\nm=%ld,n=%ld\np=%u,q=%u\n",f,g,m,n,p,q);
}
②运行此程序并分析结果。
预计结果:
a=61,b=62
c1=a,c2=b
d=``3.56,e=`-6.87
f=````3157.890121,g=```````0.123456
m=50000,n=-60000
p=32768,q=40000(`代表空格)
结果:
g的输出看来是四舍五入了。
③在此基础上,将程序第9~14行改为:
a=61;b=62;
c1=a;c2=b;
f=3157.890121;g=0.123456789;
d=f;e=g;
p=a=m=50000;q=b=n=-60000;
运行程序,分析结果。
p=a=m=50000;q=b=n=-60000;这两条语句将p、a、m的值和q、b、n的值都重新赋了相应的新值。除m、n外都是整型、无符号整型或字符型,因此输出会按数据类型强制截取,因此得到的值会不尽相同,但可以从理论上做出推测,但由于编译系统的不同,真正得到的结果也可能不尽相同。
④改用scanf函数输人数据而不用赋值语句,scanf函数如下:
scanf("%d,%d,%c,%c,%f,%f,%lf,%lf,%ld,%ld,%u,%u",&a,&b,&c1,&c2,&d,&e,&f,&g,&m,&n,%p,%q);
输入的数据如下:
61,61,a,b,3.56,-6.87,3157.890121,0.123456789,50000,-60000,37678,40000
分析运行结果。
(说明:lf和ld格式符分别用于输人double型和long型数据)
⑤在④的基础上将printf语句改为:
printf("a=%d,b=%d\nc1=%c,c2=%c\nd=%15.6f,e=%15.6f\n",a,b,c1,c2,d,e);
printf("f=%f,g=%f\nm=%ld,n=%ld\np=%u