《C语言程序设计》实验报告.docx
- 文档编号:25379054
- 上传时间:2023-06-07
- 格式:DOCX
- 页数:21
- 大小:23.95KB
《C语言程序设计》实验报告.docx
《《C语言程序设计》实验报告.docx》由会员分享,可在线阅读,更多相关《《C语言程序设计》实验报告.docx(21页珍藏版)》请在冰豆网上搜索。
《C语言程序设计》实验报告
(此文档为word格式,下载后您可任意编辑修改!
)
《C语言程序设计》
实验报告
2012~2013学年第二学期
班级
姓名
学号
指导教师
实验一
实验项目名称:
C程序的运行环境和运行C程序的方法
所使用的工具软件及环境:
VisualC++6.0
一、实验目的:
1.了解在VisualC++6.0环境下如何编辑、编译、连接和运行一个C程序;
2.通过运行简单的C程序,初步了解C源程序的特点。
二、预习内容:
教材《C语言程序设计教程》第1章。
三、实验内容:
1.在VisualC++6.0环境下输入并运行下面的程序:
#include { printf("ThisisaCprogram.\n"); return0; } 2.在VisualC++6.0环境下输入下面的程序(有语法错误),编译、连接、调试该程序,直至程序无语法错误,然后运行程序,并观察分析运行结果。 #include { 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 { int2cd=3; floatπ=3.14; charfor=′A′; printf("%d,%f,%c\n",2cd,π,for); return0; } 2.在VisualC++6.0环境下输入并运行下面的程序,观察分析运行结果。 #include { inta=3,b=4,c=8; floatd,e; d=a+bc; e=a+(float)dc; printf("d=%f,e=%f\n",d,e); return0; } 3.在VisualC++6.0环境下输入并运行下面的程序,观察分析运行结果。 #include { 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 { 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 { inta,b,sum; sum=a+b; printf("%d+%d=%d\n",a,b,sum); return0; } 请在横线上填写一条合适的语句,使程序完整,然后上机运行该程序。 2.在VisualC++6.0环境下输入并运行下面的程序,观察分析程序运行过程及结果。 #include { 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 { 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 { 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.62.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 { 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 } intmain() { intx=4,maxi; maxi=max(x,y); printf("%d\n",maxi); return0; } 2.运行以下程序,并分析结果。 #include } 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 用于存储查找学生信息时输入的学生姓名; 结构体变量structStudentinsert_stu: 用于存储要添加的学生记录。 4.主要函数 system("cls"): 清屏函数(该函数为库函数); voidprint(structStudent*p): 输出所有学生的信息; voidsearch(structStudent*p): 在所有记录中按姓名进行查找,若找到,则输出该学生的信息,若没找到,则输出提示信息: “未找到该学生! ”; voidtotal(structStudent*p): 统计每名学生的总成绩; voidaverage(structStudent*p): 统计每门课程的平均成绩; voidsort(structStudent*p): 按总成绩由高到低对所有学生记录进行排序; voidinsert(structStudent*p): 添加记录,添加的记录与已有的记录不能重复,即学号不能相同。 四、源程序清单 成绩指导教师签名
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C语言程序设计 语言程序设计 实验 报告