凯里学院C 语言程序设计实验报告×××××专业××年级××班,学号××××××姓名××成绩合作者实验日期年月日指导教师评阅日期年月日
实验三最简单的C 程序设计
一、实验目的:
1、掌握C 语言的数据类型和变量的声明。
2、掌握不同类型数据之间赋值的规律。
3、掌握C 语言的运算符和表达式的使用。
4、熟悉C 程序的编辑、编译、连接和运行的过程。
二、实验内容:
①输人程序:#include<stdio.h>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<stdio.h>
装
订
线
装
订线
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);
输入的数据如下:
分析运行结果。
(说明: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,q=%u\n",f,g,m,n,p,q);
运行程序:
⑥将p 、q 改用%o 格式符输出。
⑦将scanf 函数中的%1f 和%ld 改为%f 和%d ,运行程序并观察分析结果。
出现错误,提示为:浮点错误:超出范围。
程序异常中止。
(2)按习题4.8要求编写程序
题目为:
设圆半径r=l.5,圆柱高h=3,求圆周长、圆面积、圆球表面积、圆球体积、圆柱体积。
用scanf 输人数据,输出计算结果口输出时要有文字说明,取小数点后两位数字。
程序:
#include<stdio.h>
void main()
{
装
订
线装
订
线
float h,r,s,sq,vq,vz;
float pi=3.1415926;
printf("Please input the circinal r,and the cylindrical h:");
scanf("%f,%f",&r,&h);
l=2*pi*r;
sq=4*pi*r*r;
vq=4.0/3.0*pi*r*r*r;
vz=pi*r*r*h;
printf("circinal girth is:l=%6.2f\n",l);
printf("circinal area is:s=%6.2f\n",s);
printf("sphere surface area is:sq=%6.2f\n",sq);
printf("sphere cubage is:vq=%6.2f\n",vq);
printf("cylindrical cubage is:vz=%6.2f\n",vz);
}
(3)编程序,用getchar 函数读人两个字符给c1,c2,然后分别用putchar 函数和printf 输出这两个字符。
上机运行程序,比较用printf 和putchar 函数输出字符的特点。
程序如下:#include<stdio.h>void main(){char c1,c2;printf("Please input tow letters:\n");c1=getchar();c2=getchar();printf("Putchar is:\n");putchar(c1);putchar(c2);printf("\n");printf("Printf is:\n");printf("%c %c\n",c1,c2);
}
可见有putchar 输出的结果是一个字符一个字符顺序输出的。
每个putchar 函数只能输出一个字符,且只能输出字符,而printf 可以输出多个数据,且为任意类
四、实验心得(体会):
装
订
线
装
订线
通过本次C语言上机实验,我对顺序结构程序设计有了一定的了解。
通过几个例题,我对顺序结构中scanf和printf语句的基本实用情况有了一定的理解。
我相信这些都为后来的编程打下基础。
对C语言学习,我会更加努力。
装
订
线
装
订
线。