“℃语言程序设计“课程教学大纲 课程英文名称:C Language Programming 课程类 总学时: 48+32 学 分:4 适用对象:软件工程专业本科生 先修课程: 无 使用教材及参考书 教 材: 《C程序设计》,谭浩强编,清华大学出版社,2010年,第四版 参考书:《C程序设计题解与上机指导》,谭浩强编,清华大学出版社,2005年 《数据结构(C语言版)》,严蔚敏等编,清华大学出版社,2014年 《C Primer Plus中文版》,Stephen Prata编,人民邮电出版社,2005年,第 五版 一、课程性质、目的和任务 《C语言程序设计》是大 一新生的第一门高级语言程序设计课,属于计算机专业本科基础教学中 门必修的专业基础课程。通过该课程 利用计算机处理问题 二、教学基本要求 多媒体实验室 三、教学纳容及要求 第一章 程序设计和C语言 1.1什么是计算机程序 1.2什么是计算机语言 1.3C语言的发展及其特点 1.4最简单的C语言程序 1.4.1最简单的C语言程序举例 1.4.2C语言程序的结构 1.5运行C程序的步骤与方法 1.6程序设计的任务 基本要求: 1、了解计算机程序和计算机语言。 2、知道C语言的发展历史及特点 3、堂握简单的C程序。 4、熟练掌握C程序运行环境及上机步骤 第二章 算法 程序的灵魂 2.1什么是算法 2.2简单的算法举例 2.3算法的特性 2.4怎样表示一个算法 2.4.1用自然语言表示算法 2.4.2用流程图表示算法 2.4.3 三种基本结构和改进的流程图 2.4.4 用N-S流程图表示算法 2.4.5用伪代码表示算法 2.4.6用计算机语言表示算法
"C语言程序设计"课程教学大纲 课程英文名称:C Language Programming 课程编号:260204 课程类 型:专业核心课 总 学 时: 48+32 学 分:4 适用对象:软件工程专业本科生 先修课程:无 使用教材及参考书 教 材:《C程序设计》,谭浩强编,清华大学出版社,2010年,第四版 参 考 书:《C程序设计题解与上机指导》,谭浩强编,清华大学出版社,2005年 《数据结构(C语言版)》,严蔚敏等编,清华大学出版社,2014年 《C Primer Plus 中文版》,Stephen Prata编,人民邮电出版社,2005年,第 五版 一、课程性质、目的和任务 《C语言程序设计》是大一新生的第一门高级语言程序设计课,属于计算机专业本科基础教学中 第一层次的课程,是一门必修的专业基础课程。通过该课程的学习,培养学生利用计算机处理问题 的思维方式和程序设计的基本方法,启发学生主动将计算机引入到其它基础课和专业课。 二、教学基本要求 多媒体实验室 三、教学内容及要求 第一章 程序设计和C语言 1.1 什么是计算机程序 1.2 什么是计算机语言 1.3 C语言的发展及其特点 1.4 最简单的C语言程序 1.4.1 最简单的C语言程序举例 1.4.2 C语言程序的结构 1.5 运行C程序的步骤与方法 1.6 程序设计的任务 基本要求: 1、了解计算机程序和计算机语言。 2、知道C语言的发展历史及特点。 3、掌握简单的C程序。 4、熟练掌握C程序运行环境及上机步骤。 第二章 算法——程序的灵魂 2.1 什么是算法 2.2 简单的算法举例 2.3 算法的特性 2.4 怎样表示一个算法 2.4.1 用自然语言表示算法 2.4.2 用流程图表示算法 2.4.3 三种基本结构和改进的流程图 2.4.4 用N-S流程图表示算法 2.4.5 用伪代码表示算法 2.4.6 用计算机语言表示算法
2.5结构化程序设计方法 基本要求: 1、了解算法的含义及特性。 2、掌握算法的不同种表示方法:自然语言、流程图、N-S图、计算机语言 3、理解结构化程序设计方法 第三章 最简单的C程序设计 顺序程序设计 3.1顺序程序设计举例 3.2数据的表现形式及其运算 3.2.1常量和变量 3.2.2 数据类型 3.2.3整型数据 3.2.4 字符型数 3.2.5浮点型数据 3.2.6 怎样确定常量的类型 3.2.7 运算符和表达式 3.3C语句 3.3.1C语句的作用和分类 3.3.2最基本的语句 赋值语句 3.4数据的输入输出 3.4.1 输入输出举例 3.4.2有关数据输入输出的概念 3.4.3用printf函数输出数据 3.4.4用scanf函数命入数据 3.4.5 字符数据的输入输出 基本要求: 1、掌握C的几种基本数据类型 2、掌握标识符的概念,熟悉变量和常量先定义后使用的特点。 3、熟练堂握(长)整型、短整型、无符号整型数据的定义与存储特点 4、熟练掌握单精度、双精度浮点数的定义与存储特点 5、熟练掌握字符型数据的定义与存储特点,并熟悉整型数据与字符型数据间的关系。 6、掌握定义变量的同时,赋初值的方法 7、掌握各种运算符和表达式的含义与使用要点。 8、掌握不同类型数据间的混合运算规则。 9、了解C语言程序特点:C程序由若干个源程序文件组成,体现函数核心思想。 10、C程序的三种基本结构:掌握顺序结构、选择结构、循环结构。 1山、掌握赋值语句构成与使用要点 12、熟练掌握格式输入/输出函数的使用方法 13、能编写简单的顺序结构程序。 第四章 选择结构程序设计 4.1选择结构和条件判断 4.2用if语句实现选择结构 4.2.1用if语句处理选择结构举例 4.2.2if语句的一般形式 4.3关系运算符和关系表达式 4.3.1关系运算符及其优先次序
2.5结构化程序设计方法 基本要求: 1、了解算法的含义及特性。 2、掌握算法的不同种表示方法:自然语言、流程图、N-S图、计算机语言。 3、理解结构化程序设计方法。 第三章 最简单的C程序设计——顺序程序设计 3.1 顺序程序设计举例 3.2 数据的表现形式及其运算 3.2.1 常量和变量 3.2.2 数据类型 3.2.3 整型数据 3.2.4 字符型数据 3.2.5 浮点型数据 3.2.6 怎样确定常量的类型 3.2.7 运算符和表达式 3.3 C语句 3.3.1 C语句的作用和分类 3.3.2 最基本的语句——赋值语句 3.4 数据的输入输出 3.4.1 输入输出举例 3.4.2 有关数据输入输出的概念 3.4.3 用printf函数输出数据 3.4.4 用scanf函数输入数据 3.4.5 字符数据的输入输出 基本要求: 1、掌握C的几种基本数据类型。 2、掌握标识符的概念,熟悉变量和常量先定义后使用的特点。 3、熟练掌握(长)整型、短整型、无符号整型数据的定义与存储特点。 4、熟练掌握单精度、双精度浮点数的定义与存储特点。 5、熟练掌握字符型数据的定义与存储特点,并熟悉整型数据与字符型数据间的关系。 6、掌握定义变量的同时,赋初值的方法。 7、掌握各种运算符和表达式的含义与使用要点。 8、掌握不同类型数据间的混合运算规则。 9、了解C语言程序特点:C程序由若干个源程序文件组成,体现函数核心思想。 10、C程序的三种基本结构:掌握顺序结构、选择结构、循环结构。 11、掌握赋值语句构成与使用要点。 12、熟练掌握格式输入/输出函数的使用方法。 13、能编写简单的顺序结构程序。 第四章 选择结构程序设计 4.1 选择结构和条件判断 4.2 用if语句实现选择结构 4.2.1 用if语句处理选择结构举例 4.2.2 if语句的一般形式 4.3 关系运算符和关系表达式 4.3.1 关系运算符及其优先次序
4.3.2关系表达式 4.4逻辑运算符和逻辑表达式 4.4.1逻辑运算符及其优先次序 4.4.2逻辑表达式 4.4.3逻辑型变量 4.5条件运算符和条件表达式 4.6选择结构的嵌套 4.7用switch语句实现多分支选择结构 4.8选择结构程序综合举例 基本要求: 熟练掌握if选择语句的三种形式,掌握if语句的基本结构以及if选择语句的嵌套,并能 将条件运算符给出的语句转化成选择语句的形式。 ,逻辑、条件运算符)和不同表达式(关系、逻辑、条件表达 3、掌握switchi语句的一般形式,并能把复杂的分支选择性结构化成switchi语句来解决问 题。 、掌握选择结构的嵌套,总结常用的选择程序算法特点及设计方法,并能编写相应的选择 结构程序 第五章 循环结构程序设计 5.1 为什么需要循环控制 5.2用while语句实现循环 5.3用do.while语句实现循环 5.4用for语句实现循环 5.5循环的张套 5.6几种循环的比较 5.7改变循环执行的状态 5.7.1用breaki语句提前终止循环 5.7.2用continue语句提前结束本次循环 5.7.3 breaki语句和continue语句的区别 5.8循环程序举例 基本要求: 1、掌握whilei语句与do.whilei语句的结构与使用方法。 2、掌握for语句的结构,熟练学握其使用方法。 3、会使用常见的循环嵌套形式 4、能正确区分for句、do.while语句与while语句三者的不同。 5、学握breaki语句和continuef的应用及其区别 程序、选择结构、循环结构程序设计,分析总结常用的程序设计方法及算法特 第六章 利用数组处理批量数据 6.1怎样定义和引用一维数组 6.1,1怎样定义一维难数组 6.1.2怎样引用一维数组元素 6.1.3 一维数组的初始化 6.1.4一维数组程序举例 6.2怎样定义和引用二维数组 6.2.1怎样定义二维数组
4.3.2 关系表达式 4.4 逻辑运算符和逻辑表达式 4.4.1 逻辑运算符及其优先次序 4.4.2 逻辑表达式 4.4.3 逻辑型变量 4.5 条件运算符和条件表达式 4.6 选择结构的嵌套 4.7 用switch语句实现多分支选择结构 4.8 选择结构程序综合举例 基本要求: 1、熟练掌握if选择语句的三种形式,掌握if语句的基本结构以及if选择语句的嵌套,并能 将条件运算符给出的语句转化成if选择语句的形式。 2、掌握不同运算符(关系、逻辑、条件运算符)和不同表达式(关系、逻辑、条件表达 式)的使用特点、清楚每种运算符的优先级与结合性。 3、掌握switch语句的一般形式,并能把复杂的分支选择性结构化成switch语句来解决问 题。 4、掌握选择结构的嵌套,总结常用的选择程序算法特点及设计方法,并能编写相应的选择 结构程序。 第五章 循环结构程序设计 5.1 为什么需要循环控制 5.2 用while语句实现循环 5.3 用do.while语句实现循环 5.4 用for 语句实现循环 5.5 循环的嵌套 5.6 几种循环的比较 5.7 改变循环执行的状态 5.7.1 用break语句提前终止循环 5.7.2 用continue语句提前结束本次循环 5.7.3 break语句和continue语句的区别 5.8 循环程序举例 基本要求: 1、掌握while语句与do.while语句的结构与使用方法。 2、掌握for语句的结构,熟练掌握其使用方法。 3、会使用常见的循环嵌套形式。 4、能正确区分for句、do.while语句与while语句三者的不同。 5、掌握break语句和continue的应用及其区别。 6、整理顺序程序、选择结构、循环结构程序设计,分析总结常用的程序设计方法及算法特 点,并能编写相应的程序。 第六章 利用数组处理批量数据 6.1 怎样定义和引用一维数组 6.1.1 怎样定义一维数组 6.1.2 怎样引用一维数组元素 6.1.3 一维数组的初始化 6.1.4 一维数组程序举例 6.2 怎样定义和引用二维数组 6.2.1 怎样定义二维数组
6.2.2怎样引用二维数组的元素 6.2.3 二维数组的初始化 6.2.4 二维数组程序举例 6.3字符数组 6.3.1 怎样定义字符数组 6.3.2字符数组的初始化 6.3.3 怎样引用字符数组中的元素 6.3.4 字符串和字符串结束标志 6.3.5字符数组的输入给出 6.3.6使用字符串处理函数 6.3.7字符数组应用举例 基本要求: 1、掌握一维数组的定义,数组元素的引用方法。 2、掌握二维数组的定义,数组元素的引用,了解其实际意义 3、掌握字符数组与字符串的概念与定义方法,熟悉常用的字符串处理函数。 4、掌握应用数组进行应用程序设计的一般方法与典型算法。 第七章 用函数实现模块化程序设计 7.1为什么要用函数 7.2怎样定义函数 7.2.1为什么要定义函数 7.2.2定义函数的方法 7.3调用函数 7.3.1函数调用的形式 7.3.2 函数调用时的数据传递 7,3.3函数调用的讨过程 734 函数的返回值 7.4对被调用函数的声明和函数原 7,5函数的嵌套调用 7.6函数的递归调用 7.7数组作为函数参数 7.7.1 数组元素作函数实参 7.7.2 数组名作函数参数 7.7.3多维数组名作函数参数 7.8局部变量和全局变量 7.8.1局部变量 7.8.2全局变量 7.9变量的存储方式和生存期 7.9.1动态存储方式与静态存储方式 7.9.2局部变量的存储类别 7.9.3全局变量的存储类别 7.9.4存储类别小结 7.10关于变量的声明和定义 7.11内部函数和外部函数 7.11.1内部函数 7.11.2外部函数
6.2.2 怎样引用二维数组的元素 6.2.3 二维数组的初始化 6.2.4 二维数组程序举例 6.3 字符数组 6.3.1 怎样定义字符数组 6.3.2 字符数组的初始化 6.3.3 怎样引用字符数组中的元素 6.3.4 字符串和字符串结束标志 6.3.5 字符数组的输入输出 6.3.6 使用字符串处理函数 6.3.7 字符数组应用举例 基本要求: 1、掌握一维数组的定义,数组元素的引用方法。 2、掌握二维数组的定义,数组元素的引用,了解其实际意义。 3、掌握字符数组与字符串的概念与定义方法,熟悉常用的字符串处理函数。 4、掌握应用数组进行应用程序设计的一般方法与典型算法。 第七章 用函数实现模块化程序设计 7.1 为什么要用函数 7.2 怎样定义函数 7.2.1 为什么要定义函数 7.2.2 定义函数的方法 7.3 调用函数 7.3.1 函数调用的形式 7.3.2 函数调用时的数据传递 7.3.3 函数调用的过程 7.3.4 函数的返回值 7.4 对被调用函数的声明和函数原型 7.5 函数的嵌套调用 7.6 函数的递归调用 7.7 数组作为函数参数 7.7.1 数组元素作函数实参 7.7.2 数组名作函数参数 7.7.3 多维数组名作函数参数 7.8 局部变量和全局变量 7.8.1 局部变量 7.8.2 全局变量 7.9 变量的存储方式和生存期 7.9.1 动态存储方式与静态存储方式 7.9.2 局部变量的存储类别 7.9.3 全局变量的存储类别 7.9.4 存储类别小结 7.10 关于变量的声明和定义 7.11 内部函数和外部函数 7.11.1 内部函数 7.11.2 外部函数
基本要求: 1、理解函数的功能。 2、掌握函数定义的一般形式。 3、掌握函数形参与实参的对应关系、参数传递方法及函数返回值的概念。 4、掌握函数调用的几种形式 5、堂握函数嵌瓷调用的一般讨过程」 了解函数递归调用的几种形式 7、掌握数组名作为函数参数的一些特点。 8、堂握局部变量与全局变量的概念及它们的使用特点, 9、掌握动态存储变量与静态存储变量的含义,会正确识别和使用 10、了解内部函数与外部函数的含义。 第八章 善于利用指针 8.1指针是什么 8.2指针变量 8.2.1使用指针变量的例子 8.2.2怎样定义指针变量 8.2.3怎样引用指针变量 8.2.4指针恋量作为函数参都 8.3通讨指针引用数组 8.3.1数组元素的指针 8.3.2 在引用数组元素时指针的运算 8.3.3 通过指针引用数组元素 8.3.4 用数组名作函数参数 835 通过指针引用多维数组 8.4通过指针引用字符串 8.4.1字符串的引用方式 8.4.2 字符指针作函数参数 8.4.3使用字符指针变量和字符数组的比较 8.5指向函数的指针 8.5.1什么是函数指针引 85.2 用函数指针变量调用函数 8.5.3 怎样定义和使用指向函数的指针变量 8.5.4用指向函数的指针作函数参数 8.6返回指针值的函数 8.7指针数组和多重指针 8.7.1什么是指针数组 8.7.2 指向指针数据的指针 8.7.3指针数组作main函数的形参 8.8动态内存分配与指向它的指针变量 8.8.1什么是内存的动态分配 8.8.2怎样建立内存的动态分配 8.8.3void指针类型 8.9有关指针的小结 基本要求: 1、深刻理解并掌握指针的概念
基本要求: 1、理解函数的功能。 2、掌握函数定义的一般形式。 3、掌握函数形参与实参的对应关系、参数传递方法及函数返回值的概念。 4、掌握函数调用的几种形式。 5、掌握函数嵌套调用的一般过程。 6、了解函数递归调用的几种形式。 7、掌握数组名作为函数参数的一些特点。 8、掌握局部变量与全局变量的概念及它们的使用特点。 9、掌握动态存储变量与静态存储变量的含义,会正确识别和使用。 10、了解内部函数与外部函数的含义。 第八章 善于利用指针 8.1 指针是什么 8.2 指针变量 8.2.1 使用指针变量的例子 8.2.2 怎样定义指针变量 8.2.3 怎样引用指针变量 8.2.4 指针变量作为函数参数 8.3 通过指针引用数组 8.3.1 数组元素的指针 8.3.2 在引用数组元素时指针的运算 8.3.3 通过指针引用数组元素 8.3.4 用数组名作函数参数 8.3.5 通过指针引用多维数组 8.4 通过指针引用字符串 8.4.1 字符串的引用方式 8.4.2 字符指针作函数参数 8.4.3 使用字符指针变量和字符数组的比较 8.5 指向函数的指针 8.5.1 什么是函数指针 8.5.2 用函数指针变量调用函数 8.5.3 怎样定义和使用指向函数的指针变量 8.5.4 用指向函数的指针作函数参数 8.6 返回指针值的函数 8.7 指针数组和多重指针 8.7.1 什么是指针数组 8.7.2 指向指针数据的指针 8.7.3 指针数组作main函数的形参 8.8 动态内存分配与指向它的指针变量 8.8.1 什么是内存的动态分配 8.8.2 怎样建立内存的动态分配 8.8.3 void指针类型 8.9 有关指针的小结 基本要求: 1、深刻理解并掌握指针的概念