《C语言程序设计》实验报告.docx

上传人:b****1 文档编号:14248680 上传时间:2023-06-21 格式:DOCX 页数:23 大小:24.61KB
下载 相关 举报
《C语言程序设计》实验报告.docx_第1页
第1页 / 共23页
《C语言程序设计》实验报告.docx_第2页
第2页 / 共23页
《C语言程序设计》实验报告.docx_第3页
第3页 / 共23页
《C语言程序设计》实验报告.docx_第4页
第4页 / 共23页
《C语言程序设计》实验报告.docx_第5页
第5页 / 共23页
《C语言程序设计》实验报告.docx_第6页
第6页 / 共23页
《C语言程序设计》实验报告.docx_第7页
第7页 / 共23页
《C语言程序设计》实验报告.docx_第8页
第8页 / 共23页
《C语言程序设计》实验报告.docx_第9页
第9页 / 共23页
《C语言程序设计》实验报告.docx_第10页
第10页 / 共23页
《C语言程序设计》实验报告.docx_第11页
第11页 / 共23页
《C语言程序设计》实验报告.docx_第12页
第12页 / 共23页
《C语言程序设计》实验报告.docx_第13页
第13页 / 共23页
《C语言程序设计》实验报告.docx_第14页
第14页 / 共23页
《C语言程序设计》实验报告.docx_第15页
第15页 / 共23页
《C语言程序设计》实验报告.docx_第16页
第16页 / 共23页
《C语言程序设计》实验报告.docx_第17页
第17页 / 共23页
《C语言程序设计》实验报告.docx_第18页
第18页 / 共23页
《C语言程序设计》实验报告.docx_第19页
第19页 / 共23页
《C语言程序设计》实验报告.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

《C语言程序设计》实验报告.docx

《《C语言程序设计》实验报告.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验报告.docx(23页珍藏版)》请在冰点文库上搜索。

《C语言程序设计》实验报告.docx

《C语言程序设计》实验报告

 

《C语言程序设计》

实验报告

2012~2013学年第二学期

 

班级

姓名

学号

指导教师

 

实验一

实验项目名称:

C程序的运行环境和运行C程序的方法

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.了解在VisualC++6.0环境下如何编辑、编译、连接和运行一个C程序;

2.通过运行简单的C程序,初步了解C源程序的特点。

二、预习内容:

教材《C语言程序设计教程》第1章。

三、实验内容:

1.在VisualC++6.0环境下输入并运行下面的程序:

#include

intmain()

{

printf("ThisisaCprogram.\n");

return0;

}

2.在VisualC++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。

#include

intmain()

{

inta,b,sum

a=3;

b=4;

sun=a+b;

print("%d+%d=%d\n",a,b,sum);

return0;

}

四、实验结果:

1.运行结果(或截图):

 

2.

(1)改正后的源程序:

(2)运行结果(或截图):

五、思考题:

1.一个C程序上机的步骤有哪些?

答:

2.组成C程序的基本单位是函数,一个函数包括哪几个部分?

答:

成绩指导教师签名

实验二

实验项目名称:

数据类型、运算符和表达式

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握整型、实型与字符型这三种基本类型的概念;

2.掌握常量及变量的使用方法;

3.掌握基本算术运算符及其表达式的使用方法;

4.掌握++、--运算符、赋值运算符及其表达式的使用方法。

二、预习内容:

教材《C语言程序设计教程》第2章。

三、实验内容:

1.在VisualC++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误。

#include

intmain()

{

int2cd=3;

floatπ=3.14;

charfor=′A′;

printf("%d,%f,%c\n",2cd,π,for);

return0;

}

2.在VisualC++6.0环境下输入并运行下面的程序,观察分析运行结果。

#include

intmain()

{

inta=3,b=4,c=8;

floatd,e;

d=a+b/c;

e=a+(float)d/c;

printf("d=%f,e=%f\n",d,e);

return0;

}

3.在VisualC++6.0环境下输入并运行下面的程序,观察分析运行结果。

#include

intmain()

{

inta,b,c,d,i,j,m,n;

a=b=c=d=3;

i=a++;

j=++b;

m=c--;

n=--d;

printf("a=%d,b=%d,c=%d,d=%d,i=%d,j=%d,m=%d,n=%d\n",a,b,c,d,i,j,m,n);

return0;

}

4.在VisualC++6.0环境下输入并运行下面的程序,观察分析运行结果。

#include

intmain()

{

inta=4;

a+=a-=a*a+a;

printf("a=%d\n",a);

return0;

}

