C语言教学大纲1

C语言教学大纲1
C语言教学大纲1

龙岩学院

教学大纲

2010~2011学年度第一学期

课程名称C程序设计

授课对象2010级计算机专业大一学生

授课教师王雯娟

授课学时108学时(理论72,实践36)

使用教材《C程序设计》谭浩强清华大学出版社1999年12月第2版

《C程序设计(第二版)》教学大纲

一、本课程性质、任务及开课对象

(一)课程的性质:

《C程序设计(第二版)》(以下简称《C语言》)属于高等学校计算机类各专业的毕修课程,其修业年限为一学年。

C语言是近年来国内外得到迅速推广使用的一种现代计算机语言。C语言功能丰富、表达能力强,使用方便、应用面广,目标程序效率高,可移植性好,既有高级语言的优点,又有低级语言的许多特点,特别适合于编写系统软件。本课程的任务是使学生学会C语言的基本结构、编程方法和上机操作,以便为后续计算机课程和应用打下必要的基础。

(二)课程的任务:

1、介绍C语言中的数据类型,运算,语句结构;

1、掌握基本的程序设计的基本方法、过程和技巧;

2、具备熟练应用TURBO C集成环境进行C语言的编写、编译与调试的能力;

3、具备初步的高级语言程序设计能力;

4、培养严肃,认真一丝不苟的工作作风。

(三)开课对象

计算机各专业大学一年级学生。

二、课程教学目标

(一)知识教学目标

1、了解程序设计的基本知识;

2、了解C程序的基本特点、初步知识和构成;

3、掌握顺序结构、选择结构、循环结构的C程序的构成及编程技巧;

4、掌握函数定义、调用和编程技巧;

5、掌握数组的定义和使用;

6、掌握指针的定义和使用;

7、掌握结构体和共用体的定义和变量的使用;

9、了解编译预处理;

10、了解位运算符及运算规律;

11、了解并熟悉文件操作。

(二)能力培养目标

1、具备熟练应用TURBO C集成环境进行C语言的编写、编译与调试的能力;

2、具备初步的高级语言程序设计能力;

3、能够掌握一定软件开发技术,具备一定的软件开发能力;

4、培养严肃,认真一丝不苟的工作作风。

三、课程重点与难点

(一)课程的重点:

1、了解结构化程序设计的基本方法;

2、理解整型、字符型、实型等基本数据类型的概念;

3、理解C程序的基本结构,掌握输入输出函数scanf()和printf()的基本

使用方法;

4、理解数组的基本概念;

5、掌握字符数组与字符串的关系以及字符串的简单处理;

6、理解函数的定义,熟练掌握几种函数的调用方式;

7、理解指针的概念和指针变量的定义;

8、了解结构体类型、共用体类型和枚举类型的变量的定义;

9、了解文件的概念及文件的打开、关闭和读写操作等。

(二)课程的难点:

1、关系运算符和逻辑运算符的使用、关系表达式和逻辑表达式的求值;

2、if语句和switch语句的使用;

3、while,do...while和for这三种循环语句的结构和执行过程;

4、一维数组和二维数组的使用;

5、指针及文件的应用。

四、教学内容和要求

第一章C语言概述(2学时)

理论教学(2学时):

(一)教学内容

1、C语言的历史背景

2、C语言的特点

3、C语言源程序的结构

4、掌握算法的基本概念与特征

5、掌握结构化程序设计的基本概念

重点:C语言程序设计结构和书写风格、C语言程序的编译和执行。(二)教学目标

通过本部分的学习,使学生:

1、了解C语言的背景

2、掌握C语言程序的结构

3、理解C语言程序设计的风格

第二章程序的灵魂—算法(2学时)

理论教学(2学时):

(一)教学内容

1、算法的概念

2、简单算法举例

3、算法的特性

4、怎样表示一个算法

5、结构化程序设计方法

重点:如何用流程图来表示算法。

(二)教学目标

通过本部分的学习,使学生:

1、了解什么是算法

2、熟练掌握用流程图表示一个算法

第三章数据类型、运算符与表达式(8学时)

理论教学(6学时):

(一)教学内容

1、常量与变量

2、整型数据

3、实型数据

4、字符型数据

5、变量赋初值

6、各类数据之间的混合运算

7、算述运算符与算术表达式

8、赋值运算符与赋值表达式

9、逗号运算符与逗号表达式

重点:C语言的数据类型、C语言的常量、C语言变量类型定义和初始化、C语言数据类型之间的转换与运算、算术运算符和表达式、算术运算符的优先级及其结合性。

难点:增1、减1运算符,运算符的优先级及其结合性。

(二)教学目标

通过本部分的学习,使学生:

1、了解基本类型及其常量的表示法

2、掌握变量的定义及初始化方法

3、掌握运算符与表达式的概念

4、理解C语言的自动类型转换和强制类型转和赋值的概念。

实践教学(2学时):

属性:实训

时间:2学时

(一)实践教学内容:

1、Turbo C的启动以及工作环境介绍;

2、掌握C语言数据类型,熟悉如何定义一个整型、字符型、实型变量,以及对它们赋值的方法,了解以上类型数据输出时所用的格式转换符;

