admin 管理员组

文章数量: 1087135


2024年3月21日发(作者:c++map遍历)

《C语言程序设计》课程教学大纲

一、 课程教学目的

本课程系统学习 C语言的基本知识和基本语法,较好地训练学生解决问题的逻辑思维

能力以及编程思路和技巧 ,使学生具有较强的利用 C 语言编写软件的能力,为培养学生

有较强软件开发能力打下良好基础。

二、 课程教学要求

通过本课程的学习,应熟练掌握 C 语言中的基本知识、各种语句及程序控制结构,

熟练掌握 C 语言的函数、数组、指针、结构体、链表等数据结构的基本算法;并能熟练

地运用 C 语言进行结构化程序设计;具有较强的程序修改调试能力;具备较强的逻辑思

维能力和独立思考能力。

三、 课时分配

本学科计划学时为246学时,其中理论与实训课时比例为7:3。

四、 课程教学重、难点

课程教学重点:掌握C语言变量类型及不同类型常量的表示;标准的输入输出函数的

使用;运算符及常用数学函数的使用;控制流程、数组和指针的使用;结构体、链表的构

造使用;函数结构、函数参数传递及递归等方面的知识;基本的文件操作。

难点:指针的使用、结构体链表的构造和使用及函数的参数传递。

五、 课程教学方法(或手段)

本课程实践性较强,故采用讲授和上机操作相结合的方式进行教学。

六、 课程教学内容

第一章 C语言概述

1.教学内容

(1) 编程历史的回顾、程序设计介绍(过程式,面向对象,函数式,逻辑式);

(2) C语言的历史背景、特点;

(3) C语言源程序的格式和程序结构;

(4) C程序的上机步骤。

2.重、难点提示

(1)重点:掌握简单的 C程序格式,包括main()函数、数据说明、函数开始和结束

标志等;

(2)难点:编程入门以及对语言的理解。

第二章 算法

1.教学内容

(1) 算法的概念及特性;评价算法优劣的方法(时间和空间);

(2) 简单算法举例;

(3) 算法的表示(自然语言、流程图、N-S流程图);

(4) 结构化程序设计的基本思想及基本步骤。

2.重、难点提示

(1) 重点: 算法流程图三种基本结构(以后各章学习中利用流程图强化对程序的理

解);

(2)难点: 算法概念以及对结构化程序设计思想的理解。

第三章 数据类型、运算符与表达式

1.教学内容

(1) 基本数据类型及其常量的表示法(字符和字符串常量),各种数制(八、十、十六

进制)的整型数和长整型数,实型数( float和double);

(2) 变量的类型说明、初始化及引用;

(3) 运算符与表达式:

2.重、难点提示

(1)重点: 掌握 C的几种基本数据类型,不同类型数据间的混合运算规则;不同运

算符的使用特点,清楚每种运算符的优先级与结合性;各种表达式的含义与使用要点。

(1)难点:不同类型数据间的混合运算;运算符的优先级与结合性。

第四章 最简单的 C 程序设计 — 顺序程序设计

1.教学内容

(1) C程序结构和语句的构成;

(2) 顺序结构程序的设计:赋值语句的使用要点;

(3) 数据的输入与输出:

2.重、难点提示

(1)重点: 顺序结构程序的表达式语句形式; 输入/输出函数的表示与调用方法; 利

用流程图加深对顺序结构程序的理解。

(2)难点: 格式输入与输出表示中各种格式字符的表示含义。

第五章 选择结构程序设计

1.教学内容

(1) 关系运算符和关系表达式;

(2) 逻辑运算符和逻辑表达式;

(3) if语句(if;if…else…;if…else if…else…);

(4) switch和break语句。

2.重、难点提示

(1)重点:关系、逻辑运算符及其表达式的语法形式;掌握if语句;switch语句; 利

用流程图加深对选择结构程序的理解。

(1)难点: 关系与逻辑运算符表达式的结果判定; if语句嵌套的层次判定;程序中

使用break语句运行结果的判定。

第六章 循环控制

1.教学内容

(1) 用goto语句构成循环、for语句、while语句和do…while语句;

(2) 循环嵌套;

(3) break,continue语句。

2.重、难点提示

(1)重点:掌握while语句与do while语句的结构,for语句的结构,其使用方法;

常见的循环嵌套形式;正确区分for语句、do…while语句与while语句;break语句和

continue的应用及其区别;

(2)难点:分析总结常用的程序设计方法及算法特点,并能编写相应的程序。

第七章 数组

1.教学内容

⑴ 数组的含义与存储特点;

⑵ 数组的定义与使用;

⑶ 字符数组。

2.重、难点提示

(1)重点:掌握一维数组、二维数组;字符数组与字符串的概念与定义方法,常用的字

符串处理函数。

(2)难点:数组下标的起始数问题;利用数组形式进行程序设计的一般方法与典型算法。

第八章 函数

1.教学内容

⑴ 函数的定义;

⑵ 函数的调用(一般调用、嵌套调用、递归调用),return语句;

⑶ 参数的传递方式:形式参数与实在参数;

⑷ 局部变量与全局变量;

⑸ 变量的动态存储与静态存储;

⑹ 内部函数与外部函数。

2.重、难点提示

(1)重点: 掌握函数定义的一般形式;函数的调用的几种形式;函数嵌套调用的一般

过程;数组名作为函数的参数的一些特点;局部变量与全局变量的概念及它们的使用特点。

(2)难点:不同的函数参数传递方法在程序中应用的结果判定;利用函数调用方法实现

