四、教学内容和要求


第一章 C语言概述 2学时

教学目的:
通过本章学习,使同学们了解C语言特点、基本结构和C程序的编辑、编译、运行方法,掌握C程序基本结构。

教学重点和难点:
C程序的一般书写形式,在Turbo C集成开发环境下建立和运行C程序方法。

第一节 C语言出现的历史背景
一、C语言的简史

第二节 C语言的特点
一、了解C语言的特点

第三节 简单的C程序介绍
一、C程序基本结构

第四节 C程序的上机步骤
一、用Turbo C运行C程序的步骤
二、在UNIX操作系统下运行C程序的步骤


第二章 数据类型、运算符和表达式 3学时

教学目的:
通过本章的学习,使同学们能掌握C语言的数据类型及其表示方法,掌握变量的定义和赋值,了解和掌握C语言的各种运算符号,并且在编程中熟练运用这些运算符解决问题。

教学重点和难点:
常量、变量的概念,数据类型的特点和使用,各种表达式的使用方法。

第一节 C的数据类型
一、C的数据类型简介
第二节 常量与变量

一、常量和符号常量
二、变量

第三节 整型数据
一、整型常量的表示方法
二、整型变量
三、整型变量的类型

第四节 实型数据
一、实型常量的表示方法
二、实型变量
三、实型常量的类型

第五节 字符型数据
一、字符常量
二、字符变量
三、字符串常量

第六节 变量
一、变量赋初值
二、各类数值型数据间的混合运算

第七节 运算符和表达式
一、C运算符简介
二、算术运算符和算术表达式
三、赋值运算符和赋值表达式
四、逗号运算符和逗号表达式


第三章 最简单的C程序设计—顺序程序设计 2学时

教学目的:
通过本章学习,使同学们掌握顺序结构程序设计思想,掌握输入输出函数scanf()、printf()、putchar()和getchar()的基本使用方法。

教学重点和难点:
printf()函数和scanf函数。

第一节 赋值语句

第二节 字符数据的输入输出
一、putchar 函数
二、getchar函数

第三节 格式输入与输出
一、printf函数
二、scanf函数


第四章 选择结构程序设计 4学时

教学目的:
使学生掌握C语言的选择结构的实现方法,能熟练掌握if语句和switch语句的使用,可以完成简单程序的设计过程。

教学重点和难点:
掌握if、switch语句的用法;掌握表达式语句、复合语句的构成法。

第一节 关系运算符和关系表达式
一、关系运算符及其优先次序
二、关系表达式

第二节 逻辑运算符和逻辑表达式
一、逻辑运算符及其优先次序
二、逻辑表达式

第三节 if 语句
一、if语句的三种形式
二、if语句的嵌套
三、条件运算符

第四节 switch语句

第五节 程序举例


第五章 循环控制 4学时

教学目的:
通过本章学习,使学生掌握C语言的三种循环结构语句:while 语句、do-while语句和for语句,理解break和continue在循环结构中的不同作用,了解循环的嵌套。

教学重点和难点:
for语句、while语句、do-while语句的用法。

第一节 几种循环语句的介绍

第二节 while语句
一、do-while语句
二、for语句

第三节 break语句和continue语句
一、break语句
二、continue语句


第六章 数组 6学时

教学目的:
使学生熟练掌握一维数组的使用,了解的二维数组的应用。

教学重点和难点:
一维数组的定义和使用;字符串的使用。

第一节 一维数组的定义和引用
一、一维数组的定义
二、一维数组元素的引用
三、一维数组的初始化
四、一维数组程序举例

第二节 二维数组的定义和引用
一、二维数组的定义
二、二维数组元素的引用
三、二维数组的初始化
四、二维数组程序举例

第三节 字符数组
一、字符数组的定义
二、字符数组的初始化
三、字符数组的引用
四、字符串和字符串结串标志
a)字符数组的输入输出
b)字符串处理函数


第七章 函数 8学时

教学目的:
通过本章学习,使学生掌握函数的定义,函数形参和实参的特点,了解和掌握函数的嵌套调用和递归调用,并能熟练编写具有一定功能的函数。

