《C语言程序设计》实验报告 15电气工程及其自动化2

更新时间:2023-10-02 22:58:01 阅读量: 综合文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

《C语言程序设计》

实验报告

2015~2016学年第二学期

班 级

15电气工程及其自动化2

姓 名 学 号 指导教师

张老师

实验一

实验项目名称:C程序的运行环境和运行C程序的方法 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

1.了解在Visual C++ 6.0环境下如何编辑、编译、连接和运行一个C程序; 2.通过运行简单的C程序,初步了解C源程序的特点。 二、预习内容:

教材《C语言程序设计教程》第1章。 三、实验内容:

1. 在Visual C++ 6.0环境下输入并运行下面的程序: #include main( ) {

printf("This is a C program.\\n"); }

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

无语法错误,然后运行程序,并观察分析运行结果。 #include main( ) {

int a,b,sum a=3; b=4; sun=a+b;

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

四、实验结果:

1. 运行结果

2. (1) 改正后的源程序:

1

(2) 运行结果

五、编程题:

1.从键盘输入a,b,c三个整数,求这三个数之和? 源程序:

2.从键盘输入任意两个整数,编程实现这两个数之间的交换。 源程序

成绩 指导教师签名

2

实验二

实验项目名称:数据类型、运算符和表达式 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

1.掌握整型、实型与字符型这三种基本类型的概念; 2.掌握常量及变量的使用方法;

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

4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。 二、预习内容:

教材《C语言程序设计教程》第2章。 三、实验内容:

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

无语法错误。

#include int main( ) {

int 2cd=3; float π=3.14; char for=′A′;

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

2. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析运行结果。 #include int main( ) {

int a=3,b=4,c=8; float d,e; d=a+b/c;

e=a+(float)d/c;

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

3. 在Visual C++ 6.0环境下输入并运行下面的程序,观察分析运行结果。 #include int main( ) {

int a,b,c,d,i,j,m,n; a=b=c=d=3;

3

实验六

实验项目名称:多层循环程序设计及break、continue语句在循环程序中的应用 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

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

2. 掌握break及continue语句在循环程序中的使用方法。 二、预习内容:

教材《C语言程序设计教程》第4章。 三、实验内容:

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

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

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

14

3.

五、实验结果:

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

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

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

成绩

指导教师签名

15

实验七

实验项目名称:数组及其应用

所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

1. 掌握一维数组的定义、赋值、输入输出及其应用; 2. 掌握二维数组的定义、赋值、输入输出及其应用; 3. 掌握字符数组的定义、赋值、输入输出及其应用。 二、预习内容:

教材《C语言程序设计教程》第5章。 三、实验内容:

1. 编程在一个已按从小到大排列好的数组中插入一个数,要求插入该数后的数组仍按原规律排列。 2. 编程输出3行4列矩阵中的最大元素值,矩阵中的每个元素值要求从键盘输入。 3. 编程将一个字符串中的所有英文字母组成一个新的字符串。 四、源程序清单: 1. 2.

16

3.

七、实验结果:

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

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

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

成绩

指导教师签名

17

实验八

实验项目名称:函数的定义及调用 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

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

2. 掌握函数的调用方式及主调函数与被调函数间的信息传递方法; 3. 掌握递归方法以及会用函数来实现递归。 二、预习内容:

教材《C语言程序设计教程》第6章。 三、实验内容:

1. 下列程序的功能是求三个整数的最大值,请填空。 #include int max(int a,int b) {

int c;

if(a>b) c=a; else c=b;

; }

int main( ) {

int x,y,z,maxi;

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

maxi= ;

printf("Max of %d、%d and %d is %d.\\n",x,y,z,maxi); return 0; }

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

3. 用递归方法求解猴子吃桃问题。猴子第1天摘下若干个桃子,当即吃了一半,还不过瘾,又多吃了一个。第2天又将剩下的桃子吃掉一半,又多吃了一个。以后每天早上都吃了前一天剩下的一半零一个。到第10天早上想再吃时,就只剩一个桃子了。求第1天共摘了多少个桃子。 四、源程序清单: 2.

