C语言程序设计实验报告实验.docx
- 文档编号:7907029
- 上传时间:2023-01-27
- 格式:DOCX
- 页数:15
- 大小:34.81KB
C语言程序设计实验报告实验.docx
《C语言程序设计实验报告实验.docx》由会员分享,可在线阅读,更多相关《C语言程序设计实验报告实验.docx(15页珍藏版)》请在冰豆网上搜索。
C语言程序设计实验报告实验
《C语言程序设计》
实验报告
2013~2014学年第二学期
班级
名姓
号学
指导教师
实验一程序的方法程序的运行环境和运行C:
实验项目名称CVisualC++6.0所使用的工具软件及环境:
一、实验目的:
程序;环境下如何编辑、编译、连接和运行一个C1.了解在VisualC++6.0源程序的特点。
C.通过运行简单的C程序,初步了解2二、预习内容:
章。
1C语言程序设计教程》第教材《三、实验内容:
环境下输入并运行下面的程序:
在VisualC++6.01.
#include
序,直至程序无语法错误,然后运行程序,并观察分析运行结果。
#include
:
或截图)1.运行结果(ThisisaCprogram.Pressanykeytocontinue改正后的源程序:
2.
(1)
#include
intmain(){inta,b,sum;
a=3;
b=4;
sum=a+b;
printf(%d+%d=%d\n,a,b,sum);
return0;
}:
)运行结果(或截图
(2)
3+4=7五、思考题:
程序上机的步骤有哪些?
一个C1.
答:
上级输入与编辑源程序—对原程序进行编译–与库函数链接–运行可执行的目标程序。
程序的基本单位是函数,一个函数包括哪几个部分?
C2.组成函数体。
和答:
一个函数包括两部分:
分别为函数头或函数首部
指导教师签名成绩实验二:
数据类型、运算符和表达式实验项目名称VisualC++6.0所使用的工具软件及环境:
一、实验目的:
.掌握整型、实型与字符型这三种基本类型的概念;1.掌握常量及变量的使用方法;2掌握基本算术运算符及其表达式的使用方法;3.
运算符、赋值运算符及其表达式的使用方法。
、--4.掌握++二、预习内容:
章。
2C语言程序设计教程》第教材《三、实验内容:
环境下输入下面的程序,编译、连接、调试该程序。
VisualC++6.01.在main(){charm,n;m=280;
n=320;,m,n);%d\t%d\n”printf(“,m,n);%c\t%c\n”printf(“}环境下输入并运行下面的程序,观察分析运行结果。
VisualC++6.02.在#include
在VisualC++6.03.
#include
{inta,b,c,d,i,j,m,n;a=b=c=d=3;i=a++;j=++b;m=c--;n=--d;printf(a=%d,b=%d,c=%d,d=%d,i=%d,j=%d,m=%d,n=%d\n,a,b,c,d,i,j,m,n);}环境下输入并运行下面的程序,观察分析运行结果。
VisualC++6.04.在#include
四、实验结果:
:
或截图)运行结果1.(2464@:
或截图)2.运行结果(d=3.000000,e=3.500000d=3.000000,e=3.375000:
)运行结果(或截图3.
a=4,b=4,c=2,d=2,i=3,j=4,m=3,n=2:
或截图)(4.运行结果a=-32五、思考题:
给变量命名应该注意哪些问题?
1.
答:
每个变量必须进行数据类型说明;
的值为什么不同?
e和程序2.2的运行结果中,d答:
d的赋值语句中,除法是两个整型数字的运算,其结果没有小数位;而e中对进行了强制转换为实型,所以其除法运算结果有小数位。
b
3.程序3的运行结果中,i和j的值为什么不同?
m和n的值为什么不同?
//改为程3序答:
i(m)是通过后自增(后自减)实现的,而后自增(后自减)是先参与其他;运算,后对变量递增(递减)而j(n)是通过前自增(前自减)实现的,其是先对变量递增(递减),后再参与其他运算。
。
)(a+=a-=a*a+a的运算过程写出运算步骤4.请分析表达式。
a,再将aa+a赋值给)赋值给(答:
先将a-a*a+a指导教师签名成绩
实验三:
简单的输入输出及顺序程序设计实验项目名称VisualC++6.0所使用的工具软件及环境:
一、实验目的:
;函数的使用)1.掌握整型、实型与字符型数据的正确输入方法(scanf;)(printf2.掌握整型、实型与字符型数据的正确输出方法函数的使用掌握编写顺序程序的方法。
3.
二、预习内容:
章。
3C语言程序设计教程》第教材《三、实验内容:
的值有键盘输入。
baS的值,其中和C1.编写程序,按下列公式计算并输出main(){inta,b;floats;,&a,&b);”“scanf(%d,%ds=2.0*a*b/(a+b)/(a+b);,s);”s=%f\n“printf(
}①输入并调试。
;再编译,运行。
&a,&b)“%d%d”scanf(②将scanf函数改为③观察结果。
观察分析程序运行过程及结果。
环境下输入并运行下面的程序,C++6.02.在Visual
#include
?
牰湩晴尨scanf(%d,&a););请输入第二个整数:
牰湩晴尨scanf(%d,&b);sum=a+b;printf(%d+%d=%d\n,a,b,sum);}语句输scanf,编写程序求圆周长、圆面积和圆球的体积。
要求用r=1.5设圆半径3.
入半径,输出时取小数点后两位。
四、实验结果:
1.
4s=0.49382运行结s=0.49382s=0.49382字符控制串字符控制串没有除说明没有除说明以外的其他以外的其他原,所以输入“原符,所以输符,所以输必须有“时可以通过时可以通过回车分隔格分隔:
)运行结果(或截图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
);scanf(%f,&r);c=2*pi*r;s=pi*r*r;v=4*(pi*r*r*r)/3.0;printf(c=%.2f,s=%.2f,v=%.2f\n,c,s,v);}
)或截图运行结果(4)(
:
1.5请输入圆的半径c=9.42,s=7.07,v=14.13五、思考题:
scanf(“%d,%d”,&a,&b)与scanf(“%d%d”,&a,&b)输入数据的方式有什么不同?
从两种输入方式的对比中你得到什么启发?
答:
第一种输入方式用户必须以“,”分隔,而第二者可用空格、回车分隔,用户在不知情的情况下,很难知道用“,”分隔输入的数据。
所以编程人员可以在scanf()语句进行注释,让用户知道用什么来分隔输入的数据。
printf()语句前用指导教师签名成绩
实验四实验项目名称:
选择结构程序设计VisualC++6.0所使用的工具软件及环境:
一、实验目的:
正确使用关系运算符和关系表达式;1.
正确使用逻辑运算符和逻辑表达式;2.
语句实现选择结构程序;3.熟练使用if语句实现多分支选择结构程序。
switch2.熟练使用二、预习内容:
章。
4C语言程序设计教程》第教材《三、实验内容:
1.下面程序的功能是:
输入学生成绩,若成绩在90分以上,输出“Excellent!
”;若成绩在60—89分之间,输出“Pass!
”;若成绩在60分以下,输出“Fail!
”。
请将程序补充完整,并上机运行程序。
#include
;intscore;:
")printf("请输入分数(0--100);",&score)scanf("%d
;)"InputError!
\n"if(score>100||score<0)printf(;)"Excellent!
\n"elseif(score>=90)printf(
;)Pass!
\n"elseif(score>=60)printf(";)Fail!
\n"elseprintf("}运行该程序4次,分别输入4个不同的数据,对应4种不同的情况,记录运行结果:
有如下分段函数:
2.
1112099输入数据61Input
Excellent!
Fail!
运行结果Pass!
Error!
yx值。
请输入的值,求解对应的'。
E''、D''、C''、B''、A要求输出成绩等级'给出一个百分制成绩,3.
90-100为'A',80-89为'B',70-79为'C',60-69为'D',60分以下语句写。
'。
用switch为'E四、程序中所用的变量及其类型:
2.;y变量:
x、数据类型:
都为单精度浮点数3.score变量:
数据类型:
整型:
用伪代码或自然语言描述)五、算法(2.
if(x>=10)printf(y=%f\n,3*x-11);
elseif(x>=1)
printf(y=%f\n,2*x-1);else
printf(y=%f\n,x);
3.
switch(score/10){case10:
printf(A\n);
break;
case9:
printf(A\n);
break;
case8:
printf(B\n);break;
case7:
printf(C\n);
break;
case6:
printf(D\n);
break;
default:
printf(E\n);
}六、源程序清单:
2.#include
);scanf(%f,&x);if(x>=10)printf(y=%f\n,3*x-11);elseif(x>=1)
printf(y=%f\n,2*x-1);else
printf(y=%f\n,x);
return0;
}3.#include
);牰湩晴尨scanf(%d,&score);switch(score/10){case10:
printf(A\n);
break;
case9:
printf(A\n);
break;
case8:
printf(B\n);
break;
case7:
printf(C\n);break;case6:
printf(D\n);
break;
default:
printf(E\n);}return0;
}七、实验结果:
:
)种不同的情况3个数,对应3次,分别输入不同的3执行程序(运行结果2.
:
种不同的情况)5组不同的数据,对应5次,分别输入3.运行结果(执行程序5指导教师签名成绩
-5输入数据112-5.0000003.000000运行结果22.000000
599980输入数据6270EDCBA运行结果
实验五:
简单循环程序设计实验项目名称VisualC++6.0所使用的工具软件及环境:
一、实验目的:
掌握循环程序的基本结构;1.
语句,并会用来编写循环结构程序。
forwhiledo—及2.熟练掌握while、二、预习内容:
章。
4教材《C语言程序设计教程》第三、实验内容:
1.编写一个程序,计算并输出数列:
1,3,5,…,2n-1,…的前几项之和,其中n由键盘种循环语句实现。
输入。
要求分别用3语句实现。
for方法1:
用main(){longs,n,k,i;,&n);“scanf(“%ld
k=2*n-1;s=0;
for(i=1;i<=k;i+=2)s+=i;,k,s);+%ld=%ld\n”printf(“1+3+…}语句实现。
:
用while方法2main(){longs=0,n,i=1;,&n);”scanf(“%ldwhile(i<=(2*n-1)){s+=i;i+=2;},2*n-1,s);”…“1+3++%ld=%ld\nprintf(}语句实现。
:
用do-while3方法main(){longs=0,n,i=1;,&n);”“scanf(%lddo
{s+=i;i=i+2;}
while(i<=(2*n)-1);
2*n-1,s);+%ld=%ld\n”printf(“1+3+…}填上所缺的空,运行程序,写出结果。
输入两个正整数,求其中最大公约数和最小公倍数。
2.:
)四、程序中所用的变量(类型及其初值2.
均为整型变量,没有对其赋予初值。
i,k,j,m,least,greatest变量:
用伪代码描述)五、算法(2.
循环为求最大公约数for(j=i;j<=i||j>=1;j--)//此处for{if(i%j==0)
greatest=j;
else
;
if(k%greatest==0)
{
%d!
\n,i,k,greatest);printf(%d和%d的最大公约数为break;
}else
;}least=i*k/greatest;
%d!
\n,i,k,least);%d最小公倍数为和printf(%d六、源程序清单:
2.#include
为最大公约数greatest倍数,):
);(中间以空格分隔牰湩晴尨请输入两个正整数scanf(%d%d,&i,&k);forfor(j=i;j<=i||j>=1;j--)//此处循环为求最大公约数{if(i%j==0)
greatest=j;
else
;
if(k%greatest==0)
{%d!
\n,i,k,greatest);的最大公约数为printf(%d和%dbreak;
}
else
;}
least=i*k/greatest;
%d!
\n,i,k,least);%d最小公倍数为printf(%d和return0;}七、实验结果:
在下表中写出输入的数据及其运行结果:
1.
:
或截图)2.运行结果(
32方法1方法方法
1212输入数据121+3+…+23=1441+3+…+23=1441+3+…+23=144运行结果):
3612请输入两个正整数(中间以空格分隔12!
12的最大公约数为36和36!
和3612最小公倍数为成绩指导教师签名
实验六语句在循环程序中的应用break、continue实验项目名称:
多层循环程序设计及VisualC++6.0所使用的工具软件及环境:
一、实验目的:
掌握多层循环程序的执行过程及设计方法;1.
语句在循环程序中的使用方法。
及continue2.掌握break二、预习内容:
章。
4教材《C语言程序设计教程》第三、实验内容:
1.百马百担问题。
有100匹马,驮100担。
大马驮3担,中马驮2担,两个小马驮1担。
问大、中、小马各多少?
(考虑适当减少循环次数)以内的所有素数。
1002.编程输出3.编程输出所有水仙花数(所谓“水仙花数”,是指一个3位数,其各位数字的立方333。
),所以153=1和等于该数本身,例如,153+5+3是一个水仙花数:
类型及其初值)四、程序中所用的变量(x,y,z变量均为整型变量,均未赋予初值1.
,均未赋予初值x,y整型变量2.
,3.整型变量i,m,n未赋予初值nm、n初值为0,:
)(用伪代码或自然语言描述五、算法or(x=0;x<=20;x++)1.f{for(y=0;y<=33;y++){
z=100-x-y;
if(z%2==0&&3*x+2*y+z/2==100)
!
\n,x,y,z);%d%d大马有匹,中马有匹,小马有%d匹牰湩晴尨}
}2.
for(i=1;i<=100;i+=1){for(j=2;j<=i;++j){
if(i%j==0)
{
if(i==j)
printf(%-5d,i);
else
break;}}}3.for(i=100;i<=999;++i){intm,n=0;
m=i%10;n+=m*m*m;m=(i/10)%10;n+=m*m*m;
m=(i/100)%10;
n+=m*m*m;
if(n==i)
printf(%d\n,i);
else
;
}六、源程序清单:
1.#include
{
z=100-x-y;
if(z%2==0&&3*x+2*y+z/2==100)匹,中马有%d匹,小马有%d匹!
\n,x,y,z);%d牰湩晴尨大马有}
}return0;
}2.#include
if(i%j==0).
{
if(i==j)
printf(%-5d,i);
else
break;
}}
}return0;
}3.#include
intm,n=0;
m=i%10;n+=m*m*m;m=(i/10)%10;
n+=m*m*m;
m=(i/100)%10;n+=m*m*m;if(n==i)
printf(%d\n,i);
else
;}return0;
}七、实验结果:
:
)或截图1.运行结果(!
匹68匹,小马有30匹,中马有2大马有.
!
匹25匹,小马有70大马有5匹,中马有!
匹匹,小马有72大马有8匹,中马有20!
74匹匹,小马有大马有11匹,中马有15!
76匹14匹,中马有10匹,小马有大马有!
匹5匹,小马有78匹,中马有大马有17!
匹匹,小马有8020大马有匹,中马有0:
或截图)2.运行结果(2357111317192329313741434753596167717379838997
:
)(或截图运行结果3.
153370371407指导教师签名成绩
实验七:
一维、二维和字符数组程序设计实验项目名称VisualC++6.0所使用的工具软件及环境:
一、实验目的:
掌握一维数组和二维数组的定义、赋值和输入输出的方法;1.
掌握字符数组的使用。
2.
二、预习内容:
章。
5教材《C语言程序设计教程》第三、实验内容:
1.从键盘输入一个整数n(n<=10)和n个整数,存入数组a中,先依次输入各个数组元的所有元素值从小到大的顺序重新排列后,再依次输出。
素的值,然后对数组amain(){inta[10],n,i,j,min,ax;);”printf(“inputn=,&n);%d”scanf(“,n-1);”…“printf(inputarray[0]a[1]a[%d]:
\nfor(i=0;i &a[i]);”“%dscanf( );beforesort: array\n”printf(“for(i=0;i {min=i;for(j=i
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言程序设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)