第一篇:《C 程序设计》教学大纲第二版
《面向对象C++程序设计》教学大纲 1 《C++程序设计》教学大纲第二版
一、本课程的地位、作用和任务
程序设计课程是大学生的基础课,也是第一门计算机课程(计算机文化基础已是中学教学大纲的要求),包括面向对象程序设计及最基本的数据结构和软件工程的知识。其任务是培养学生的面向对象的编程能力,也锻炼大学生的逻辑思维能力。这里选用C++语言为教学语言。
二、学时安排
本教程授课时数56学时,上机实验56学时(含课外上机),分为两个学期完成(这样教学效果明显优于一个学期完成)。鉴于学时有限,要求精讲多练。另有小型软件设计的实践环节(课程设计,短学期),16学时加上机实验32学时(含课外上机)。
三、教学基本内容 理论教学部分
整个教学过程应围绕面向对象C++程序设计的关键技术精讲多练:要求学生熟练应用多态(重载和超载),熟练应用模板,熟练应用派生,熟练应用聚合。习惯在构造函数中动态分配资源、在析构函数中释放资源和异常处理的方式。
正确处理编程细节与大局观:在第一学期的教学中对算法的描述,侧重于采用C++语言编程的细节的讲解。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数” 的教学中要严格贯彻这一要求。教师在课堂教学时应多做控制台应用程序设计全过程演示。之后是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强。建议在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C++语言的算法本身的描述和程序整体的构造,使学生的编程能力上一个台阶。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
1.C++基础知识(4学时)
1)初识C++程序;
2)了解类型潜在的面向对象的特性——值集与操作集的封装
3)掌握基本数据类型和运算:关键字与标识符,基本数据类型,数组,枚举类型,运算符、表达式和优先级; 4)理解类型的相容性与不相容性; 5)标准输入输出简介。
2.基本控制结构程序设计(8学时)
1)了解算法的描述与程序设计三种基本结构;
2)掌握选择结构程序设计:if 语句,switch语句;
《面向对象C++程序设计》教学大纲 2 3)掌握循环结构程序设计: while语句,for语句,do„while语句; 4)掌握常用算法的应用:直接法,枚举法,递推法,迭代法,递归法(在函数部分);
5)应用结构化技术分解程序,设计、实现、测试和查错简单程序; 6)熟悉输入输出文本文件简单应用。
3.函数(6学时)
1)理解函数抽象机制:函数定义与函数的调用; 2)理解参数化机制(值调用),了解参数的传递过程; 3)了解函数的返回值及函数原型说明;
4)理解全局变量,局部变量,变量的存储类型与作用域,生命期与可见性;
5)掌握函数的递归调用,编写、测试、调试简单的递归函数; 6)了解函数重载,默认变元,内联函数;
4.类与对象(上)(4学时)
1)了解传统的结构化程序设计和面向对象程序设计的基本概念; 2)理解面向对象程序设计和封装、抽象的合理性;
3)掌握类定义、属性与行为、访问权限控制,对象的定义、使用及内存的安排,掌握类机制如何支持封装和信息隐藏;
4)理解构造函数与析构函数,掌握由构造函数建立类对象,由析构函数撤销类对象的机制;
5)掌握引用技术,理解值调用和引用调用在参数传递中的不同;
以上第一学期学习内容,共24学时,其中留有2学时机动。
(下)(3学时)
6)掌握函数重载技术与运算符重载技术 7)了解友元,静态数据成员;
5.数组与指针(4学时)
1)掌握数组与多维数组;
2)掌握指针与地址、指针与数组的对应关系,数组名,指针运算; 3)熟悉标准C++字符串与了解C风格字符串。4)了解向函数传递数组或指针的方法;
6.模板与数据结构(5学时)
1)熟悉函数模板与类模版;
2)线性表:掌握模板编写程序的方法,掌握顺序表在内存中的分配与使用;
3)掌握主要查找与排序的算法;
5)模板与类参数,理解类型参数和参数化类型(模板)。
7.动态内存分配与数据结构(6学时)
《面向对象C++程序设计》教学大纲 3 1)了解动态数据结构和静态数据结构实现的差异;
2)熟悉自由存储区内存分配、自由存储区与复制构造函数、深复制与浅复制;
3)掌握链表在内存中的分配,掌握链表的基本操作与使用,; 4)了解栈与队列及其基本操作;
8.类的继承与派生(6学时)
1)了解继承的概念,了解面向对象设计中继承和多态的合理性; 2)熟悉派生类的构造与析构;
4)掌握在对象中使用类层次和继承思想进行设计、实现和测试的方法; 5)区别运行时的多态性的实现,理解重载与同名覆盖的差异; 6)掌握虚函数与多态性。
7)熟悉实现运行时多态性的程序设计;
9.输入/输出流类库(4学时)
1)了解C++的基本流类体系; 2)掌握提取与插入运算符的重载
3)熟悉文件的输入/输出:文件的打开与关闭,文本文件与二进制文件。4)掌握在构造函数中通过文件建立对象,在析构函数中由文件保存对象的技术。
10.异常处理(2学时)
1)了解异常处理机制: try块,异常抛出throw,异常捕获catch; 2)理解栈展开与异常捕获的过程; 3)了解异常和继承;
4)会编写能响应执行中异常情况的代码。
以上第二学期教学内容,共32学时,留有2学时机动。
同步实验部分
以Visual C++ 6.0 集成开发环境下的控制台应用程序为背景,共26个(实际29个,3个选做)实验。对应精讲多练,实验安排比较丰富。实验一
Visual C++集成开发环境(IDE)入门 实验二
简单的C++程序设计 实验三
分支结构程序设计 实验四
循环结构程序设计
实验五
常用算法:枚举法 递推法 迭代法 实验六 文本文件简单应用 实验七 函数的基本概念 实验八 函数的递归算法
实验九 函数的重载和变量的作用域 实验十 类与对象的基本概念 实验十一
引用与复制构造函数 实验十二 运算符重载
《面向对象C++程序设计》教学大纲 4 实验十三 数组与多维数组 实验十四 指针与数组 实验十五 模板与线性表 实验十六 排序与查找 实验十七 模板与类参数
实验十八 动态内存分配与深复制 实验十九 链表及应用
实验二十 栈与队列的操作
实验二十一 继承与派生基本概念 实验二十二 虚函数与多态 实验二十三 纯虚函数
实验二十四 输入输出与重载 实验二十五 文件 实验二十六
异常处理
课程设计部分
要求采用事件驱动编程方法完成。课堂教学——Windows程序设计基础
1)API函数与传统的Windows编程; 2)MFC编程;
3)Windows对象和对象句柄; 4)MFC对象;
5)MFC的消息映射与命令传递; 6)文档/视图结构和序列化。
7)MFC编程操作,可安排学生提前自学为主,教师进行重点内容讲解和演示。要求内容简洁而不失完整性:由应用程序向导建立程序框架,由资源编辑器建立用户界面,由类向导建立成员变量、消息映射和处理函数,加上文档序列化和注册;使学生对MFC编程的关键步骤一目了然。
8)介绍研究型学习和管理及多媒体软件编制方法。9)实验
对话框与控件 4学时 文档-视图结构及图形与文本输出 4学时 序列化和文件操作 4学时 多文档与多重视图 4学时
课程设计
采用研究型学习方法,由学生分组在辅导教师(研究生)指导下自选题目,调研并自定内容,强调参与开发的全过程。
上机
16学时
四、说明——课程体系特点与教学:
第一,建立新的面向对象的C++教学体系。
强调类对象个性实现的关键技术——多态,包括重载(编译时的多态,《面向对象C++程序设计》教学大纲 5 包括函数与运算符重载)、层次结构中的同名覆盖与超载(运行时的多态)。在教学中尽早引入这些技术。引入的越早应用的机会越多。普遍使用这些技术是面向对象的C++的标志。
提倡完善的类对象封装,不仅封装数据和对数据的操作,而且封装资源(尤其是内存)的动态分配与释放,形成一个完备的子系统。在一个有层次结构的类体系中资源的动态分配与释放应该封装在成员对象中,如使用标准的string字符串类那样。
突出模板相关内容的教学。不是将模板作为一种语法现象,而是作为一个有力的工具用于本教材所涉及的全部数据结构基本知识。
介绍怎样在面向对象的程序设计中使用异常处理技术来处理一些很难查找甚至是无法避免的运行时错误和异常。
总之,不是泛泛介绍面向对象的C++的语法和框架,而是突出实用技术,包括完善的封装、派生、多态和模板,在构造函数中动态分配资源、在析构函数中释放资源和异常处理,这是面向对象的C++程序设计的精髓。
第二,强调算法,注意介绍有关独立于任何特定编程语言的算法概念和结构,即突出程序设计而不是语法。强调算法,不是忽视语法,而是不要繁琐的钻牛角尖的语法,我们要的是基本的常用的语法,但更多的是模仿。不是知道的语法越多,程序编得越好,而是自己动手编程越多,程序编得越好。
第三,培养面向对象程序设计能力。掌握怎样从客观事物中抽象出类来的方法。基础教学与实践教学相结合。在基础教学中采用Windows平台下的控制台方式(命令行方式)以突出编程能力的培养。在实践部分比较全面地学习标准的Windows图形界面编程。采用研究型学习进行课程设计。
该教学体系培养的学生所编的程序给人的第一影响应该是:这是规范的面向对象的程序。
对于需要计算机知识较多的专业,程序设计课程应考虑后续课程的需要。尤其是电气电子信息类专业的学生的后续课程中需要大量的面向过程的程序设计的基础知识,包括汇编语言的编程,单片机、嵌入式系统和DSP的C语言编程。面向对象的程序设计其实与面向过程的程序设计是密不可分的。在本课程中,算法的描述实际上是面向过程的,而面向对象是一种包装,它使程序的整体组织更合理,使用起来更方便。教学中应该合理地将两个方面有机地结合起来,即细节上算法的编程和程序总体上的把握并重。
在第一学期的教学中对算法的描述,必须侧重于采用C++语言编程的细节的讲解,即培养学生对算法的编程能力。要求学生学会先分析算法,再画流程图,最后进行编程。特别是在“基本控制结构程序设计”和“函数”这两章的教学中要严格贯彻这一要求。“类与对象”(上)是过渡阶段,对编程的细节的讲授随教学推进而逐渐淡化,对程序的整体掌握的要求逐渐加强,使学生的编程能力上一个台阶。
在第二学期的教学中,算法表述的细节基本留给学生自己看,教师重点讲解脱离具体C++语言的算法本身的描述和程序整体的构造。一方面提高学生的自学能力,另一方面引导学生的编程的大局观。
第二篇:《C程序设计》教学大纲
《C程序设计》教学大纲
一、课程的性质和任务
本课程为计算数学专业本科生的必修课。通过对C程序设计的基本知识、基本概念、基本技能的学习和训练,使学生掌握C语言的语法规则、开发环境以及程序设计的基本方法和技能。培养学生利用C语言进行程序设计的基本能力,并为后续专业课的学习以及在可视化环境下进行面向对象的编程打下扎实的基础。
二、课程教学与基本要求
重点介绍C语言的基本知识(如基本数据类型、表达式、数组、函数、宏定义、指针、结构和文件)和程序设计的基本方法(即:结构化程序设计方法以及顺序、选择、循环、模块等结构的程序设计方法),还介绍指针、文件等在程序设计中的应用。
三、适应专业
计算数学、基础数学、经济管理专业本科学生。
四、预修课程
计算机基础知识。
五、学时
总学时:98学时 讲授学时:68学时 实验学时:32学时
学分:4 第一、二章 C简介、算法 8学时
第三章 数据类型、运算符、表达式 6学时
第四章 顺序结构程序设计 4学时
第五章 选择结构程序设计 4学时
第六章 循环结构程序设计 6学时
第七章 数组 8学时
第八章 函数 6学时
第九章 编译预处理 3学时
第十章 指针 12学时
第十一章 结构体与共用体 5学时
第十二章 位运算 2学时
第十三章 文件 4学时
六、讲授内容
1.C语言的特点、简单的C程序介绍、C语言的编译环境
2.算法的概念、特性,三种基本结构、用传统流程图和N-S流程图表示算法。3.C的数据类型(整型、实型、字符型等),运算符和表达式。4.数据的输入和输出(printf()和scanf()函数等)、顺序结构程序设计。
5.选择结构程序设计:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句和switch语句。
6.循环结构程序设计:用goto语句和if语句构成循环、用while语句、do-while语句、for语句构成循环以及break语句和continue语句。
7.数组的定义和使用(包括一维数组、二维数组和字符数组)。
8.函数的定义和调用,函数的嵌套调用、递归调用;局部变量与全局变量、变量的动态存储和静态存储;内部函数与外部函数。
9.预处理命令:宏定义、文件包含、条件编译。
10.指针变量的定义和使用;数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量;指针型函数和指针数组。
11.结构体与共用体变量的定义和使用,结构体数组和指向结构体数据的指针,枚举类型。12.位运算符和位运算,位段。13.文件的打开、关闭与读写。
七、实验内容和学时分配(34学时)1.熟悉C语言的编译环境(2学时)
2.C的数据类型(整型、实型、字符型等),运算符和表达式。(2学时)3.数据的输入和输出(printf()和scanf()函数等)、顺序结构程序设计(3学时)。
4.选择结构程序设计:关系运算符和关系表达式、逻辑运算符和逻辑表达式、if语句和switch语句。(3学时)
5.循环结构程序设计:用goto语句和if语句构成循环、用while语句、do-while语句、for语句构成循环以及break语句和continue语句。(3学时)6.数组的定义和使用(包括一维数组、二维数组和字符数组)。(3学时)
7.函数的定义和调用,函数的嵌套调用、递归调用;局部变量与全局变量、变量的动态存储和静态存储;内部函数与外部函数。(3学时)8.预处理命令:宏定义、文件包含、条件编译。(2学时)
9.指针变量的定义和使用;数组的指针和指向数组的指针变量、字符串的指针和指向字符串的指针变量、函数的指针和指向函数的指针变量;指针型函数和指针数组。(7学时)10.结构体与共用体变量的定义和使用,结构体数组和指向结构体数据的指针,枚举类型。(2学时)11.位运算符和位运算,位段。(2学时)12.文件的打开、关闭与读写。(2学时)
八、教材与参考书
教材:谭浩强, 《C程序设计》(第二版),清华大学出版社,1999年 参考书:谭浩强, 《C程序设计题解与上机指导》,清华大学出版社,2000年
第三篇:C程序设计教学大纲
C语言教学大纲
说明:
1、性质
C语言是近年来国内外得到迅速推广使用的一种现代计算机语言,不少迫切希望学习和使用C语言,是鉴于C语言功能强,使用灵活,目标程序效率高,可移植性好,对硬件的控制能力强。C语言即适合作系统描述语言,又可用来开发系统软件和应用软件。本科目是物理教育专业的限选课程。
2、课程要求:
通过本课程的学习,要求学生:
(1)熟悉和掌握C语言的结构、数据类型及其常用算法、语法形式、功能和程序开发过程的概念。
(2)理解结构化程序设计的概念,熟练使用结构化流程图工具;掌握用C语言设计常用程序的方法和技巧,掌握C语言特有的语言设施——指针的灵活使用。
(3)能在计算机上使用C语言编制、调制、执行程序。
3、先行课:
要求学生在学习《C程序设计》课程前,应已学习过计算机基础知识和具有初级应用能力。
4、使用教材:
《C语言程序设计教程》,高等教育出版社,谭浩强著。总课时为72课时,其中上机完成作业时间,不优于18课时,4学分。
内容
第一章 C语言概述(建议学时1课时)
1、C语言出现的历史背景
2、C语言的特点
3、简单的C程序介绍
4、C程序的上机步骤
目标要求:了解C语言的发展史、特点
第二章 程序的灵魂——算法(建议学时3课时)
1、算法的概念
2、简单算法举例
3、算法的特性
4、怎样表示一个算法
5、结构化程序设计方法 目标要求:了解最基本的算法
第三章 数据类型、运算符与表达式(建议学时4课时)
1、C的数据类型
2、常量与变量
3、整型数据
4、实型数据
5、字符型数据
6、变量赋初值
7、各类数值型数据间的混合运算
8、算术运算符和算术表达式
9、赋值运算符和赋值表达式
10、逗号运算符和逗号表达式
目标要求:了解基本数据类型及运算
第四章 最简单的C程序设计——顺序程序设计(建议学时5课时)
1、C语句概述
2、赋值语句
3、数据输入输出的概念及在C语言中的实现
4、字符数据的输入输出
5、格式输入与输出
6、顺序结构程序设计举例 目标要求:学会顺序程序设计
第五章 选择结构程序设计(建议学时5课时)
1、关系运算符和关系表达式
2、逻辑运算符和逻辑表达式
3、if语句
4、switch语句
5、程序举例
目标要求:学会选择程序设计
第六章 循环控制(建议学时6课时)
1、概述
2、goto语句以及用goto语句构成循环
3、while语句
4、do-while语句
5、for语句
6、循环的嵌套
7、几种循环的比较
8、break语句和continue语句
9、程序举例
目标要求:学会循环程序设计 第七章 数组(建议学时8课时)
1、一维数组的定义和引用
2、二维数组的定义和引用
3、字符数组
目标要求:学会数组的使用
第八章 函数(建议学时8课时)
1、概述
2、函数定义的一般形式
3、函数参数和函数的值
4、函数的调用
5、函数的嵌套调用
6、函数的递归调用
7、数组作为函数参数
8、局部变量和全局变量
9、变量的存储类别
10、内部函数和外部函数
11、如何运行一个多文件的程序 目标要求:学会函数的使用
第九章 预处理命令(建议学时3课时)
1、宏定义
2、“文件包含”处理
3、条件编译
目标要求:掌握基本预处理命令的应用 第十章 指针(建议学时4课时)
1、地址和指针的概念
2、变量的指针和指向变量的指针变量
3、数组的指针和指向数组的指针变量
4、字符串的指针和指向字符串的指针变量
5、函数的指针和指向函数的指针变量
6、返回指针值的函数
7、指针数组和指向指针的指针
8、有关指针的数据类型和指针运算的小结 目标要求:掌握指针的基本应用
第十一章 结构体与共用体(建议学时2课时)
1、概述
2、定义结构体类型变量的方法
3、结构体变量的引用
4、结构体变量的初始化
5、结构体数组
6、指向结构体类型数据的指针
7、用指针处理链表
8、共用体
9、枚举类型
10、用typedef定义类型
目标要求:掌握结构体的基本应用 第十二章 位运算(建议学时2课时)
1、位运算符和位运算
2、位运算举例
3、位段
目标要求:掌握位的基本运算 第十三章 文件(建议学时2课时)
1、C文件概述
2、文件类型指针
3、文件的打开与关闭
4、文件的读写
5、文件的定位
6、出错的检测
7、文件的输入输出小结
目标要求:掌握文件的基本操作
参考书目:
[1] 谭浩强
著 《C程序设计》 清华大学出版社 1999年12月第2版平面设计教学大纲
说明:
1、课程要求
通过本课程的学习,要求学生:
熟悉和掌握Photoshop的图像处理技术,包括位图图像的基础知识、颜色理论和色彩调整、图像描绘与修复技术等。
2、先行课:
要求学生在学习《平面设计》课程前,应已学习过计算机基础知识和具有初级应用能力。
总课时为72课时,其中上机完成作业时间,不优于18小时,4学分。
内容
第一章
Photoshop中文版入门(建设学时1课时)
1、Photoshop5.0中文版新增功能
2、Photoshop5.0中文版安装
3、获得帮助信息
4、浏览Photoshop5.0中文版界面
5、Photoshop5.0中文版工具箱
6、Photoshop5.0中文版的调板
第二章
Photoshop5.0中文版图像处理基础(建设学时2课时)
1、打开文件
2、创建新图像
3、保存和关闭图像
4、改变图像尺寸
5、Photoshop5.0中文版的数据交换
6、打印图像
第三章
定制Photoshop5.0中文版(建设学时1课时)
1、使用“预置”子菜单
2、使用“色彩设置”命令
3、设置屏幕组件
第四章
使用颜色(建设学时2课时)
1、理解色彩模式与色彩理论
2、RGB模式
3、CMYK模式
4、Lab模式
5、HSB模式
6、“灰度”模式
7、位图模式
8、索引模式
9、选择模式
10、调整图像的颜色
第五章
图像选择技巧(建设学时4课时)
1、选框工具
2、套索类工具
3、魔棒工具
4、选区的修改技巧
第六章
创建路径(建设学时2课时)
1、认识路径
2、创建路径
3、调整路径
4、编辑路径
第七章
图像描绘技术(建设学时6课时)
1、使用直线工具
2、使用铅笔工具
3、使用画笔工具
4、使用喷枪工具
5、使用橡皮擦工具
6、使用油漆桶工具
7、使用测量工具
8、自定义笔刷
9、使用渐变工具
第八章
图像修整技术(建设学时4课时)
1、使用模糊工具、锐化工具和涂抹工具
2、减淡工具、加深工具和海绵工具
3、使用橡皮图章工具和图案图章工具
4、笔刷合成模式
第九章
使用通道与蒙版(建设学时4课时)
1、理解通道和通道调板
2、查看颜色通道
3、快速蒙版模式
4、使用Alpha通道
第十章
使用图层(建设学时8课时)
1、理解图层
2、管理图层
3、编辑图层
4、层效果
5、调整图层选项
第十一章 在Photoshop5.0中文版使用文字(建设学时4课时)
1、Photoshop5.0中文版的字体
2、使用文字工具
3、文字蒙版工具
第十二章 Photoshop5.0中文版中的滤镜(建设学时8课时)
1、滤镜入门
2、艺术效果滤镜组
3、象素化滤镜组
4、渲染滤镜组
5、素描滤镜组
6、风格化滤镜组
参考书目:
[1] 康博创作室编著
《Photoshop5.0中文版实用教程》人民邮电出版社
第四篇:程序设计技术(C)教学大纲
C程序设计技术教学大纲
一、课程名称:C程序设计技术
二、课程代码:18012735
三、课程英文名称:C Programming Technology
四、课程负责人:熊壮
五、学时和学分:56(40+32/2),3.5学分
六、课程性质:必修/选修
七、适用专业:非计算机理工科各专业
八、选课对象:非计算机理工科各专业
九、预修课程:大学计算机基础、高等数学
十、使用教材:熊壮主编.程序设计技术(第三版).重庆大学出版社.2008
十一、参考书目:
梁光春、曾
一、熊壮编著.计算机软件技术基础.重庆大学出版.2000 Brian W.Kernighan & Dennis M.Ritchie著.The C Programming Language.机械工业出版社.2006 Eric S.Roberts著.C程序设计的抽象思维.机械工业出版社.2004 Robert Sedgewick著.周良忠译.C算法.人民邮电出版社.2004
十二、开课单位:计算机学院
十三、课程的目的和任务:
“程序设计技术”课程是我校为非计算机专业理工科学生设置的一门重要的计算机基础课程。程序设计技术和程序设计语言是大学计算机基础系列课程中的重要组成部分,培养学生的逻辑思维能力、抽象能力和基本的程序设计能力是程序设计技术课程的主要任务。本课程通过C程序设计语言介绍结构化程序设计的基本思想和基本技术,通过对典型实例的算法描述以及相应C语言代码描述展现了在程序设计过程中如何对问题进行分析,如何组织数据和如何描述解决问题的方法,展现了在计算机应用过程中如何将方法和编码相联系的具体程序设计过程,进而向学生传授结构化程序设计的基本概念、基本技术和方法。通过本课程的学习,可以为学生学习其他计算机应用课程打下良好的程序设计基础。
十四、课程的基本要求:
1. C语言数据描述和C程序设计初步
2. 结构化程序设计基础和C语言的控制结构 3. 数组及其应用 4. 函数与C程序结构 5. 指针与函数 6. 指针与数组 7. 字符串及其应用
8. 结构体类型和联合体类型 9. C语言的文件处理及其应用
十五、课程描述
1.C语言数据描述和C程序设计初步
C程序的基本结构,C语言的基本数据类型,基本运算符和表达式运算,数据混合运算及数据转换,算法基本概念及算法描述,最基本的输出函数,最基本的输入函数,常用数学类标准库函数使用。2.结构化程序设计基础和C语言的控制结构
关系运算符和关系表达式,逻辑运算符和逻辑表达式,分支结构程序设计基础,循环结构程序设计基础,C语言控制结构简单应用(最大公约数和最小公倍数、穷举思想及程序实现、迭代思想及程序实现、一元高阶方程的迭代解法)。3.数组及其应用
一维数组的定义和初始化,一维数组元素的引用方法,二维数组和多维数组的定义,二维数组和多维数组元素引用方法,数组元素值的随机生成,常用排序方法,常用查找方法。4.函数与C程序结构
函数的定义和函数的声明,值参数传递函数调用,指针基本概念和地址值参数传递函数调用,数组参数传递函数调用,函数的嵌套调用和递归调用,变量的作用域和生存期,编译预处理基础,多源文件C程序的组织方法(使用文件包含的方法、使用工程文件的方法)。5.指针与函数
指向函数指针变量的定义,用指向函数的指针变量来调用函数,指向函数的指针变量作函数参数,返回指针值函数的定义和调用,存储分配标准库函数和动态变量。6.指针与数组
多级指针的定义和使用,一维数组与指针的关系,二维数组与指针的关系,指向由若干元素构成的数组的指针,指针数组的定义和使用,C程序的命令行参数,动态数组的概念(一维动态数组的建立和使用、二维动态数组的建立和使用)。
7.字符串及其应用
字符串的表示方法和字符串的输入输出方法,字符串中有效字符的统计,字符串的复制,字符串的连接,字符串中字符的查找,字符串中字符的插入和删除,字符串的比较和子串的查找,字符串中子串的插入和删除。8.结构体类型和联合体类型
结构体类型和变量的定义,typedef关键字的简单应用,结构体变量的引用和输入输出,结构体变量作函数的参数,结构体作函数的返回值类型,结构体数组的定义和数组元素引用,结构体数组作函数的参数,结构体数据类型与指针的关系,结构体数据类型的简单应用——单链表,联合体类型的定义和变量的引用方法,联合体类型与结构体类型的区别。9.C语言的文件处理及其应用
文件概念与文件类型指针,文件的打开和关闭,文件内部读写位置指针以及文件尾的检测方法,文件中的单个字符读写操作,文件中的字符串读写操作,文件中的格式化读写操作,文件中的数据块读写操作,文件内部读写位置指针的定位操作,随机文件处理基础。10.位运算与枚举类型
位运算符和位运算表达式,位运算的简单应用,位段的概念和定义方法以及位段的引用方法,枚举类型的定义和枚举变量的引用以及枚举类型的简单应用。
十六、学时分配
1. C语言数据描述和C程序设计初步
2. 结构化程序设计基础和C语言的控制结构 3. 数组及其应用
4. 函数与C程序结构
5. 指针与函数
6. 指针与数组
7. 字符串及其应用
8. 结构体类型和联合体类型
9. C语言的文件处理及其应用
10.位运算与枚举类型
十七、能承担此课的教师:
4学时 6学时 3学时 6学时 3学时 5学时 4学时 5学时 4学时(选学)
教学大纲制定者:熊壮 教学大纲审定者:
第五篇:《C 程序设计》理论课教学大纲.2008
《C程序设计》课程教学大纲
课程编号:20003B1
学时:80(理论学时56,实验学时24)
学分:4.5 适用对象:信息工程专业本科学生 先修课程:计算机导论 考核要求:考试
使用教材及主要参考书:
谭浩强著,《C程序设计(第三版)》,清华大学出版社,2005 谭浩强等编著,《C语言程序设计教程》,高等教育出版社,1998 谭浩强等编著,《C程序设计试题汇编》,清华大学出版社,2006
一、课程的性质和任务
《C程序设计》是信息工程专业本科学生十分重要的一门专业基础课程。作为开设的第一门程序设计语言课程,其主要任务是介绍C语言相关的基本知识,使学生掌握高级语言的基本程序设计方法,得到程序设计技能的基本训练,逐步积累算法设计和程序调试的常用技巧;并使之能运用所学解决常见的应用问题,为后续专业课程的学习奠定良好基础。
二、教学目的与要求
本课程作为一门实践性很强的专业课,既强调对理论的掌握,又强调对上机编辑、调试、运行程序能力的锻炼。课程设置目的是最终使学生能运用结构化程序设计的思想和方法自行编写程序解决实际应用问题,在程序设计方面基本达到“综合应用”的层次,并形成自己优良的编程风格。要求学生掌握C语言的基本语法,熟悉各种数据类型、各类变量的使用规则,熟悉数组、函数调用、指针等操作,掌握顺序、选择和循环等基本结构的程序设计方法,熟练掌握基本的结构化编程思想,并能运用这些知识设计C程序解决一般应用问题。
三、学时分配
章节 2 3 C语言概述
程序的灵魂——算法 数据类型、运算符与表达式
课程内容 学时 4 6
续表
章节 5 6 7 8 9 10 11 12 13 14
课程内容
最简单的C程序设计——顺序程序设计 选择结构程序设计 循环控制 数组 函数 预处理命令 指针
结构体与共用体 位运算 文件
常见错误和程序调试
学时 6 8 6 8 1 6 4 0 0 1
四、教学中应注意的问题
⑴课堂教学:采用多媒体手段结合传统板书方式展开教学,应力求深入浅出、示例生动,以使学生能够较快掌握课程的主要知识、有效把握所学内容的重点与难点。
⑵实验教学:应适时组织学生回顾课程中的重要概念,进一步展开对典型问题解决方案的探讨,在强调动手能力锻炼的同时,巩固理论知识,加深理解、强化记忆。
⑶自学与练习:除掌握教科书中所述内容外,还应要求学生在课后主动编写小型应用程序以加深对知识的理解,提高解决实际问题的能力。
五、教学内容
第一章 C语言概述
1.基本内容:
1)2)3)4)C语言出现的历史背景 C语言的特点
简单的C语言程序介绍 运行C程序的步骤与方法
2.教学基本要求:
1)了解C语言的基本特征及C语言的发展历史 2)掌握简单的C语言程序格式
3)熟练掌握C程序的编辑、调试和运行等上机步骤
3.教学重点难点: 1)C程序的基本格式
2)运行C程序的步骤与方法
4.教学建议:
第二章 程序的灵魂——算法
1.基本内容:
1)2)3)4)5)算法的基本概念 算法的特性
算法的几种表示方法(包括自然语言、流程图和伪代码等)三种基本的程序结构 结构化程序设计方法 结合设计实例阐述如何在集成开发环境里编写基本C程序,加深学生对概念知识的理解。
2.教学基本要求:
1)理解算法的概念及特点
2)了解算法的不同表示方法,熟练掌握流程图表示法 3)理解和掌握结构化程序设计思想
3.教学重点难点:
1)2)3)算法的基本概念与特征 算法的基本表示方法
结构化程序设计的思想与方法
4.教学建议:
结合多媒体课件并充分利用其交互性进行讲解,在编程环境里编写程序演示设计实例。
第三章 数据类型、运算符与表达式
1.基本内容:
1)2)3)4)5)6)1)2)3)4)C语言的各种数据类型 常量和变量
各类数值型数据间的混合运算 算术运算符与算术表达式 赋值运算符和赋值表达式 逗号运算符和逗号表达式
2.教学基本要求:
掌握C语言中几种基本数据类型的特征及使用方法
理解与掌握标识符的概念,熟悉变量和符号常量的使用特点 掌握变量声明及其赋初值的方法
熟练掌握算术运算符的使用特点、理解与掌握各运算符的优先级与结合性,掌握算术表达式的使用方法
5)熟练掌握各类数值型数据间的混合运算
6)掌握逗号运算符及其表达式的作用和使用方法
3.教学重点难点:
1)2)3)4)C语言的常量与变量的特征、声明及赋值方法 C语言的整型数据、浮点型数据、字符型数据 算术运算符与算术表达式 各类数值型数据间的混合运算
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第四章 最简单的C程序设计——顺序程序设计
1.基本内容:
1)2)3)4)1)2)3)4)1)2)C语言语句概述
字符数据的输入和输出 输入与输出时的格式控制 顺序结构程序设计举例
掌握C语言的结构特点:程序由函数构成 熟练掌握赋值语句的构成及其使用要点 熟练掌握格式输入/输出函数的使用方法 能编写简单的顺序结构C语言程序
赋值语句的构成及其使用要点
格式输入与输出函数的使用,格式控制字符串的涵义 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第五章 选择结构程序设计
1.基本内容:
1)2)3)4)5)1)2)3)关系运算符和关系表达式 逻辑运算符和逻辑表达式 if语句 switch语句
选择结构程序设计举例
掌握关系运算符、逻辑运算符的使用特点、清楚每种运算符的优先级与结合性,掌握关系表达式、逻辑表达式的作用和使用方法
熟练掌握if语句的三种形式,掌握其基本结构及其嵌套的方法;能将以条件运算符构造的语句转化成对应的if语句形式 掌握switch语句的一般形式,能将较复杂的分支选择结构转换成switch语句用以解决实际应用问题 2.教学基本要求:
3.教学重点难点: 1)2)3)关系运算符、逻辑运算符的使用特点、优先级与结合性 if语句的基本结构及其嵌套使用
switch语句的一般形式及其结束的控制方法
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第六章 循环控制
1.基本内容:
1)2)3)4)5)6)7)1)2)3)4)5)6)7)goto语句及其构造循环时的使用要点 while语句构造循环 do„while语句构造循环 for语句构造循环 循环的嵌套
break语句与continue语句 循环结构程序设计举例
理解goto语句的功能
掌握while语句和do„while语句的结构及使用方法 掌握for语句的基本结构,熟练掌握其使用方法 会使用常用的循环嵌套形式
能正确区分for语句、do„while语句与while语句,掌握它们之间的相互转换方法 掌握break语句和continue语句的应用及其区别
分析总结常用的程序设计方法及算法特点,并能编写相应的程序 2.教学基本要求:
3.教学重点难点:
1)while语句构造循环 2)do„while语句构造循环 3)for语句构造循环 4)循环结构的嵌套
5)不同循环结构之间的相互转换方法
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第七章 数组
1.基本内容:
1)2)3)1)2)
一维数组的定义和引用 二维数组的定义和引用 字符数组
熟练掌握一维数组的定义、初始化及其数组元素的引用方法 掌握二维数组的定义、初始化及其数组元素的引用方法 2.教学基本要求: 3)4)1)2)3)掌握字符数组与字符串的概念与定义方法,熟悉常用的字符串处理函数 掌握利用数组进行应用程序设计的一般方法与典型算法 一维数组与二维数组的定义、初始化及其数组元素的引用方法 字符数组的定义、初始化及其引用方法 字符串处理函数及其应用举例 3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第八章 函数
1.基本内容:
1)2)3)4)5)6)7)8)9)1)2)3)4)5)6)7)8)9)1)2)3)4)函数概述及其定义的一般形式 函数参数与函数值 函数的调用 函数的嵌套调用 函数的递归调用 数组作为函数参数 局部变量与全局变量 变量的存储类别 内部函数与外部函数
理解函数的功能,掌握函数定义的一般形式
熟练掌握函数的形参与实参的对应关系、参数传递方法及函数返回值的概念 掌握函数调用的几种形式 掌握函数嵌套调用的一般过程 掌握函数递归调用的几种形式
掌握数组名作为函数参数的使用特点
理解局部变量和全局变量的概念、差别及其使用特点
了解动态存储变量与静态存储变量的涵义,会正确识别和使用 了解内部函数与外部函数的涵义
函数的形参与实参的对应关系、参数传递方法及函数返回值的概念 函数调用的几种形式
局部变量和全局变量的概念、差别及其使用特点 动态存储变量与静态存储变量的区别和使用方法 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第九章 预处理命令
1.基本内容: 1)2)3)1)2)3)1)2)宏定义
“文件包含”处理 条件编译
了解预处理的概念,掌握各种宏定义的方法 了解“文件包含”与预处理的应用特点 了解条件编译的几种形式
预处理的概念;带/不带参数的宏定义方法 “文件包含”处理的方法 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第十章 指针
1.基本内容:
1)2)3)4)5)6)7)8)1)2)3)4)5)6)7)1)2)3)4)5)地址与指针的概念
变量的指针和指向变量的指针变量 数组与指针 字符串与指针 指向函数的指针 返回指针值的函数
指针数组和指向指针的指针
有关指针的数据类型和指针运算的小结
深刻理解并掌握指针的概念
掌握指针变量的定义和应用特征,掌握其作为函数参数的用法 掌握指向数组的指针与指向数组的指针变量的概念、区别和应用 掌握指向字符串的指针的定义和应用方法 理解指向函数的指针的概念和应用特征
了解返回指针值的函数的涵义,了解它与指向函数的指针变量的区别 了解指针数组、指针的指针的涵义及其使用方法
地址与指针的概念
变量的指针和指向变量的指针变量的差别 指针变量作为函数参数的使用要点
指向数组的指针与指向数组的指针变量的概念、区别和应用 指向字符串的指针的定义和应用方法 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第十一章 结构体与共用体
1.基本内容:
1)2)3)4)5)1)2)3)4)5)1)2)3)定义结构体类型变量的方法 结构体变量的初始化与引用 结构体数组
共用体的概念及引用
枚举类型数据的定义和使用
理解结构体的涵义
掌握结构体类型变量的定义和引用方法
理解共同体的涵义,掌握共同体类型变量的定义方法 了解结构体数组的定义及其数组元素的引用
了解typedef的作用和枚举类型的定义方法,了解枚举型数据的输入输出方法 结构体的涵义
结构体类型变量的定义和引用方法 共同体类型变量的涵义及其定义方法 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第十二章 位运算(自学)
1.基本内容:
1)2)3)1)2)3)位运算符和位运算 位运算举例 位段
了解各种位运算符的特征、运算规则和相互之间的优先级关系 了解位运算的实际应用特征 了解位段的定义和使用 2.教学基本要求:
3.教学重点难点:
各种位运算符的特征、运算规则和相互之间的优先级关系
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第十三章 文件(自学)
1.基本内容:
1)2)3)C文件概述 文件类型指针 文件的打开与关闭
4)5)6)7)1)2)3)4)1)2)文件的读写 文件的定位 出错的检测
文件的输入输出小结
了解文件的相关概念
了解文件类型指针的涵义与定义方法 掌握与文件各种基本操作相关的标准函数 了解出错检测函数的作用
文件类型指针的涵义与定义方法 与文件各种基本操作相关的标准函数 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
第十四章 常见错误和程序调试
1.基本内容:
1)2)1)2)1)2)常见错误分析
程序调试技巧与方法
了解C语言程序的常见错误类别
熟练掌握最基本的C语言程序调试技巧,能运用所学独立调试运行一般应用程序 C语言程序的常见错误类别 常用的程序调试技巧与方法 2.教学基本要求:
3.教学重点难点:
4.教学建议:
结合多媒体课件讲解,在编程环境里编写程序演示设计实例。
执笔人: 刘波 审核人: 分管教学院长:
2007 年 7 月 1 日