C语言实验报告书1文档格式.docx
《C语言实验报告书1文档格式.docx》由会员分享,可在线阅读,更多相关《C语言实验报告书1文档格式.docx(69页珍藏版)》请在冰点文库上搜索。
![C语言实验报告书1文档格式.docx](https://file1.bingdoc.com/fileroot1/2023-5/4/f43b8765-8764-452b-8e40-b00fbbd80825/f43b8765-8764-452b-8e40-b00fbbd808251.gif)
\柳稻香\hello\Debug\hello.exe),如果弹出一个Console程序窗口,上面写着HelloWorld!
Pressanykeytocontinue。
到目前为止一个简单的C程序工程创建成功。
(二)阅读程序
要求:
编辑下面源程序,并且读懂与分析运行程序,上机运行程序,并与分析结果相对比。
学会使用TC运行程序的基本方法。
1.输入并运行以下程序,观察运行结果。
#include<
stdio.h>
intmain()
{printf("
*********************\n\n"
);
printf("
verygood!
\n\n"
*********************\n"
return0;
}
运行结果
思考:
如何采用一个输出(printf)函数调用实现此输出结果。
printf("
*********************\nverygood!
\n*********************\n"
2.输入并运行以下程序,观察运行结果。
intmain()
{inta,b,sum,minus;
a=123;
b=456;
sum=a+b;
minus=a-b;
a+b=%d\na-b=%d\n"
sum,minus);
printf语句中删除a+b=和a-b=
输出结果:
printf语句中删除第一个\n
(三)完成程序
依据题目要求,分析已给出的语句,填写空白。
但是不要增行或删行,改动程序的结构。
1.求(a+b)×
c的值。
(设a=3,b=2,c=1)
intmain()
{inta,b,c;
a=3;
c=1;
b=2;
%d\n"
(a+b)*c);
2.求圆的面积。
#include<
#definePI3.14//定义符号常量
intmain()
{floatr,area;
\nEnterrvalue:
"
scanf("
%f"
&
r);
area=PI*r*r;
\narea=%f\n"
area);
return0;
(四)调试程序
调试运行下列程序是否正确,若有错,写出错在何处,并进行改正,填写改正后的运行结果。
行号
源程序
1
2
3
4
5
6
7
{intx;
x=5,y=8;
\n%d,%d,%d\n"
x,(x+5)*2,y);
错
错误在3行
应改为:
{intx,y;
调试正确后的运行结果
输出结果:
(五)编写程序
1.编写程序输出用6颗星构成的等边三角形。
*
**
***
2.编写一个C程序,输入a,b,c三个值,输出其中最大者。
1.
*\n"
**\n"
***\n"
2.
{intmax(intx,inty,intz);
inta,b,c,d;
%d,%d,%d"
a,&
b,&
c);
d=max(a,b,c);
max=%d\n"
d);
intmax(intx,inty,intz)
{
intt;
if(x>
y)t=x;
elset=y;
if(t<
z)t=z;
return(z);
实验二数据类型、运算符和表达式应用
1.掌握C语言中的基本数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法;
2.掌握不同的类型数据之间赋值的规律;
3.灵活运用算术运算符、赋值运算符、复合赋值运算符及其表达式;
4.了解数据运算中类型的自动转换与强制类型转换;
5.进一步熟悉C程序的结构特点,学习简单程序的编写方法。
(一)阅读程序
1.输入并运行以下程序,观察运行结果。
{charc1,c2;
c1=97;
c2=98;
%c,%c\n"
c1,c2);
(1)在第五行后面加入以下printf语句,并运行。
%d,%d\n"
(2)在
(1)的基础上,将第三行改为以下语句,并运行。
intc1,c2;
2.分析并运行此程序,当输入的数据为10时,下面程序的运行结果。
{floatx,y;
x);
\n2.4*x-1/2=%f"
2.4*x-1.0/2);
\nx%%2/5-x=%f"
(int)(x)%2/5-x);
\n(x-=x*10,x/=10)=%f\n"
(x-=x*10,x/=10));
3.分析以下程序运行的结果
{inti,j,m,n;
i=8;
j=10;
m=++i;
n=j++;
%d,%d,%d,%d\n"
i,j,m,n);
(1)
源程序运行结果为:
(2)
将第6、7行改为:
m=i++;
n=++j;
(3)程序改为:
{inti,j,m=0,n=0;
j=10;
m+=i++;
n-=--j;
printf(“%d,%d,%d,%d\n”,i,j,m,n);
(二)完成程序
1.求任意输入字符的ASCⅡ码。
{chara;
intb;
//变量的定义
请输入一个字符:
%c"
a);
b=(int)a;
\n\n%c的ASCⅡ码为%d\n"
a,b);
2.输出任意一个十进制数对应的八进制,十六进制数。
{inta;
scanf(“%d”,&
printf(“\n%d(10),%o(8),%x(16)\n”,a,a,a);
(三)调试程序
调试运行下列程序是否正确,若有错,写出错在何处?
填写正确的运行结果。
1.以下程序实现的功能是对u,v进行初始化,并输出u,v的值
{intu=v=89;
u=%d,v=%d\n"
u,v);
{intu=89,v=89;
2.下面的程序试图计算由键盘输入的任意两个整数的平均值:
8
{intx,y,a;
%x,%y"
x,&
y);
a=(x+y)/2;
Theaverageis%d:
\n"
a);
错
错误在4行
scanf(“%d,%d”,&
输入数据
2,6
1,4
-1,-3
-2,4
2,0
(四)编写程序
1.编写程序,求
的和。
2.编写程序,输入圆的半径(值为5),输出圆的周长和面积。
{floatsum;
sum=1.0/2+1.0/3+1.0/4;
sum=%f\n"
sum);
#definePI3.14
{floatr,c,s;
scanf(“%f”,&
c=2*PI*r;
s=PI*r*r;
圆的周长为:
%f,面积为:
%f.\n"
c,s);
实验三顺序结构程序设计
1.掌握格式输入函数scanf()和格式输出函数printf()的使用方法;
2.熟练掌握顺序结构的程序设计,能够编写简单的应用程序。
{inta=17;
floatu=1234.567;
%d,%7d,%-7d\n"
a,a,a);
%f,%7.2f\n"
u,u);
2.输入并运行以下程序,观察运行结果。
{inta,x,y;
x=(a=2,6*2);
y=a=2.6*a;
x=%d,y=%d\n"
x,y);
3.阅读以下程序,若输入的数据形式为251310,输出结果为:
{intx,y,z;
%d%d%d"
&
y,&
z);
x+y+z=%d\n"
x+y+z);
若使输入的数据形式为x=25,y=13,z=10,则scanf语句应如何书写?
scanf("
x=%d,y=%d,z=%d"
(二)完成程序
按照给定题目要求,参照己给的语句,填写程序空白处。
1.键盘输入任意一个小写字母,将其转换成大写字母,然后输出。
c1=getchar();
c2=c1-32;
putchar('
\n'
//输出换行
\'
'
);
//输出单引号
putchar(c2);
//输出字符c2
//输出单引号
2.求c=
的值。
(设a=25,b=5)
{floata=25,b=5;
floatc;
c=(a+b)*4.0/(a*b);
c=%f\n"
c);
分析下列程序是否正确,如有错误,指出错误所在,并改正;
若正确,写出运行结果。
1.以下程序实现的功能是计算k的值,并将其输出。
intmain()
{inti,k;
k=5*I*I;
k);
}
错误在5行
k=5*i*i;
2.以下程序实现的功能是输入一个三位数,然后进行个位和百位的置换,如234,转换成432
9
10
11
{intn,a,b,c,m;
%d"
n);
a=n%10;
b=(n/10)%10;
c=(n/100)%10;
m=100*a+10*b+c;
%d=>
%d\n"
n,m);
错误在4行
n);
(三)编写程序
1.编写程序,输入某学生三门课程的成绩,计算并输出其总分及平均分。
输出时结果保留小数点后一位。
2.编写程序,从键盘输入两个整数分别给变量a和b,分别写出不借助于其他变量和借助于其他变量的条件下,将变量a和b的值实现交换。
1.计算三门课程的总分与平均分
{floatx,y,z,sum,aver;
%f,%f,%f"
sum=x+y+z;
aver=sum/3;
总分为:
%f,平均分为:
%f."
sum,aver);
2.不借助其他变量实现a,b交换
{intx,y;
%d,%d"
x=x+y;
y=x-y;
x=x-y;
2.借助其他变量实现a,b交换
{intx,y,t;
t=x;
x=y;
y=t;
实验四if选择结构程序设计
1.掌握关系运算符和逻辑运算符的使用;
2.学会正确书写关系表达式和逻辑表达式;
3.熟练掌握三种if语句和if嵌套。
{inta=3,b=4,c=5,x1,x2,x3;
x1=!
a;
x2=a+b<
c&
&
b!
=c;
x3=a-b||c%2;
x1=%d"
x1);
x2=%d"
x2);
x3=%d"
x3);
a=10;
b=60;
c=30;
if(a>
b)a=b;
b=c;
c=a;
printf("
a=%d,b=%d,c=%d\n"
a,b,c);
3.输入并运行以下程序,观察运行结果。
{intx=60,a=30,b=20;
intv1=3,v2=8;
if(a<
b)
if(b!
=15)
if(!
v1)x=1;
else
if(v2)x=10;
x=-2;
x);
按照给定题目要求,参照出现的语句,填写程序空白处。
1.输入一个字符,如果它是一个大写字母,则把它变成小写字母;
如果它是一个小写字母,则把它变成大写字母;
其他字符不变。
请在_______上填写正确内容。
{charch;
scanf("
ch);
if(ch>
='
A'
&
ch<
Z'
)ch=ch+32;
elseif(ch>
a'
z'
)ch=ch-32;
%c\n"
ch);
2.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型,请在_______上填写正确内容。
math.h>
{floata,b,c;
floats,area;
scanf(“%f,%f,%f”,&
a,&
b,&
if((a+b>
c)&
(a+c>
b)&
(b+c>
a))
{s=(a+b+c)/2;
area=sqrt(s*(s-a)*(s-b)*(s-c));
printf(“三角形的面积为:
%f\n”,area);
if((a==b)&
(b==c))
printf(“等边三角形\n”);
elseif((a==b)||(b==c))
printf(“等腰三角形\n”);
elseif((a*a+b*b==c*c)||(a*a+c*c==b*b)||(c*c+b*b==a*a))
printf(“直角三角形\n”);
elseprintf(“一般三角形\n”);
}
elseprintf(“不能组成三角形\n”);
}
1.以下程序实现求分段函数。
-1x>
y=x*(x+2)3<
x<
=9
2*x-1<
=3
x-1x<
=-1
{intx,y;
if(3<
=9)y=x*(x+2);
elseif(-1<
=3)y=2*x;
elseif(x<
=-1)y=x-1;
elsey=-1;
printf("
y);
return0;
错误在5,6行
if((x>
3)&
(x<
=9))y=x*(x+2);
elseif((x>
-1)&
=3))y=2*x;
输入数据:
4
2
1
-3
24
4
2
-4
-1
2.有一函数关系如下:
x-3x<
y=0x=0
x+3x>
0
以下程序