admin 管理员组文章数量: 1184232
2025年1月1日发(作者:java在线学习教程)
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
《C语言程序设计》实验报告(实验1-12)
《C语言程序设计》
实验报告
20XX~20XX学年第二学期
班 级 姓 名 学 号 指导教师
实验一
实验项目名称:C程序的运行环境和运行C程序的方法
所使用的工具软件及环境:Visual C++ 一、实验目的:
1.了解在Visual C++ 环境下如何xx、编译、连接和
运行一个C程序; 2.通过运行简单的C程序,初步了解C
源程序的特点。 二、预习内容:
教材《C语言程序设计教程》第1章。 三、实验内容:
1. 在Visual C++ 环境下输入并运行下面的程序:
#include int main( ) {
printf("This is a C program.n"); return 0; }
2. 在Visual C++ 环境下输入下面的程序(有语法错
误),编译、连接、调试该程序,直至程序
无语法错误,然后运行程序,并观察分析运行结果。
#include int main( ) {
int a,b,sum a=3; b=4; sun=a+b;
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
print(“%d+%d=%dn”,a,b,sum); return 0; }
四、实验结果:
1. 运行结果(或截图):
This is a C program.
Press any key to continue
- 1 -
2. (1) 改正后的源程序:
#include int main( ) {
int a,b,sum; a=3; b=4; sum=a+b;
printf( return 0; }
(2) 运行结果(或截图): 3+4=7
五、思考题:
1. 一个C程序上机的步骤有哪些?
答:上级输入与xx源程序 — 对原程序进行编译 – 与
库函数链接 – 运行可执行的目标程序。
2. 组成C程序的基本单位是函数,一个函数包括哪几
个部分?
答:一个函数包括两部分:分别为函数头或函数首部 和
函数体。
成绩 指导教师签名
实验二
实验项目名称:数据类型、运算符和表达式 所使用的
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
工具软件及环境:Visual C++ 一、实验目的:
1.掌握整型、实型与字符型这三种基本类型的概念;
2.掌握常量及变量的使用方法;
3. 掌握基本算术运算符及其表达式的使用方法;
4. 掌握++、--运算符、赋值运算符及其表达式的使用
方法。 二、预习内容:
- 2 -
教材《C语言程序设计教程》第2章。 三、实验内容:
1. 在Visual C++ 环境下输入下面的程序,编译、连接、
调试该程序。
main( ) {
char m,n; m=280; n=320;
printf(“%dt%dn”,m,n);
printf(“%ct%cn”,m,n); }
2. 在Visual C++ 环境下输入并运行下面的程序,观察
分析运行结果。 #include int main( ) {
int a=3,b=4,c=8; float d,e; d=a+b/c;
e=a+(float)b/c; //请将此处d改为b printf("
d=%f,e=%fn",d,e); }
3. 在Visual C++ 环境下输入并运行下面的程序,观察
分析运行结果。 #include main( ) {
int a,b,c,d,i,j,m,n; a=b=c=d=3; i=a++;
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
j=++b; m=c--; n=--d;
printf(} 4. 在Visual C++ 环境下输入并运行下面的
程序,观察分析运行结果。 #include main( ) {
int a=4; a+=a-=a*a+a;
printf( }
- 3 -
四、实验结果:
1. 运行结果(或截图):
24 64 @
2. 运行结果(或截图):
d=,e=
d=,e=
3. 运行结果(或截图):
a=4,b=4,c=2,d=2,i=3,j=4,m=3,n=2
4. 运行结果(或截图):
a=-32
五、思考题:
1. 给变量命名应该注意哪些问题?
答:每个变量必须进行数据类型说明;
2. 程序2的运行结果中,d和e的值为什么不同?
答:d的赋值语句中,除法是两个整型数字的运算,其
结果没有小数位;而e中对b进行了强
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
制转换为实型,所以其除法运算结果有小数位。
- 4 -
3. 程序3的运行结果中,i和j的值为什么不同?m和
n的值为什么不同?//改为程序3
答:i是通过后自增实现的,而后自增是先参与其他运
算,后对变
量递增;
而j是通过前自增实现的,其是先对变量递增,后再参
与其他运算。
4. 请分析表达式a+=a-=a*a+a的运算过程(写出运算步
骤)。
答:先将a -赋值给a,再将a+a 赋值给a 。
成绩 指导教师签名
- 5 -
实验三
实验项目名称:简单的输入输出及顺序程序设计 所使
用的工具软件及环境:Visual C++ 一、实验目的:
1. 掌握整型、实型与字符型数据的正确输入方法
(scanf函数的使用); 2. 掌握整型、实型与字符型数据的
正确输出方法(printf函数的使用); 3. 掌握编写顺序程序
的方法。 二、预习内容:
教材《C语言程序设计教程》第3章。 三、实验内容:
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
1. 编写C程序,按下列公式计算并输出S的值,其中a
和b的值有键盘输入。
smain { int a,b; float s;
scanf(“%d,%d”,&a,&b); s=*a*b/(a+b) /(a+b);
printf(“s=%fn”,s); }
2ab 2(ab)①输入并调试。
②将scanf函数改为scanf(“%d%d”,&a,&b);再编译,
运行。 ③观察结果。
2. 在Visual C++ 环境下输入并运行下面的程序,观察
分析程序运行过程及结果。 #include int main( ) {
int a,b,sum;
printf(请输入第一个整数: scanf(
printf(请输入第二个整数: scanf( sum=a+b;
printf( }
3. 设圆半径r=,编写程序求圆周长、圆面积和圆球的
体积。要求用scanf语句输入半径,输出时取小数点后两位。
- 6 -
四、实验结果: 1. 输入数据 4,5 输入修改后的
数据 运行结果 4 5 s= 字符控制串中没有除说明符以外的
其他字符,所以输入时可以通过空格分隔 4↙5↙ s= 字符
控制串中没有除说明符以外的其他字符,所以输入时可以通
过回车分隔 运行结果 s= 原因 字符控制串中有“,”,所
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
以输入时必须有原因 “,”
2. 运行结果(或截图):
请输入第一个整数:1 请输入第二个整数:2 1+2=3
3. (1) 程序中用到的变量(类型)
单精度浮点数
(2) 算法(用伪代码描述或自然语言)
c = 2 * pi * r; s = pi * r * r; v = 4 * (pi * r
* r * r)/3;
(3) 源程序清单
#include int main( ) # define pi { float r, c,
s, v;
- 7 -
}
printf(请输入圆的半径:scanf(c = 2 * pi * r; s
= pi * r * r;
v = 4 * (pi * r * r * r)/;
printf(
(4) 运行结果(或截图)
请输入圆的半径:
c = ,s = ,v =
五、思考题:
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
scanf(“%d,%d”,&a,&b)与scanf(“%d%d”,&a,&b)输
入数据的方式有什么不同?从两种输入方式的对比中你得
到什么启发?
答:第一种输入方式用户必须以“,”分隔,而第二者
可用空格、回车分隔,用户在不知情的情况
下,很难知道用“,”分隔输入的数据。所以编程人员
可以在scanf 语句前用printf 语句进行注释,让用户知道
用什么来分隔输入的数据。
成绩 指导教师签名
- 8 -
实验四
实验项目名称:选择结构程序设计 所使用的工具软件
及环境:Visual C++ 一、实验目的:
1. 正确使用关系运算符和关系表达式; 2. 正确使用
逻辑运算符和逻辑表达式; 3. 熟练使用if语句实现选择
结构程序;
2. 熟练使用switch语句实现多分支选择结构程序。
二、预习内容:
教材《C语言程序设计教程》第4章。 三、实验内容:
1. 下面程序的功能是:输入学生成绩,若成绩在90分
以上,输出“Excellent!”;若成绩在60—89分之间,输
出“Pass!”;若成绩在60分以下,输出“Fail!”。请将
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
程序补充完整,并上机运行程序。 #include int
main( ) {
int score;
printf("请输入分数(0--100):");
scanf("%d", &score);
if(score>100 || score=90 ) printf("
Excellent!n"); else if( score>=60 )
printf("Pass!n");
Fail!n"); }
运行该程序4次,分别输入4个不同的数据,对应4种
不同的情况,记录运行结果: 111 输入数据 20 61 99
Input 运行结果 Fail! Pass! Excellent! Error!
2. 有如下分段函数:
x1xy2x11x10
3x11x10请输入x的值,求解对应的y值。
3. 给出一个百分制成绩,要求输出成绩等级’A’、 ’
B’、 ’C’、 ’D’、 ’E’。90-100
- 9 -
为’A’,80-89为’B’,70-79为’C’,60-69为’D’,
60分以下为’E’。用switch语句写。
四、程序中所用的变量及其类型:
2.
爱心---用心---恒心
else printf("
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
变量:x、y;
数据类型:都为单精度浮点数
3.
变量:score 数据类型:整型
五、算法(用伪代码或自然语言描述):
2. if ( x>=10 )
printf(
else if ( x>=1 )
printf(
else
printf(
3.
switch (score/10) { case 10:
break; case 9: printf( break; case 8:
printf( break;
case 7:
- 10 -
printf( break; case 6:
break; default:
printf(
}
六、源程序清单: 2.
爱心---用心---恒心
printf(
printf(
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
# include int main (void) { float x, y;
printf(请输入一个x: scanf( if ( x>=10 )
printf(
else if ( x>=1 )
printf(
else
printf(
return 0;
} 3.
# include int main (void) {
int score;
- 11 -
printf(请输入一个成绩: scanf(
switch (score/10) { case 10:
break; case 9: printf( break; case 8:
printf( break; case 7: printf( break;
case 6: printf( break;
printf(
}
return 0;
}
- 12 -
爱心---用心---恒心
printf(
default:
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
七、实验结果:
2. 运行结果(执行程序3次,分别输入不同的3个数,
对应3种不同的情况):
输入数据 2 11 -5 运行结果
- 3. 运行结果(执行程序5次,分别输入5组不同的数
据,对应5种不同的情况):
输入数据 运行结果 99 A 80 B
成绩 指导教师签名
70 C 62 D 59 E
- 13 -
实验五
实验项目名称:简单循环程序设计 所使用的工具软件
及环境:Visual C++ 一、实验目的:
1. 掌握循环程序的基本结构;
2. 熟练掌握while、do—while及for语句,并会用来
编写循环结构程序。 二、预习内容:
教材《C语言程序设计教程》第4章。 三、实验内容:
1.编写一个程序,计算并输出数列:1,3,5,,2n-1,的前
几项之和,其中n键盘输入。要求分别用3种循环语句实现。
方法1:用for语句实现。 main
{ long s,n,k,i;
scanf(“ %ld “,&n); k=2*n-1; s=0 ;
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
for(i=1;i=1; j--)//此处for循环为求最大公约数 {
if( i%j == 0) greatest = j; else ;
if( k % greatest == 0) {
printf(和%d的最大公约数为%d!n break; }
else ; }
least = i * k / greatest;
printf(和%d最小公倍数为%d!n
六、源程序清单:
2.
# include int main (void) {
int i, k, j, m, least, greatest;// i, k存储的
是两个正整数, least为最小公倍数,greatest
为最大公约数
printf(请输入两个正整数(中间以空格分隔):
scanf(
for (j=i; j=1; j--)//此处for循环为求最大公约数
{
if( i%j == 0) greatest = j; else ;
- 15 -
if( k % greatest == 0) {
printf(和%d的最大公约数为%d!n break; }
else ; }
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
least = i * k / greatest;
printf(和%d最小公倍数为%d!n
return 0; }
七、实验结果:
1. 在下表中写出输入的数据及其运行结果:
输入数据 运行结果 方法1 12 1+3++23=144 方法2 12
1+3++23=144 方法3 12 1+3++23=144
2. 运行结果(或截图):
请输入两个正整数(中间以空格分隔):36 12
36和12的最大公约数为12! 36和12最小公倍数为36!
成绩 指导教师签名
- 16 -
实验六
实验项目名称:多层循环程序设计及break、continue
语句在循环程序中的应用 所使用的工具软件及环境:
Visual C++ 一、实验目的:
1. 掌握多层循环程序的执行过程及设计方法;
2. 掌握break及continue语句在循环程序中的使用方
法。 二、预习内容:
教材《C语言程序设计教程》第4章。
三、实验内容:
1. 百马百担问题。有100匹马,驮100担。大马驮3
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
担,中马驮2担,两个小马驮1担。问大、中、小马各多少?
2. 编程输出100以内的所有素数。
3. 编程输出所有水仙花数(所谓“水仙花数”,是指一
个3位数,其各位数字的立方和等于该数本
333
身,例如,153=1+5+3,所以153是一个水仙花数)。
四、程序中所用的变量(类型及其初值):
1. 变量x, y, z均为整型变量,均未赋予初值
2. 整型变量x,y,均未赋予初值
3.整型变量i,m,n,
n初值为0,m、n未赋予初值
五、算法(用伪代码或自然语言描述): 1. for ( x=0;
x int main (void)
- 18 -
{ } 2.
# include int main (void) {
int i, j;
for ( i = 1; i <= 100; i += 1) {
for ( j = 2; j <= i; ++j) {
if ( i%j == 0 ) { } }
- 19 -
int x, y, z;
爱心---用心---恒心
DOC可编辑修改--------为你整理各种最新最全办公范文--------双击可以删除
for ( x=0; x<=20; x++) { } return 0;
for ( y=0; y<=33; y++) {
z = 100 - x - y;
if( z%2==0 && 3*x + 2*y + z/2 ==100) }
printf(大马有%d匹,中马有%d匹,小马有%d匹!n
if ( i == j)
printf (
else
break;
爱心---用心---恒心
版权声明:本文标题:《C语言程序设计》实验报告(实验1-12) 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/p/1735749368a1688319.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论