C语言程序设计
实验指导
计算机科学技术系 2012年9月
前言
《C语言程序设计》是计算机网络技术和软件技术专业的专业必修课程,也是先修课程程序设计基础的延续和深化,两者分工配合,系统而全面地讲授C语言程序设计的各种知识,培养和提高学生的程序设计能力,共同形成对面向对象程序设计、数据结构等相关后续课程的有力支撑。程序设计基础作为先修课程,其主要内容是数据类型与变量、运算符与表达式、控制结构、数组和函数等基础知识,而本课程的主要内容则是指针、结构体、文件等C语言中较深入的内容,也包括数组、函数等基础知识的深化,以兼顾知识的连贯性和系统性。本课程的重点是指针与动态内存管理、结构体与链表以及递归函数等,要着重提高学生C语言程序设计能力,注意培养与指针、函数等内容相关的调试技能,为数据结构等后续课程的学习打好基础。
本课程实验的目的在于通过上机操作实践,巩固理论教学内容,切实培养和提高学生的程序设计能力。同时,通过编程实践培养学生调试与指针、函数、链表等内容相关的程序,进一步提高程序调试技能,为数据结构等后续课程的学习打好基础。
编写本实验指导书的目的,是为了更好地指导学生进行实验。一方面实验内容更加具体,便于学生开展实验操作;另一方面,增加了实验预习和实验总结,以方便学生实验前后的预习和复习。本指导书在附录中提供了课程的教学大纲和实验大纲,并介绍了常用开发环境的基本用法。
本实验指导将定期更新,以使实验教学内容更加规范合理,从而不断提高本课程的实验教学水平。
庄波 2012年8月
目录
实验一 指针与动态内存管理 ......................................................................................................... 1
1. 实验内容 ........................................................................................................................... 1 2. 实验要求 ........................................................................................................................... 1 3. 实验预习 ........................................................................................................................... 1 4. 实验指导 ........................................................................................................................... 1 5. 总结 ................................................................................................................................... 2 实验二 结构体与动态数据结构 ..................................................................................................... 4
1. 实验内容 ........................................................................................................................... 4 2. 实验要求 ........................................................................................................................... 4 3. 实验预习 ........................................................................................................................... 4 4. 实验指导 ........................................................................................................................... 4 5. 总结 ................................................................................................................................... 4 实验三 函数的应用 ......................................................................................................................... 5
1. 实验内容 ........................................................................................................................... 5 2. 实验要求 ........................................................................................................................... 5 3. 实验预习 ........................................................................................................................... 5 4. 实验指导 ........................................................................................................................... 5 5. 总结 ................................................................................................................................... 5 实验四 文件操作应用 ..................................................................................................................... 6
1. 实验内容 ........................................................................................................................... 6 2. 实验要求 ........................................................................................................................... 6 3. 实验预习 ........................................................................................................................... 6 4. 实验指导 ........................................................................................................................... 6 5. 总结 ................................................................................................................................... 6 附录A:《C语言程序设计》教学大纲 ......................................................................................... 7 附录B:《C语言程序设计》实验教学大纲 ............................................................................... 13 附录C:常用开发环境简介 ......................................................................................................... 16
1. Visual C++ 6.0 ................................................................................................................ 16 2. MinGW Developer Studio .............................................................................................. 16 3. Eclipse+CDT+MinGW ................................................................................................... 17
实验一 指针与动态内存管理
1. 实验内容
利用动态分配内存对输入的若干个数值或字符串排序。
2. 实验要求
1. 掌握指针变量的定义和使用方法 2. 掌握指针作为函数参数的用法 3. 掌握动态内存管理的基本方法 4. 掌握字符指针访问字符串的基本方法
3. 实验预习
(一)预习思考题
(1)举例说明如何定义指针变量,以及如何使用地址运算符和间接运算符。 (2)如果不使用指针作为函数参数,能否用函数实现两个变量的交换?为什么? (3)请给出下标表示法访问数组元素a[i]和a[i][j]对应的地址表示法。 (4)结合下列定义分析字符数组与字符指针的区别。 char s[80] = \ char *p = \
(5)简述C语言的内存映像,并说明动态内存分配使用哪一部分内存。
(6)使用动态内存的一般步骤,并说明动态内存分配函数malloc()与calloc()有何异同。 (二)实验准备 仪器:计算机
软件:Visual C++ 6.0或Eclipse+CDT+MinGW或MinGW Developer Studio
4. 实验指导
1. 设计函数 void sort(int a[], int n) 实现对数组a中的n个数据从小到大排序,复习函数和数组的用法,自顶向下、逐步求精的设计方法。
提示:首先定义并初始化若干个整数,打印排序前的数据,然后调用排序函数对该数组中
1
相关推荐: