华侨大学主页 |  加入收藏 
质量工程
当前位置: 网站首页 > 质量工程 > 正文

《高级语言程序设计(C语言)》

时间:2016-08-19作者:

适用对象 非计算机类专业(学分:3 学时:54+18)

一、课程的性质和任务

    本课程的是给非计算机类专业的学生开设的,让他们通过掌握C语言,为以后的专业课的实 践性专业、毕业设计以及以后工作过程中的实践打下基础。因此,本课程的任务是熟练掌 握C语言基本概念和基本语法规则,通过大量的作业练习,熟练掌握基本编写程序技巧及基 本的解决问题和分析问题能力,尤其是通过大量的上机实践,熟练掌握软件实践的基本技能 。

二、课程的教学内容
 第一章 C语言程序设计初步

§1.1 程序设计语言

程序设计语言的发展

程序设计语言的支持环境

源程序的编辑、编译、连接和执行

§1.2 用库函数组装C程序

§1.3 自己设计C函数

第二章 数据描述与基本操作

§2.1 数据类型

定点和浮点表示形式

字符型数据

有符号和无符号的数据类型

§2.2 常量和变量

常量和符号常量

变量

§2.3 运算符与表达式

算术运算

关系运算

逻辑运算

条件运算

§2.4 不同类型数据间的转换

§2.5 数据的输入和输出

printf函数 (格式输出函数)

scanf函数 (格式输入函数)

getchar函数 (字符输入函数)

putchar函数 (字符输出函数)

第三章 C程序的流程设计

§3.1 算法

§3.2 用C语句描述算法

表达式语句

流程控制结构的语句

C基本语句一览

复合语句

§3.3 选择型程序设计

if...else结构

else if结构

switch结构

§3.4 循环型程序设计

穷举与迭代算法

while结构

do...while结构

for结构

第四章 模块化程序设计

§4.1 函数

函数定义与声明

函数的传值调用

函数的嵌套调用

函数的递归调用

§4.2 变量的存储属性

动态变量

静态变量

外部变量

§4.3 编译预处理

宏替换

文件包含

第五章 数组

§5.1 一维数组

一维数组的定义

一维数组的初始化

数组元素的引用

数组作为函数参数

一维数组应用举例

§5.2 二维数组和多维数组

二维数组的概念及其定义

二维数组和多维数组的引用

二维数组和多维数组的初始化

二维数组程序举例

§5.3 字符数组和字符串

字符串和字符串的存储方法

字符数组的初始化

字符串的输入

字符串的输出

字符串运算函数

二维的字符数组

字符数组应用举例

第六章 指针

§6.1 指针概述

地址与指针

指针的类型与指针的定义

指针变量的引用

指向指针的指针

§6.2 指针与数组

一维数组的指针表示方法

二维数组的指针表示方法

指针与字符串

指针数组

§6.3 指针与函数

指针作为函数参数

数组指针作为函数参数

指向函数的指针

返回指针值的函数

main函数中的参数

§6.4 指针数据小结

第七章 结构体、共用体和枚举类型数据

§7.1 结构体类型概述

§7.2 结构体类型变量的定义和引用

结构体类型变量的定义

结构体变量的初始化

结构体变量的引用

结构体的输出和输入

§7.3 结构体数组

结构体数组的定义

结构体数组的初始化

结构体数组的引用

§7.4 结构体变量作为函数参数以及返回结构体类型值的函数

结构体变量作为函数参数

返回结构体类型值的函数

§7.5 结构体变量与指针

指向结构体变量的指针

指向结构体数组的指针

用指向结构体变量的指针作为函数参数

§7.6 动态存储分配-链表

动态存储分配和链表的概念

用包含指针项的结构体变量构成结点

用于动态存储分配的函数

链表应用举例

§7.7 共用体类型数据

共用体的概念

共用体变量的引用

共体变量的应用

§7.8 枚举类型数据

§7.9 用TYPEDEF定义类型

第八章 文件

§8.1 文件概念

§8.2 文件的打开与关闭

fopen函数 (文件打开函数)

fclose函数 (文件关闭函数)

§8.3 文件的顺序读写

输入和输出一个字符

输入和输出一个字符串

格式化的输入和输出

按记录的方式输入和输出

§8.4 文件的定位与随机读写

§8.5 文件操作的出错检测

§8.6 非缓冲文件系统 (系统级I/O)

打开文件

读文件和写文件

关闭文件

缓冲区的设置

§8.7 文件重定位


三、课程的教学要求

总的要求:熟练掌握C语言的基本概念和基本规则,熟练掌握基本编程技巧和基本的解决问 题、分析问题能力,熟练掌握软件实践的基本能力,其中至少要有1~2题关于文件读写的较 大的上机题,让学生完整地感性认识软件具体指的是什么。

各章要求:

第一章 C语言程序设计初步

通过分析几个简单的完整的C语言程序,对C语言及其程序有较好的感性认识,介绍上机基本 操作。

