C实验报告.docx
- 文档编号:8168850
- 上传时间:2023-01-29
- 格式:DOCX
- 页数:68
- 大小:46.81KB
C实验报告.docx
《C实验报告.docx》由会员分享,可在线阅读,更多相关《C实验报告.docx(68页珍藏版)》请在冰豆网上搜索。
C实验报告
安徽建筑工业学院
现代教育技术中心
实 验 报 告
课程名称:
C程序设计
指导教师:
专 业:
班 级:
姓 名:
学 号:
200 至200 学年第 学期
实验一C程序运行环境、数据类型、运算符和表达式
实验地点:
第 机房 实验时间:
年 月 日
实验目的
1.掌握TurboC集成环境的进入与退出、TurboC集成环境各种窗口的切换,了解TurboC集成环境的设置。
2.掌握C语言源程序的建立、编辑、修改、保存及编译和运行等操作。
3.掌握C语言数据类型,熟悉如何定义一个整型、字符型和实型变量,掌握对这些变量赋值等使用的方法,知道输出时格式字符的使用。
4.学会使用C语言的基本运算符(主要是算术运算符、赋值运算符)及其表达式,特别是自加运算符(++)和自减运算符(--)的使用。
5.掌握C语言源程序的结构特点与书写规范。
实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.第5题按照题目的要求编写出程序。
3.对每个程序认真进行语法检查与逻辑检查。
4.上机调试程序。
按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
5.详细记录数据的输入、输出信息,按要求写出实验报告。
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
1.开机;进入TurboC集成工作环境,了解TurboC集成工作环境及其菜单的使用,输入如下C语言源程序,并以ex1.C存盘。
#include
main()
{
printf("ThisisCprogram!
");/*输出字符串/
}
编译、连接、运行该程序,并按Alt+F5查看运行结果。
运行结果是:
注意:
要熟悉Turboc2.0的编译、连接、运行、保存、装载文件的命令及其快捷键
2.输入并调试以下程序,查看运行结果(由此结果可以了解到在实验用的微型机上,几种数据类型所占的字节数)。
main()
{
printf("char\t%dbytes\n",sizeof(char));
printf("short\t%dbytes\n",sizeof(short));运行结果是:
printf("int\t%dbytes\n",sizeof(int));
printf("long\t%dbytes\n",sizeof(long));
printf("float\t%dbytes\n",sizeof(float));
printf("double\t%dbytes\n",sizeof(double));
}
3.输入并调试以下程序:
main()
{inti,j,m,n;
i=8;j=10;
m=++i;n=j++;
printf("%d,%d,%d,%d",i,j,m,n);
}
分别作以下改动后再运行,并观察比较运行结果:
①将第4行改为:
m=i++;n=++j;
运行结果是:
②程序改为:
main()
{inti,j;
i=8;j=10;
printf("%d,%d",i++,j++);
}
运行结果是:
③在②的基础上,将printf语句改为:
printf("%d,%d,%d,%d",i,j,i++,j++);
运行结果是:
④将printf语句改为:
printf("%d,%d,%d,%d",i,j,++i,++j);
运行结果是:
4.试分析下面程序的运行结果,并回答下面的问题。
#include
main()
{inti=3,k;
printf("%d,%d\n",(i++)+(i++)+(i++),i);
i=3;
printf("%d,%d\n",i,++i+(++i)+(++i));
i=3;
k=(i++)+(i++)+(i++);
printf("%d,%d\n",k,i);
}
运行结果是:
在该题中,若把程序中所有(i++)及(++i)的括号去掉,则编译过程及运行结果有无变化?
答:
5.编程,求365÷7的商(输出两位小数)和余数的程序。
main()
{floata,b,c;intx;
a=365;b=7;
c=a/b;
x=(int)a%(int)b;
printf("%.2f,%d\n",c,x);
}
教
师
评
阅
成绩:
教师签名:
年月日
实验二最简单的C程序设计
实验地点:
第 机房 实验时间:
年 月 日
实验目的
1.掌握C语言中赋值表达式和赋值语句的使用。
2.正确理解、选择输入格式字符所控制的数据对象、数据输入(输出)形式和方法。
3.掌握输出函数printf()和putchar()的用法,能正确使用各种输出格式。
4.掌握输入函数scanf()和getchar()的用法,能正确使用各种输入格式。
实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.4、5两题按照题目的要求编写出程序。
3.对每个程序认真进行语法检查与逻辑检查。
4.上机调试程序。
按各个程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
5.详细记录数据的输入、输出信息,按要求写出实验报告。
实
验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
1.输入并运行以下程序:
#include
main()
{inta;
floatb,c;
scanf("%2d%3f%*2d%4f",&a,&b,&c);
printf("\na=%d,b=%f,c=%f\n",a,b,c);
}
运行时从键盘上输入9876543210↙
则程序运行结果是:
2.输入并运行以下程序:
#include
main()
{intc;
chard;
c=66;d='B';
putchar(c);putchar(d);
putchar('B');putchar(66);
}
程序运行结果是:
将以上程序作如下修改:
①将程序中两个赋值语句改写:
c=65;d='A';
②将程序最后两个字符输出函数改写:
putchar('A');putchar(65);
则程序运行结果是:
3.输入并运行以下程序:
#include
voidmain()
{inta=-1;longb=-1;floatf=123.456;charc='a';
printf("a=%d,a=%o,a=%x,a=%u\n",a,a,a,a);
printf("b=%ld,b=%lo,b=%lx,b=%lu\n",b,b,b,b);
printf("f=%f,f=%7.2f,f=%-7.2f\nf=%e,f=%g\n",f,f,f,f,f);
printf("c=%c,c=%3c,c=%-3c,c=%d,c=%c\n",c,c,c,'a',65);
printf("s1=%s,s2=%7.3s,s3=%-7.3s\n","12345","ABCD","12345");
}
程序运行结果是:
4.编程,要求从键盘输入数据,使整型变量a=10,b=8;字符型变量c1='A',c2='a';实型变量x=3.1,y=64.54。
并按规定格式输出变量的值。
要求输出格式如下:
inta=10,b=8
charc1=A,c2=a
floatx=3.1,y=64.54
5.编程,要求从键盘输入一个字符,算出它的左邻字符和右邻字符,并按ASCII码值,从大到小输出3个字符及其对应的ASCII码值。
/*4.*/
main()
{inta,b;charc1,c2;floatx,y;
scanf("%d%d",&a,&b);
scanf("%c%c",&c1,&c2);
scanf("%f%f",&x,&y);
printf("inta=%d,b=%d\n",a,b);
printf("charc1=%c,c2=%c\n",c1,c2);
printf("floatx=%.1f,y=%.2f",x,y);
}
/*5.*/
#include"stdio.h"
main()
{charc1,c2,c3;
c2=getchar();
c1=c2-1;c3=c2+1;
printf("%c,%d;%c,%d;%c,%d\n",c3,c3,c2,c2,c1,c1);
}
教
师
评
阅
成绩:
教师签名:
年月日
实验三选择结构程序设计
实验地点:
第 机房 实验时间:
年 月 日
实验目的
1.掌握C语言表示逻辑量的方法(以0代表“假”,非0代表“真”)。
2.学会正确使用关系运算符、逻辑运算符及关系表达式、逻辑表达式。
3.熟练掌握各种if语句和switch语句的语法结构和语句功能。
4.结合程序,掌握选择结构程序设计的一般方法,能够用多种方法编写同一程序。
实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.3、4、5三题按照题目的要求编写出程序。
3.对每个程序认真进行语法检查与逻辑检查。
4.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
5.详细记录数据的输入、输出信息,按要求写出实验报告。
验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
1.输入并调试以下程序:
(1)#include
main()
{inta,b;
printf("Enteraninteger:
");
scanf("%d",&a);
b=1;
if(++a<0)b=-1;
elseif(a==0)b=0;
printf("a=%d,b=%d\n",a,b);
}
运行时,若从键盘上输入-1↙
则程序运行结果是:
(2)#include
main()
{inta1=10,a2=20,a3=30;
charch;
ch=getchar();
switch(ch)
{case'A':
a1++;a2++;break;
default:
a3++;
case'B':
a2++;a3++;
}
printf("%d,%d,%d\n",a1,a2,a3);
}
若从键盘上输入:
BAC↙
则程序运行结果是:
2.程序填空(完善程序)。
以下程序的功能是:
从键盘输入三个整型数据,对这三个数据进行从小到大排序,并输出排序后的数据。
请在下划线处填上适当的内容,以完成该程序的功能。
#include
main()
{intx,y,z,i;
scanf("%d,%d,%d",&x,&y,&z);
if(){i=x;x=y;y=i;}
if(){i=x;x=z;z=i;}
if(){i=y;y=z;z=i;}
printf("%d,%d,%d\n",x,y,z);
}
3.给出一个百分制成绩,要求输出成绩等级A、B、C、D、E。
90分以上为A,80~89分为B,70~79分为C,60~69分为D,60分以下为E。
要求:
用键盘输入百分制成绩,并判断输入数据的合理性,对于不合理的数据给出错误信息。
用switch语句编写该程序。
4.编程,计算下列分段函数值:
(x>0)
(x<0)
(x=0)
5.给出一个小于1000正整数,编程求该数是几位数,并按逆序打印出各位上的数字。
例如原数为321,则输出123。
/*3.*/
#include"stdio.h"
main()
{intscore;
printf("PleaseInputscore:
");
scanf("%d",&score);
if(score>100||score<=0)
{printf("InputError\n");
getchar();getchar();
return;
}
switch(score/10)
{case10:
case9:
putchar('A');break;
case8:
putchar('B');break;
case7:
putchar('C');break;
case6:
putchar('D');break;
default:
putchar('E');
}
}
/*4.*/
#include"math.h"
main()
{floatx,y;
scanf("%f",&x);
if(x>0)y=2*x-exp
(2);
elseif(x<0)y=3*x*x-2;
elsey=sqrt(5);
printf("x=%f,y=%f\n",x,y);
}
/*5*/
#include"stdio.h"
main()
{inta,gw=0,sw=0,bw=0,bit;
clrscr();
scanf("%d",&a);
if(a>=1000||a<=0)
{printf("InputError\n");
getchar(),getchar();
return;}
if(a>=100)
bw=a/100,sw=a%100/10,gw=a%10,bit=3;
elseif(a>=10)sw=a/10,gw=a%10,bit=2;
elsegw=a,bit=1;
a>=100?
printf("bit=%d,%d%d%d\n",bit,gw,sw,bw):
a>=10?
printf("bit=%d,%d%d\n",bit,gw,sw):
printf("bit=%d,%d\n",bit,gw);
}
教
师
评
阅
成绩:
教师签名:
年月日
实验四循环结构程序设计
(1)
实验地点:
第 机房 实验时间:
年 月 日
实验目的
1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。
2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。
3.理解并掌握break语句和continue语句的语句功能。
4.能正确使用这些语句进行简单程序设计。
实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.3~6题按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
实
验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
1.输入并调试以下程序:
(1)#include
main()
{inti=0;
while(i++<3)printf("%d\n",i);
}运行结果是:
(2)#include
main()
{inti;
for(i=1;i<5;i++)
{if(i%2)printf("*");
elsecontinue;
printf("%");
}
printf("@");
}运行结果是:
2.程序填空(完善程序)。
下面程序的功能是求1000以内的所有完全数,请填空(说明:
一个数如果恰好等于它的因子(自身除外)之和,则称该数为完全数,如6=1+2+3,则6是完全数)。
请在下划线处填上适当的内容,以完成该程序的功能。
#include
main()
{inti,sum,k=2;
do
{i=1;sum=0;
do
{if(k%i==0)
i++;}
while(i<=k/2);
if(sum==k)printf("%d\n",);
k++;
}
while();
}
3.编程,找出1~1000之间的全部“同构数”。
所谓“同构数”是指这样的数:
它出现在它的平方数的右端。
如:
6的平方是36,6出现在36的右端,6就是一个同构数。
4.编程,输出由1,2,3,4四个数字组成的4位数,并统计其个数(不允许该4位数中有相同的数字,例如:
1111,1122,1212等都不是所求的数)。
5.编程,用公式π/4≈1-
+
-
+…求π的近似值,当某项绝对值小于
时计算结束。
6.输入两个正整数,编程求它们的最大公约数和最小公倍数。
/*3*/
main()
{
longp,i,k;
for(i=1;i<1000;i++)
{p=i*i;
k=p-i;
if(i<10&&k%10==0)printf("%ld,%ld\n",p,i);
elseif(i<100&&k%100==0)printf("%ld,%ld\n",p,i);
elseif(i<1000&&k%1000==0)printf("%ld,%ld\n",p,i);
}
}说明:
i也必须定义为longint
或
main()
{
longp,i,k;
for(i=1;i<1000;i++)
{p=i*i;
if(p%10==i||p%100==i||p%1000==i)
printf("%ld%ld",p,i);
}
}
说明:
可以将if(p%10==i||p%100==i||p%1000==i)改写成if(p%1000==i||p%10==i||p%100==i)
但不能改写成if((p-i)%10==0||(p-i)%100==0||(p-i)%1000==0)例如:
75,75*75=5625不能满足第一个条件但能满足第二个条件。
/*4/
main()
{
inti,j,k,l,p,total=0;
clrscr();
for(i=1;i<=4;i++)
for(j=1;j<=4;j++)
for(k=1;k<=4;k++)
for(l=1;l<=4;l++)
{p=(i!
=j&&i!
=k&&i!
=l)&&(j!
=k&&j!
=l)&&(k!
=l);
if(p)
{
if(total%6==0)printf("\n");
printf("%d%d%d%d",i,j,k,l),total++;
}
}
printf("total=%d",total);
}
/*5*/
main()
{floatpi=1,sign=1,term;
longi=1;
term=1./(2*i+1);
while(term>=1e-6)
{sign=-sign;
pi+=sign*term;
i++;
term=1./(2*i+1);
}
printf("i=%ld,%e\n",i,term);
pi*=4;
printf("%f\n",pi);
}
/*6*/
main()
{inta,b,r,gcd,ps,x,y;
printf("Inputa,b:
\n");
scanf("%d,%d",&a,&b);
while(a<=0||b<=0)
{printf("inputerrorretry\n
scanf("%d,%d",&a,&b);
}
x=a,y=b;
r=a%b;
while(r!
=0)
{a=b;
b=r;
r=a%b;
}
gcd=b;
ps=x/gcd*y;/*应先除再乘例子625325*/
printf("a=%db=%d\n",x,y);
printf("gcd=%dps=%d\n",gcd,ps);
}
或
main()
{longa,b,p,t;
printf("PleaseInputab:
\n");
scanf("%ld%ld",&a,&b);
if(a
printf("a=%ld,b=%ld\n",a,b);
p=a*b;
while(a%t!
=0||b%t!
=0)t--;
p=p/t;
printf("highestcommondivisor=%-8ld,leastcommonmultiple=%-8ld\n",t,p);
}
教
师
评
阅
成绩:
教师签名:
年月日
实验五循环结构程序设计
(2)
实验地点:
第 机房 实验时间:
年 月 日
实验目的
1.理解循环的概念,熟悉和掌握while语句,do-while语句和for语句实现循环的方法。
2.掌握穷举算法、迭代算法、递推算法等一些常用算法的程序设计方法。
3.理解并掌握break语句和continue语句的语句功能。
4.能正确使用这些语句进行简单程序设计。
实验要求
1.根据题目要求,进行各种程序测试与验证,并记录结果。
2.3~6题按照题目的要求编写出程序,注意总结各题的编程思路。
3.上机调试程序。
将各程序输入计算机,并进行编译和连接,如果在编译、连接中有错误信息,则要根据这些信息找到程序中的错误所在,然后修改程序,直至正确。
4.详细记录数据的输入、输出信息,按要求写出实验报告。
实
验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
、
分析
实验内容与过
程
、结
果
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 报告