1124013-c言程序设计-实验指导
前言
《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.016
2.MinGW Developer Studio16
3.Eclipse+CDT+MinGW17
实验一 指针与动态内存管理
实验内容
利用动态分配内存对输入的若干个数值或字符串排序。
实验要求
1. 掌握指针变量的定义和使用方法
2. 掌握指针作为函数参数的用法
3. 掌握动态内存管理的基本方法
4. 掌握字符指针访问字符串的基本方法
实验预习
(一)预习思考题
(1)举例说明如何定义指针变量,以及如何使用地址运算符和间接运算符。
(2)如果不使用指针作为函数参数,能否用函数实现两个变量的交换?为什么?
(3)请给出下标表示法访问数组元素a[i]和a[i][j]对应的地址表示法。
(4)结合下列定义分析字符数组与字符指针的区别。
char s[80] = "Hello";
char *p = "Hello";
(5)简述C语言的内存映像,并说明动态内存分配使用哪一部分内存。
(6)使用动态内存的一般步骤,并说明动态内存分配函数malloc()与calloc()有何异同。
(二)实验准备
仪器:计算机
软件:Visual C++ 6.0或Eclipse+CDT+MinGW或MinGW Developer Studio
实验指导
1. 设计函数 void sort(int a[], int n) 实现对数组a中的n个数据从小到大排序,复习函数和数组的用法,自顶向下、逐步求精的设计方法。与动态数据结构
1. 掌握结构体类型变量的定义和使用
2. 掌握函数应用1124013)
一、课程说明
(一)课程名称:
中文:C语言程序设计
英文:C Programming
(二)适用专业:计算机网络技术、软件技术
(三)课程类别:专业课程
(四)课程性质与任务:
本课程是计算机网络技术和软件技术专业的专业必修课程,也是先修课程程序设计基础的延续和深化。本课程在先修课程的基础上,主要讲授指针、结构体和共用体、文件等内容,也包括数组和函数等知识的深化,重点是进一步提高学生的C语言程序设计及调试能力,为数据结构等后续课程打好基础。
(五)教学目的与要求:
本课程是程序设计基础的延续和深化,两者分工配合,系统而全面地讲授C语言程序设计的各种知识,培养和提高学生的程序设计能力,共同形成对面向对象程序设计、数据结构等相关后续课程的有力支撑。因此,在授课过程中要密切注意本课程与前后相关课程之间的联系和区别,以达到互为借鉴、触类旁通的效果,既巩固已学知识