C语言实验报告.docx
- 文档编号:23138266
- 上传时间:2023-05-08
- 格式:DOCX
- 页数:15
- 大小:314.67KB
C语言实验报告.docx
《C语言实验报告.docx》由会员分享,可在线阅读,更多相关《C语言实验报告.docx(15页珍藏版)》请在冰豆网上搜索。
C语言实验报告
《C语言》实验报告
学院:
机械与电子信息学部
专业:
移动通信技术
班级:
28011001
学号:
2801100136
姓名:
戴注勇
指导教师:
杜丽芳
2011年06月
实验一简单C程序
【实验目的】
1、掌握上机运行一个C程序的全部过程。
2、初步学会VC++集成环境的使用方法。
3、初步学会差错和排错的技能。
4、加深理解程序执行的过程以及程序设计的有关概念。
【实验步骤】
1、启动VC++集成环境。
2、在编辑状态下输入源程序,保存后生成扩展名为cpp的源文件。
3、对源文件进行编译,生成扩展名为obj的目标文件,如果编译通不过,再回到编辑状态修改程序。
4、对目标文件进行连接,生成扩展名为exe的可执行文件。
5、最后运行可执行文件,得到程序运行结果。
注:
具体实验内容为第1,3章作业,每题要有题目,源程序,C编译系统下的编辑示图,C编译系统下的运行结果示图。
【题目一】
1.请参照本章例题,编写一个C程序,输出以下信息。
*************************
Verygood
*************************
【源程序】
#include
intmain()
{
printf("******************\nVerygood!
\n******************\n");
return0;
}
【C编译系统下的编译示图】
【C编译系统下的运行结果示图】
【题目二】
2.编写一个C程序,输入a,b,c三个值,输出其中最大者。
【源程序】
#include
intmain()
{
intmax(intx,inty,intz);
inta,b,c,d;
scanf("%d,%d,%d",&a,&b,&c);
d=max(a,b,c);
printf("max=%d\n",d);
return0;
}
intmax(intx,inty,intz)
{
intm;
if(x>y)m=x;
if(x>z)m=x;
elsem=z;
return(m);
}
【C编译系统下的编译示图】
【C编译系统下的运行结果示图】
实验二选择结构
【实验目的】
1、掌握逻辑运算和逻辑表达式的用法。
2、掌握选择结构的程序设计方法。
3、掌握if语句和switch语句。
4、了解c语言表示逻辑量的方法,以0代表“假”,以非0代表“真”。
注:
具体实验内容为第4章作业,每题要有题目,源程序,C编译系统下的编辑示图,C编译系统下的运行结果示图。
【题目一】
1.给一个百分制成绩,要求输出等级’A’、’B’、’C’、’D’、’E’。
90分以上为’A’,80~90分为’B’,70~79分为’C’,60分以下为’D
【源程序】
#include
intmain()
{
inta;
printf("输入一个成绩:
\n");
scanf("%d",&a);
switch((int)a/10)
{
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;
}
【C编译系统下的编译示图】
【C编译系统下的运行结果示图】
【题目二】
2.给定一个不多于5位的正整数,要求:
①求它是几位数;
②分别打印出每一位数字;
③按逆序打印出各位数字。
例如原数为321,应输出123。
【源程序】
#include
intmain()
{
inta,b,c,d,e,f,g;
printf("请输入一个不大于五位的正整数\n");
scanf("%d",&a);
if(a>=0&&a<=9){g=1;b=a%10;}
elseif(a>=10&&a<=99){g=2;b=a%10;c=a/10%10;}
elseif(a>=100&&a<=999){g=3;b=a%10;c=a/10%10;d=a/100%10;}
elseif(a>=1000&&a<=9999){g=4;b=a%10;c=a/10%10;d=a/100%10;e=a/1000%10;}
elseif(a>=10000&&a<=99999){g=5;b=a%10;c=a/10%10;d=a/100%10;e=a/1000%10;f=a/10000%10;}
switch(g)
{
case1:
printf("该数数位为%d\n各位数为%d\n逆序为%d\n",g,b);break;
case2:
printf("该数数位为%d\n各位数为%d\n十位数为%d\n逆序为%d%d\n",g,b,c,b,c);break;
case3:
printf("该数数位为%d\n各位数为%d\n十位数为%d\n百位数为%d\n逆序为%d%d%d\n",g,b,c,d,b,c,d);break;
case4:
printf("该数数位为%d\n各位数为%d\n十位数为%d\n百位数为%d\n千位数为%d\n逆序为%d%d%d%d\n",g,b,c,d,e,b,c,d,e);break;
case5:
printf("该数数位为%d\n各位数为%d\n十位数为%d\n百位数为%d\n千位数为%d\n万位数为%d\n逆序为%d%d%d%d%d\n",g,b,c,d,e,f,b,c,d,e,f);break;
}
return0;
}
【C编译系统下的编译示图】
【C编译系统下的运行结果示图】
实验三循环结构
【实验目的】
1、掌握循环语句的执行过程及用法。
2、初步掌握循环语句设计的基本技巧。
3、掌握用dowhile语句,while语句和for语句实现循环的方法。
4、学会单步跟踪的操作方法。
注:
具体实验内容为第5章作业,每题要有题目,源程序,C编译系统下的编辑示图,C编译系统下的运行结果示图。
【题目一】
1.求Sn=a+aa+aaa+…+aa…aaa(有n个a)之值,其中a是一个数字。
例如:
2+22+222+2222+22222(n=5),n由键盘输入。
【源程序】
#include
#include
intmain()
{
intn,sum=0,i=1,s=2;
scanf("%d",&n);
while(i<=n)
{sum=sum+s;s=s+2*pow(10,i);
i++;}
printf("sum=%d\n",sum);
return0;
}
【C编译系统下的编译示图】
【C编译系统下的运行结果示图】
【题目二】
2.求
+
+
。
【源程序】
#include
intmain()
{
doublei=1,j=1,k=1,s1=0,s2=0,s3=0,sum;
for(;i<=100;i++)s1=s1+i;
for(;j<=50;j++)s2=s2+j*j;
for(;k<=10;k++)s3=s3+1/k;
sum=s1+s2+s3;
printf("sum=%f\n",sum);
return0;
}
【C编译系统下的编译示图】
【C编译系统下的运行结果示图】
【题目三】
3.一个数如果恰好等于它的因子之和,这个数就称为"完数"。
例如,6的因子为1、2、3,而6=1+2+3,因此6是"完数"。
编程序找出1000之内的所有完数,并按下面格式输出其因子:
6 its factors are 1、2、3
【源程序】
#include
intmain()
{
intm,i,j,s;
for(m=6;m<10000;m++)
{s=1;
for(i=2;i if(m%i==0)s=s+i; if(m-s==0) { printf("%5ditsfastorsare1",m);for(j=2;j printf("%d",j);printf("\n"); } } return0; } 【C编译系统下的编译示图】 【C编译系统下的运行结果示图】 实验四数组与函数 【实验目的】 1、掌握一维和二维数组的定义及应用。 2、掌握一维和二维数组的基本编程技巧。 3、掌握使用函数进行程序设计的方法。 注: 具体实验内容为第6,7章作业,每题要有题目,源程序,C编译系统下的编辑示图,C编译系统下的运行结果示图。 【题目一】 1.已有一个已排好的数组今输入一个数要求按原来排序的规律将它插入数组中。 【源程序】 #include intmain() { staticinta[10]={1,7,8,17,23,24,59,62,100};inti,j,t; printf("输入一个数: "); scanf("%d",&a[9]); for(i=9;i>0;i--)
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 实验 报告