四、实验结果:

1.该程序为什么出错?

答:

2.运行结果(或截图):

3.运行结果(或截图):

4.运行结果(或截图):

五、思考题:

1.给变量命名应该注意哪些问题?

答:

2.程序2的运行结果中,d和e的值为什么不同?

答:

3.程序1的运行结果中,i和j的值为什么不同?

m和n的值为什么不同?

答:

4.请分析表达式a+=a-=a*a+a的运算过程(写出运算步骤)。

答:

成绩指导教师签名

实验三

实验项目名称:

简单的输入输出及顺序程序设计

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握整型、实型与字符型数据的正确输入方法(scanf函数的使用);

2.掌握整型、实型与字符型数据的正确输出方法(printf函数的使用);

3.掌握编写顺序程序的方法。

二、预习内容:

教材《C语言程序设计教程》第3章。

三、实验内容:

1.下面程序的功能是:

从键盘输入2个整数,输出它们的和。

#include

intmain()

{

inta,b,sum;

sum=a+b;

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

return0;

}

请在横线上填写一条合适的语句,使程序完整,然后上机运行该程序。

2.在VisualC++6.0环境下输入并运行下面的程序,观察分析程序运行过程及结果。

#include

intmain()

{

inta,b,sum;

printf("请输入第一个整数:

");

scanf("%d",&a);

printf("请输入第二个整数:

");

scanf("%d",&b);

sum=a+b;

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

return0;

}

3.下面程序的功能是:

输出a,b,c三个变量的值。

#include

intmain()

{

inta=35;floatb=43.6578;charc=′A′;

return0;

}

请在横线上填写一条合适的语句,使程序完整,运行该程序,且让程序的运行结果如下:

a=35,b=43.66,c=′A′

4.设圆半径r=1.5,圆柱高h=3,编写程序求圆周长、圆面积、圆球表面积、圆球体积和圆柱体积。

要求用scanf语句输入半径和高,输出时有文字说明,取小数点后两位。

四、实验结果:

1.

(1)横线上应填写的语句为:

(2)运行结果(或截图):

2.运行结果(或截图):

3.

(1)横线上应填写的语句为:

(2)运行结果(或截图):

4.

(1)程序中用到的变量(类型)

(2)算法(用伪代码描述)

(3)源程序清单

(4)运行结果(或截图)

五、思考题:

程序1和程序2中输入数据的方式有什么不同?

你认为哪种方式较好?

从两种输入方式的对比中你得到什么启发?

答:

成绩指导教师签名

实验四

实验项目名称:

选择结构程序设计

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.正确使用关系运算符和关系表达式;

2.正确使用逻辑运算符和逻辑表达式;

3.熟练使用if语句实现选择结构程序;

4.熟练使用switch语句实现多分支选择结构程序。

二、预习内容:

教材《C语言程序设计教程》第4章。

三、实验内容:

1.下面程序的功能是:

输入学生成绩,若成绩在90分以上,输出“Excellent!

”;若成绩在60—89分之间,输出“Pass!

”;若成绩在60分以下,输出“Fail!

”。

请将程序补充完整,并上机运行程序。

#include

intmain()

{

intscore;

printf("请输入分数(0--100):

");

scanf("%d",);

if(score>100||score<0)printf("InputError!

\n");

elseif()printf("Excellent!

\n");

elseif()printf("Pass!

\n");

printf("Fail!

\n");

return0;

}

运行该程序4次,分别输入4个不同的数据,对应4种不同的情况,记录运行结果:

输入数据

运行结果

2.有如下分段函数:

请输入x的值,求解对应的y值。

3.设计一个简单的计算器程序,用户输入运算数(实型)和四则运算符(+、-、*、/)(例如,输入:

45.6/2.4),输出计算的结果(要求结果保留两位小数)。

四、程序中所用的变量及其类型:

2.

3.

五、算法(用伪代码描述):

2.

3.

六、源程序清单:

2.

3.

七、实验结果:

2.运行结果(执行程序3次,分别输入不同的3个数,对应3种不同的情况):

 

输入数据

运行结果

3.运行结果(执行程序4次,分别输入4组不同的数据,对应4种不同的情况):

输入数据

运行结果

成绩指导教师签名

实验五

实验项目名称:

简单循环程序设计

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握循环程序的基本结构;

2.熟练掌握while、do—while及for语句,并会用来编写循环结构程序。

二、预习内容:

教材《C语言程序设计教程》第4章。

三、实验内容:

1.输入一个5位正整数,输出该整数的倒序。

例如:

12345对应输出为:

54321。

(要求用while语句)

2.有一个分数序列:

,,,……编写程序,求这个数列的前20项之和。

(要求用for语句,且结果保留6位小数)

四、程序中所用的变量(类型及其初值):

1.

2.

五、算法(用伪代码描述):

1.

2.

六、源程序清单:

1.

2.

七、实验结果:

1.运行结果(或截图):

2.运行结果(或截图):

成绩指导教师签名

实验六

实验项目名称:

多层循环程序设计及break、continue语句在循环程序中的应用

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握多层循环程序的执行过程及设计方法;

2.掌握break及continue语句在循环程序中的使用方法。

二、预习内容:

教材《C语言程序设计教程》第4章。

三、实验内容:

1.编写一个程序,打印一个如下图所示的菱形。

*

***

*****

*******

*****

***

*

2.编程输出100以内的所有素数。

3.编程输出前2个水仙花数(所谓“水仙花数”,是指一个3位数,其各位数字的立方和等于该数本身,例如,153=13+53+33,所以153是一个水仙花数)。

四、程序中所用的变量(类型及其初值):

1.

2.

3.

五、算法(用伪代码描述):

1.

2.

3.

六、源程序清单:

1.

2.

3.

七、实验结果:

1.运行结果(或截图):

2.运行结果(或截图):

3.运行结果(或截图):

成绩指导教师签名

实验七

实验项目名称:

数组及其应用

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握一维数组的定义、赋值、输入输出及其应用;

2.掌握二维数组的定义、赋值、输入输出及其应用;

3.掌握字符数组的定义、赋值、输入输出及其应用。

二、预习内容:

教材《C语言程序设计教程》第5章。

三、实验内容:

1.编程在一个已按从小到大排列好的数组中插入一个数,要求插入该数后的数组仍按原规律排列。

2.编程输出3行4列矩阵中的最大元素值,矩阵中的每个元素值要求从键盘输入。

3.编程将一个字符串中的所有英文字母组成一个新的字符串。

四、程序中所用的变量(类型及其初值):

1.

2.

3.

五、算法(用伪代码描述):

1.

2.

3.

六、源程序清单:

1.

2.

3.

七、实验结果:

1.运行结果(或截图):

2.运行结果(或截图):

3.运行结果(或截图):

成绩指导教师签名

实验八

实验项目名称:

函数的定义及调用

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.熟悉定义函数的方法;

2.掌握函数的调用方式及主调函数与被调函数间的信息传递方法;

3.掌握递归方法以及会用函数来实现递归。

二、预习内容:

教材《C语言程序设计教程》第6章。

三、实验内容:

1.下列程序的功能是求三个整数的最大值,请填空。

#include

intmax(inta,intb)

{

intc;

if(a>b)c=a;

elsec=b;

}

intmain()

{

intx,y,z,maxi;

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

maxi=;

printf("Maxof%d、%dand%dis%d.\n",x,y,z,maxi);

return0;

}

2.在主函数中输入两个正整数,调用函数求它们的最小公倍数,结果在主函数中输出。

3.用递归方法求解猴子吃桃问题。

猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。

第2天又将剩下的桃子吃掉一半,又多吃了一个。

以后每天早上都吃了前一天剩下的一半零一个。

到第10天早上想再吃时,就只剩一个桃子了。

求第1天共摘了多少个桃子。

四、程序中所用的变量(类型及其初值):

2.

3.

五、算法(用伪代码描述,只需写被调函数的算法):

2.

3.

六、源程序清单:

2.

3.

七、实验结果:

1.运行结果(或截图):

2.运行结果(或截图):

3.运行结果(或截图):

八、思考题:

1.函数的调用方式有哪几种?

各使用在什么场合?

2.形参和实参起什么作用?

形参和实参有什么不同?

3.一个问题想用递归方法解决,必须满足什么条件?

成绩指导教师签名

实验九

实验项目名称:

数组名作函数参数及变量的作用域与存储方式

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握数组名作函数参数时形参与实参的定义方法;

2.会使用数组名作函数参数在主调函数与被调函数间传递多个数据;

3.掌握变量的作用域(局部变量与全局变量);

4.掌握变量的存储方式(动态存储与静态存储)。

二、预习内容:

教材《C语言程序设计教程》第6章。

三、实验内容:

1.运行以下程序,并分析结果。

#include

intx=8,y=3;

intmax(inta,intb)

{

intc;

if(a>b)c=a;

elsec=b;

returnc;

}

intmain()

{

intx=4,maxi;

maxi=max(x,y);

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

return0;

}

2.运行以下程序,并分析结果。

#include

intf(inta)

{

staticintb=0;

b=b+a;

returnb;

}

intmain()

{

intx=1,y1,y2;

y1=f

(1);

y2=f

(1);

printf("y1=%d,y2=%d\n",y1,y2);

return0;

}

3.在主函数中输入10个整数,调用函数sort将它们按从小到大的顺序排序,排序结果在主函数中输出。

四、程序中所用的变量(类型及其初值):

3.

五、算法(用伪代码描述,只需写被调函数的算法):

3.

六、源程序清单:

3.

七、实验结果:

1.运行结果(或截图):

2.运行结果(或截图):

3.运行结果(或截图):

八、思考题:

1.第1题的结果为什么不是“8”?

2.第2题的结果中,y1和y2的值为什么不一样?

成绩指导教师签名

实验十

实验项目名称:

指针及其应用

所使用的工具软件及环境:

VisualC++6.0

一、实验目的:

1.掌握指针和间接访问的概念,会定义和使用指针变量;

2.能利用指针变量作函数参数得到多个要改变的值;

3.能正确定义指向数组的指针变量,并能用其对数组进行访问;

4.能正确定义指向字符串的指针变量,并能用其对字符串进行访问。

二、预习内容:

教材《C语言程序设计教程》第7章。

三、实验内容:

1.在主函数中输入2个整数,调用swap函数将它们的值交换,结果在主函数中输出。

2.在主函数中输入10个整数,调用函数sum求它们的和,结果在主函数中输出(要求:

实参用数组名,形参用指针变量)。

3.在主函数中输入一个字符串,调用converse函数将该字符串逆序,结果在主函数中输出。

(要求:

实参用字符数组名,形参用指针变量)。

四、程序中所用的变量(类型及其初值):

1.

2.

3.

五、算法(用伪代码描述,只需写被调函数的算法):

1.

2.

3.

六、源程序清单:

1.

2.

3.

七、实验结果:

1.运行结果(或截图):

2.运行结果(或截图):

3.运行结果(或截图):

成绩指导教师签名

 

《C语言程序设计》

综合实验实验报告

2011~2012学年第二学期

班级:

姓名:

学号:

指导教师:

一、实验目的:

熟悉C语言的编程和调试环境,熟悉应用程序的设计过程,掌握基本的程序设计方法,培养学生用计算机解决实际问题的能力。

二、实验内容:

设计一个班级学生成绩管理系统,要求实现以下功能:

(1)输入班级学生的信息(学号、姓名及英语、高数、C语言三门课程的期末考试成绩);

(2)统计每名学生三门课程的总成绩;

(3)统计每门课程的平均成绩;

(4)按姓名查找并输出学生的信息;

(5)按总成绩由高到低对学生信息进行排序;

(6)添加记录(每名学生的信息称为一条记录),要求添加的记录与已有的记录不能重复;

三、采用的主要数据结构、函数及需要包含的头文件:

1.需要包含的头文件

#include

#include

#include

#include

2.存储学生信息所用的结构体类型

structStudent

{

charcode[11];/*存储学号,假设学号为10位数字*/

charname[20];/*存储姓名*/

floatscore[3];/*存储三门课程的成绩*/

floattotal;/*存储总成绩*/

};

3.主要数据结构

常量N(值设为120),用于表示班级的最大人数(假设一个班级的人数不超过120);

全局变量intnum:

用于存储班级的实际人数;

全局数组floatave[3]:

用于存储三门课程的平均成绩;

结构体数组structStudentstu[N]:

用于存储班级学生的信息;

字符数组charin_name[20]:

用于存储查找学生信息时输入的学生姓名;

结构体变量structStudentinsert_stu:

用于存储要添加的学生记录。

4.主要函数

system("cls"):

清屏函数(该函数为库函数);

voidprint(structStudent*p):

输出所有学生的信息;

voidsearch(structStudent*p):

在所有记录中按姓名进行查找,若找到,则输出该学生的信息,若没找到,则输出提示信息:

“未找到该学生!

”;

voidtotal(structStudent*p):

统计每名学生的总成绩;

voidaverage(structStudent*p):

统计每门课程的平均成绩;

voidsort(structStudent*p):

按总成绩由高到低对所有学生记录进行排序;

voidinsert(structStudent*p):

添加记录,添加的记录与已有的记录不能重复,即学号不能相同。

四、源程序清单

成绩指导教师签名

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

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

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2