23
1 《程序设计》课程教学大纲 一、课程基本信息 课程代码:16152604 课程名称:程序设计 英文名称:Programming Languages and Programming 课程类别:学科基础课 分:4 时:60(实验 30 学时) 适用对象: 计算机科学与技术、信息管理与信息系统、电子商务、软件工程、信 息与计算科学专业本科 考核方式:考试 先修课程:计算机科学导论 二、课程简介 《程序设计》是计算机科学与技术及相关专业本科的一门必修的学科基础 课。本课程的先修课程是《计算机科学导论》。课程主要内容含盖 C 语言程序的 基本知识,如数据类型、运算符和表达式,顺序程序设计,选择结构程序设计, 循环控制,数组,函数,予处理命令,指针,结构体与共用体,文件等。在学习 这些基本知识的同时学习程序设计的思想和方法。通过学习,应掌握程序设计的 基础知识、基本概念和基本技能,一方面为《数据结构》、《面向对象的程序设 计》、《软件工程》等后续课程的学习奠定程序设计基础,另一方面使学生不但 掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思 想和方法,培养编写和调试简单应用程序的技能,具备利用计算机求解实际问题 的基本能力。 本课程是一门实践性非常强的课程,要求学生要注重实践,在掌握 C语言的 基本语法后,重点应放在提高编程能力的训练上。 Programming Languages and Programming is a compulsory subject basic course for the undergraduate of computer science and technology and related majors. The first course of this course is Introduction to Computer Science。It includes basic knowledge of c language program, such as data type, operator and expression, sequence program design, selection of structure program design, loop control, array, function, processing command, pointer, structure and sharing body, file, etc. In learning these basic knowledge, it can learn program design ideas and methods. Through learning, we should master the basic knowledge, basic concepts and basic

《程序设计》课程教学大纲jwc.gdufe.edu.cn/_upload/article/files/f9/4e/2bbdc... · 《程序设计》是计算机科学与技术及相关专业本科的一门必修的学科基础

  • Upload
    others

  • View
    25

  • Download
    0

Embed Size (px)

Citation preview

1

《程序设计》课程教学大纲

一、课程基本信息

课程代码:16152604

课程名称:程序设计

英文名称:Programming Languages and Programming

课程类别:学科基础课

学 分:4

学 时:60(实验 30 学时)

适用对象: 计算机科学与技术、信息管理与信息系统、电子商务、软件工程、信

息与计算科学专业本科

考核方式:考试

先修课程:计算机科学导论

二、课程简介

《程序设计》是计算机科学与技术及相关专业本科的一门必修的学科基础

课。本课程的先修课程是《计算机科学导论》。课程主要内容含盖 C语言程序的

基本知识,如数据类型、运算符和表达式,顺序程序设计,选择结构程序设计,

循环控制,数组,函数,予处理命令,指针,结构体与共用体,文件等。在学习

这些基本知识的同时学习程序设计的思想和方法。通过学习,应掌握程序设计的

基础知识、基本概念和基本技能,一方面为《数据结构》、《面向对象的程序设

计》、《软件工程》等后续课程的学习奠定程序设计基础,另一方面使学生不但

掌握高级编程语言的知识、编程技术和基本算法,更重要的是掌握程序设计的思

想和方法,培养编写和调试简单应用程序的技能,具备利用计算机求解实际问题

的基本能力。

本课程是一门实践性非常强的课程,要求学生要注重实践,在掌握 C语言的

基本语法后,重点应放在提高编程能力的训练上。

Programming Languages and Programming is a compulsory subject basic

course for the undergraduate of computer science and technology and

related majors. The first course of this course is Introduction to

Computer Science。It includes basic knowledge of c language program, such

as data type, operator and expression, sequence program design, selection

of structure program design, loop control, array, function, processing

command, pointer, structure and sharing body, file, etc. In learning these

basic knowledge, it can learn program design ideas and methods. Through

learning, we should master the basic knowledge, basic concepts and basic

2

skills of the program design, on one hand, lay the foundation for the

program design for the data structure, object - oriented programming,

software engineering, etc. on the other hand, students not only master

the knowledge, programming technology and basic algorithm of advanced

programming language, but also master the thought and method of

programming, and train the skills to write and debug simple application

program, and have the basic ability to solve practical problems with

computer.

This course is a highly practical course, requiring students to pay

attention to practice. after mastering the basic grammar of c language,

the focus should be on the training of improving the programming ability.

三、课程性质与教学目的

本课程计算机科学与技术及相关专业本科的一门必修的学科基础课。其目的是向学

生介绍结构化程序设计的基本思想与方法,通过学习 C程序设计语言,熟悉 C语言的

语法、语义及该语言所表现出的设计风格,了解计算机解决问题的一般方法,掌握编

写和调试简单应用程序的能力。

四、教学内容及要求

第一章 C语言概述

(一)目的与要求

1.了解 C语言的特点和简单的 C程序

2.了解 C 程序的上机步骤,掌握 C 语言的运行环境,初步了解运行一个

C语言程序的过程。

(二)教学内容

第一节

1.主要内容

程序与程序设计语言

2.基本概念和知识点

程序的基本概念、程序设计语言

3.问题与应用

了解程序设计的基本思想

第二节

1.主要内容

3

算法及其描述

2.基本概念和知识点

算法的概念、算法的描述方法

3.问题与应用

了解算法的描述方法

第三节

1.主要内容

C语言的发展及特点

2.基本概念和知识点

C语言的发展概况、C语言的特点

3.问题与应用(能力要求)

了解 C 语言和程序。

第四节

1. 主要内容

C语言程序的基本结构

2. 基本概念和知识点

C语言程序的基本结构

3. 问题与应用(能力要求)

掌握 C程序的基本结构

第五节

1.主要内容

C语言字符集、标识符与关键字

2.基本概念和知识点

C语言字符集、标识符与关键字

3.问题与应用(能力要求)

掌握标识符的命名规则

第六节

1.主要内容

C语言程序的开发环境

2.基本概念和知识点

Visual C++6.0 集成开发环境、利用集成开发环境编写程序

3.问题与应用(能力要求)

掌握集成开发环境的开发步骤

(三)思考与实践

课后上机学习用 visio c 6.0++运行 C程序的步骤

4

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机。

第二章 数据类型与表达式

(一)目的与要求

1.介绍 C的数据类型

2.掌握几种基本数据类型的存储方式,表示方法。

3.掌握数值常量、字符常量和符号常量的使用。

4.掌握不同类型间数据转换的原则与方法。

5.熟练使用各种运算符和表达式

(二)教学内容

第一节

1. 主要内容

C语言的基本数据类型

2. 基本概念和知识点

基本类型:整型,字符型,实型,单精度浮点型与双精度浮点型;构造

类型:数组类型,结构类型,联合类型,枚举类型;指针类型;空类型。

3. 问题与应用(能力要求)

掌握数据类型的分类和基本特点。

第二节

1. 主要内容

常量与变量

2. 基本概念和知识点

常量及其类型:变量的概念,变量名,变量命名的规定。

3. 问题与应用(能力要求)

了解常量和变量

第三节

1. 主要内容

运算符与表达式

2. 基本概念和知识点

算术运算符、赋值运算符、逗号运算符、求字节数运算符。算术表达式、

赋值表达式、逗号表达式,自增、自减运算符

3. 问题与应用(能力要求)

掌握运算符的使用。

第四节

5

1. 主要内容

数据类型转换

2. 基本概念和知识点

自动类型转换、赋值类型转换、强制类型转换

3. 问题与应用(能力要求)

学会运用类型转换

(三)思考与实践

1.布置课后练习 3—5题:1,2,3,5,6

2.上机验证作业的正确性

3.实验课:实验项目一 数据类型、运算符和表达式

(四)教学方法与手段

课程讲授以多媒体辅助教学、课堂讨论、课后上机。

第三章 顺序结构程序设计

(一)目的与要求

1.掌握赋值语句和数据的输入、输出函数

2.掌握格式化输入、输出

3.掌握顺序程序设计

(二)教学内容

第一节

1. 主要内容

C语言的基本语句

2. 基本概念和知识点

C程序结构;C语句分类:控制语句,函数调用语句,表达式语句,空

语句,复合语句。

3. 问题与应用(能力要求)

掌握各种语句的格式。

