C程序实验报告wo带答案.docx
《C程序实验报告wo带答案.docx》由会员分享,可在线阅读,更多相关《C程序实验报告wo带答案.docx(61页珍藏版)》请在冰豆网上搜索。
C程序实验报告wo带答案
实验一C语言程序初步
一、实验目的
1.熟悉TurboC与VisualC++程序运行环境。
2.初步了解C源程序的特点。
3.掌握如何编辑、编译、链接和运行一个C程序。
4.掌握C语言程序的书写格式和C语言程序的结构。
5.了解C语言中数据类型的含义。
6.掌握C语言中常用的运算符。
7.掌握C语言表达式的运算规则。
8.理解C语言中输出输入使用方法。
9.熟练掌握C语言中输入输出格式控制符。
二、实验要求
1.分析整理运行结果,完成实验报告,要求报告书写字迹清晰,格式规范。
2.实验报告中应包含运行结果及结果分析。
最后给出实验总结及体会。
三、实验内容与步骤
1.C语言上机步骤:
(1)进入系统
在Windows桌面或“程序”菜单中找到VisualC++6.0双击运行。
(2)常用操作
熟悉常用的操作:
文件、编辑和组建菜单。
(3)操作步骤
①进入VisualC++6.0界面;
②文件新建,选择文件存放位置,输入文件名称。
④点击“确定”后,开始编辑程序;
⑤编辑好程序之后,选择组建编译,对程序进行编译、连接,无误后,选择组建执行。
2.读下面程序,写出运行结果,并对结果进行分析。
(1)#include
voidmain()
{
printf(“*****************\n”);
printf(“Thisisacprogram.\n”);
}
运行结果:
*****************
Thisisacprogram.
结果分析:
字符串原样输出
将程序中的\n去掉后,运行结果为:
运行结果:
*****************Thisisacprogram.
结果分析:
\n是换行
(2)#include
voidmain()
{
printf(“*********************”);
printf(“\n”);
printf(“verygood!
”);
printf(“\n”);
printf(“*********************”);
}
运行结果:
*********************
verygood!
*********************
结果分析:
\n是换行
(3)#include
voidmain()
{
inta,b,sum;
a=12;b=45;
sum=a+b;
printf(“sumis%d\n”,sum);
a=10;b=34;
sum=a*b;
printf(“sumis%d\n”,sum);
}
运行结果:
sumis57
sumis340
结果分析:
重新赋值后取新值
(4)#include
voidmain()
{
inta,b,c;
scanf(“%d,%d”,&a,&b);
if(a>b)
c=a;
else
c=b;
printf(“max=%d”,c);
}
运行结果:
输入5,3输出max=5
结果分析:
输入两个数,输出大数
(5)#include
voidmain()
{
charc1,c2;
c1=97;
c2=98;
printf(“%c%c\n”,c1,c2);
printf(“%d%d\n”,c1,c2);
}
运行结果:
ab
9798
结果分析:
字符型和整型可相互转换
(6)#definePRICE30
#include
voidmain()
{
intnum,total1,total2;
num=10;
total1=num*PRICE;
total2=num*30;
printf(“total1=%d\n”,total1);
printf(“total2=%d\n”,total2);
}
运行结果:
total1=300
total2=300
结果分析:
define是宏定义,定义字符常量
(7)#include
voidmain()
{
inta,b;
a=2147483647;
b=a+1;
printf(“a=%d,,b=%d”,a,b);
}
运行结果:
a=22175,b=22176
结果分析:
超出整数范围
(8)#include
voidmain()
{
floatx;
inti;
x=3.6;
i=(int)x;
printf(“x=%f,i=%d”,x,i);
}
运行结果:
x=3.600000,i=3
结果分析:
(int)x强制类型转换
(9)#include
voidmain()
{
inti,j,m,n=2;
i=8;
j=10;
m=++i;
n+=j++;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
}
运行结果:
9,11,9,12
结果分析:
++i是先加1再参加运算j++是先参加运算再加1
3.上机输入下面程序
(1)main()
{inta,b;
floatc;
scanf(“%d%d%f”,&a,&b,&c);printf(“a=%-4d,b=%4d,c=%f,c=%.2f\n”,a,b,c);
}
1)要使a=3,b=4,c=12.3456,在键盘上应如何输入?
3空4空12.3456
2)若将输入函数改为scanf(“%d,%d,%f”,&a,&b,&c);应该如何输入数据?
3,4,12.3456
(2)main()
{
inta;floatb;charc;
scanf(“%4d%5f%3c”,&a,&b,&c);printf(“a=%d,a=%o,a=%x,b=%8.3f,b=%4.0f,c=%c\n”,a,a,a,b,b,c);
}
要使a=77,b=4.56,c=‘A’,在键盘上应如何输入?
77空4.56A
4.程序改错
上机调试下面的程序,记录系统给出的出错信息,改正后写在对应错误代码行后面。
下面的程序企图计算由键盘输入的任意两个整数的平均值:
#include
voidmain()
{intx,y,a;
————>floatx,y,a;
scanf(“%x,%y”,&x,&y);
————>scanf(“%f,%f”,&x,&y);
a=(x+y)/2;
printf(“Theaverageis:
%d\n”,a);
————>“Theaverageis:
%f\n”
}
运行结果:
输入3,5输出4.000000
结果分析:
若a定义为整型,可能出现3,4的平均值为3,自动取整
实验二顺序结构程序设计
一、实验目的
1.熟悉C语言顺序结构程序设计方法。
2.掌握顺序程序设计流程。
3.熟练掌握逻辑运算符和关系运算符用法。
二、实验要求
1.分析整理运行结果,完成实验报告,要求报告书写字迹清晰,格式规范。
2.实验报告中应包含运行结果及结果分析。
3.最后给出实验总结及体会
三、实验内容与步骤
1.运行下面程序给出输出的结果。
(1)#include"stdio.h"
voidmain()
{
inta,b;
floatx,y;
charc1,c2;
scanf(“a=%d,b=%d”,&a,&b);
scanf(“%f,%f”,&x,&y);
scanf(“%c%c”,&c1,&c2);
printf(“a=%d,b=%d,x=%f,y=%4.2f,c1=%c,c2=%c\n”,a,b,x,y,c1,c2);
}
运行结果:
输入a=3,b=4空3.4,4.5ab
输出a=3,b=4,x=3.400000,y=4.50,c1=a,c2=b
结果分析:
scanf中的字符在输入时也要原样输入
(2)#include
voidmain()
{
intx=10,y;
y=5+(x++,x+8);
printf("%d,%d",x,y);
}
运行结果:
11,24
结果分析:
x++,x为11,y=x+5+8=19+5=24
(3)#include
main()
{
intx=1,y=2,z,a,b,c,d;
z=++x||++y;
printf(“x=%d\n”,x);
printf(“y=%d\n”,y);
a=-1;b=-2;
c=++a&&b++;
printf(“a=%d\n”,a);
printf(“b=%d\n”,b);
x=-8;
y=0<=x<=10;
printf(“y=%d\n”,y);
}
运行结果:
x=2
y=2
a=0
b=-2
y=1
结果分析:
||前表达式为真后面不计算
&&前表达式为假后面不计算
(4)#include
main()
{
inta=10,b=0;
if(a==12)
{
a=a+1;
b=b+1;
}
else
{
a=a+4;
b=b+4;
}
printf(“%d;%d\n”,a,b);
}
运行结果:
14;4
结果分析:
if后面的表达式为真执行if后语句,为假执行else后语句
(5)#include
main()
{
intx=40,y=4,z=4;
x=y==z;
printf(“%d\n”,x);
x=x==(y=z);
printf(“%d\n”,x);
}
运行结果:
x=1
x=0
结果分析:
区分=或==
2.程序填空
任意输入一个有五位数字的正整数x,分别输出每一数位上的数字(由高到低分别用b5,b4,b3,b2,b1表示)。
#include
voidmain()
{
intb1,b2,b3,b4,b5;
longintx;
scanf(“%ld”,&x);
b5=x/10000;
b4=(x/1000)%10;
b3=(x/100)%10;
b2=(x/10)%10;
b1=x%10;
printf(“thenumberis%ld\n”,x);
printf(“itsbitis:
%d,%d,%d,%d,%d\n”,
b5,b4,b3,b2,b1);
}
运行结果:
输入23456
输出thenumberis23456
itsbitis:
2,3,4,5,6
结果分析:
b1~b5分别表示个,十,百,千,万
3、程序改错。
上机调试下面的程序,记录系统给出的出错信息,改正后写在对应错误代码行后面。
(1)输入三角形三边长,求三角形面积。
#include“math.h”
voidmain()
{
floata,b,c,area;
————>floata,b,c,area,s;
scanf(“%f,%f,%f”,a,b,c);
————>scanf(“%f