计算机与通信学院 课程教学计划书 课 程 编 号 课程名称(中) C/C++程序设计 (英) C/C++ Programming 主 讲 老 师 李 季 秾 实验工程师 日 期 2002 年3 月 计算机与通信学院 一.简 表 课程名称 C/C++ 程序设计 适应专业 适应于各专业  主讲教师 李 季 秾 助 教   学 分 数 3 分 参考学时数 32(授课)+32(实验)  实验工程师  教学助理   实验室名称 湖南大学计算中心 实验方式 开放(( )集中(( )其它( )  课程性质 必修(( ) 选修( ) 其它( ) 先修课程 计算机系统工具与环境  授课计划概述(课程讲授、答疑、作业、实验等时间分配,考核方式与评分标准) 概论 授课2学时,实验2学时 数据类型、运算符与表达式 授课3学时,实验4学时,作业5~10题,辅导答疑2学时 C语言简单程序设计 授课5学时,实验6学时,作业35~40题,辅导答疑2学时 模块化程序设计 授课4学时,实验4学时,作业15~20题,辅导答疑2学时 C的结构类型数据描述 授课16学时,实验16学时,作业55~60题,辅导答疑4学时 C语言库函数 授课2学时,实验2学时,作业8~10题,辅导答疑2学时 考核方式与评分标准:平时考核10分,作业与实验各20分,期末理论闭卷 考试50分,共100分 注:( 凡布置的课外作业,无论学生人数多少,均全部批改并记成绩; ( 每章的辅导答疑时间中不包括上机辅导在内。  实验计划概述(实验项目与设备清单) 实验一:2学时,熟悉C/C++系统编程环境 实验二:4学时,按实验纲要要求编写并上机通过简单的C语言程序 实验三:6学时,按实验纲要要求用if、while、do~while、for语句编写程序 并上机调试通过 实验四:4学时,按实验纲要要求学会编写自定义函数,掌握函数调用特别是 函数的递归调用的概念,并将编写的程序上机调试通过 实验五:16学时,按实验纲要要求学会定义数组、指针、结构体、共用体、 枚举等数据类型并用于自己编写的程序,然后上机调试通过 实验六:2学时,按实验纲要要求学会建立自己的数据文件以及数据文件的访 问操作自己编写的程序上机调试通过 注: 每次实验完毕,必须通过教学助理检查并记录实验成绩 设备清单:由教务处统一安排在计算机与通信学院计算中心上机实习  二.教学纲要 教学目标 当前全球社会正在以前所未有的速度向前发展,科学技术是各国经济增长的主要动力,现代计算机科学技术的飞速发展以及他对政治、经济、文化、军事等各方面的巨大影响,计算机与信息科学已经成为当代科学技术向前发展的重要引擎。然而科技发展以人为本,科技的竞争就是人才的竞争。因此,必须在各类各学科专业普及计算机技术教育,培养既懂专业技术又熟悉计算机的基本操作、至少掌握一种程序设计语言的高级技术人才尤为重要。C语言在众多程序设计语言中独领风骚,在系统软件开发、科学计算、自动控制等各个领域中被广泛采用而最具音响力的程序设计语言。《C/C++程序设计》课程是我校非计算机专业学生计算机基础教学三个层次中最重要的一个环节。通过本课程的学习,使学生掌握C/C++语言灵活的语法、运算符及其丰富的表达式、各类数据类型的描述、灵活的流程控制、自由的程序设计风格等概念与技巧,并通过严格的上机操作实践训练,达到用C/C++程序设计语言结合本专业所学知识解决实际问题的能力。 教学内容及要求 第一章 概述 程序设计的概念,程序设计语言的发展史,C语言的特点,简单的C语言程序示例,C语言使用的字符集、标识符和关键字,Turbo C 2.0 集成开发环境介绍(C程序的编辑、编译、连接与运行)。 要求掌握程序设计的概念和了解程序设计语言(特别是C语言)的发展史、C语言的特点,熟悉Turbo C 2.0 集成开发环境为下阶段编辑、编译、连接与运行自己编写的C程序打下基础。 第二章 基本数据类型、运算符与表达式 基本数据类型(数值型数据、字符型数据),常量和变量(常量和符号常量、变量与变量说明语句、局部变量与全局变量),运算符与表达式(算术运算符与算术表达式、关系运算符与关系表达式、逻辑运算符与逻辑表达式、赋值运算符与赋值表达式、其他运算符),数据类型转换(类型自动转换、赋值转换、强制类型转换)。 要求掌握常量与变量的区别、运算符的优先级以及算术表达式转换为C表达式的方法和要注意的问题。 第三章 简单的C程序设计 C语言的数据操作语句(简单语句、空语句和复合语句),输入与输出语句(字符输入与输出函数、格式输出函数、格式输入函数),流程控制语句(选择结构、循环结构、非结构化语句、复合程序结构、流程控制语句应用举例)。 要求掌握C语言的各种语句形式、格式输入/输出函数、程序流程的控制(if语句的格式、循环语句的使用)及其注意的问题。 第四章 模块化程序设计 基本概念(模块与函数、模块设计原则、算法简介),函数定义与声明(标准库函数与头文件、用户自定义函数、形参与实参),函数的调用(函数的嵌套调用、函数的递归调用),变量的作用域及存储特性(变量的作用域、变量的存储属性),编译预处理(宏定义、文件包含处理、条件编译)。 要求掌握C函数的说明与定义的概念,正确地编写C的自定义函数,理解函数的调用特别是函数的嵌套调用和函数的递归调用的原理,尤其要记住函数调用时函数的参数表中参数的求值顺序。 第五章 C的结构类型数据描述 数组(一维数组、多维数组、字符数组和字符串、数组与函数、数组应用举例),指针(指针的概念、指针变量、指针与函数、指针与数组、指针应用举例),结构体与共用体(结构体类型的定义与变量说明、结构体类型变量的引用与初始化、结构体与数组、结构体类型与指针、结构体与函数、共用体、应用举例),位段结构(位运算、位段结构、应用举例),枚举类型,用typedef定义类型。 要求掌握指针(特别是指针的指针、指针数组、指向函数的指针和返回指针值的函数)的概念、指针的引用与运算,学会定义结构类型(包括数组、结构体、共用体、枚举类型等)和结构类型数据的访问等内容。 第六章 C语言库函数 文件操作库函数(概述、标准文件操作、非标准文件操作)。 要求掌握文件以及缓冲文件系统、文件指针的概念,学会关于文件打开、关闭、读、写、文件指针定位等函数的操作。 教学运行表 第1章 概论 授课2学时,实验2学时 第2章 数据类型、运算符与表达式 授课3学时,实验4学时,作业5~10题,答疑2学时 第3章 C语言简单程序设计 授课4学时,实验4学时,作业35~40题,答疑2学时 第4章 模块化程序设计 授课5学时,实验6学时,作业15~20题,答疑2学时 第5章 C的结构类型数据描述 授课16学时,实验16学时,作业55~60题,答疑4学时 第6章 C语言库函数 授课2学时,实验2学时,作业8~10题,答疑2学时 注:( 凡布置的课外作业,无论学生人数多少,均全部批改并记成绩; ( 每章的辅导答疑时间中不包括上机辅导在内。 考核与评分标准 平时考核10分,作业与实验各20分,期末理论闭卷考试50分,共100分 教材及参考资料 教 材: 《C/C++程序设计》主编 杨路明 湖南科学技术出版社 2001.1 参考资料: 《C语言程序设计》主编 李大友 清华大学出版社 2001.3 《C语言程序设计》主编 郑 莉 清华大学出版社 2000.5 《C程序设计》(第2版)主编 谭浩强 清华大学出版社 2001.12 《The C Programming Language》Brian W.Kernighan 2001.11 《C++语言基础教程》主编 徐孝凯 清华大学出版社 2001.9 《C语言编程常见问题解答》张芳妮等译 清华大学出版社 1998.6 《Visual C++6.0程序设计实用教程》编著 东方激光工作室 中国民航出版社 2001.1 三.实验纲要 实验目的 上机实验操作是学习《C程序设计》极其重要而必不可少的环节。其目的绝不仅仅是为了验证教材和讲课内容及自己所编写的程序正确与否,其重要意义在于:(加深对课堂内容的理解,尤其是C语言的语法规则,只有通过上机实验操作才能加深理解并记住;(学会调试程序并能熟练排错才是一个合格的程序员,调试程序的经验固然可以借鉴他人的现成经验,但更重要的是通过自己的直接实践去累积,因为有些经验只能“会意”难以“言传”,特别是“自设障碍”之类的错误只能靠自己来解决。 实验内容 实验一 学习从开机开始的操作,包括如何建立子目录、使用操作命令列目录、删除文件、复制文件等。 编辑、调试、运行程序。 实验二 关系运算符与关系表达式和逻辑运算符与逻辑表达式正确运用 各种形式的条件语句的使用(注意( )和 { } 的使用) switch语句运用 实验三 while、do-while及for语句实现循环的方法,了解它们各自的长处,及相互转换的方法。 在程序设计中用循环的方法实现各种算法(如穷举、迭代、递推等算法)。 实验四 编译预处理中文件包含(#include)命令的运用,了解#include使用的环境、格式(两种)与作用 函数的概念、函数的定义方法,学会灵活地使用函数 函数中形参与实参的对应关系及“值传递”方法 函数的嵌套调用和递归调用方法 全局变量和局部变量、静态存储变量和动态存储变量的概念与存储方法。 实验五 一维数组和二维数组的定义、赋值和输入输出的方法。 字符数组和字符串函数的使用。 与数组有关的算法(例如排序)。 指针的概念、指针变量的定义和使用方法。 使用数组的指针和指向数组的指针变量。 使用字符串的指针和指向字符串的指针变量。 使用指向函数的指针变量。 指向指针的指针的概念及其使用方法。 结构体类型变量的定义和使用方法。 结构体类型数组的概念和使用方法。 共用体的概念与使用方法。 实验六 文件以及缓冲文件系统、文件指针的概念。 文件的打开与关闭、文件的读写等操作函数的使用。 用缓冲文件系统对文件进行简单的操作。 注:详细内容请参见《C/C++程序设计上机实践》指导书 实验运行表 实验一:2学时,熟悉C/C++系统编程环境 实验二:4学时,按实验纲要要求编写并上机通过简单的C语言程序 实验三:6学时,按实验纲要要求用if、while、do~while、for语句编写程序 并上机调试通过 实验四:4学时,按实验纲要要求学会编写自定义函数,掌握函数调用特别 是函数的递归调用的概念,并将编写的程序上机调试通过 实验五:16学时,按实验纲要要求学会定义数组、指针、结构体、共用体、 枚举等数据类型并用于自己编写的程序,然后上机调试通过 实验六:2学时,按实验纲要要求学会建立自己的数据文件以及数据文件的 访问操作自己编写的程序上机调试通过 注: 每次实验完毕,必须通过指导教师检查并记录实验成绩 实验条件 由教务处统一安排在计算机与通信学院计算中心上机实习,每人一机。 参考资料 《C/C++上机实践及习题选解》主编 杨路明 湖南科学技术出版社 2001.1 《C语言程序设计上机实践及习题分柝》主编 李大友 清华大学出版社 2001.3 《C语言程序设计上机实践及习题解答》主编 郑 莉 清华大学出版社 2000.5 《C程序设计题解与上机指导》主编 谭浩强 清华大学出版社 2001.12