第二节

1. 主要内容

数据输入输出

2. 基本概念和知识点

输入输出的概念,字符输入输出函数、格式输入输出函数

3. 问题与应用(能力要求)

理解数据的输入和输出的含义。

6

第三节

1. 主要内容

程序举例

2. 基本概念和知识点

程序举例

3. 问题与应用(能力要求)

掌握顺序程序设计的编写方法

(三)思考与实践

1.布置课后练习 3—5题

2.上机验证作业的正确性

3.实验课:实验项目二 简单 C程序设计

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机。

第四章 选择结构程序设计

(一)目的与要求

1. 掌握关系运算符和关系表达式

2. 掌握逻辑运算符和逻辑表达式

3. 掌握 IF语句及 IF语句的嵌套

4. 掌握 SWITCH语句

5. 会运用关系表达式和逻辑表达式构成选择结构

(二)教学内容

第一节

1. 主要内容

关系运算符和关系表达式

2. 基本概念和知识点

关系运算符及其优先次序,关系表达式。

3. 问题与应用(能力要求)

熟练运用关系运算符

第二节

1. 主要内容

逻辑运算符和逻辑表达式

2. 基本概念和知识点

逻辑运算符及其优先次序,逻辑表达式。

3. 问题与应用(能力要求)

7

熟练运用逻辑运算符

第三节

1. 主要内容

IF 语句

2. 基本概念和知识点

If语句的三种基本形式:单分支选择 if语句、双分支选择 if语句、

多分支选择 if语句,if语句的嵌套,匹配规则,条件运算符的格式、

功能、使用场合。

3. 问题与应用(能力要求)

熟练运用 if语句各种形式

第四节

1. 主要内容

switch 语句

2. 基本概念和知识点

switch 语句的格式,程序举例

3. 问题与应用(能力要求)

见课后习题

第五节

1. 主要内容

结构嵌套程序举例

2. 基本概念和知识点

结构嵌套程序举例

3. 问题与应用(能力要求)

见课后习题

(三)思考与实践

1.布置课后练习 3—5题

2.上机验证作业的正确性

3. 实验课:实验项目三 逻辑结构程序设计

(四)教学方法与手段

课程讲授以多媒体辅助教学、课堂讨论、课后上机。

第五章 循环结构程序设计

(一)目的与要求

1.掌握构成循环的语句 WHILE、DO-WHILE、FOR

2.掌握循环控制的条件

8

3.掌握多重循环的执行过程

4.掌握 break 和 continue语句的运用。

5.应用循环和一些常用算法解决实际问题

(二)教学内容

第一节 循环概述

1. 主要内容

while 语句

2. 基本概念和知识点

while 语句的一般形式,用 while语句实现循环,用 do-while语句实

现循环.

3. 问题与应用(能力要求)

见课后习题

第二节

1. 主要内容

do-while 语句

2. 基本概念和知识点

do-while语句的一般形式,用 do-while语句实现循环,while语句和

用 do-while 语句的比较。

3. 问题与应用(能力要求)

见课后习题

第三节

1. 主要内容

for 语句

2. 基本概念和知识点

用 for 语句实现循环,for语句最简单的形式、for 语句中各表达式的

含义、for 语句与 while语句的比较、for语句的变形

3. 问题与应用(能力要求)

见课后习题

第四节

1. 主要内容

Break、continue和 goto语句

2. 基本概念和知识点

Break 语句、continue 语句及其形式,continue语句和 break语句的

区别、goto 语句

3. 问题与应用(能力要求)

9

见课后习题

第五节

1. 主要内容

循环的嵌套

2. 基本概念和知识点

多层循环与循环嵌套,三种循环相互嵌套

3. 问题与应用(能力要求)

见课后习题

第六节

1. 主要内容

复合结构程序举例

2. 基本概念和知识点

复合结构程序举例

3. 问题与应用(能力要求)

见课后习题

(三)思考与实践

1. 布置课后练习 1,2,5—8题,阅读并理解程序,以不同于实验指导书上

的方式自己编程。

2. 上机调试自编课后练习题程序,使之正确。

3. 实验课:实验项目四 循环控制

4. 循环程序课后实验题:

(1) 编制九九乘法,形式如下:

