课程编号: 实验学时:18学时
实验个数:9个 适用专业:计算机科学与技术
教材及参考书:《C程序设计题解与上机指导》(第三版)
大纲执笔人:胡成松 大纲审定人:
一、实验课的性质与任务
本课程是计算机专业的必修专业课之一,是《C语言程序设计》的同步实验课。通过该课程,学生要培养最基本的程序设计能力和对程序要求进行分析的能力,加深课堂知识的理解,将理论知识转化为真正的编程技巧。
二、实验课程目的与要求
1.实验目的
通过实验,基本掌握C语言程序设计中常用的数据类型,并能够合理的利用顺序结构、选择结构、循环结构进行程序编写,并能合适的引入子函数对实际问题进行分析,为了提高程序的运行效率,还应充分掌握用指针对程序进行处理。
2.实验要求
(1)掌握有关基本概念;
(2)掌握变量的定义方法;
(3)掌握用计算机程序解决实际问题的能力;
三、实验项目及学时分配(黑体五号)


四、实验内容安排:(黑体五号)
实验一
掌握程序开发步骤以及变量的定义
(基本操作型实验 2学时)
1、目的要求:
1)掌握Visual C++6.0开发C程序的步骤和方法;
2)建立基本的程序设计思想;
3)掌握变量的定义方法。
2、实验内容:
1)熟练掌握Visual C++6.0的应用;
2)自己编写程序,打印出如下所示的信息:
************************************
Welcome to the C world!
************************************
3)在一个程序中同时实现求a(a=8)和b(b=5)的和、差、积、商的运算;
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验二
顺序结构、选择结构程序练习
(基本操作型实验 2学时)
1、目的要求:
1)进一步强化变量的定义和使用方法;
2)掌握输入、输出函数的使用方法;
3)选择结构中的if语句和switch语句的熟练使用;
2、实验内容:
1)完成大小写的进一步互换;(即任意输入一个字符,判断其若为英文大写则换为小写,若为小写则换为大写,否则提示出错);
2)输入四个整数,最后将其由大到小输出;
3)运行程序,输入一个任意的b值,由下列公式求出并输出y的值;
y=
4)输入一个四位数以内的整,将其转换为逆序的数据,输出最后结果。
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验三
while循环和do-while循环练习
(基本操作型实验 2学时)
1、目的要求:
1)理解循环程序结构的执行机制;
2)熟练掌握while循环和do-while循环的使用方法;
2、实验内容:
1)输入10个整数,求出最大的数,并将这10个数和该最大的数输出;
2)从键盘输入多个日期值(包含年、月、日),判断这一天是该年的第几天?
3)从键盘读取7个数(1—50)的整数值,每读取一个值,程序打印出该值个数的*;
4)输入两个 正整数,求其最大公约数和最小公倍数;
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验四
for循环的使用及循环嵌套
(基本操作型实验 2学时)
1、目的要求:
1)进一步加深对循环程序结构的理解;
2)能熟练使用for循环及循环嵌套,break 语句和continue语句
2、实验内容:
1)打印出9*9乘法口诀表;
2)求表达式1!+2!+3!+…+n!的值;(其中n值由用户输入);
3)打印出如下所示的图案:
*
* * *
* * * * *
* * * * * * *
* * * * *
* * *
*
4)有一分数序列,2/1,3/2,5/3,8/5,13/8,21/13,求出这个序列的前20项数据之和;
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验五
一维数组的使用、二维数组、字符数组的使用
(基本操作型实验 2学时)
1、目的要求:
1)理解数组中元素的存储机制;
2)掌握数据的定义方法;
3)掌握对数组中元素的赋值和设置方法;
4)掌握字符数组的使用方法;
2、实验内容:(宋体五号)
1)将一个长度为8的整型数组中的值按照逆序存放;(数组中数据自己从键盘动态输入)
2)从键盘输入一个4*3整型数组赋值,找出其中的最小值,并将该值和其行号与列号输出出来。
3)打印出杨辉三角的前12行数据,格式为下三角样式;
4)模仿strlen函数的实现方法,写出strcpy的函数实现方法;
5)统计一个源字符串中某个字符的个数,该字符串与单个字符均由用户定义;
如源字符串为:I am a handsome boy! 单个字符为a,则最后结果为3;
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验六
函数的定义和调用
(基本操作型实验 2学时)
1、目的要求:
1)理解使用函数的意义;
2)掌握函数的定义方法;
3)掌握函数调用中的参数传递规则;
2、实验内容:
1)求mn的值,其中m为实数,n为非负整数;用函数实现该功能,且两个参数均在主函数中输入,输出在子函数中实现;
2)用函数实现该功能:判断某年是否为闰年,输入输出信息均在主函数中实现;
3)在主函数中输入两个实数,在该程序中用四个子函数实现求这两个数据的和、差、积、商,并在主函数中将计算结果输出;
4)编写程序实现将一个十六进制转换为相应的十进制,输入输出操作均在主函数中完成,数值转换在子函数中完成。
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验七
函数的综合应用
(基本操作型实验 2学时)
1、目的要求:
1)进一步理解函数定义和调用的规则;
2)掌握数组名作为函数参数的原理及定义方法;
2、实验内容:
1)写一函数,使输入的一个字符串按反序存放,在主函数中输入和输出字符串;
2)用冒泡法对输入的8个数排序,排序功能在子函数中实现,数据的输入输出在主函数中完成;
3)将两个字符串顺序相接,如串一为:asdfg,串二为:zxcvb,则最后的结果为:abcdfgsvxz;
字符串连接在子函数中实现,输入输出在主函数中实现;
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验八
指针的定义和字符串指针、指针数组的使用
(基本操作型实验 2学时)
1、目的要求:
1)理解指针的实质;
2)掌握指针变量的定义方法;
3)掌握用指针对数组进行处理;
4)掌握指针函数的使用方法;
2、实验内容:
1)有一个字符串,包含n个字符。写一函数,将此字符串中从第m个字符开始的全部字符复制成为另一个字符串;(复制操作在子函数中实现,并用指针传递);
2)输入3个整数,按照由大到小的顺序输出,并要求用指针进行操作;
3)输入3个字符串,按照由小到大的顺序将其输出,并要求用指针进行操作;
4)编写一程序,输入月份号,输出该月的英文月名。例如,输入“3”,则输出“March”,要求用指针数组处理;
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
实验九
指针的综合应用、结构体的定义
(基本操作型实验 2学时)
1、目的要求:
1)熟练使用指针对程序进行处理;
2)理解结构体类型的存储结构;
3)掌握结构体的定义和结构体变量的定义方法;
2、实验内容:(宋体五号)
1)将n个数按照输入时顺序的逆序排列,并将结果输出,要求用指针和子函数实现;
2)定义一个student 结构体,包括id,name,Comp,Eng三个成员,定义三个结构体变量,对其动态赋值,最后将三个结构体变量的信息打印出来;
3)定义一个结构体变量(包括年、月、日)。输入一个日期,计算该日是本年的第几天。
3、主要仪器设备及用品
电脑一台、Visual C++6.0 开发环境
五、考核方式、方法及实验成绩评定方法(黑体五号)
根据学生每次实验的完成情况,当场检查计分,成绩考核采用百分制记分,采用优秀、良好、中等、及格、不及格五级评级。
六、主要教材及参考书(黑体五号)
教 材:谭浩强,《C程序设计题解与上机指导》(第三版),北京,清华大学出版社,2006.3
参考书:谭浩强,《C语言程序设计》(第三版),北京,清华大学出版社,2006.3