C语言实验报告书1.docx

上传人:b****8 文档编号:9724291 上传时间:2023-02-06 格式:DOCX 页数:69 大小:638.83KB
下载 相关 举报
C语言实验报告书1.docx_第1页
第1页 / 共69页
C语言实验报告书1.docx_第2页
第2页 / 共69页
C语言实验报告书1.docx_第3页
第3页 / 共69页
C语言实验报告书1.docx_第4页
第4页 / 共69页
C语言实验报告书1.docx_第5页
第5页 / 共69页
点击查看更多>>
下载资源
资源描述

C语言实验报告书1.docx

《C语言实验报告书1.docx》由会员分享,可在线阅读,更多相关《C语言实验报告书1.docx(69页珍藏版)》请在冰豆网上搜索。

C语言实验报告书1.docx

C语言实验报告书1

 

实验指导书

 

课程名称C语言程序设计

课程性质考查课

系(部)

指导教师

实验一熟悉C程序运行环境

一、实验目的

1.熟悉C语言的系统环境,掌握在集成环境中编辑、编译、连接和运行C语言程序的方法;

2.掌握C语言源程序的结构特点与书写规范。

二、实验学时数

2学时

三、实验步骤

(一)VC++6.0集成环境

(1)运行VC++6.0

a.双击桌面上的VC++6.0快捷方式,运行VC++6.0。

b.双击"C:

\MicrosoftVisualStudio\Common\MSDev98\Bin\MSDEV.EXE",运行VC++6.0。

(2)认识VC++6.0

菜单栏

标准按钮

执行

执行

组建

工作空间

编译

输出

 

图1.1VC++6.0窗口组成

(3)建立工程

在磁盘上新建一个文件夹,用于存放C语言程序,如D:

\柳稻香。

单击[文件]-[新建]新建一个工程,工程类型选择Win32ConsoleApplication,然后选择要存放的位置(刚才建立的文件夹D:

\柳稻香),填写工程名称例如hello,如图1.2所示,点确定按钮,在弹出的对话框中选择一个”hello,World!

”程序,如图1.3所示,点击完成,然后在点击确定。

(4)查看工程包含的文件

单击左侧工作空间右下角的FileView,然后在工作空间上,点击+,可以看到SourceFiles和HeaderFiles及ResourceFiles,在SourceFiles上继续点击+,可以看到SourceFiles下有两个文件,一个是hello.cpp,一个是StdAfx.cpp。

其中hello.cpp为主函数所在的文件,在以后的编写程序中,都是写到此文件中。

 

图1.2新建工程

 

图1.3步骤1

(5)选中StdAfx.cpp,点击[组建]-[编译],对StdAfx.cpp进行预编译。

名称的英文全称为:

StandardApplicationFrameworkExtensions。

所谓头文件预编译,就是把一个工程(Project)中使用的一些MFC标准头文件(如Windows.H、Afxwin.H)预先编译,以后该工程编译时,不再编译这部分头文件,仅仅使用预编译的结果。

这样可以加快编译速度,节省时间。

(6)选中以文件hello.cpp,点击[组建]-[编译](此时,你可以在D:

\柳稻香\hello\Debug下可以找到生成的hello.obj文件),然后在点击[组建]-[组建](此时,你可以在D:

\柳稻香\hello\Debug下可以找到生成的hello.exe文件),然后点击[组建]-[执行](执行的实际是D:

\柳稻香\hello\Debug\hello.exe),如果弹出一个Console程序窗口,上面写着HelloWorld!

Pressanykeytocontinue。

到目前为止一个简单的C程序工程创建成功。

(二)阅读程序

要求:

编辑下面源程序,并且读懂与分析运行程序,上机运行程序,并与分析结果相对比。

学会使用TC运行程序的基本方法。

1.输入并运行以下程序,观察运行结果。

#include

intmain()