1*1=1

2*1=2 2*2=4

3*1=3 3*2=6 3*3=9

………………………………………………………………..

9*1=9 9*2=18 9*3=27……………………………………………9*9=81

(2) 打印如下图案:

*

* * *

* * * * *

* * * * * * *

10

* * * * *

* * *

*

(3) 从键盘上输入任意个数值数据,求其中正数的乘积。当输入 0 时则输出结果

并结束。

(4) 把 242 表示为三个加数之和,这三个加数分别能被 17,33,37 整除,试编

写程序,求出这三个加数等于多少?

(4) 假设某企业工业产值增长平均为 5%、7%、9%、11%、和 13%,计算在不同

的增长率下各需多少年可使该企业工业产值翻一番。

(5) 求闭区间[a,b](a<b 且 a、b 均为正整数)上的最小素数 X 和最大素数 Y。a,b

的值从键盘上输入,如不符合上述条件则要求重新输入。若该区间上没有素数则

在屏幕上输出“No prime”后,程序结束。

(6) 今有 A、B 两种型号的混凝土予制构件,A 型构件每件重 432kg,B 型构件

每件重 256kg,现打算用汽车来运这两种构件,汽车的载重量不超过 5000kg,如

何将这两种构件搭配装运,才能使载重量最接近 5000kg。

(7) 输入一个整数,将其分解成质因子相乘的形式。

(8) 求正整数 68,204,119,85,153 的最大公约数。

(10) 某单位有三种货物需要托运,每种货物可选择 1,2,3 三种运输工具中的

一种, 但三种货物必须采用互不相同的运输工具,例如货物 A 选择运输工具 1,

B 选择 2,则 C 只能选择 3。已知货物、运输工具及运费如下表,现要求从可能

的选择方案中找出总运费最小的托运方案。

运输工具

货物 1 2 3

A 15 10 13

B 26 20 24

11

C 9 8 6

(11) 平面上有 5 个点,其点号与坐标分别为 P1(1,1),P2(4,6),P3(7,4),

P4(8,9),P5(9,0)。平面上两点(Xm,Ym)和(Xn,Yn)之间的距离可用

公式

求得(m,n=1,2,3,4,5,m ≠ n),现求这 5 点之间那两点的距离为最小,

打印输出该最小距离及点号。

(12) 一道算术题有 8 个数字,现只能看清 3 个,这道算术题是:

(□X(□3+□))2=8□□9

其中□表示辩认不清的数字,且第一个数字不是 1。根据以上的算式,编制程

序找出辩认不清的数字,输出正确算式。

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机、课堂讨论

第六章 函数与编译预处理

(一)目的与要求

1.明确函数在 C语言程序中的重要作用

2.掌握函数的定义、函数的参数及函数的值等概念

3.掌握函数的调用及调用过程中实际参数对形式参数的值传递

4.明确局部变量和全局变量概念

5.明确变量的存储类别

6.明确内部函数与外部函数的概念

7.明确预处理命令的作用

8.了解宏定义、文件包含、条件编译等予处理功能

(二)教学内容

第一节

1.主要内容

模块化程序设计与函数

