《程序设计基础》教学大纲
(课程代码:11121007)
一、 课程说明
(一) 适用专业:计算机科学与技术专业(本科),计算机教育专业(专科),计算机网络专业(专科),软件技术(专科)
(一) 课程类别:专业基础课程
(二) 课程性质与任务:
本课程是计算机科学与技术专业(本科),计算机教育专业(专科),计算机网络专业(专科),软件技术(专科)学生的专业必修课程。
本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握 C语言的基本内容及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生应用计算机解决和处理实际问题的思维方法与基本能力, 为进一步学习和应用计算机打下基础。
(三) 教学目的与要求:
本课程以程序设计思想为主线,介绍C语言的基本概念,讨论C语言的各种数据类型和函数的定义及使用,突出函数、指针类型和结构类型的讲授,强调在程序设计中对指针与结构的使用和实际的应用,培养学生运用程序设计语言解决实际问题的能力,使学生能结合自己的专业,发挥计算机在本学科的作用。根据教育部高等学校计算机教学指导委员会2003年公布的《关于进一步加强高等学校计算机基础教学的几点意见》的精神,增加了算法设计与分析、抽象数据类型、程序抽象等与程序设计密切相关的内容,以便进一步夯实学生程序设计的理论基础,培养程序设计的能力,养成良好的程序设计风格。程序设计是计算机及其相关专业学生必须掌握的基本技能,因此本课程不但要注重程序设计语言基本知识的学习,更要注重程序设计技能的培养。通过本课程的学习,使学生能够循序渐进地掌握C语言的语法规则、算法的基本结构、程序设计的技能,初步积累编程经验;同时,培养学生良好的程序设计风格及团队协作精神。
(四) 先修课程: 计算机导论,电子技术基础
(五) 学时学分数:
本科:90学时,4学分,其中理论54学时,实验36学时。
专科:108学时,5学分,其中理论72学时,实验36学时。
授课教师根据专业不同,对讲授内容和课时可以作适度调整。
(六) 教学方式与设施要求:采用课堂讲授与多媒体课件结合的教学方式。
(八)考核方式与要求:以笔试为主,并抽查上机作业。主要测试学生的编程能力和对基本概念、基本算法、基本理论的理解和掌握。
二、课程内容、基本要求与学时分配
(一)课时分配表
|
章节次数 |
章节名称 |
学时数 |
||
|
总学时 |
理论 |
其他 |
||
|
第一章 |
复习基础知识 |
6 |
4 |
2 |
|
第二章 |
数组 |
12 |
8 |
4 |
|
第三章 |
函数和模块设计 |
10 |
6 |
4 |
|
第四章 |
指针 |
12 |
8 |
4 |
|
第五章 |
结构体与联合体 |
14 |
8 |
6 |
|
第六章 |
接口和函数库 |
6 |
4 |
2 |
|
第七章 |
编译预处理与位运算 |
4 |
2 |
2 |
|
第八章 |
文件 |
12 |
6 |
6 |
|
第九章 |
图形函数与课程设计 |
14 |
8 |
6 |
|
总计 |
|
90 |
54 |
36 |
(二)各章节基本内容及要求
第一章 基础知识(6学时)
教学目的:掌握 C语言基本语句、语法、数据类型、运算符和表达式,顺序、选择、循环结构程序设计。
基本要求:熟练掌握if…else的三种语法,领会switch与break语句的作用,掌握for、while、do-while语句的用法, 了解break、continue在循环语句中的作用。
教学时数:4。
教学内容:
1. C语言的数据类型、运算符与表达式,顺序程序设计
2. 选择结构程序设计
3. 循环结构程序设计
第二章 数组(12学时)
教学目的:了解一维数组、二维数组的基本概念, 掌握数组类型变量的定义与引用, 掌握数组元素的引用。
基本要求: 1.掌握数组的基本概念 2.熟练掌握一维数组(一维数组的定义,数组元素的引用方法)和二维数组(二维数组的定义,数组元素的引用,了解二维数组的实际意义)的使用 3.掌握字符数组与字符串的关系以及字符串的简单处理,熟悉常用字符串处理函数。4.会分析、编写利用数组进行数据存储和处理的简单程序。
重点与难点:一维数组、二维数组的定义与引用,字符数组的定义与引用、常用字符串处理函数及字符处理函数。
教学时数:8。
教学内容:
1. 一维数组的定义与引用
2. 二维数组的定义与引用
3. 字符数组
考核要求:1.掌握数组的基本概念 2.熟练掌握一维数组(一维数组的定义,数组元素的引用方法)和二维数组(二维数组的定义,数组元素的引用,了解二维数组的实际意义)的使用 3.掌握字符数组与字符串的关系以及字符串的简单处理,熟悉常用字符串处理函数。
第三章 函数和模块设计(10学时)
教学目的:掌握函数的定义与调用,掌握函数参数的传递方式,领会变量存储类型的概念及各种存储类型变量的生存期和有效范围, 领会函数的嵌套调用与递归调用。
基本要求:掌握函数的定义与调用,掌握函数参数的传递方式, 领会函数的嵌套调用与递归调用。
重点与难点:函数定义、函数调用、函数声明等基本基本概念,函数的嵌套调用与递归调用,数组作为函数的参数、变量的存储类别与作用域。
教学时数:6。
教学内容:
1. 函数的定义
2. 函数的参数和函数的值
3. 函数的调用
4. 函数的嵌套调用
5. 函数的递归调用
6. 数组作为函数参数
7. 变量作用域
8. 变量存储类别
考核要求:握函数的定义与调用,掌握函数参数的传递方式, 领会函数的嵌套调用与递归调用。
第四章 指针(12学时)
教学目的:指针是C语言中一种重要的数据类型,通过本章的学习,使学生理解地址和指针的概念,掌握指针变量的定义和使用方式;掌握指针和函数的关系,指针和数组的关系。
基本要求:掌握指针变量的定义与引用。掌握指针与变量,指针与数组,指针与字符串的关系;掌握用指针作为函数参数的方法,有关指针的算法。
重点与难点:指针的定义、引用;指针与变量;指针与数组;指针与函数。
教学时数:8。
教学内容:
1. 指针类型和指针变量
2. 指针与函数
3. 指针与数组
4. 数组名作实参
5. 指针数组及带参main函数
第五章 结构体与联合体(14学时)
教学目的:
1. 理解自定义数据类型(user
defined data type)结构体的意义.
2. 掌握结构体的定义、引用方法、初始化方法
3. 掌握结构体与数组、指针、函数的关系
4. 了解链表的概念,用结构体建立链表的方法
5. 了解共用体的概念及其使用
基本要求:
1. 掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法
2. 掌握结构体与共用体变量成员的引用
3. 领会存储动态分配和释放
4. 领会链表的基本概念和基本操作
5. 领会枚举类型变量的定义。
重点与难点:用指针处理链表。
教学时数:8。
教学内容:
1. 结构体类型的说明及结构体类型变量的定义
2. 结构体变量的引用
3. 结构体变量的初始化
4. 结构体数组
5. 指针与结构体数组
6. 链表
7. 共用体
8. 枚举类型
9. typedef
考核要求:用指针处理链表。
第六章 接口和函数库(6学时)
教学目的:通过本章的学习,使学生了解和掌握常用函数和接口。
基本要求:掌握接口;了解常用函数库。
重点与难点:接口的使用。
教学时数:4。
教学内容:
常见函数库。
接口应用举例
考核要求:掌握接口的使用方式。本章内容专科学生可以降低要求。
第七章 编译预处理与位运算(4学时)
教学目的:通过本章的学习,使学生掌握C语言的三种预处理命令:宏定义、文件包含和条件编译。掌握各种位运算。
基本要求:掌握C语言的三种预处理命令:宏定义、文件包含和条件编译;结合课堂练习、习题掌握位运算。
重点与难点:。宏定义、文件包含和条件编译
教学时数:2。
教学内容:
1. 宏定义
2. 文件包含
3. 条件编译
4. 位运算符和位运算
5. 位运算举例
6. 位段
考核要求:掌握宏定义、文件包含和条件编译的使用方式。
第八章 文件(12学时)
教学目的:通过本章的学习,使学生了解文件的基础知识和文件操作的一般方法;掌握关于文件的打开与关闭、文件的读写、文件的定位、文件的错误处理的库函数的功能和使用方式。
基本要求:掌握文件和文件指针的概念和文件的定义方法;了解文件的基本操作方法。
重点与难点:文件的打开、关闭、读写。
教学时数:6。
教学内容:
1. C文件的基础知识
2. 文件类型指针
3. 文件的打开与关闭
4. 文件的读写
5. 文件的定位
6. 文件的错误检测及处理
7. 应用举例
考核要求:掌握关于文件的打开与关闭、文件的读写、文件的定位、文件的错误处理的库函数的功能和使用方式。
第九章 图形函数与课程设计(14学时)
教学目的:通过本章的学习,使学生了解和掌握常用图形函数,完成相应的课程设计。
基本要求:掌握常用图形函数。
重点与难点:图形函数。
教学时数:8。
教学内容:
图形函数。
课程设计举例
程序开发流程
考核要求:掌握图形函数的使用方式。本章内容专科基础的学生图形函数内容可以不作要求,主要通过课程设计的讲解,加强学生对实际、综合、复杂问题的解决能力,培养其编程的兴趣和逻辑能力。
三、教材与参考资料
1. 谭浩强编著. C程序设计. 清华大学出版社,2002
2.谭浩强编著.C 程序设计题解与上机指导.清华大学出版社,2002
3. 王丽娟,徐军,戴宝华,荣政.C程序设计.西安电子科技大学出版社,2000
4. Brian W.Kernighan. C 程序设计语言. 清华大学出版社,2002