{printf("*********************\n\n");

printf("verygood!

\n\n");

printf("*********************\n");

return0;

}

运行结果

 

思考:

如何采用一个输出(printf)函数调用实现此输出结果。

printf("*********************\nverygood!

\n*********************\n");

2.输入并运行以下程序,观察运行结果。

#include

intmain()

{inta,b,sum,minus;

a=123;b=456;

sum=a+b;minus=a-b;

printf("a+b=%d\na-b=%d\n",sum,minus);

return0;

}

运行结果

printf语句中删除a+b=和a-b=

输出结果:

printf语句中删除第一个\n

输出结果:

(三)完成程序

要求:

依据题目要求,分析已给出的语句,填写空白。

但是不要增行或删行,改动程序的结构。

1.求(a+b)×c的值。

(设a=3,b=2,c=1)

#include

intmain()

{inta,b,c;

a=3;

c=1;

b=2;

printf("%d\n",(a+b)*c);

return0;

}

 2.求圆的面积。

#include

#definePI3.14//定义符号常量

intmain()

{floatr,area;

printf("\nEnterrvalue:

");

scanf("%f",&r);

area=PI*r*r;

printf("\narea=%f\n",area);

return0;

}

(四)调试程序

要求:

调试运行下列程序是否正确,若有错,写出错在何处,并进行改正,填写改正后的运行结果。

行号

源程序

1

2

3

4

5

6

7

#include

intmain()

{intx;

x=5,y=8;

printf("\n%d,%d,%d\n",x,(x+5)*2,y);

return0;

}

错误在3行

 应改为:

{intx,y;

调试正确后的运行结果

输出结果:

(五)编写程序

1.编写程序输出用6颗星构成的等边三角形。

*

**

***

 2.编写一个C程序,输入a,b,c三个值,输出其中最大者。

1.

#include

intmain()

{printf("*\n");

printf("**\n");

printf("***\n");

return0;

}

2.

#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)

{

intt;

if(x>y)t=x;

elset=y;

if(t

return(z);

}

实验二数据类型、运算符和表达式应用

一、实验目的

1.掌握C语言中的基本数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法;

2.掌握不同的类型数据之间赋值的规律;

3.灵活运用算术运算符、赋值运算符、复合赋值运算符及其表达式;

4.了解数据运算中类型的自动转换与强制类型转换;

5.进一步熟悉C程序的结构特点,学习简单程序的编写方法。

二、实验学时数

2学时

三、实验步骤

(一)阅读程序

1.输入并运行以下程序,观察运行结果。

#include

intmain()

{charc1,c2;

c1=97;c2=98;

printf("%c,%c\n",c1,c2);

return0;

}

(1)在第五行后面加入以下printf语句,并运行。

printf("%d,%d\n",c1,c2);

运行结果

 

(2)在

(1)的基础上,将第三行改为以下语句,并运行。

intc1,c2;

运行结果

 

2.分析并运行此程序,当输入的数据为10时,下面程序的运行结果。

#include

intmain()

{floatx,y;

scanf("%f",&x);

printf("\n2.4*x-1/2=%f",2.4*x-1.0/2);

printf("\nx%%2/5-x=%f",(int)(x)%2/5-x);

printf("\n(x-=x*10,x/=10)=%f\n",(x-=x*10,x/=10));

return0;

}

运行结果

 

3.分析以下程序运行的结果

#include

intmain()

{inti,j,m,n;

i=8;j=10;

m=++i;

n=j++;

printf("%d,%d,%d,%d\n",i,j,m,n);

return0;

}

(1) 源程序运行结果为:

运行结果

 

(2) 将第6、7行改为:

m=i++;

n=++j;

运行结果

 

(3)程序改为:

#include

intmain()

{inti,j,m=0,n=0;

i=8;j=10;

m+=i++;

n-=--j;

printf(“%d,%d,%d,%d\n”,i,j,m,n);

return0;

}

运行结果

 

(二)完成程序

要求:

依据题目要求,分析已给出的语句,填写空白。

但是不要增行或删行,改动程序的结构。

1.求任意输入字符的ASCⅡ码。

#include

intmain()

{chara;intb;//变量的定义

printf("请输入一个字符:

");

scanf("%c",&a);

b=(int)a;

printf("\n\n%c的ASCⅡ码为%d\n",a,b);

return0;

}

2.输出任意一个十进制数对应的八进制,十六进制数。

#include

intmain()

{inta;

scanf(“%d”,&a);

printf(“\n%d(10),%o(8),%x(16)\n”,a,a,a);

return0;

}

(三)调试程序

要求:

调试运行下列程序是否正确,若有错,写出错在何处?

填写正确的运行结果。

1.以下程序实现的功能是对u,v进行初始化,并输出u,v的值

行号

源程序

1

2

3

4

5

6

#include

intmain()

{intu=v=89;

printf("u=%d,v=%d\n",u,v);

return0;

}

错误在3行

 应改为:

{intu=89,v=89;

调试正确后的运行结果

输出结果:

2.下面的程序试图计算由键盘输入的任意两个整数的平均值:

行号

源程序

1

2

3

4

5

6

7

8

#include

intmain()

{intx,y,a;

scanf("%x,%y",&x,&y);

a=(x+y)/2;

printf("Theaverageis%d:

\n",a);

return0;

}

错误在4行

 应改为:

scanf(“%d,%d”,&x,&y);

调试正确后的运行结果

输入数据

2,6

1,4

-1,-3

-2,4

2,0

输出结果:

(四)编写程序

1.编写程序,求

的和。

2.编写程序,输入圆的半径(值为5),输出圆的周长和面积。

#include

intmain()

{floatsum;

sum=1.0/2+1.0/3+1.0/4;

printf("sum=%f\n",sum);

return0;

}

#include

#definePI3.14

intmain()

{floatr,c,s;

scanf(“%f”,&r);

c=2*PI*r;

s=PI*r*r;

printf("圆的周长为:

%f,面积为:

%f.\n",c,s);

return0;

}

实验三顺序结构程序设计

一、实验目的

1.掌握格式输入函数scanf()和格式输出函数printf()的使用方法;

2.熟练掌握顺序结构的程序设计,能够编写简单的应用程序。

二、实验学时数

2学时

三、实验步骤

(一)阅读程序

1.输入并运行以下程序,观察运行结果。

#include

intmain()

{inta=17;

floatu=1234.567;

printf("%d,%7d,%-7d\n",a,a,a);

printf("%f,%7.2f\n",u,u);

return0;

}

运行结果

 

2.输入并运行以下程序,观察运行结果。

#include

intmain()

{inta,x,y;

x=(a=2,6*2);

y=a=2.6*a;

printf("x=%d,y=%d\n",x,y);

return0;

}

运行结果

 

3.阅读以下程序,若输入的数据形式为251310,输出结果为:

#include

intmain()

{intx,y,z;

scanf("%d%d%d",&x,&y,&z);

printf("x+y+z=%d\n",x+y+z);

return0;

}

运行结果

 

思考:

若使输入的数据形式为x=25,y=13,z=10,则scanf语句应如何书写?

scanf("x=%d,y=%d,z=%d",&x,&y,&z);

(二)完成程序

要求:

按照给定题目要求,参照己给的语句,填写程序空白处。

1.键盘输入任意一个小写字母,将其转换成大写字母,然后输出。

#include

intmain()

{charc1,c2;

c1=getchar();

c2=c1-32;

putchar('\n');//输出换行

putchar('\'');//输出单引号

putchar(c2);//输出字符c2

putchar('\'');//输出单引号

return0;

}

2.求c=

的值。

(设a=25,b=5)

#include

intmain()

{floata=25,b=5;

floatc;

c=(a+b)*4.0/(a*b);

printf("c=%f\n",c);

return0;

}

(三)调试程序

要求:

分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。

 

1.以下程序实现的功能是计算k的值,并将其输出。

行号

源程序

1

2

3

4

5

6

7

8

#include

intmain()

{inti,k;

i=8;

k=5*I*I;

printf("%d\n",k);

return0;

}

错误在5行

 应改为:

k=5*i*i;

调试正确后的运行结果

输出结果:

 2.以下程序实现的功能是输入一个三位数,然后进行个位和百位的置换,如234,转换成432

行号

源程序

1

2

3

4

5

6

7

8

9

10

11

#include

intmain()

{intn,a,b,c,m;

scanf("%d",n);

a=n%10;

b=(n/10)%10;

c=(n/100)%10;

m=100*a+10*b+c;

printf("%d=>%d\n",n,m);

return0;

}

错误在4行

 应改为:

scanf(“%d”,&n);

调试正确后的运行结果

输出结果:

(三)编写程序

1.编写程序,输入某学生三门课程的成绩,计算并输出其总分及平均分。

输出时结果保留小数点后一位。

2.编写程序,从键盘输入两个整数分别给变量a和b,分别写出不借助于其他变量和借助于其他变量的条件下,将变量a和b的值实现交换。

1.计算三门课程的总分与平均分

#include

intmain()

{floatx,y,z,sum,aver;scanf("%f,%f,%f",&x,&y,&z);

sum=x+y+z;

aver=sum/3;

printf("总分为:

%f,平均分为:

%f.",sum,aver);

return0;

}

2.不借助其他变量实现a,b交换

#include

intmain()

{intx,y;

scanf("%d,%d",&x,&y);

x=x+y;y=x-y;x=x-y;

printf("%d,%d\n",x,y);

return0;

}

2.借助其他变量实现a,b交换

#include

intmain()

{intx,y,t;

scanf("%d,%d",&x,&y);

t=x;x=y;y=t;

printf("%d,%d\n",x,y);

return0;

}

实验四if选择结构程序设计

一、实验目的

1.掌握关系运算符和逻辑运算符的使用;

2.学会正确书写关系表达式和逻辑表达式;

3.熟练掌握三种if语句和if嵌套。

二、实验学时数

2学时

三、实验步骤

(一)阅读程序

1.输入并运行以下程序,观察运行结果。

#include

intmain()

{inta=3,b=4,c=5,x1,x2,x3;

x1=!

a;

x2=a+b

=c;

x3=a-b||c%2;

printf("x1=%d",x1);

printf("x2=%d",x2);

printf("x3=%d",x3);

return0;

}

运行结果

 

2.输入并运行以下程序,观察运行结果。

#include

intmain()

{inta,b,c;

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);

return0;

}

运行结果

 

3.输入并运行以下程序,观察运行结果。

#include

intmain()

{intx=60,a=30,b=20;

intv1=3,v2=8;

if(a

if(b!

=15)

if(!

v1)x=1;

else

if(v2)x=10;

x=-2;

printf("%d\n",x);

return0;

}

运行结果

 

(二)完成程序

要求:

按照给定题目要求,参照出现的语句,填写程序空白处。

1.输入一个字符,如果它是一个大写字母,则把它变成小写字母;如果它是一个小写字母,则把它变成大写字母;其他字符不变。

请在_______上填写正确内容。

#include

intmain()

{charch;

scanf("%c",&ch);

if(ch>='A'&&ch<='Z')ch=ch+32;

elseif(ch>='a'&&ch<='z')ch=ch-32;

printf("%c\n",ch);

return0;

}

2.以下程序根据输入的三角形的三边判断是否能组成三角形,若可以则输出它的面积和三角形的类型,请在_______上填写正确内容。

#include

#include

intmain()

{floata,b,c;

floats,area;

scanf(“%f,%f,%f”,&a,&b,&c);

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”);

return0;

(三)调试程序

要求:

分析下列程序是否正确,如有错误,指出错误所在,并改正;若正确,写出运行结果。

 

1.以下程序实现求分段函数。

-1x>9

y=x*(x+2)3

2*x-1

x-1x<=-1

行号

源程序

1

2

3

4

5

6

7

8

9

10

11

#include

intmain()

{intx,y;

scanf("%d",&x);

if(3

elseif(-1

elseif(x<=-1)y=x-1;

elsey=-1;

printf("%d\n",y);

return0;

}

错误在5,6行

 应改为:

if((x>3)&&(x<=9))y=x*(x+2);

elseif((x>-1)&&(x<=3))y=2*x;

调试正确后的运行结果

输入数据:

4

2

1

-3

10

输出结果:

24

4

2

-4

-1

2.有一函数关系如下:

x-3x<0

y=0x=0

x+3x>0

以下程序

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 自然科学 > 生物学

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1