1、程序设计基础(C) 教学大纲青海大学计算机技术与应用系二一一年一月1课程编号:200801032课程名称:程序设计基础(C) 英文名称:Fundamentals of Programming(C)课程学分:4课程学时:64 学时,其中:讲课 32学时;实验(上机):32 学时;课程性质:学科平台课、必修先修课程:计算机应用基础适用专业:四年制本科非计算机(工学类)专业开课年级及学期:一年级第二学期开课院(系、部)及教研室:计算机技术与应用系计算机基础教研室一、本课程的性质、教学目的与任务本课程是公共基础课。本课程的主要教学目的与任务是使学生掌握结构化程序设计的思想,学习如何运用计算机解决客观实
2、际问题,为今后的专业学习提供解决问题的计算机技术和方法。二、本课程的教学基本要求本课程教学应使学生了解 C语言的基本语法规则,掌握算法的基本概念,理解结构化程序设计的思想,学会运用程序语言编写程序的一般方法和技能,培养学生运用计算机知识和技术解决实际问题的能力。三、本课程的内容第一章 数据类型与表达式 4 学时1教学基本要求本章的学习,要求学生了解 C程序的基本组成,函数的基本结构,掌握 C语言的基本数据类型、常量的书写。2教学内容1.1 C程序简介1.2 C语言的数据类型1.3 常量与变量1.4 C语言的运算符与表达式3主要知识点与重点C语言的基本数据类型、C 语言的算术运算符、赋值运算符、
3、位运算(自学)与 C语言表达式。第二章 算法与顺序结构 2 学时1教学基本要求本章的学习,要求学生理解算法的概念,了解算法的描述方法,会运用 NS流程图描述算法,掌握顺序结构程序设计方法。2教学内容2.1 算法及其描述2.2 赋值语句2.3 数据输入输出2.4 顺序结构程序设计3主要知识点与重点2算法的基本概念,NS 流程图的绘制,格式化输入输出函数,顺序结构程序设计。第三章 选择结构程序设计 2 学时1教学基本要求本章的学习,要求学生进一步掌握关系运算符和逻辑运算符,理解 C语言中逻辑值的概念,掌握选择结构程序设计基本方法。2教学内容3.1 关系和逻辑表达式3.2 if语句和 switch语
4、句3.3 选择结构程序设计3主要知识点与重点关系运算符、逻辑运算符、三种 if语句,switch 语句及 break语句,选择结构的应用。第四章 循环结构程序设计 2 学时1教学基本要求本章的学习,要求学生了解 C语言中实现循环的方法和语句,掌握 while语句、do-while语句和 for语句,能够运用循环结构设计程序,掌握循环结构程序设计的基本方法。2教学内容4.1 while语句和 do-while语句4.2 for语句4.3 循环结构程序设计3主要知识点与重点while语句、do-while 语句和 for语句,循环结构程序设计的基本方法。第五章 数组及其应用 6 学时1教学基本要求
5、本章的学习,要求学生理解数组的概念,掌握数组元素的基本访问方法,能够熟练使用一维数组和字符数组解决实际问题,了解程序设计中的常用基本算法。2教学内容5.1 一维数组5.2 二维数组5.3 字符数组3主要知识点与重点一维数组的定义与数组元素的访问,二维数组的定义与使用,字符数组的定义与使用,常用字符处理函数。第六章 函数与模块化程序设计 5 学时1教学基本要求本章的学习,要求学生理解函数的概念,了解模块化程序设计的思想,掌握函数的定义方式,理解函数调用时数据的传递,了解变量的存储类型,理解变量的作用域。2教学内容6.1 函数的定义和调用6.2 变量的作用域与存储类型6.3 利用函数进行模块化程序
6、设计3主要知识点与重点3函数的定义,函数的调用,参数的传递方式,函数的返回值,变量的存储类型。第七章 编译预处理 1 学时1教学基本要求本章的学习,要求学生理解宏定义的概念、文件包含的作用。2教学内容7.1 宏定义7.2 “文件包含”处理第八章 指针 4 学时1教学基本要求本章的学习,要求学生理解指针的概念,掌握指针的定义方法,学会使用指针访问数据及传递数据,了解可变长度的字符串的使用。2教学内容8.1 指针与指针变量8.2 指针与数组8.3 指针与字符串3主要知识点与重点指针的定义,指针运算符*及&。第九章 结构体和共用体 4 学时1教学基本要求本章的学习,要求学生理解结构体和共用体数据类型
7、的概念,掌握这两类数据类型的定义方法,了解枚举类型数据的定义与使用,理解自定义数据类型的概念。2教学内容9.1 结构体数据类型的定义及应用9.2 共用体数据类型的定义及应用9.3 枚举类型9.4 自定义数据类型9.5 单链表的基本概念3主要知识点与重点结构体数据类型的定义与访问,共用体数据类型的定义与访问。第十章 文件 2 学时1教学基本要求本章的学习,要求学生了解数据文件的概念,掌握数据文件的打开与关闭、数据的读写方法及文件操作的出错检测。2教学内容10.1 文件概述10.2 文件的打开和关闭10.3 文件的顺序读写10.4 文件的定位与随机读写10.5 文件操作的出错检测3主要知识点与重点
8、文件的概念,文件的打开与关闭,文件的读写函数。4四、课程与其他课程的关系通过“程序设计基础(C)”课程的学习,可为工科类非计算机专业学生学习后续课程“软件技术基础”打下基础。五、课程实验(上机等)内容与学时分配实验 1 熟悉 C语言上机环境目的和要求:熟悉 C语言的编辑、编译及运行程序的环境;了解上机环境中的常用命令和操作;运行一个 C程序,了解基本的程序编辑、调试方法。实验 2 数据类型与表达式目的和要求:掌握 C语言的基本数据类型,熟悉定义变量及对变量赋值的方法;学会使用 C语言的运算符和表达式;进一步熟悉 C语言的编辑、编译和运行过程。实验 3 顺序结构程序设计目的和要求:实验类别实验序
9、号 实 验 (上机等)项 目 名 称 学时演示 验证 综合 设计是否为开放实验实验 1 熟悉 C语言上机环境 2 是实验 2 数据类型与表达式 2 是实验 3 顺序结构程序设计 2 是实验 4 选择结构程序设计 2 是实验 5 循环结构程序设计 2 是实验 6 综合练习 2 是实验 7 一维数组的使用 2 是实验 8 二维数组的使用 2 是实验 9 字符数组与字符函数 2 是实验 10 函数的定义与调用 2 是实验 11 模块化程序设计 2 是实验 12 变量的存储类型与预处理命令 2 是实验 13 指针与指针变量的使用 2 是实验 14 结构体定义与应用 2 是实验 15 单链表的建立与操作
10、 2 是实验 16 文件的基本操作 2 是合 计 325掌握赋值语句的使用;掌握数据的输入输出方法;掌握最简单的程序设计方法。实验 4 选择结构程序设计目的和要求:熟练掌握 if语句;掌握 switch语句;学会使用选择结构解决实际问题。实验 5 循环结构程序设计目的和要求:熟练掌握 while语句、do-while 语句和 for语句;能够用这三种循环结构实现穷举、迭代等常用算法。实验 6 综合练习目的和要求:能够运用三种基本结构设计程序,解决实际问题。实验 7 一维数组的使用目的和要求:理解一维数组的定义、类型、数组元素和下标的概念;掌握一维数组的声明、初始化和数组元素访问的方法;能够运用
11、一维数组解决实际问题。实验 8 二维数组的使用目的和要求:理解二维数组及多维数组的概念;掌握二维数组及多维数组的声明、初始化和数组元素访问的一般方法;能够运用二维数组解决实际问题。实验 9 字符数组与字符函数目的和要求:理解和掌握字符型数组与其他数组的区别及特点;掌握字符型数组和字符串函数的使用方法。实验 10 函数的定义与调用目的和要求:掌握 C语言函数的定义与调用规则;掌握函数形参与实参的对应关系;理解函数的返回值类型。实验 11 模块化程序设计目的和要求:理解模块化程序设计的思想;学会使用模块化程序设计方法解决实际问题。实验 12 变量的存储类型与预处理命令目的和要求:理解和掌握变量的作
12、用域、生存周期、局部变量、全局变量的概念;6掌握不同存储类型变量之间的区别;掌握宏的定义与用法;理解文件包含的概念。实验 13 指针与指针变量的使用目的和要求:学会指针变量的定义与引用;学会指针运算符;理解指针与数组、函数的关系。实验 14 结构体定义与应用目的和要求:掌握结构体变量、数组的定义、初始化及引用方式;学会使用结构体数据类型。实验 15 单链表的建立与操作目的和要求:理解链表的概念及其应用。实验 16 文件的基本操作目的和要求:掌握文件、缓冲文件系统和文件结构体指针的概念;熟悉文件操作的基本过程;会正确定义文件指针,能按文件读写特点选择适当的文件打开方式;能根据数据特点选择适当的读
13、写函数完成文件的读写。六、作业作业 1:顺序结构程序设计作业 2:选择结构程序设计作业 3:循环结构程序设计作业 4:数组应用作业 5:函数应用作业的形式可采用纸质版或电子版。七、 考核方式本课程是考试课,由平时成绩和期末考试成绩组成最终成绩。平时成绩占 40%(包括:考勤、作业、上机实验等),期末考试占 60(以闭卷考试方式进行) 。八、参考教材及主要参考书 1参考教材:1黄维通,鲁明羽.C 程序设计教程M.北京:清华大学出版社,2005 年 11月,第 1版2黄维通,马力妮.C 语言程序设计习题解析与应用案例分析M.北京:清华大学出版社,2007 年8月2主要参考书:1黄维通,郑浩,田永红.C 程序设计教程M.北京:清华大学出版社,2011 年 1月,第 2版2 谭浩强.C 程序设计教程M.北京:清华大学出版社,2005 年 7月,第 3版73崔武子,林志英,和青芳.C 程序设计课程教案及题解M.北京:清华大学出版社,2010 年 1月,第 1版修订:计算机教研室执笔人: 审核人: 批准人:2010年 12月 28日修订(第 4次)