第一篇:C语言程序设计课程教学大纲
C语言程序设计课程教学大纲
中央电大教务处教学管理科 2007年08月29日
第一部分 大纲说明
1.课程性质、任务与目的
《C语言程序设计》是中央电大计算机科学与技术专业(专科起点本科)的一门专业基础课。主要任务是介绍C语言中的数据类型、数据表示、运算规则、语句定义、函数调用、程序结构、文件使用、编程方法等内容。目的是使学生能够利用一种计算机程序设计语言编写出解决较简单的数值计算和数据处理问题的程序,为学习后续课程奠定程序设计和算法设计的基础。
2.与其他课程的关系
学习《C语言程序设计》课程需要了解计算机基本组成,并具有对计算机进行基本操作的技能。本课程的后续课程为《数据结构》、《操作系统》、《数据库》等。
3.课程教学特点
《C语言程序设计》是一门知识性和实践性都很强的课程,必须在学习中掌握C语言的语法规则,并在上机实践中体会和加深理解,通过实际的上机操作训练,还能够学习到书本上学不到的知识和技能,提高自己进行程序设计和开发的实际能力。
4.教学主要内容
(1)介绍C语言上机操作环境、程序基本结构,系统函数的使用;
(2)介绍常用输入输出函数的作用;
(3)介绍C语言基本数据类型、常量、变量、运算符、数学函数、表达式等的表示与含义;
(4)介绍各种分支语句、循环语句的流程控制功能及相应的程序设计方法;
(5)介绍一维数组和二维数组的定义与作用,字符串数组的特殊存储格式与作用;
(6)介绍指针的定义和运算,变量存储空间的动态分配,数组名的指针含义;
(7)介绍用户函数的定义与调用,值参数和指针参数的使用,变量的作用域,递归函数;
(8)介绍结构和联合类型的定义与应用,结构链表的建立和使用;
(9)介绍文件的概念,文件的打开和关闭,字符文件和字节文件的处理操作。
(10)介绍利用C语言编写解决实际问题的程序设计思路和方法。
5.教学基本要求
本课程教学内容包括了解、理解和应用三个层次,并且逐步递进,具体含义如下:
(1)了解层次:记忆C语言中的基本概念和语法规则;
(2)理解层次:掌握C语言中的每个语法成分和语句的定义格式、含义及作用;
(3)应用层次:利用C语言,结合实际解决问题的需要,能够分析和编写程序。
第二部分 媒体使用和教学过程建议
1.课程学分和学时
本课程为4学分、72学时、第一学期开设。电视、实验和面授辅导学时各为20、27和25学时。课程中各章内容及学时分配如下表所示。
序号 一 二 三 四 五 六 七 C语言概述 数据类型与表达式 流程控制语句 数组和字符串 指针 函数 结构与联合
内容
电视学时 实验学时 面授学时 3 3 2 2 3 3 2 4 4 4 4 4 3 3 3 3 4 3 八
文件 2 3 4
2.教学媒体设计
(1)课程以文字教材为主,文字教材采用合一型。文字教材担负起形成整个课程体系系统性和完整性的任务,是学生学习的主要媒体形式。因此教材要概念准确、条理清晰、深入浅出、便于自学,并且要包含实验指导和实验内容。
(2)电视课程作为文字教材的强化媒体,配合文字教材讲授课程的基本知识以及重点和难点。
(3)面授辅导课程由面授教师系统地辅导教学内容,保证教学进度,检查学习效果,随时解答学生的问题,是非常重要的教学活动。
(4)CAI课件是利用计算机进行自主学习的重要教学手段,它能够集名师讲授、动画教学演示、作业练习、学习效果检查等为一体,不受时间、地点和空间的限制,深受学习者喜爱。
(5)网络资源媒体可以汇集有关教学文件为学生查询提供方便,还可以进行网络交流答疑活动,便于师生定期或随时开展。
3.教学过程建议
本课程的电视和面授课堂教学要把知识讲授与上机操作演示结合起来,同时要加强学生的上机操作练习和指导,使所学知识都能够得到上机运行结果的充分验证。
第三部分 教学内容和教学要求
第一章 C语言概述
(一)教学内容
1.C语言的特点
2.C语言中的基本语法成分和程序结构
3.常用输入输出函数printf和scanf的作用
4.C程序的编辑、编译、链接和运行
(二)教学要求
了解:C语言的特点,基本的语法成分,程序的结构,C程序的编辑、编译、链接和运行的过程。
理解:常用输入输出函数printf和scanf的作用
第二章 基本数据类型与表达式
(一)教学内容
1C语言中的基本数据类型;
2.整数、实数、字符、枚举等常量的表示;
3.使用#define编译预处理命令定义符号常量;
4.变量的定义和分类;
5.各种运算符的表示和应用;
6.数值、关系、逻辑表达式的求值;
7.常用数值函数的调用,如绝对值函数、平方根函数、指数函数、对数函数、取整函数等的调用。
(二)教学要求
理解:C语言中的基本数据类型种常量和变量的表示,运算符的优先级和结合性,表达式的构成,常用数学函数的调用格式与作用。
第三章 流程控制语句
(一)教学内容
1.if语句的定义格式和作用;
2.switch语句的定义格式和作用;
3.for语句的定义格式和作用;
4.while语句的定义格式和作用;
5.do---while语句的定义格式和作用;
6.continue和break语句的定义格式和作用;
7.return和goto语句的定义格式和作用。
(二)教学要求
理解:各种语句的定义格式;
应用:分析程序,按照解决问题的需要编写出相应程序。
第四章 数组和字符串
(一)教学内容
1.数组和数组元素的有关概念;
2.一维数组的定义和应用;
3.二维数组的定义和应用;
4.字符串的存储和字符与字符串函数的使用。
(二)教学要求
了解:数组和数组元素的有关概念;
理解:一维数组和二维数组的定义格式,字符串的存储格式,字符与字符串函数的调用格式;
应用:会分析含有数组和字符串应用的程序,根据数值计算和数据处理问题编写出数组应用程序。
第五章 指针
(一)教学内容
1.指针的有关概念;
2.指针的各种运算
3.数组元素的指针访问方式
4.数据存储空间的动态存储分配
(二)教学要求
了解:指针的有关概念;
理解:指针的各种运算符的含义,一维和二维元素的指针访问方式,动态存储分配与释放函数的含义;
应用:会分析含有指针操作的程序。
第六章 函数
(一)教学内容
1.函数的定义格式和各个语法成分的作用;
2.函数的调用格式以及调用过程;
3.值参数和指针参数的不同作用;
4.变量的作用域分类;
5.递归函数的概念和调用过程。
(二)教学要求
了解:函数的定义、声明、调用与返回的有关概念;
理解:函数的定义和调用过程,值参数和指针参数的使用,变量的各种不同作用域;
应用:会分析一个函数定义的功能,根据问题编写出对应的函数。
第七章 结构与联合(一)教学内容
1.结构的基本概念
2.结构的定义与初始化
3.结构成员的访问和结构变量的赋值
4.结构与数组
5.结构与函数
6.结构与链表
7.联合的定义与使用
(二)教学要求
了解:结构和联合的有关概念;
理解:结构和联合的定义格式,结构和联合成员的访问,结构作为函数参数的应用,结构作为链表中结点类型的应用;
应用:会分析和编写使用结构的函数或程序
第八章 文件
(一)教学内容
1.数据文件的概念
2.文件的打开和关闭,3.文件的操作方式
4.字符文件的访问
5.字节文件的访问
(二)教学要求
了解:文件的有关概念;
理解:文件的各种访问方式;
应用:会分析和编写使用文件的程序。
第四部分 实验
实验是学习该课程的非常重要的教学环节,通过上机实验能够加深理解和巩固书本上所学的知识,能够提高动手操作的能力以及分析问题和解决问题的能力。在教材中的每章都将给出具体的实验练习题,以及必要的操作步骤。
第二篇:《C语言程序设计》课程教学大纲
《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。
第三篇:c语言程序设计课程教学大纲2012
《C语言程序设计》课程教学大纲
课程编号:
适用专业:机械制造、数控、焊接 专业责任教学单位:机电工程系 总学时:36学时 考核形式:闭卷 笔试 课程类型:专业基础课 选读方式:必修课 教学目的:
我们的时代是一个离不开计算机的时代,对于机械制造、数控、焊接专业学生,程序设计是学生必备的技能之一。C语言是一种广泛使用的结构化程序设计语言,它既具有高级语言的特点,又具有低级语言的特点,它的通用性与灵活性使得它比一般的程序设计语言更加通俗易懂。
本课程从介绍C语言的基础知识入手,引入“模块化程序设计”思想,强调实例教学,并结合大量的上机实践,要求学生在模仿、实践中逐步学会编写程序,提高阅读程序的能力及实际操作能力和技能,为以后更好的理解程序,学习程序,开发软件打好基础。
主要教学内容及要求:
第一部分 进入C语言程序世界(2学时)
1、要求:了解C语言的特点,掌握C程序的结构组成,算法的概念及其表示方法,熟悉VC编程环境使用。
2、内容:
1.1 了解C语言程序的结构 1.2 设计简单的C语言程序 1.3 C程序的调试与运行 1.4 计算机语言的发展
3、重点:C程序的结构、VC编程环境、算法的概念及其表示、编写最简单的C程序。难点:编写简单的C程序。
第二部分 编制C程序设计的基础知识(2学时)
1、要求:熟练掌握C语言基本数据类型和表达式,掌握并熟练运用常用的I/O函数。
2、内容: 2.1 常量与变量
2.2 C语言的基本数据类型 2.3 C语言的常用运算符与表达式
3、重点:C语言基本类型、C语言常用表达式。难点:C语言表达式运算符优先级的判断。第三部分 顺序结构程序设计(2学时)
1、要求:了解三种结构程序设计的思想,掌握顺序化结构程序设计的方法。
2、内容:
3.1 结构化程序设计的三种基本结构 3.2 数据的输入与输出 3.3顺序结构程序设计举例
3、重点:顺序结构程序设计,printf与scanf函数的使用。难点:printf与scanf函数的使用。
4、实验:
实验
一、输入/输出函数编程实训 实验
二、顺序程序结构设计
第四部分 选择结构程序设计(2学时)
1、要求:掌握选择结构程序设计的方法,if语句,switch语句的应用。
2、内容:
4.1 选择结构程序设计简介 4.2 if语句的典型应用形式 4.3条件运算符和条件表达式 4.4 switch语句的应用 4.5 选择结构程序设计应用
3、重点:选择结构程序设计,if语句与switch语句的应用。难点:if语句与switch语句的使用。
4、实验:
实验
三、选择结构程序设计
第五部分 循环结构程序设计(4学时)
1、要求:掌握循环结构程序设计的思路,while语句、do—while语句和 for语句的使用,循环语句嵌套,break和continue语句。
2、内容:
5.1 为什么使用循环
5.2 while语句与do...while语句 5.3 for语句实现循环 5.4 几种循环的比较 5.5 多重循环(嵌套循环)5.6 break和continue语句 5.7 循环结构程序设计举例
3、重点: while语句、do—while语句和 for语句的使用,循环语句嵌套,break语句。难点:循环语句的嵌套。
4、实验:
实验
四、循环结构程序设计
第六部分 应用数组设计程序(4学时)
1、要求:掌握数组的定义、引用和初始化,熟练运用数组解决同类型的多个变量问题。
2、内容: 6.1 数组的引入 6.2 一维数组 6.3 二维数组 6.4 字符数组 6.5 数组的应用
3、重点:一维数组、二维数组和字符数组的定义和应用。难点:二维数组、字符数组的应用。
4、实验:
实验五、一维数组的使用 实验
六、字符数组的使用
第七部分 应用函数设计程序(4学时)
1、要求:掌握函数的定义及调用规则,理解实参和形参数据的传递方式,熟练运用函数实现模块化程序设计,理解函数的嵌套调用和递归调用,内部函数与外部函数,理解变量的作
用范围和存储类别
2、内容: 7.1 函数的引入 7.2 函数的定义与调用 7.3 函数的嵌套调用和递归调用 7.4 函数应用实例
7.5 局部变量、全局变量及其存储 7.6 内部函数和外部函数
3、重点:函数的定义与调用、递归和嵌套函数、变量的存储类别和作用范围。难点:函数的调用、递归函数的使用。
4、实验:
实验
七、函数的使用 第八部分 应用指针编制程序
1、要求:了解指针的概念及定义,掌握指针的使用方法,掌握指针和一维数组以及指针和二维数组的应用。掌握几种特殊类型的指针。
2、内容: 8.1 指针概述 8.2 指针变量 8.3 指针与数组 8.4 指针与函数 8.5 指针数组 8.6 指向指针的指针
3、重点:指针变量的定义和使用、指针与变量、数组、函数指向应用。难点:指针变量作为函数参数、指针指向数组、函数的应用。
4、实验:
实验
八、指针的简单使用 实验
九、指针的高级使用
第九部分 结构体、共用体和枚举类型的应用(4学时)
1、要求:理解并掌握结构体的基本概念和用法,掌握共用体和枚举类型的基本概念及一般使用方法,了解用户自定义类型。
2、内容:
9.1 结构体类型与结构体变量的定义 9.2 结构体变量的引用 9.3 结构体数组 9.4 结构体与指针 9.5 结构体与函数 9.6 结构体应用—链表 9.7 共同体 9.8 枚举类型
9.9 用typedef定义类型
3、重点:结构体、共用体和枚举类型的定义、引用和初始化 难点:结构体的概念和使用
4、实验:
实验
十、结构体和共用体的应用 第十部分 文件(2学时)
1、要求:理解文件的结构类型、文件指针的相关概念,掌握文件的打开、关闭、读写、定位等文件操作
2、内容: 10.1 文件概述 10.2 文件的常用操作 10.3 文件的应用举例
3、重点:文件的打开与关闭,文件的读写 难点:文件类型指针的概念,文件的读写
4、实验:
实验
十一、文件的使用
第十一部分 C语言程序设计应用实例(4学时)
1、要求:成功完成“实现通讯录的管理程序”与“贪吃蛇游戏编程实例”训练。
2、内容:
11.1 实现通讯录的管理程序 11.2 学生成绩管理程序
11.3 图形与游戏编程实例
3、重点:强化多种C语句、规则的混合使用,理解结构化程序设计的思路。难点:C语句规则的熟练使用,图形库函数的使用。本课程与其它课程的联系与分工:
先修课程:《计算机应用基础》、《高等数学》、《线性代数》
编写者签名:
****年**月**日 系部审核:
教务处批准:
年
月
****年**月**日
日
第四篇:《C语言程序设计(实践)》课程教学大纲.
《C语言程序设计(实践)》课程教学大纲
一、课程的性质和任务
课程性质:《C语言程序设计(实践)》是多媒体技术专业《C后续课程设计课程。
本课程的任务是:通过课程设计,为学生提供一个既动手又动脑,独立实践的机会,将课本上的理论知识和实际有机的结合起来,锻炼学生的分析解决实际问题的能力。提高学生实际编程的能力。
本课程教学应达到的基本要求是:利用学到的编程知识和编程技巧,通过布置具有一定难度的程序设计题目,帮助学生熟悉程序的设计、编写与调试过程。
语言程序设计》课程的二、时间安排
本课程设计时间为一周(28学时),题目提前两周布置,使学生作好准备。具体时间安排如下:
1.分析设计准备阶段(周一)
2.编程调试阶段(周二至周四)
3.总结报告和书写说明书阶段(周三至周四)4.考核阶段(周五)
三、课题内容:
提供以下备选课题: 1.图书管理信息系统 2.民航订票系统 3.标准化考试系统 4.时钟
四、组织管理: 对学生分组,每组3~6人,每组选一课题。
五、考核评估:
成绩分优、良、中、及格和不及格五等,从以下几方面考核: 1.程序设计的可用性,实用性,通用性,可扩充性(40%)2.学生的动手能力,创新精神(30%)3.总结报告(10%)4.答辩水平(20%)
主编:姚培华
主审:王富荣
第五篇:《C语言程序设计》课程教学大纲2011
【C语言程序设计】课程教学大纲
【课程代码】
0770105
【学
分】【参考学时】
【讲授学时】
【实验学时】
【实习学时】
0 【课程性质】
专业必修课
【参考教材】1.谭浩强 《C程序设计》(第三版)清华大学出版社
2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)
3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社
【课程基础】
在学这门课之前,学生最好对计算机基本结构、软硬件概念和上机操作知识有一定的了解,但不是必须的。本课程和“计算机导论”课程同时开设,可以互学互用。【适应对象】
本课程适用于计算机科学与技术-计算机科学与技术专业、软件工程-软件工程专业、电子信息科学类-电子信息科学与技术专业以及数学专业的学生学习。【教学目的】
通过对C语言的语法规则、数据类型、数据运算、语句、系统函数、程序结构的学习,使学生了解结构化程序设计基本思想和方法,并养成良好的编程风格,培养出扎实的软件开发基本技能;使学生初步掌握利用计算机处理问题的思维方式和程序设计的基本方法和编程技巧,熟练地应用C语言编写简单的程序,掌握基本的程序调试方法和步骤,为进一步学习后续课程和将来从事应用软件开发奠定良好的基础。【内容提要】
C语言的各种数据类型,运算符,表达式;结构化程序设计语句;数组;函数的概念和用法;编译预处理命令;指针运算及其使用;位运算;文件的操作;算法的基本表示方法及结构化程序设计方法。
第1章 C语言概述
第一节C语言出现的历史背景 第二节C语言的特点
C语言的特点 第三节 简单的C程序介绍
简单C程序的结构 第四节C程序的上机步骤 【基本要求】
了解C语言的历史; 掌握C语言的特点;
掌握C语言的运行环境,初步了解运行一个C语言程序的过程。【参考学时】2学时
【参考资料】[ 1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社 ]
第2章 程序的灵魂-算法
第一节 算法的概念
算法的定义。
第二节 简单算法举例
第三节 算法的特性
算法的特点。
第四节 怎样表示一个算法
用自然语言表示算法;用流程图表示算法;三种基本结构; N-S图;用伪代码表示算法;用计算机语言表示算法。第五节 结构化程序设计方法 【基本要求】
1、掌握算法的概念,算法的特性;
2、掌握结构化程序设计的三种基本结构;
3、掌握用流程图、N_S流程图和伪代码等算法描述方法来描述具体的算法的方法以及结构化程序设计的方法。重点:结构化程序的三种基本结构,顺序,选择,循环;结构化程序设计的方法,自顶向下,逐步细化,模块化设计,结构化编码。难点:用流程图、N_S流程图和伪代码算法描述方法来描述具体的算法。【参考学时】4学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社] 第3章 数据类型、运算符与表达式
第一节 C的数据类型
第二节 常量和变量
常量和符号常量;变量的定义和使用。
第三节 整型数据
整型常量的表示方法;整型常量;整型常量的类型。第四节 实型数据
实型常量的表示方法;实型常量;实型常量的类型。第五节 字符型数据
字符常量;字符变量;字符数据在内存中的存储形式及其使用方法;字符串常量。第六节 变量赋初值 变量赋初值的方法。
第七节 各类数值型数据间的混合运算
运算规则和实例。
第八节 算术运算符和算术表达式
算术运算符;算术表达式。
第九节 赋值运算符和赋值表达式
赋值运算符;赋值表达式。第十节 逗号运算符和逗号表达式
逗号运算符;逗号表达式。【基本要求】
1、掌握C语言所提供的数据类型以及基本数据类型常量的书写方法和变量的定义、赋值和初始化方法;
2、掌握基本运算符的运算规则及优先级别;
3、了解C语言的数据类型体系和运算符体系;
4、能正确构成有基本数据类型组成的基本类型的表达式。
重点:基本数据类型常量的书写方法和变量的定义、赋值、初始化、使用方法;基本运算符的运算规则及优先级别;表达式的构成规则和计算。难点:运算符的优先级别;混合表达式计算;逻辑值的表示方法。【参考学时】4学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社] 第4章 最简单的C程序设计-顺序程序设计
第一节 C语句概述
C语言中的语句类型。第二节 赋值语句
赋值语句的用法。
第三节 数据输入输出的概念及在C语言中的实现
输入、输出概念;输入/输出实现方式。第四节 字符数据的输入输出
putchar函数的使用;getchar函数的使用。第五节 格式输入与输出
printf函数的使用;scanf函数的使用。第六节 顺序结构设计程序举例 【基本要求】
1、了解C语言所包含的语句;
2、熟练掌握赋值语句以及字符输入输出、格式输入输出函数的使用方法;
3、学会按照一定的格式输出相应的数据类型,能正确设计顺序结构的程序。重点:赋值语句的格式和功能;字符和格式输入/输出函数的调用格式和功能。难点:格式输入/输出函数中格式控制字符的使用。【参考学时】4学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第5章 选择结构程序设计
第一节 关系运算符和关系表达式
关系运算符及其优先次序;关系表达式。第二节 逻辑运算符和逻辑表达式
逻辑运算符及其优先次序;逻辑表达式。第三节 if语句
if语句的三种形式;if语句的嵌套;条件运算符。第四节 switch语句
swtich语句的用法。第五节 程序举例 【基本要求】
1、掌握关系运算符、逻辑运算符的运算规则以及关系表达式和逻辑表达式的使用;
2、掌握条件运算符、条件表达式的使用;
3、熟练掌握条件选择语句if语句的使用;
4、熟练掌握多分支语句switch语句的使用。
重点:关系运算符、逻辑运算符、条件运算符的使用,混合运算时的优先级别; if语句的语法格式;if语句的嵌套;使用switch语句实现多分支结构的程序设计方法。
难点:运算符混合运算的优先级别;if语句的嵌套;switch语句的使用。【参考学时】4学时
【参考资料】[1.谭浩强《C程序设计》(第三版)清华大学出版社2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第6章 循环控制
第一节 概述
C语言中实现循环的语句类型。第二节 goto以及用goto语句构成循环
goto语句的用法。第三节 while语句
while语句的用法。第四节 do-while语句
do-while语句的用法。第五节 for语句
for语句的用法。第六节 循环的嵌套
循环嵌套的种类;嵌套语法。第七节 几种循环的比较
第八节 break语句和continue语句
break语句;continue语句。第九节 程序举例 【基本要求】
1、熟练掌握循环结构的控制语句:while语句、do_while语句、for 语句的用法;
2、掌握三种循环控制语句的区别和联系;
3、掌握break、continue、goto语句的功能和语法格式;
4、能够根据循环结构的要求正确选取循环语句来实现循环,掌握循环程序的执行过程。
重点:三种循环语句while、do_while、for的使用;break、continue、goto语句的使用;循环程序的执行过程;嵌套的循环程序。
难点:循环程序的执行过程;嵌套的循环程序。【参考学时】4学时
【参考资料】[谭浩强 《C程序设计》(第三版)清华大学出版社2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第7章 数组
第一节 一维数组的定义和使用
一维数组的定义;一维数组元素的引用;一维数组的初始化;一维数组程序举例。第二节 二维数组的定义和使用
二维数组的定义;二维数组的引用;二维数组的初始化;二维数组程序举例。第三节 字符数组
字符数组的定义;字符数组的初始化;字符数组的引用;字符串和字符串结束标志;字符数组的输入输出;字符串处理函数;字符数组的应用。【基本要求】
1、掌握数组的概念、一维数组、二维数组和多维数组的定义和使用;
2、掌握字符数组、字符串的区别和具体应用;
3、掌握处理字符串的系统函数的使用方法。
重点:一维数组、二维数组和多维数组的定义和使用;字符串的处理函数的使用。难点:字符数组、字符串的区别,存放若干字符和存放字符串的字符类型数组的差别。【参考学时】6学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第8章 函数
第一节 概述
函数的作用及分类。第二节 函数定义的一般形式
无参函数的定义形式;有参函数定义的一般形式;空函数;形参声明的方式。第三节 函数参数和函数的值
形式参数;实际参数;函数的返回值。第四节 函数的调用
函数调用的一般形式;函数调用的方式;对被调函数的声明;函数原型。第五节 函数的嵌套调用
函数嵌套调用的含义及其方式。第六节 函数的递归调用
递归;函数递归调用的方式。第七节 数组作为函数参数
数组元素作为函数实参;数组名作为函数参数;多维数组名作为函数参数。第八节 局部变量和全局变量
局部变量;全局变量;局部变量和全局变量的使用。第九节 变量的存储类别
动态存储方式和静态存储方式;auto变量;用static声明局部变量;register变量;用extern声明外部变量;用static声明外部变量;变量的声明和定义的区别。第十节 内部函数和外部函数
内部函数;外部函数。
第十一节 如何运行一个多文件的程序
在Turbo C集成环境下编译连接多文件结构的方法。【基本要求】
1、熟练掌握函数的结构、设计方法和调用方法;
2、掌握函数调用中数据传递的两种方式——值传递和地址传递的区别;
3、掌握C程序中变量的存储类型以及使用;
4、掌握嵌套调用函数、递归函数的使用并能正确使用各种常用的系统函数。
重点:函数的定义和调用方法;调用函数时数据传递方法;常用系统函数的使用。难点:值传递和地址传递的区别;编写递归函数。【参考学时】8学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第9章 预处理命令
第一节 宏定义
不带参数的宏定义;带参数的宏定义。第二节 “文件包含”处理
“文件包含”命令及其使用。第三节 条件编译
条件编译命令及其使用。【基本要求】
1、掌握宏定义和宏替换的一般方法;
2、掌握文件包含的处理方法;
3、了解条件编译的作用和实现方法。
重点:无参数的宏定义和宏替换;带参数的宏定义和宏替换;文件包含处理。难点:带参数的宏定义和宏替换。【参考学时】1学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第10章 指针
第一节 指针和地址的概念
内存地址及其访问方式;指针。第二节 变量的指针和指向变量的指针变量
变量的指针;指针变量的定义;指针变量的引用;指针变量作为函数参数。第三节 数组和指针
指向数组元素的指针;通过指针引用数组元素的方法;数组名指针变量作为函数参数的用法;指向多维数组的指针和指针变量。第四节 字符串和指针
字符串的表示形式;字符串指针作为函数参数;使用字符指针变量与使用字符数组的区别。
第五节 函数的指针和指向函数的指针变量
用函数指针变量调用函数;用指向函数的指针作为函数参数。第六节 返回指针值的函数
返回指针的函数的定义及其使用。第七节 指针数组和指向指针的指针
指针数组的概念;指向指针的指针;指针数组作main函数的形参。第八节 有关指针的数据类型和指针运算的小结
指针数据类型;指针运算;void指针类型。【基本要求】
1、掌握地址和指针的概念及二者之间的关系;
2、熟练掌握定义指针变量和访问该变量的方法;
3、掌握指针变量的各种使用方法。
重点:指针变量的定义、初始化和赋值方法;利用指向变量、数组、字符串的指针变量来正确引用变量、数组、字符串;指针变量作为函数参数的情况;
难点:指针变量作为函数参数的情况;指向多维数组的指针变量和多维数组的地址。【参考学时】9学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第11章 结构体与共用体
第一节 概述
结构体类型的作用;结构体类型的定义。第二节 定义结构体变量的方法
定义结构体变量的三种方法。第三节 结构体变量的引用
结构体变量的引用原则。第四节 结构体变量的初始化
结构体变量的初始化方法。第五节 结构体数组
结构体数组的定义;结构体数组的初始化;结构体数组的应用。第六节 指向结构体类型数据的指针
指向结构体变量的指针;指向结构体数组的指针;用结构体变量和指向结构体的指针作为函数参数。
第七节 用指针处理链表
链表的概念;链表的结构;处理动态链表的函数;动态链表的建立;链表的输出;链表的删除操作;链表的插入操作;链表的应用。第八节 共用体
共用体的概念;共用体变量的引用方式;共用体类型数据的特点。第九节 枚举类型
枚举的概念;枚举型数据的定义和使用。第十节 用typedef定义类型
typedef定义类型的方式。【基本要求】
1、熟练掌握结构体构造数据类型的定义、初始化和使用;
2、掌握链表处理的过程以及共用体数据类型的定义和使用;
3、了解枚举类型的定义和使用和typedef自己定义类型的方法。
重点:结构体、共用体、枚举类型的特点和使用;结构体型变量、数组、指针变量的定义、初始化和成员引用方法;链表的建立,插入和删除等操作。
难点:嵌套的结构类型数据的处理;链表处理。【参考学时】8学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第12章 位运算
第一节 位运算和位运算符
“按位与”运算符;“按位或”运算符;“异或”运算符;“取反”运算符;左移运算符;右移运算符;为运算赋值运算符。第二节 位运算举例 第三节 位段
位段的概念;位段的使用。【基本要求】
掌握位运算符和位运算的基本操作。
重点:位运算符的功能;位段的概念及使用。难点:位段的使用。【参考学时】2学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]
第13章 文件 第一节 C文件概述
文件的概念;文件的类型和处理方式。第二节 文件类型指针
文件指针的定义方法。第三节 文件的打开与关闭
文件的打开;文件的关闭。第四节 文件的读写
fputc函数及其使用;fgetc函数及其使用;fread函数和fwrite函数及其使用;fprintf函数和fscanf函数及其使用;其他读写函数。第五节 文件的定位
rewind函数;fseek函数和随机读写;ftell函数。第六节 出错的检测
ferror函数;clearerr函数。第七节 文件输入输出小结
【基本要求】
1、要求掌握缓冲文件系统中有关文件操作的系统函数的使用方法;
2、掌握设计并编写对文件进行处理的实用程序。
重点:缓冲文件系统中“文件型”指针的概念;有关文件操作的系统函数的使用。难点:文件处理系统函数的使用,掌握各个函数中参数的功能和区别。【参考学时】4学时
【参考资料】[1.谭浩强 《C程序设计》(第三版)清华大学出版社 2.谭浩强、张基温、唐永炎《C语言程序设计教程》高等教育出版社(第二版)3.谭浩强 《C程序设计习题及上机指导》 清华大学出版社]