第二章 数据描述与基本操作

熟练掌握各种数据类型的语法规则及注意事项,能熟练地用各种数据类型编写程序;掌握常 用的运算符和常用的表达式。

初步掌握C程序的基本结构,熟练掌握基本的输入和输出函数,在编写程序时能熟练地加以 应用。

第三章 C程序的流程设计

熟练掌握if语句和switch语句,熟练掌握while,do while,for三种循环语句的语法规则及注 意事项,能熟练地用于编写C语言程序。对goto,break,continue三种语句在编程序时若需要 要会用,但要注意,一般在编写好的结构的程序时都不用这三个语句,尤其是goto语句。要 通过对比举例让学生掌握什么是好结构的程序,什么是不好结构的程序,并通过大量练习让 学生养成编程的良好习惯。

第四章 模块化程序设计

熟练掌握函数的各种语法规则(包括函数定义、函数的参数及函数的值、函数调用、函数嵌 套调用、函数递归调用),并能熟练地编写程序时加以应用;对变量的各种存储方式熟练掌 握其语法规则,并理解各种变量的存储方式的具体实现,同时养成尽量多用局部变量,少用 全局变量的习惯,以利于结构化程序设计的要求;对内部函数、外部函数、系统库函数要深 入加以区分并在编程时能正确应用;最后,通过本章的学习,要求掌握结构化编程的基本技 巧,并养成良好的编程习惯。

编译预处理也是C语言结构化编程的一个要求,因此要深入理解宏定义和文件包含的语法规 则及C语言开发平台的语义,并能熟练地用于结构化编程。

第五章 数组

熟练掌握一维数组、二维数组及字符数组,尤其是字符数组的各种语法规则及注意事项。熟 练掌握常用的字符串处理的库函数。

第六章 指针

熟练掌握指针的语法规则及与一维数组、字符串函数参数、函数返回值的关系的语法规则, 并能在编程中熟练应用;掌握指向函数的指针、二级指针与二维数组的关系,能看懂相应程 序,在编程时一些较简单情况要能应用。

第七章 结构体、共用体和枚举型数据

熟练掌握结构的各种语法规则,尤其要能熟练地应用指向结构体的指针建立各种数据结构。 对建立而成的数据结构的插入、删除、查询等一些基本算法也要熟练掌握;有共用体的程序 要懂得看,在编程时一些较简单情况要能应用。

第八章 文件

对文件的基本操作的库函数,如打开、关闭、读、写要熟练掌握,务必上机练习1~2题以上 的关于文件中的信息取出并加以处理的较大型的题目,使学生感性地认识软件开发具体指的 是什么,这是非常关键的,因此,本章主要是上机实践。

四、课程的重点和难点

第一章 C语言程序设计初步

重点: 对几个简单的C语言程序有感性认识。

难点: C语言上机基本操作。

第二章 数据描述与基本操作

重点: 各种数据类型、常用的运算符及常用的表达式,输出输入函数的语法格式。

难点: 各类数值型数据间的混合运算,各种关系运算符、逻辑运算符、关系表达式和逻 辑表达式,输出/输入函数的语法格式。

第三章 C程序的流程设计

重点: 结构化编程,if,switch,while,do while,for语句。

难点: switch语句的各种语法规则及注意事项,break,continue,goto语句的使用。

第四章 模块化程序设计

重点: 函数参数、函数的值、函数的调用、局部变量和全局变量;宏定义和文件包含的语 义规则及语义实现。

难点: 函数参数、函数的值、函数的调用时对被调用函数的说明,函数的嵌套调用、递归 调用、动态存储变量与静态存储变量、内部函数和外部函数。其中既有语法规则,又有语义 实现,尤其是语义实现的理解;宏定义、文件包含与C语言开发平台的语义关系的理解。

第五章 数组

重点: 一维数组、二维数组、字符数组、字符串处理的库函数。

难点: 字符数组各种语法规则及注意事项。

第六章 指针

重点: 指针的语法规则、及与一维数组、字符串、函数参数、函数返回值的关系的语法规 则。

难点: 指向函数的指针,其中尤其是把指向函数的指针变量作函数参数;二级指针、指针 与二维数组关系,其中尤其是指针运算、指针数组作main函数的形参;指针作为函数的参数 和返回值。

第七章 结构体、共用体和枚举类型数据

重点: 结构体和各种语法规则、应用指向结构体的指针建立数据结构,对建立而成的数据 结构的管理的一些基本算法。

难点: 用指向结构体的指针作函数参数,应用指向结构体的指针建立数据结构,对建立而 成的数据结构的管理的一些基本算法,共用体。

第八章 文件

重点: 各种文件管理的常用的库函数,上机实践。

难点: 上机实践。

五、课程的学时分配

     略


六、教材和主要参考书

《C程序设计》(第二版) 清华大学出版社

《C语言设计》 南京大学出版社