信息系统实验报告电子版.docx
《信息系统实验报告电子版.docx》由会员分享,可在线阅读,更多相关《信息系统实验报告电子版.docx(16页珍藏版)》请在冰点文库上搜索。
信息系统实验报告电子版
《C语言程序设计》实验报告
实验一C程序的运行环境和运行一个C程序的方法
◆实验目的
(1)了解所用的计算机系统的基本操作方法,学会独立使用该系统。
(2)了解在该系统上如何编辑、编译、连接和运行一个C程序。
◆实验内容
(1)调用教材P4例1.1程序,并进行编译和运行。
(2)输入并运行教材P4例1.2程序。
(3)编写并运行教材P13习题1.6。
1).例1.1实验代码
#include
voidmain()
{
printf("thisisaCprogram.\n");
}
实验结果thisisaCprogram.
实验总结:
由于粗心单词拼错,对于编程熟悉程度较差,无法独立写程
2).例1.2实验代码
#include
voidmain()
{
inta,b,sum;
a=123;b=456;
sum=a+b;
printf("sumis%d\n",sum);
}
实验结果sumis579
实验总结:
总是丢失语句,编写速度慢,无法自主独立编写程序
3).习题1.6实验代码
#include
voidmain()
{
inta,b,c,max;
printf("pleaseinputa,b,c\n");
scanf("%d,%d,%d",&a,&b,&c);
max=a;
if(max
max=b;
if(maxmax=c;
printf("Thelargestnumberis%d",max);
}
实验结果
pleaseinputa,b,c
4,5,6
Thelargestnumberis6Pressanykeytocontinue
实验总结:
对于比较复杂的程序不知道如何下手,编写时不够细心,对C语言掌握不够熟
实验二数据类型、运算符和表达式
◆实验目的
(1)掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及它们的赋值方法。
(2)学会使用C语言的算术运算符,以及包含这些运算符的表达式,特别是自加和自减运算符的使用。
◆实验内容
(1)输入并运行教材P50例3.6程序,并进行编译和运行。
(2)编写并运行教材P67习题3.7,并写
出运行结果。
(3)编写并运行教材P67习题3.10,并写出运行结果。
1)。
实验代码:
#include
voidmain()
{
charc1,c2;
c1=97;
c2=98;
printf("%c%c\n",c1,c2);
printf("%d%d\n",c1,c2);
}
实验结果:
ab
9798
实验总结:
2)实验代码
#include
voidmain()
{
charc1='c',c2='h',c3='i',c4='n',c5='a';
c1+=4;
c2+=4;
c3+=4;
c4+=4;
c5+=4;
printf("passwordis%c%c%c%c%c",c1,c2,c3,c4,c5);
}
实验结果
passwordisglmrePress
3)实验代码
#include
voidmain()
{
inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
printf("%d,%d,%d,%d\n",i,j,m,n);
}
实验结果
9,11,9,10
实验总结
实验三顺序结构程序设计
◆实验目的
(1)掌握C语言中使用最多的一种语句—赋值语句的使用。
(2)掌握数据的输入输出的方法,能正确使用各种格式的转换符。
◆实验内容
(1)编写并运行教材P89习题4.8,并写出运行结果。
(2)编写并运行教材P89习题4.9,写出当F=100时的结果。
实验三:
<1>
#include
voidmain()
{floath,r,l,s,sq,vq,vz;
floatpi=3.1415926;
printf("请输入圆半径r,圆柱高h;");
scanf("%f,%f",&r,&h);
l=2*pi*r;
s=r*r*pi;
sq=4*pi*r*r;
vq=4.0/3.0*pi*r*r*r;
vz=pi*r*r*h;
printf("圆周长为:
l=%6.2f\n",l);
printf("圆面积为:
s=%6.2\n",s);
printf("圆球表面积为:
sq=%6.2f\n",s);
printf("圆球体积为:
vq=%6.2f\n",vq);
printf("圆球体积为:
vz=%6.2f\n",vz);
<2>
#include
voidmain()
{
floatc,f;
printf("请输入一个华氏温度:
");
scanf("%f",&f);
c=(5.0/9.0)*(f-32);
printf("摄氏温度为:
%5.2f\n",c);
}
实验结果:
<1>请输入圆半径r,圆柱高h:
1.5,3←
圆周长:
l=9.42
圆面积:
s=7.07
圆球表面积:
sq=28.27
圆球体积:
vq=14.14
圆柱体积:
vz=21.21
<2>请输入一个华氏温度:
100←摄氏温度为:
37.78
实验总结:
麻烦,但搞定.
实验四:
<1>:
#include
voidmain()
{intx,y;
printf("输入x:
");
scanf("%d",&x);
if(x<1)
{y=x;
printf("x=%3d,y=x=%d\n",x,y);
}
elseif(x<10)
{y=2*x-1;
printf("x=%3d,y=2*x-1=%d\n",x,y);
}
else
{y=3*x-11;
printf("x=%3d,y=3*x-11=%d\n",x,y);
}
}
<2>:
#include
voidmain()
{floatscore;
chargrade;
printf("请输入学生成绩:
");
scanf("%f",&score);
while(score>100||score<0)
{printf("\n输入有误,请重输");
scanf("%f",&score);
}
switch((int)(score/10))
{case10:
case9:
grade='A';break;
case8:
grade='B';break;
case7:
grade='C';break;
case6:
grade='D';break;
case5:
case4:
case3:
case2:
case1:
case0:
grade='E';
}
printf("成绩是%5.1f,相应的等级是%c.\n",score,grade);
}
输入结果:
<1>
1.输入X:
-1
X=-1,Y=2*x-1=-3
2.输入x:
5
x=5,y=2*x-1=9
3.输入x:
10
x=10,y=3*x-11=19
<2>:
请输入学生成绩:
100
成绩是100,相应的等级是A
请输入学生成绩:
90
成绩是90,相应的等级是A
请输入学生成绩:
80
成绩是80,相应的等级是B
实验总结:
一波三折,还算成功.
实验四选择结构程序设计
◆实验目的
(1)了解C语言表示逻辑量的方法。
(2)学会正确使用逻辑运算符和逻辑表达式。
(3)熟练掌握if语句和switch语句。
◆实验内容
(1)编写并运行教材P82习题4.5,并写出当输入-1、5、10时的运行结果。
(2)编写并运行教材P82习题4.6,并写出当输入100、90、80时的运行结果。
实验五循环控制
◆实验目的
(1)熟悉用while语句,do—while语句和for语句实现循环的方法。
(2)掌握在程序设计中用循环的方法实现各种算法。
◆实验内容
(1)输入两个正整数,求其中最大公约数和最小公倍数。
(2)输入一行字符,分别统计出其中的英文字母、空格、数字和其它字符的个数。
(3)打印出所有的“水仙花数”。
一.代码#include
voidmain()
{
intp,r,n,m,temp;
printf("请输入两个正整数:
");
scanf("%d,%d",&n,&m);
if(n{
temp=n;
n=m;
m=temp;
}
p=n*m;
while(m!
=0)
{
r=n%m;
n=m;
m=r;
}
printf("他们的最大公约数为:
%d\n",n);
printf("他们的最小公倍数为:
%d\n",p/n);
}
结果请输入两个正整数:
23,45
他们的最大公约数为:
1
他们的最小公倍数为:
1035
二,水仙花代码
#include
voidmain()
{
inti,j,k,n;
printf("水仙花数:
");
for(n=100;n<1000;n++)
{
i=n%100;
j=n/10-i*10;
k=n%10;
if(n==i*i*i+j*j*j+k*k*k)
printf("%d",n);
}
printf("\n");
}
结果水仙花数:
153370371407
转换代码#include
voidmain()
{
charc;
intletters=0,space=0,digit=0,other=0;
printf("请输入一行字符:
\n");
while((c=getchar())!
='\n')
{if(c>='a'&&c<='z'||c>='A'&&c<='Z')
letters++;
elseif(c=='')
space++;
elseif(c>='0'&&c<='9')
digit++;
else
other++;
}
printf("字母数:
%d\n空格数:
%d\n数字数:
%d\n其他数字数:
%d\n",letters,space,digit,other);
}
结果请输入一行字符:
gdg34
字母数:
4
空格数:
2
数字数:
2
其他数字数:
0
实验六数组
◆实验目的
(1)掌握一维数组和二维数组的定义、赋值和输入输出的方法。
(2)掌握字符数组和字符串的使用。
◆实验内容
(1)求一个3×3矩阵的主对角线元素之和。
(2)打印杨辉三角(打印10行)。
(3)将两个字符串连接起来,不要用strcat函数。
1)代码:
#include
voidmain()
{
inta[3][3],sum=0;
inti,j;
printf("输入数据:
\n");
for(i=0;i<3;i++)
for(j=0;j<3;j++)
scanf("%d",&a[i][j]);
for(i=0;i<3;i++)
sum=sum+a[i][i];
printf("sum=%6d\n",sum);
}
结果:
输入数据:
123456789
sum=15
2)#include
#defineN11
voidmain()
{
inti,j,a[N][N];
for(i=1;i{
a[i][1]=1;
a[i][i]=1;
}
for(i=3;ifor(j=2;j<=i-1;j++)
a[i][j]=a[i-1][j-1]+a[i-1][j];
for(i=1;i{
for(j=1;j<=i;j++)
printf("%5d",a[i][j]);
printf("\n");
}
printf("\n");
}
结果
1
11
121
1331
14641
15101051
1615201561
172135352171
18285670562881
193684126126843691
3)代码
#include
voidmain()
{
chara[80],b[40];
inti=0,j=0;
printf("\ninputstring1:
");
scanf("%s",a);
printf("inputstring2:
");
scanf("%s",b);
while(a[i]!
='\0')
i++;
while(b[i]!
='\0')
a[i++]=b[j++];
a[i]='\0';
printf("thenewstringis:
%s\n",a);
}
结果inputstring1:
country
inputstring2:
side
thenewstringis:
countryside
实验七函数
◆实验目的
(1)掌握定义函数的方法。
(2)掌握函数的嵌套调用和递归调用的方法。
◆实验内容
(1)编写并运行教材P202习题8.3。
(2)编写并运行教材P202习题8.4。
实验八编译预处理
◆实验目的
(1)掌握宏定义的方法。
(2)掌握文件包含的方法。
(3)掌握条件编译的方法。
◆实验内容
(1)定义一个带参的宏,使两个参数的值互换。
在主函数中输入两个数作为使用宏的实参,输出已交换后的两个值。
(2)输入两个整数,求它们相除的余数,用带参的宏来实现,并写出输入为80、29时的结果。
实验九指针
◆实验目的
(1)掌握指针的概念,会定义和使用指针变量。
(2)学会使用数组的指针和指向数组的指针变量。
(3)学会使用字符串的指针和指向字符串的指针变量。
◆实验内容
(1)输入三个整数,按由小到大的顺序输出,要求用指针实现。
(2)编写并运行教材P278习题10.3。