程序设计中涉及的参数定义、参数传递以及返回值问题;函数调用的理解。

第九章 预处理命令

1.教学内容

⑴ 预处理的概念与特点;

⑵ 符号常数和宏的定义;

⑶ “文件包含”处理。

2.重、难点提示

(1)重点:宏定义的方法;“文件包含”与预处理的应用。

(2)难点:宏定义的方法。

第十章 指针

1.教学内容

⑴ 指针与地址的概念;

⑵ 指针变量的定义,初始化;指针变量的引用(取地址运算符&及指针运算符*);指

针变量作为函数参数的应用;

⑶ 指针与数组(数组的指针和指向数组的指针变量);

⑷ 字符串的指针和指向字符串的指针变量;

⑸ 函数的指针和指向函数的指针变量、返回指针值的指针函数;

⑹ 指针数组和指向指针的指针;

⑺ 对main()函数命令行参数的基本了解。

2.重、难点提示

(1)重点:指针变量定义、初始化和引用;数组的指针和指向数组的指针变量;字符串

的指针和指向字符串的指针变量;指针数组与指向指针的指针。

(2)难点:指针概念深刻理解;区别指向数组的指针和指针数组;指向指针的指针; 有

关指针的数据类型定义和指针的相关运算。

第十一章 结构体与共用体

1.教学内容

⑴ 定义结构体类型变量的方法;

⑵ 结构体变量的引用与结构体变量的初始化;

⑶ 结构体数组与指向结构体数据的指针;

⑷ 指向结构体类型数据的指针及用指针处理链表;

⑸ 共用体;

⑹ 枚举类型;

⑺ 用typedef定义类型。

2.重、难点提示

(1)重点:掌握结构体类型变量的定义方法;结构体类型变量的引用方法;结构体类

型变量如何在定义的同时初始化; 通过图示正确理解链表的概念和形态,共同体的含义、

共同体类型变量的定义方法。

(2)难点:结构体与共用体概念的掌握;各种结构体结构的定义。

第十二章 位运算

1.教学内容

⑴ 运算符和位运算;

⑵ 位运算举例;

⑶ 位段。

2.重、难点提示

(1)重点:掌握各种位运算符,运算规则和优先级。

(2)难点:各种位运算符的运算规则和优先级。

第十三章 文件

1.教学内容

⑴ 文件类型指针;

⑵ 文件的打开与关闭;

⑶ 文件的读写;

⑷ 文件的定位。

2.重、难点提示

(1)重点:掌握文件操作的相关标准函数;

(2)难点:文件的读写和定位操作。

七、实验教学内容

实验项目(一):C 语言中控制语句的使用

(1)项目类别:必做

(2)项目性质:综合性

(3)项目主要目的要求:

掌握各类控制语句的书写格式,能在具体问题解决时给出合适的程序控制结构;用分

支结构实现程序的条件控制;用循环结构实现程序中重复执行操作的控制。

(4)主要仪器:计算机

(5)实验考核方法:随堂考查

实验项目(二):C 语言中数组的使用

(1)项目类别:必做

(2)项目性质:综合性

(3)项目主要目的要求:

掌握数组这种构造类型的特点,如何用数组数据对象并对数据对象进行处理;熟练掌

握一维数组的定义、引用、初始化,用一维数组来对字符进行处理;掌握二维数组的定义、

引用、初始化,用二维数组实现矩阵的有关方法算法。

(4)主要仪器:计算机

(5)实验考核方法:随堂考查

实验项目(三):C 语言中函数的使用

(1)项目类别:必做

(2)项目性质:综合性

(3)项目主要目的要求:

C语言中用函数来实现子功能模块,掌握系统函数的调用方法及用户自定义函数的定

义、调用方法;用自定义函数来实现一个具体问题;用自定义函数的嵌套调用来实现一个

复杂问题。

(4)主要仪器:计算机

(5)实验考核方法:随堂考查

实验项目(四):C 语言中指针的使用

(1)项目类别:必做

(2)项目性质:综合性

(3)项目主要目的要求:

掌握指针变量的运用,通过指针引用数组元素的方法,函数指针变量作函数的参数;

在程序中进行指针变量的运算操作,指针变量作函数的参数;数组元素的指针。

(4)主要仪器:计算机

(5)实验考核方法:随堂考查

实验项目(五):C 语言中结构体与链表的使用

(1)项目类别:必做

(2)项目性质:综合性

(3)项目主要目的要求:

掌握结构体类型变量的定义和使用;结构体类型数组的概念和应用;链表的创建与使

用;检共用体的概念与使用。

(4)主要仪器:计算机

(5)实验考核方法:随堂考查

实验项目(六):C 语言中文件的使用

(1)项目类别:必做

(2)项目性质:综合性

(3)项目主要目的要求:

掌握文件以及缓冲文件系统、文件指针的概念;学会使用文件打开、关闭、读、写等

文件操作函数;学会用缓冲文件系统对文件进行简单的操作。

(4)主要仪器:计算机

(5)实验考核方法:随堂考查

八、课程考核方式

1.考核方式:

闭卷考试

2.成绩构成:

平时+期末

九、 选用教材和参考书目

[1]《C程序设计》(第三版),谭浩强编,清华大学出版社,2007。

[2]《数据结构—用C语言描述》(第二版),唐策善编,高等教育出版社,2004。

[3]《程序设计基础与C语言》(第一版),梁力.郭晓玲.高浩编,西安电子科技大学

出版社,2001。

[4]《C语言程序设计》(第二版)刘德恒编,电子工业出版社,2001。


本文标签: 指针 结构 函数 数组 方法