3、学会使用C的有关算术运算符,以及包含这些运算符的表达式,特别是自加(++)和

4、熟悉C程序的编辑、编译、连接和运行的过程;

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%;

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第四章顺序程序设计(6学时)

理论教学(4学时):

(一)教学内容

1.C语句概述

2.赋值语句

3.字符数据的输入与输出

4.格式输入与输出

5.顺序结构程序设计举例

重点:putchar、getchar、printf、scanf函数的使用。

(二)教学目标

通过本部分的学习,使学生:

1.了解C语句的概念及种类;

2.掌握C语言常用的输入输出方式;

3.掌握顺序结构程序设计。

实践教学(2学时):

属性:实训

时间:2学时

(一)实践教学内容:

1.理解C语言程序的顺序结构;

2.掌握常用的C语言语句,熟练应用赋值、输入、输出语句;

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第五章选择结构程序设计(10学时)

理论教学(6学时):

(一)教学内容

1、关系运算符与关系表达式

2、逻辑运算符与逻辑表达式

3、if语句

4、switch语句

重点:关系运算符及其优先次序;逻辑运算符及其优先次序;三种类型的if语句结构;switch开关分支语句。

难点:关系运算符和逻辑运算符的使用、关系表达式和逻辑表达式的求值;if语句的嵌套。

(二)教学目标

通过本部分的学习,使学生:

1、熟练掌握if…else的三种语法

2、理解switch语句与break语句的作用

实践教学(4学时):

属性:实训

时间:4学时

(一)实践教学内容:

1、了解C语句表示逻辑量的方法(以0代表“假”以1代表“真”);

2、学会正确使用逻辑运算符和逻辑表达式;

3、熟练掌握if语句和switch语句。

4、掌握选择结构程序设计方法。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第六章循环控制(12学时)

理论教学(8学时):

(一)教学内容

1、概述

2、goto语句以及用goto语句构成循环

3、while语句

4、do-while语句

5、for语句

6、循环的嵌套

7、几种循环的比较

8、break语句和continue语句

9、程序举例

重点:四类循环语句的构造;break语句与continue语句在循环构造中的作用。

难点:while,do...while和for这三种循环语句的结构和执行过程;各类循环语句的嵌套。

(二)教学目标

通过本部分的学习,使学生:

1、熟练掌握用goto、while、do-while、for语句构造循环结构;

2、掌握三种循环(while、do-while、for)语句的互相嵌套;

3、理解break语句和continue语句在循环体中的运用。

实践教学(4学时):

属性:实训

时间:4学时

(一)实践教学内容:

2、掌握for、while、do-while语句的用法

3、了解break、continue在循环语句中的作用

4、掌握循环结构程序设计。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第七章函数(10学时)

理论教学(6学时)

(一)教学内容

1、函数的定义

2、函数的参数和函数的值

3、函数的调用

4、函数的嵌套调用

5、函数的递归调用

6、数组作为函数参数

7、变量作用域

8、变量存储类别

重点:函数的概念;函数定义和调用;函数的参数及其传递方式(传值、传址);变量的作用域及其存储类型;函数的返回值及其类型。

难点:变量的作用域及其存储类型。

(二)教学目标

通过本部分的学习,使学生:

1、掌握函数的定义与调用

2、掌握函数参数的传递方式

3、理解变量存储类型的概念及各种存储类型变量的生存期和有效范围

5、了解带参数的main函数

实践教学(4学时):

属性:实训

时间:4学时

(一)实践教学内容:

1、掌握C语言函数的定义方法、函数的声明及函数的调用方法。

2、了解主调函数和被调函数之间的参数传递方式。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

第八章指针(12学时)

理论教学(8学时):

(一)教学内容

1、指针与地址的概念

2、量的指针和指针变量的指针变量

3、数组的指针与指向数组的指针变量

4、字符串的指针与指向字符串的指针变量

5、指针与函数

6、指针数组

7、二级指针

重点:指针的概念;指针变量;指针与数组;指针与函数(指向函数的指针、指针数组)。

难点:指针的概念、多级指针。

(二)教学目标

通过本部分的学习,使学生:

2、掌握指针变量的定义、初始化及指针的运算

3、掌握指针与数组、指针数组、二级指针等知识

4、了解指针与函数的概念

5、掌握指针作为函数参数的应用

实践教学(4学时):

属性:实训

时间:4学时

(一)实践教学内容:

1.掌握指针变量的定义与引用。

2.熟练使用函数指针、数组指针、字符串指针编写应用程序。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第九章数组(14学时)

理论教学(8学时):

(一)教学内容

1、一维数组的定义与引用及初始化;

2、一维数组程序设计及应用;

3、二维数组的定义与引用及初始化;

4、二维数组的简单程序设计;

5、字符数组的定义、引用及初始化;

6、字符串的存储及程序设计;

重点:一维数组;二维数组;字符数组;字符串(输入、输出以及处理函数)。

难点:一维数组及二维数组的应用;二维数组的初始化。

(二)教学目标

1.了解一维数组、二维数组的基本概念

2.掌握数组类型变量的定义与引用

