课程大纲
一、课程教学目的与任务
本课程是理工科类的一门非常重要的计算机基础性课程,是学生学习程序设计语言和方法以及数据结构等课程的先导课程。是使学生了解有关程序设计的基本概念及常用术语,学习C 语言的基础知识、基本理论、基本概念和基本方法,熟悉计算机常用的算法与编程技巧,通过上机实践环节掌握程序调试的基本方法和技能。强化对理论内容的理解和应用,使学生能够熟练在阅读、理解并使用C语言进行简单的应用程序设计,养成良好的程序设计风格和编程习惯。通过编程和上机实践环节使学生培养学生基本的程序设计技能,具备初步的编程解决实际问题的能力以及用计算机处理问题的思维方法,并逐步形成正确的程序设计思想,为后继课程及其他程序设计课程的学习和应用打下基础。
二、课程教学的总体要求
1.熟悉C语言的编程、调试环境。
2.掌握C语言数据类型、运算符与表达式。
3.掌握三种程序设计结构、数组、函数、指针、结构体与共用体。
4.学会位运算、文件的应用。
三、课程教学内容及基本要求
第一章 C语言概述(2学时)
教学目的和要求:要求掌握C语言程序的基本结构、研究内容及其应用领域,熟悉C语言的编程和调试环境。
教学重点:C程序的结构以及上机步骤与方法。
教学难点:C程序的上机调试步骤。
教学方法:采用多媒体教学手段,案例运用启发式教学,教师讲课为主、课堂讨论为辅。
教学主要内容:
第一节 C语言出现的历史背景
第二节 C语言的特点
第三节 简单的C程序介绍
第四节 C程序的上机步骤
第二章 数据类型、运算符与表达式(4学时)
教学目的和要求:了解并掌握C语言的数据类型,使用这些数据类型构造不同的数据结构,熟练掌握C语言中各种数据类型的使用。
教学重点:运算符的优先级。
教学难点:各类数值型数据间的混合运算。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、计算习题为辅。
教学主要内容:
第一节 C语言的数据类型
第二节 常量与变量
第三节 整形数据
第四节 实型数据
第五节 字符型数据
第六节 变量赋初值
第七节 各类数值型数据间的混合运算
第八节 算术运算符和算术表达式
第九节 赋值运算符和赋值表达式
第十节 逗号运算符和逗号表达式
第三章 顺序结构程序设计(2学时)
教学目的和要求:掌握数据输入、输出的概念以及在C语言中的实现,能利用学过的C程序的基本成分设计编写简单的顺序结构程序。
教学重点:输入、输出的格式化的控制、程序顺序结构的实现。
教学难点:输入、输出的格式的控制。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、动手编程为辅。
教学主要内容:
第一节 算法和程序结构概述
第二节 C语句概述
第三节 赋值语句
第四节 数据输入输出的概念及在C语言中的实现
第五节 字符数据的输入输出
第六节 格式输入与输出
第七节 顺序结构程序设计举例
第四章 选择结构程序设计(3学时)
教学目的和要求:使学生掌握选择结构程序控制流程的基本特点,关系或逻辑表达式和条件表达式的运算规则,熟练运用if语句和switch语句的格式与功能编程,使用选择结构的嵌套。
教学重点:if语句。
教学难点:逻辑值的表示;逻辑表达式和条件表达式的计算规则。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习编程为辅。
教学主要内容:
第一节 关系运算符和关系表达式
第二节 逻辑运算符和逻辑表达式
第三节 if语句
第四节 switch语句
第五节 程序设计举例
第五章 循环结构程序设计(4学时)
教学目的和要求:熟练掌握循环结构的概念和格式,运用循环结构编程解决实际问题。
教学重点:三种循环语句的结构及使用。
教学难点:循环条件的确定,for语句。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习编程为辅。
教学主要内容:
第一节 while语句
第二节 do-while语句
第三节 for语句
第四节 循环的嵌套
第五节 几种循环的比较
第六节 break语句和continue语句
第七节 程序设计举例
第六章 数组(2学时)
教学目的和要求:理解数组的定义、含义、存储方式,掌握数组元素的引用方法、数组元素的初始化,学会利用字符数组处理字符串。
教学重点:数组与选择、循环结构相结合编写程序。
教学难点:利用数组处理字符串。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习编程为辅。
教学主要内容:
第一节 一维数组的定义和引用
第二节 二维数组的定义和引用
第三节 字符数组
第七章 函数(4学时)
教学目的和要求:理解函数的概念以及函数在结构化程序设计中的作用,熟练函数的定义形式、函数参数与返回值、函数的调用,掌握数组作为函数的参数、变量的作用域与生存周期。
教学重点:函数的嵌套调用与递归调用,变量存储。
教学难点:函数递归调用、变量的作用域与生存周期。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习编程为辅。
教学主要内容:
第一节 函数定义形式
第二节 函数参数和函数值
第三节 函数调用形式
第四节 函数的嵌套调用
第五节 函数的递归调用
第六节 数组作为函数参数
第七节 局部变量和全局变量
第八节 变量的存储类别
第九节 内部函数和外部函数
第八章 预处理命令(1学时)
教学目的和要求:理解预处理的含义以及在C程序编译运行的阶段,掌握预处理的功能。
教学重点:宏的定义及其使用,文件包含。
教学难点:带参数宏的定义及使用。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主。
教学主要内容:
第一节宏定义
第二节 “文件包含”处理
第三节 条件编译(选讲)
第九章 指针(4学时)
教学目的和要求:理解指针的含义,掌握指针的定义、指针的类型、指针的引用,掌握指针与函数、数组、字符串、指针的关系以及在它们中的应用。
教学重点:指向数组的指针与指针数组的区别,指向函数的指针与指针值函数、指针数据类型,指针的定义与引用。
教学难点:用指针处理字符串,指针数组,二级指针。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习编程为辅。
教学主要内容:
第一节地址和指针的概念
第二节 变量的指针和指向变量的指针变量
第三节 数组与指针
第四节 字符串与指针
第五节 指向函数的指针
第六节 返回指针值的函数
第七节 指针数组与指向指针的指针
第八节 有关指针的数据类型和指针运算小结
第十章 结构体与共用体(4学时)
教学目的和要求:理解结构体、共用体和枚举类型的定义、定义格式和它们的初始化,掌握结构体数组的应用,了解用指针处理链表的方法。
教学重点:结构体数组。
教学难点:指向结构体类型数据的指针,链表。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习编程为辅。
教学主要内容:
第一节 定义结构体类型变量的方法
第二节 结构体变量的引用
第三节 结构体变量的初始化
第四节 结构体数组
第五节 指向结构体类型数组的指针
第六节 用指针处理链表
第七节 共用体
第八节 枚举类型(选讲)
第十一章 位运算(2学时)
教学目的和要求:掌握位运算符和位运算方法,能熟练进行位运算。
教学重点:运算符及其功能。
教学难点:位运算的应用。
教学方法:采用多媒体教学手段,案例运用启发式教学,讲授理论为主、练习运算为辅。
教学主要内容:
第一节 位运算符和位运算
第二节 位运算举例
第三节 位段
第十二章 文件(选讲,不安排学时)
教学目的和要求:掌握文件的概念以及文件读写的基本操作方法。
教学重点:文件的读写。
教学难点:文件指针。
教学方法:采用多媒体教学手段,案例运用启发式教学,以学生自学为主,教师辅助答疑为辅。
教学主要内容:
第一节 C文件概述
第二节 文件类型指针
第三节 文件的打开与关闭
第四节 文件的读写
第五节 文件的定位
第六节 出错的检测
四、先修课程及后续课程
先修课程:大学计算机基础
后续课程:C++程序设计、数据结构、操作系统等
五、考核方式
平时成绩:40%(考勤10%;测验及作业等10%;实验20%)
期末成绩:60%,没参加实验的学生,不能参加期末考试
六、实验教学内容及基本要求
1、实验名称:《C语言程序设计》实验
2、实验学时:16学时
3、实验项目类型:验证性
4、实验目的与要求:
通过实验使学生熟悉C程序开发环境,掌握根据问题形成算法的基本方法、按照结构化程序设计思想编写C语言程序,具备用C语言程序设计方法解决实际问题的能力。实验过程中要求编写相应的实现程序,经过调试得出结果,提高计算思维能力。
5、实验项目名称:
实验一:C编程基础
实验二:顺序结构程序设计
实验三:选择结构程序设计
实验四:循环结构程序设计
实验五:数组及其应用
实验六:函数及程序结构
实验七:指针及其应用
实验八:结构体及应用
实验九:文件与位运算(选做,不安排学时)
6、实验考核方式:
实验操作50%,实验能力50%。
七、建议使用的教科书及参考书
教科书:
[1]苏小红等.C语言程序设计.高等教育出版社.2012年6月.
[2]苏小红等.C语言程序设计学习指导.高等教育出版社.2012年6月.
参考书:
[1]苏瑞等.C语言程序设计.清华大学出版社.2009年3月.
[2]姜雪等编.C语言程序设计实验指导,清华大学出版社.2009年2月.
七、相关网站连接:http://cms.hit.edu.cn/edit
编写人:张云秋2013年8月
审核人:徐善针2013年8月