18

综合实验

一、实验目的:

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

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

(1)输入班级学生的信息(学号、姓名及英语、高数、C语言三门课程的期末考试成绩); (2)统计每名学生三门课程的总成绩; (3)统计每门课程的平均成绩; (4)按姓名查找并输出学生的信息;

(5)按总成绩由高到低对学生信息进行排序; (6)添加记录(每名学生的信息称为一条记录),要求添加的记录与已有的记录不能重复; 三、采用的主要数据结构、函数及需要包含的头文件:

1. 需要包含的头文件 #include #include #include #include

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

struct Student {

char code[11]; /*存储学号,假设学号为10位数字*/ char name[20]; /*存储姓名*/

float score[3]; /*存储三门课程的成绩*/ float total; /*存储总成绩*/ }; 3. 主要数据结构

常量N(值设为120),用于表示班级的最大人数(假设一个班级的人数不超过120); 全局变量int num:用于存储班级的实际人数;

全局数组float ave[3]:用于存储三门课程的平均成绩;

结构体数组struct Student stu[N]:用于存储班级学生的信息;

字符数组char in_name[20]:用于存储查找学生信息时输入的学生姓名;

结构体变量struct Student insert_stu :用于存储要添加的学生记录。

4. 主要函数

system(\:清屏函数(该函数为库函数);

void print(struct Student *p):输出所有学生的信息;

void search(struct Student *p):在所有记录中按姓名进行查找,若找到,则输出该学生的

24

信息,若没找到,则输出提示信息:“未找到该学生!”;

void total(struct Student *p):统计每名学生的总成绩; void average(struct Student *p):统计每门课程的平均成绩;

void sort(struct Student *p):按总成绩由高到低对所有学生记录进行排序;

void insert(struct Student *p):添加记录,添加的记录与已有的记录不能重复,即学号不能相同。 四、源程序清单

25

26

成绩

指导教师签名

27

3.

五、实验结果:

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

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

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

成绩

指导教师签名

19

实验九

实验项目名称:数组名作函数参数及变量的作用域与存储方式 所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

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

2.会使用数组名作函数参数在主调函数与被调函数间传递多个数据; 3.掌握变量的作用域(局部变量与全局变量); 4. 掌握变量的存储方式(动态存储与静态存储)。 二、预习内容:

教材《C语言程序设计教程》第6章。 三、实验内容:

1. 运行以下程序,并分析结果。 #include int x=8,y=3;

int max(int a,int b) {

int c;

if(a>b) c=a; else c=b; return c; }

int main( ) {

int x=4,maxi; maxi=max(x,y);

printf("%d\\n",maxi); return 0; }

2. 运行以下程序,并分析结果。 #include int f(int a) {

static int b=0; b=b+a; return b; }

int main( ) {

int x=1,y1,y2; y1=f(1);

20

y2=f(1);

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

}

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

五、实验结果:

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

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

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

成绩

指导教师签名

21

实验十

实验项目名称:指针及其应用

所使用的工具软件及环境:Visual C++ 6.0 一、实验目的:

1.掌握指针和间接访问的概念,会定义和使用指针变量; 2. 能利用指针变量作函数参数得到多个要改变的值;

3.能正确定义指向数组的指针变量,并能用其对数组进行访问; 4.能正确定义指向字符串的指针变量,并能用其对字符串进行访问。 二、预习内容:

教材《C语言程序设计教程》第7章。 三、实验内容:

1. 在主函数中输入2个整数,调用swap函数将它们的值交换,结果在主函数中输出。 2. 在主函数中输入10个整数,调用函数sum求它们的和,结果在主函数中输出(要求:实参用数组名,形参用指针变量)。 3. 在主函数中输入一个字符串,调用converse函数将该字符串逆序,结果在主函数中输出。(要求:实参用字符数组名,形参用指针变量)。 四、源程序清单: 1.

2.

22

3.

五、实验结果:

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

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

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

成绩

指导教师签名

23

本文来源:https://www.bwwdw.com/article/hgxd.html

Top