3.掌握数组元素的引用

实践教学(4学时):

属性:实训

时间:4学时

(一)实践教学内容:

1、掌握数组的定义、赋值和输入输出的方法;

2、掌握字符数组的使用;

3、掌握与数组有关的算法(例如排序算法)。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第十章编译预处理(6学时)

理论教学(4学时):

(一)教学内容

1、宏定义

2、“文件包含”处理

重点:宏定义;文件。

难点:带参数的宏。

(二)教学目标

通过本部分的学习,使学生:

1、了解预处理的概念及特点

2、掌握有参宏与无参宏的定义及使用

3、理解文件包含的使用及效果

实践教学(2学时):

属性:实训

时间:2学时

(一)实践教学内容:

1、了解预处理的概念及特点

2、掌握有参宏与无参宏的定义及使用

3、理解文件包含的使用及效果

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第十一章结构体与共用体(12学时)

理论教学(8学时):

(一)教学内容

1、结构体类型的说明及结构体类型变量的定义

2、结构体变量的引用

3、结构体变量的初始化

4、结构体数组

5、指针与结构体数组

6、链表

7、共用体

8、typedef

重点:结构体类型及其变量定义;结构变量体的引用和初始化;结构与数组、指针;指针与函数(指向函数的指针、指针数组)。

难点:结构类型定义和结构变量定义的区别。

(二)教学目标

1、掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法

2、掌握结构体与共用体变量成员的引用

3、领会存储动态分配和释放

4、理解链表的基本概念,掌握基本操作

5、了解枚举类型变量的定义

6、了解typedef的作用

实践教学(4学时):

属性:实训

时间:8学时

(一)实践教学内容:

1、掌握结构体类型和结构体变量的定义。

2、掌握结构类型变量的定义和使用;

3、掌握链表的概念,初步学会对链表进行操作;

4、掌握共用体的概念和使用。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第十二章位运算(4学时)

理论教学(2学时):

(一)教学内容

1、常用位运算;

2、位运算符;

3、位运算与位段;

4、位结构;

重点:二进制位运算;位复合赋值运算符。

(二)教学目标

通过本部分的学习,使学生:

1、掌握常用位运算的类型和位运算符的种类和优先级;

2、了解位运算与位段;

3、掌握位结构定义的一般形式和用法;

实践教学(2学时):

属性:实训

时间:2学时

(一)实践教学内容:

1、掌握常用位运算的类型和位运算符的种类和优先级;

2、了解位运算与位段;

3、掌握位结构定义的一般形式和用法;

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

第十三章文件(8学时)

理论教学(6)学时:

(一)教学内容

1、文件类型指针

2、文件的打开与关闭

3、文件的读写

重点:文件的概念;缓冲文件系统。

难点:非缓冲文件系统。

(二)教学目标

通过本部分的学习,使学生:

2、掌握缓冲文件系统的使用

实践教学(2学时):

属性:实训

时间:2学时

(一)实践教学内容:

1、掌握文件和文件指针的概念以及文件的定义方法。

2、了解文件打开和关闭的概念和方法。

3、掌握有关文件的函数。

设备要求:日常实训无分组需求,每人一台电脑,随课实验,个人独立完成任务。

(二)实践考核办法:

1、实验报告占20%,实验过程占50%,实验结果占30%。

2、每单元实验结束为每个同学打出成绩,整个学期的平均成绩作为该同学的技能考核成绩;

3、要求在规定时间内独立完成。

五、总课时及按章课时划分表

序号课程内容

学时数

合计

理论

教学

实践

教学

实训

教学

教学实习

1C语言概述22 2程序的灵魂—算法22

3数据类型、运算符与表

达式

862

4顺序结构642 5选择结构664 6循环结构1284 7数组1286 8函数1264

9预处理命令642

10指针1884

11结构体、共用体1284

12位运算422

13文件862

总计1087236

六、补充说明

1、本课程与其他课程的联系

《计算机应用基础》是《C语言》的先修课。本课程是后续课程《数据结构》及《visual c++程序设计》、《JAVA程序设计》的重要基础,为今后高质量完成毕业设计打下坚实的基础。

2、考核要求

本课程为考试课。

(1)考核包括,期末考核80%(其中理论考核60%,技能考核40%),平时20%

(2)理论考核采用闭卷形式,时间60分钟

(3)题型为填空、选择、程序设计

(4)考试内容分配:基础60%,综合40%

(5)试卷难度分配:基本内容60%,适中内容30%,难度内容10%

(6)技能考核方式是上机操作,主要考核程序改错和编程。

3、教材及教学参考书目

(一)教材:《C程序设计》谭浩强清华大学出版社1999年12月第2版

(二)教学参考书目:

《全国计算机等级考试二级教程—C语言程序设计》教育部考试中心高等教育出版社《C程序设计习题解答与上机指导》谭浩强清华大学出版社

《C语言解析教程》AlKelley等机械工业出版社,

《C语言程序设计思想与实践》肖炜等冶金工业出版社

《上机考试典型逼真试题及精解》,全国计算机等级考试,中国宇航出版社

相关主题
相关文档
最新文档