《C语言程序设计》实验报告.docx
- 文档编号:30431440
- 上传时间:2023-08-15
- 格式:DOCX
- 页数:25
- 大小:45.97KB
《C语言程序设计》实验报告.docx
《《C语言程序设计》实验报告.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验报告.docx(25页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》实验报告
(此文档为 word 格式,下载后您可任意编辑修改!
)
《C 语言程序设计》
实验报告
2012~2013 学年第二学期
班级
1
姓名
学号
指导教师
2
实验一
实验项目名称:
C 程序的运行环境和运行 C 程序的方法
所使用的工具软件及环境:
Visual C++ 6.0
一、实验目的:
1.了解在 Visual C++ 6.0 环境下如何编辑、编译、连接和运行一个 C 程序;
2.通过运行简单的 C 程序,初步了解 C 源程序的特点。
二、预习内容:
教材《C 语言程序设计教程》第 1 章。
三、实验内容:
1. 在 Visual C++ 6.0 环境下输入并运行下面的程序:
#include { printf("This is a C program.\n"); return 0; } 2. 在 Visual C++ 6.0 环境下输入下面的程序(有语法错误),编译、连接、 调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。 #include { int a,b,sum a=3; b=4; sun=a+b; print("%d+%d=%d\n",a,b,sum); return 0; } 四、实验结果: 1. 运行结果(或截图): 2. (1) 改正后的源程序: (2) 运行结果(或截图): 五、思考题: 1. 一个 C 程序上机的步骤有哪些? 答: 2. 组成 C 程序的基本单位是函数,一个函数包括哪几个部分? 答: 成绩指导教师签名 实验二 实验项目名称: 数据类型、运算符和表达式 所使用的工具软件及环境: Visual C++ 6.0 一、实验目的: 1.掌握整型、实型与字符型这三种基本类型的概念; 2.掌握常量及变量的使用方法; 3. 掌握基本算术运算符及其表达式的使用方法; 4. 掌握++、--运算符、赋值运算符及其表达式的使用方法。 二、预习内容: 教材《C 语言程序设计教程》第 2 章。 三、实验内容: 1. 在 Visual C++ 6.0 环境下输入下面的程序(有语法错误),编译、连接、 调试该程序,直至程序无语法错误。 #include { 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 a=3,b=4,c=8; float d,e; d=a+bc; e=a+(float)dc; printf("d=%f,e=%f\n",d,e); return 0; } 3. 在 Visual C++ 6.0 环境下输入并运行下面的程序,观察分析运行结果。 #include { int a,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); return 0; } 4. 在 Visual C++ 6.0 环境下输入并运行下面的程序,观察分析运行结果。 #include { int a=4; a+=a-=a*a+a; printf("a=%d\n",a); return 0; } 四、实验结果: 1. 该程序为什么出错? 答: 2. 运行结果(或截图): 3. 运行结果(或截图): 4. 运行结果(或截图): 五、思考题: 1. 给变量命名应该注意哪些问题? 答: 2. 程序 2 的运行结果中,d 和 e 的值为什么不同? 答: 3. 程序 1 的运行结果中,i 和 j 的值为什么不同? m 和 n 的值为什么不同? 答: 4. 请分析表达式 a+=a-=a*a+a 的运算过程(写出运算步骤)。 答: 成绩指导教师签名 实验三 实验项目名称: 简单的输入输出及顺序程序设计 所使用的工具软件及环境: Visual C++ 6.0 一、实验目的: 1. 掌握整型、实型与字符型数据的正确输入方法(scanf 函数的使用); 2. 掌握整型、实型与字符型数据的正确输出方法(printf 函数的使用); 3. 掌握编写顺序程序的方法。 二、预习内容: 教材《C 语言程序设计教程》第 3 章。 三、实验内容: 1. 下面程序的功能是: 从键盘输入 2 个整数,输出它们的和。 #include { int a,b,sum; sum=a+b; printf("%d+%d=%d\n",a,b,sum); return 0; } 请在横线上填写一条合适的语句,使程序完整,然后上机运行该程序。 2. 在 Visual C++ 6.0 环境下输入并运行下面的程序,观察分析程序运行过 程及结果。 #include { int a,b,sum; printf("请输入第一个整数: "); scanf("%d",&a); printf("请输入第二个整数: "); scanf("%d",&b); sum=a+b; printf("%d+%d=%d\n",a,b,sum); return 0; } 3. 下面程序的功能是: 输出 a,b,c 三个变量的值。 #include { int a=35;float b=43.6578;char c=′A′; return 0; } 请在横线上填写一条合适的语句,使程序完整,运行该程序,且让程序的 运行结果如下: 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 中输入数据的方式有什么不同? 你认为哪种方式较好? 从两 种输入方式的对比中你得到什么启发? 答: 成绩指导教师签名 实验四 实验项目名称: 选择结构程序设计 所使用的工具软件及环境: Visual C++ 6.0 一、实验目的: 1. 正确使用关系运算符和关系表达式; 2. 正确使用逻辑运算符和逻辑表达式; 3. 熟练使用 if 语句实现选择结构程序; 4. 熟练使用 switch 语句实现多分支选择结构程序。 二、预习内容: 教材《C 语言程序设计教程》第 4 章。 三、实验内容: 1. 下 面 程 序 的 功 能 是 : 输 入 学 生 成 绩 , 若 成 绩 在 90 分 以 上 , 输 出 “Excellent! ”;若成绩在 60—89 分之间,输出“Pass! ”;若成绩在 60 分以下,输出“Fail! ”。 请将程序补充完整,并上机运行程序。 #include { int score; printf("请输入分数(0--100): "); scanf("%d",); if(score>100 || score<0) printf("Input Error! \n"); else if() printf("Excellent! \n"); else if() printf("Pass! \n"); printf("Fail! \n"); return 0; } 运行该程序 4 次,分别输入 4 个不同的数据,对应 4 种不同的情况,记 录运行结果: 输入数据 运行结果 2. 有如下分段函数: ⎧xx < 1 ⎪ ⎩ 输入数据 运行结果 请输入 x 的值,求解对应的 y 值。 3. 设计一个简单的计算器程序,用户输入运算数(实型)和四则运算符(+、-、 *、)(例如,输入: 45.62.4),输出计算的结果(要求结果保留两位小数)。 四、程序中所用的变量及其类型: 2. 3. 五、算法(用伪代码描述): 2. 3. 六、源程序清单: 2. 3. 七、实验结果: 2. 运行结果(执行程序 3 次,分别输入不同的 3 个数,对应 3 种不同的情况): 3. 运行结果(执行程序 4 次,分别输入 4 组不同的数据,对应 4 种不同的情 况): 成绩指导教师签名 实验五 实验项目名称: 简单循环程序设计 所使用的工具软件及环境: Visual C++ 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 语句在循环程序中的应用 所使用的工具软件及环境: Visual C++ 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. 运行结果(或截图): 成绩指导教师签名 实验七 实验项目名称: 数组及其应用 所使用的工具软件及环境: Visual C++ 6.0 一、实验目的: 1. 掌握一维数组的定义、赋值、输入输出及其应用; 2. 掌握二维数组的定义、赋值、输入输出及其应用; 3. 掌握字符数组的定义、赋值、输入输出及其应用。 二、预习内容: 教材《C 语言程序设计教程》第 5 章。 三、实验内容: 1. 编程在一个已按从小到大排列好的数组中插入一个数,要求插入该数后的 数组仍按原规律排列。 2. 编程输出 3 行 4 列矩阵中的最大元素值,矩阵中的每个元素值要求从键盘 输入。 3. 编程将一个字符串中的所有英文字母组成一个新的字符串。 四、程序中所用的变量(类型及其初值): 1. 2. 3. 五、算法(用伪代码描述): 1. 2. 3. 六、源程序清单: 1. 2. 3. 七、实验结果: 1. 运行结果(或截图): 2. 运行结果(或截图): 3. 运行结果(或截图): 成绩指导教师签名 实验八 实验项目名称: 函数的定义及调用 所使用的工具软件及环境: Visual C++ 6.0 一、实验目的: 1.熟悉定义函数的方法; 2. 掌握函数的调用方式及主调函数与被调函数间的信息传递方法; 3. 掌握递归方法以及会用函数来实现递归。 二、预习内容: 教材《C 语言程序设计教程》第 6 章。 三、实验内容: 1. 下列程序的功能是求三个整数的最大值,请填空。 #include { 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. 3. 五、算法(用伪代码描述,只需写被调函数的算法): 2. 3. 六、源程序清单: 2. 3. 七、实验结果: 1. 运行结果(或截图): 2. 运行结果(或截图): 3. 运行结果(或截图): 八、思考题: 1. 函数的调用方式有哪几种? 各使用在什么场合? 2. 形参和实参起什么作用? 形参和实参有什么不同? 3. 一个问题想用递归方法解决,必须满足什么条件? 成绩指导教师签名 实验九 实验项目名称: 数组名作函数参数及变量的作用域与存储方式 所使用的工具软件及环境: Visual C++ 6.0 一、实验目的: 1.掌握数组名作函数参数时形参与实参的定义方法; 2.会使用数组名作函数参数在主调函数与被调函数间传递多个数据; 3.掌握变量的作用域(局部变量与全局变量); 4. 掌握变量的存储方式(动态存储与静态存储)。 二、预习内容: 教材《C 语言程序设计教程》第 6 章。 三、实验内容: 1. 运行以下程序,并分析结果。 #include } int main( ) { int x=4,maxi; maxi=max(x,y); printf("%d\n",maxi); return 0; } 2. 运行以下程序,并分析结果。 #include } int main( ) { int x=1,y1,y2; y1=f (1); y2=f (1); printf("y1=%d,y2=%d\n",y1,y2); return 0; } 3. 在主函数中输入 10 个整数,调用函数 sort 将它们按从小到大的顺序排序, 排序结果在主函数中输出。 四、程序中所用的变量(类型及其初值): 3. 五、算法(用伪代码描述,只需写被调函数的算法): 3. 六、源程序清单: 3. 七、实验结果: 1. 运行结果(或截图): 2. 运行结果(或截图): 3. 运行结果(或截图): 八、思考题: 1. 第 1 题的结果为什么不是“8”? 2. 第 2 题的结果中,y1 和 y2 的值为什么不一样? 成绩指导教师签名 实验十 实验项目名称: 指针及其应用 所使用的工具软件及环境: Visual C++ 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 用于存储查找学生信息时输入的学生姓 名; 结构体变量 struct Student insert_stu : 用于存储要添加的学生记录。 4. 主要函数 system("cls"): 清屏函数(该函数为库函数); void print(struct Student *p): 输出所有学生的信息; void search(struct Student *p): 在所有记录中按姓名进行查找,若找 到,则输出该学生的信息,若没找到,则输出提示信息: “未找到该学生! ”; void total(struct Student *p): 统计每名学生的总成绩; void average(struct Student *p): 统计每门课程的平均成绩; void sort(struct Student *p): 按总成绩由高到低对所有学生记录进行 排序; void insert(struct Student *p): 添加记录,添加的记录与已有的记录 不能重复,即学号不能相同。 四、源程序清单 成绩指导教师签名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 实验 报告
![提示](https://static.bdocx.com/images/bang_tan.gif)