22 )()(, nmnmnm yyxxD

12

2.基本概念和知识点

模块、函数、模块设计原则、算法描述简介

3.问题与应用(能力要求)

熟悉模块化思想

第二节

1. 主要内容

函数的定义与调用

2. 基本概念和知识点

标准库函数、函数的定义、函数的调用、参数的传递

3. 问题与应用(能力要求)

熟练掌握函数的定义、调用及参数的传递

第三节

1. 主要内容

函数的递归调用

2. 基本概念和知识点

函数的递归调用。

3. 问题与应用(能力要求)

熟练运用函数递归调用

第四节

1. 主要内容

变量的作用域与存储方式

2. 基本概念和知识点

变量的作用域、变量的存储方式。

3. 问题与应用(能力要求)

理解变量的作用域

第五节

1. 主要内容

编译预处理

2. 基本概念和知识点

宏定义、文件包含、条件编译

3. 问题与应用(能力要求)

见课后习题。

第六节

1. 主要内容

函数设计举例

13

2. 基本概念和知识点

函数设计举例

3. 问题与应用(能力要求)

熟练掌握函数的定义、调用

(三)思考与实践

1.布置课后练习 5—8 题,阅读并理解程序,以不同于实验指导书上的方式

自己编程。

2.上机调试自编课后练习题程序,使之正确。

3.实验课:实验项目六 函数

实验项目七 编译予处理

4.课后实验题:

(1) 用调用函数的方法编程计算 ex

=1+x+x2/2!+x

3/3!+…前 20 项的和。编程时

用函数 f1 计算每项分子的值,函数 f2 计算每项分母的值。

(2) 用递归函数计算 f(x)=xn。f(x)=x

n 可以写成 f(x)=x.xn-1

(x≠0,n>0)。

(3) Search 函数的功能是利用顺序查找法从数组 a 的 n 个元素中对关键字 m

进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字比

较,直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若

未找到,则返回值-1。

(4) 数组 score 内存放一个班级的学生成绩。以数组名作函数参数,求班级的

平均成绩、前 5 名学生成绩和后 5 名学生成绩。

(5)编写一个函数 tri 输出如下图形,函数以起始的行、列号为参数。

*

***

*****

*******

然后编程输出以下结果:

* (起点坐标为 4 行,10 列) *(起点坐标为 4 行,30 列)

*** ***

***** *****

******* *******

14

*(起点坐标为 10 行,10 列) *(起点坐标为 10 行,30 列)

*** ***

***** *****

******* *******

(提示:可用函数 gotoxy(int m,int n)使光标移至坐标(m,n),其中 m 为 列,n

为行。)

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机、课堂讨论

第七章 数组

(一)目的与要求

1.掌握 C 语言中数组的定义和使用方法

2.明确二维数组的定义及其存储结构

3.掌握字符数组及字符串处理函数

4.介绍用筛法求素数、冒泡法排序等算法

(二)教学内容

第一节

1. 主要内容

一维数组

2. 基本概念和知识点

数组的概念,一维数组的定义格式,一维数组在内存中的存放,一维

数组元素的引用,一维数组的初始化。

3. 问题与应用(能力要求)

掌握一维数组的定义和引用

第二节

1. 主要内容

二维数组

2. 基本概念和知识点

二维数组的定义,二维数组在内存中的存放,多维数组的概念,二维

数组的引用,二维数组初始化。

3. 问题与应用(能力要求)

掌握二维数组的定义和引用

第三节

1. 主要内容

15

数组的应用

2. 基本概念和知识点

数组的应用

3. 问题与应用(能力要求)

掌握数组的定义和调用

第四节

1. 主要内容

字符数组与字符串

2. 基本概念和知识点

字符数组的定义,字符数组的初始化,字符数组的引用,字符串和字

符串结束标志,字符数组的输入输出,字符串处理函数及其应用。

3. 问题与应用(能力要求)

熟练掌握字符串的定义与应用

第五节

1. 主要内容

数组作为函数的参数

2.基本概念和知识点

数组作为函数的参数

3.问题与应用(能力要求)

理解数组作为函数参数的含义

第六节

1.主要内容

程序举例

2.基本概念和知识点

程序举例

3.问题与应用(能力要求)

熟悉如何编写函数

(三)思考与实践

1.布置课后练习 5—8 题,阅读并理解程序,以不同于实验指导书上的方式

自己编程。

2.上机调试自编课后练习题程序,使之正确。

3.实验课:实验项目五 数组

4 课后数组实验题:

(1) 计算全班 30 个人的平均成绩,并将全班成绩和其对应的学号按从大到小

16

的顺序输出,每人成绩由赋值语句给定。

(2) 将自然数 1—9 组成三个 3 位数,每个数字必须出现一次而且只能出现一

次,且三个数中的每个数必须是一个完全平方数;例如 121是 11的完全平方数,

123 就不是完全平方数。(答案:361,529,784) 提示:这三个数显然落在 11

的平方(121)和 31的平方(961)之间。

(3) 试编制计算下表中划圈元素之和的程序。

⑦ 2 1

3 ④ 8

9 2 ⑥

(4) 试编制将 Language赋给数组,然后输出如下图案的程序

Language

anguage

nguage

guage

uage

age

ge

e

(5) 假设某机床公司下属三个生产厂,生产四种机床,年生产量如下表所示,

试统计公司每一种机床的年产量以及每厂每年生产的机床总数。

工厂

机床 机床一厂 机床二厂 机床三厂

车床 1000 1500 800

创床 500 700 600

磨床 300 500 200

铣床 600 700 500

(6) 在 a数组 b组数中放入 an+1和 bn+1个由小到大的有序数,编制程序把两

个数组中的数按由小到大的顺序归并到 c数组中。

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机、课堂讨论

17

第八章 指针

(一)目的与要求

1.理解指针变量和地址的概念,了解指针变量的基类型的含义。

2.掌握指针变量的赋值、运算和移动操作,以及通过指针引用变量的方法。

3.掌握通过地址和指针从函数传回数据的方法。

4.掌握用指针操作数组、操作字符串、操作函数

5.了解返回指针值的函数和指针数组

(二)教学内容

第一节

1. 主要内容

指针与指针变量

2. 基本概念和知识点

指针的概念、指针变量的定义与初始化、指针运算、多级指针。

3. 问题与应用(能力要求)

理解指针的含义,掌握指针的定义及初始化

第二节

1. 主要内容

指针与函数

2. 基本概念和知识点

指针作为函数的参数、指针函数、指向函数的指针

3. 问题与应用(能力要求)

如何区分指针函数与函数指针

第三节

1. 主要内容

指针与数组

2. 基本概念和知识点

指向一维数组的指针、二维数组与多维数组的指针表示法。

3. 问题与应用(能力要求)

掌握指向数组指针的运算

第四节

1. 主要内容

指针与字符串

2. 基本概念和知识点

字符串的指针表示法、字符串数组。

3. 问题与应用(能力要求)

18

掌握字符串指针的表示法

第五节

1. 主要内容

指针数组与命令行参数

2. 基本概念和知识点

指针数组、指针数组与命令行参数

3. 问题与应用(能力要求)

理解命令行参数

第六节

1. 主要内容

程序举例

2. 基本概念和知识点

程序举例

3. 问题与应用(能力要求)

(三)思考与实践

1.布置课后练习 5—8 题,阅读并理解程序,以不同于实验指导书上的方式

自己编程。

2.上机调试自编课后练习题程序,使之正确。

3.实验课:实验项目八 指针(一)和 实验项目九 指针(二)

4. 课后指针实验题:

(1) 请编写函数,对传送过来的 3 个数选出最大和最小数并通过形参传回调

用函数。

(2) 编写函数,调用随机函数(rand())产生 N 个 20 到 30 的随机数;编写函数,

统计每个随机数的个数;编写函数,输出结果。

(3) 在主函数中定义一个 N×N 的二维数组并赋初值;编写函数 outdata 输

出二维数组的内容;编写函数 colummax 输出二维数组每列上的最大值。

(4) 编写函数,判断一个字符串是否是回文。若是回文,函数返回值为 1;

否则返回值为 0。(回文是顺读和倒读都一样的字符串,如 abcba,121,ABCCBA

等)

(5) 编写函数,删除字符串中指定位置 m 上开始的 n 个字符。删除成功函数

返回被删后的字符串;否则返回空值。

说明:①若 m≤0或 n≤0,显示出错,用 exit(0)终止程序。

②若 m 大于字符串长度,显示出错并返回主函数。

③若从起始位置 m起的子串长度小于 n,则删除从 m至字符串尾的字符。

19

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机、课堂讨论

第九章 结构体与共用体

(一)目的与要求

1.掌握结构体说明和结构体类型变量、数组、指针的定义方法。

2.理解结构体的存储结构并能正确引用结构体中的成员。

3.掌握结构体变量、数组赋初值的方法。

4.掌握结构体成员为指针类型时的灵活运用。

5.掌握利用指向本结构体的指针成员构成链表的基本算法。

6.了解共用体、枚举类型的说明和变量的定义及赋初值方法。

7.理解共用体类型变量中各成员的存储结构,正确引用各成员中的数据。

8.正确引用枚举类型常量。

9.掌握用 TYPEDEF说明新类型名的方法。

(二)教学内容

第一节

1. 主要内容

结构体类型的定义

2. 基本概念和知识点

结构体的概念与声明。

3. 问题与应用(能力要求)

结构体与数组的区别是什么

第二节

1. 主要内容

结构体类型变量

2. 基本概念和知识点

结构体类型变量的定义、结构体变量的使用、结构体变量的初始化、

结构体变量的输入输出。

3. 问题与应用(能力要求)

结构体变量与普通变量的区别

第三节

1. 主要内容

结构体类型数组

2. 基本概念和知识点

结构体数组的定义、初始化。

20

3. 问题与应用(能力要求)

结构体数组与基本数据类型数组的区别

第四节 结构体类型指针

1. 主要内容

指向结构体类型数据的指针

2. 基本概念和知识点

指向结构体变量的指针,指向结构体数组元素的指针

3. 问题与应用(能力要求)

第五节

1. 主要内容

结构体与函数

2. 基本概念和知识点

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

回结构体类型值的函数

3. 问题与应用(能力要求)

见课后习题

第六节

1. 主要内容

链表

2. 基本概念和知识点

链表的概念、组成,内存动态管理函数、链表的基本操作

3. 问题与应用(能力要求)

见课后习题。

第八节

1. 主要内容

共用体与枚举类型

2. 基本概念和知识点

共用体的概念,共用体和结构体的比较,共用体变量的引用方式,共

用体类型数据的特点,枚举类型概念

3. 问题与应用(能力要求)

见课后习题。

(三)思考与实践

1.布置课后练习 3—5题

2.上机验证作业的正确性

21

3.实验课:实验项目十 结构体和共用体

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机、课堂讨论

第十章 文件

(一)目的与要求

1.掌握 C文件使用中的相关概念。

2.掌握有关文件操作的常用标准库函数的使用。

3.掌握对文件的简单输入输出操作。

(二)教学内容

第一节

1. 主要内容

文件概述

2. 基本概念和知识点

文件的概念,数据文件的存储形式、标准文件与非标准文件、文件存

取方式

3. 问题与应用(能力要求)

见课后习题

第二节

1. 主要内容

标准文件操作

2. 基本概念和知识点

标准文件 FILE结构指针、标准文件的打开操作、关闭标准文件、文件

操作状态检测、标准文件读写操作、标准文件的随机读写。

3. 问题与应用(能力要求)

学会运用文件

第三节 文件的打开与关闭

1. 主要内容

非标准文件操作

2. 基本概念和知识点

建立非标准文件、非标准文件的打开与关闭、非标准文件的读写

3. 问题与应用(能力要求)

见课后习题

(三)思考与实践

1.布置课后练习 3—5题

22

2.上机验证作业的正确性

(四)教学方法与手段

课程讲授以多媒体辅助教学、课后上机、课堂讨论

五、各教学环节学时分配

教学环节

教学时数

课程内容

实验 其他教

学环节

第一章 C语言概述 2 2

第二章 数据类型与表达式 2 2 4

第三章 顺序结构程序设计 2 2 4

第四章 选择结构程序设计 4 2 6

第五章 循环结构程序设计 4 4 8

第六章 函数与编译预处理 4 6 10

第七章 数组 4 4 8

第八章 指针 5 6 11

第九章 结构体数据类型 2 2 4

第十一章 文件

1 2 3

合计 30 30 60

六、推荐教材和教学参考资源

1.教材:

[1] 杨路明主编,C 语言程序设计教程(第 3版),北京邮电大学出版社,2015

年 8 月第 3版

[2] 杨路明主编,C程序设计上机指导与习题选解(第 3版),北京邮电大学出

版社,2015年 8月第 3版

23

2.主要参考书:

[1] 谭浩强编著,C++程序设计,北京:清华大学出版社,2004 年 6月

[2] 王行言主编,计算机程序设计基础,北京:高等教育出版社,2004年 7月

[3] 黄维通 马力妮编著,C语言程序设计,北京:清华大学出版社,2003年 12

月第 2次印刷

七、其他说明

课后实验学时:

平时成绩所占比例 :30%

期末成绩所占比例 : 70%

大纲修订人:李秀敏 修订日期:2019年 3月

大纲审定人:沈永珞 审定日期:2019 年 3月