教学重点和难点:
函数定义和调用的方法;函数嵌套调用的方法;函数的形式参数和实际参数以及函数调用时的参数传递。

第一节 函数定义的一般形式

第二节 函数参数和函数的值

一、形式参数和实际参数
二、函数的返回值

第三节 函数的调用
一、函数调用的形式和方式
二、函数的嵌套调用
三、函数的递归调用
四、数组作为函数参数

第四节 局部变量和全局变量
一、局部变量
二、全局变量

第五节 变量的存储类别
一、动态存储方式与静态存储方式
二、auto变量
三、用static声明局部变量
四、register变量
五、用extern声明外部变量
六、用static声明外部变量

第六节 内部函数和外部函数
一、内部函数
二、外部函数


第八章 预处理命令 2学时

教学目的:
通过本章学习,使学生能熟练掌握宏定义命令、文件包含命令、条件编译命令。

教学重点和难点:
“文件包含”处理及宏定义的使用方法

第一节 宏定义
一、不带参数的宏定义
二、带参数的宏定义

第二节 “文件包含”处理

第三节 条件编译


第九章 指针 12学时

教学目的:
通过本章学习,使学生熟练掌握指针的概念,了解指针变量赋值的意义,并且掌握指向数组指针的用法及指针数组与多级指针的概念。

教学重点和难点:
指针变量的定义及指向简单变量指针的使用方法;指向一维数组和指向字符串指针的使用方法。

第一节 变量的指针和指向变量的指针变量
一、定义一个指针变量
二、指针变量的引用
三、指针变量作为函数参数

第二节 数组与指针
一、指向数组元素的指针
二、通过指针引用数组元素
三、数组名作函数参数
四、多维数组与指针

第三节 字符串与指针
一、字符串的表示形式
二、字符串指针作为函数参数

第四节 指向函数的指针
一、用函数指针变量调用函数
二、用指向函数的指针作函数参数
三、返回指针值的函数

第五节 指针数组和指向指针的指针
一、指针数组的概念
二、指向指针的指针
三、指针数组作main函数的形参


第十章 结构体与共用体 8学时

教学目的:
使学生掌握结构体类型、共用体类型和枚举类型的变量的定义,掌握结构体类型和共用体类型变量及其成员的引用等基本操作,理解结构体数组的应用,理解结构体和共用体变量存储形式的不同,了解枚举类型变量的处理方式。

教学重点和难点:
结构体类型和枚举类型的概念及其定义的常用形式和应用方法;链表的概念,了解链表的基本操作。

第一节 结构体变量
一、定义结构体类型变量的方法
二、结构体变量的引用
三、结构体变量的初始化

第二节 结构体数组
一、定义结构体数组
二、结构体数组的初始化

第三节 指向结构体类型数据的指针
一、指向结构体变量的指针
二、指向结构体数组的指针
三、用结构体变量和指向结构体的指针作函数参数

第四节 用指针处理链表
一、简单链表
二、动态链表

第五节 共用体
一、共用体的概念
二、共用体变量的引用方式
三、共用体类型数据的特点

第六节 枚举类型

第七节 用typedef 定义类型


第十一章 位运算 2学时

教学目的:
通过本章学习,使学生掌握位运算的概念和位运算符,了解位段的概念。

教学重点和难点:
位运算符,位段。

第一节 位运算符和位运算
一、“按位与”运算符
二、按位或运算符
三、“异或”运算符
四、“取反”运算符
五、左移运算符
六、右移运算符
七、位运算赋值运算符

第二节 位段


第十二章 文件 2学时

教学目的:
通过本章学习,使学生掌握文件的打开、关闭,了解数据写入文件和从文件中读取的操作以及文件指针的定位,理解ASCII文件与二进制文件的不同特点。

教学重点和难点:
文件打开和关闭、文件指针和位置指针;文件的读写函数。

第一节 文件的打开与关闭
一、文件的打开
二、文件的关闭

第二节 文件的读写
一、fputc函数和fgetc函数
二、fread函数和fwrite函数
三、fpintf函数和fscanf函数

第三节 文件的定位
一、fwind函数
二、fseek函数和随机读写
三、ftell函数

第四节 出错的检测
一、error函数
二、clearerr函数