C++程序设计教学大纲(郑莉第四版)
《C程序设计》课程教学大纲
《C程序设计》课程教学大纲学分:6学时:108适用专业:计算机网络应用专业(高级)一、课程性质和任务课程性质:本课程是我校计算机类各专业必修的计算机技术基础课程,是数据结构、c++ 、Java、操作系统等课程的前导课程,也是一门实践性很强的课程,既要掌握概念,又要动手编程,还要上机调试运行。
对计算机类专业来说是一门必修的课程。
课程任务:1、了解程序设计的基本知识。
2、了解C程序的基本特点、初步知识和构成。
3、掌握顺序结构、选择结构、循环结构的C程序的构成及编程技巧;。
4、掌握函数定义、调用和编程技巧。
5、掌握数组的定义和使用。
6、掌握指针的定义和使用。
7、掌握结构体和共用体的定义和变量的使用。
二、课程基本要求通过本课程教学,除了要求学习电工技术基础知识和基本理论外,全课程以提高学生的专业素质和培养学生的各项能力为核心组织教学。
其中包括:1.具备熟练应用vc6.0集成环境进行C语言的编写、编译与调试的能力。
;2.具备初步的高级语言程序设计能力;3.能够掌握一定软件开发技术,具备一定的软件开发能力;4.培养严肃,认真一丝不苟的工作作风;5.除了职业岗位技能之外,课程中还注意培训学生的表达能力、学习能力和协作能力;6.培训软件开发技术职业岗位必须的质量意识、守时意识和规范意识,以提高学生的综合素质。
三、教学条件1.为保证理论与实际操作密切结合,本课程要求一个教师和一个实验室。
实验室中学生每人一台计算机,计算机上要有安装完成的c语言开发环境,以vc6.0为主。
2.每班由一位主讲教师上课,并配以一名辅导教师以便于对学生的操作进行个别指导。
每个教师都能在操作和理论两方面对学生进行辅导。
教师除掌握本专业的理论知识、操作技能外,还要具备良好的知识表达能力和对学生的引导能力。
3.学生在第一堂课前必须自备的工具和学具包括:教材、笔记本、书写笔、实训报告。
六、考核方法1.期末笔试重点考核知识、理论和部分专业能力占总成绩的60%。
《C程序设计》教学大纲
《C程序设计》课程教学大纲一、课程基本信息课程名称:C语言程序设计课程类别:专业核心课(必修课)适用专业:计算机科学与工程及相关专业课程简介:《C程序设计》是计算机专业最最基本的课程之一。
本课程旨在让学生掌握一门最常用的程序设计语言—C语言,掌握结构化程序设计的思想,掌握最基本通用算法以及它们的应用,以及软件开发的完整过程。
本课程含有上机36学时。
每章结束后都有一些上机题,以加深对所学内容的理解以及养成动手的习惯。
最后还有一个较大型的作业,把所学的内容串联起来,综合应用。
通过本课程的学习,希望学生能够扎实掌握程序设计的基本技能,养成良好的程序设计风格,具备自主开发一个简单项目的能力。
课程总学时:90学时(理论:54学时、实践:36学时)周学时:5学时教材名称:《第一行代码——C语言(视频讲解版)》,翁惠玉编著,人民邮电出版社,2018年参考书目:《程序设计基础》吴文虎清华大学出版社Programming in C Stephen G. Kochan 人民邮电出版社The art and science of C Eric S. Roberts 机械工业出版社知识结构:理论知识60%+实践能力40%成绩评估:总成绩(100%)=平时成绩40%+期末成绩60%平时成绩(40%)=作业+实验;期末成绩(60%)=考试方式(笔试)二、课程教育目标(一)在知识方面教学目标:通过本课程的学习,学生应掌握如下知识:1.C语言的语法;2.过程化程序设计;3.通用的算法设计思想;4.软件开发的完整过程。
(二)在能力方面教学目标:通过本课程的学习,学生应该具备如下的能力:1.基本的算法设计能力;2.利用某个编程环境编译、链接、和调试程序的能力;3.熟练应用C语言编写程序的能力;4.运用软件工程思想开发简单软件的能力。
(三)在素质方面教学目标:通过本课程的学习,学生能够培养1.计算思维能力;2.应用计算机分析问题和解决问题的能力。
《C语言程序设计》课程教学大纲(2024)
26
关键知识点回顾
2024/1/28
数据类型、运算符和表达式
01
C语言的基本数据类型,如int、float、char等,以及运算符的
优先级和结合性规则,表达式的求值。
控制结构
02
包括顺序结构、选择结构和循环结构,如if-else语句、switch
语句、for循环、while循环和do-while循环等。
2024/1/28
03
运行时错误
这类错误发生在程序运行时,如空指针引用、数组越界等。调试方法包
括查看错误提示信息、检查相关变量状态、使用调试器等。
24
程序性能优化策略
算法优化
数据结构优化
代码优化
并行计算
针对程序中耗时的算法进行优 化,如减少循环次数、使用更 高效的算法等。
2024/1/28
选择合适的数据结构可以显著 提高程序性能,如使用哈希表 替代数组进行查找、使用二叉 树进行排序等。
2024/1/28
选择结构
介绍C语言中的条件判断语句( if语句、switch语句),以及它 们的使用方法和注意事项。
循环结构
阐述C语言中的循环控制语句( for语句、while语句、dowhile语句),以及循环嵌套的 实现方法。
控制语句的转移
讲解C语言中的break语句、 continue语句以及goto语句等
字符串处理在实际 问题中的应用举例
15
04 数据结构与算法基础
2024/1/28
16
线性表及其操作实现
2024/1/28
线性表的定义和性质
介绍线性表的基本概念,包括元素、长度、位置等,阐述 线性表的特点和性质。
线性表的顺序存储结构
《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲一、课程任务:1、课程性质:《C语言程序设计》是专业基础课,是数据结构、操作系统、面向对象程序设计等课程的前导课程,也是一门实践性很强的课程。
2、主要内容:C语言程序设计初步,基本符号与关键字,常量、变量、运算符与表达式,程序控制结构,函数,编译预处理,数组,指针,结构体与共用体,文件,屏幕函数等。
3、基本要求:通过本课程的学习,使学生了解算法的基本概念,能够比较熟练地掌握C语言的语法规则及程序设计的基本方法与编程技巧,了解进行科学计算的一般思路,培养学生应用计算机解决和处理实际问题的思维方法与基本能力,并初步积累编程经验,会根据算法编制相应的程序,并初步掌握软件开发过程的基本技巧,同时也为后继课程的学习打下坚实的基础。
二、教学内容第1章C语言概述1.教学目的与要求:1)了解C语言的背景2)掌握C语言程序的结构3)领会C语言程序设计的风格2.教学内容1)C语言的发展与特点2) C语言的基本符号与关键字3) C语言程序…4) Turbo C集成环境与程序的上机操作…3.重点:1)C语言的发展与特点2)C语言的基本符号和关键字3)C语言程序结构及特点4)C语言程序编辑、编译与运行4.教学难点:1)C语言的基本符号和关键字2)C语言程序结构及特点3)C语言程序编辑、编译与运行第2章数据类型、表达式极其运算1.教学目的与要求:1)了解基本类型及其常量的表示法2)掌握变量的定义及初始化方法3)掌握运算符与表达式的概念4)领会C语言的自动类型转换和强制类型转换及赋值的概念2.教学内容:1)C语言的数据类型2)常量3)变量…4)运算符及表达式5)赋值运算符和赋值表达式6)指针运算…7)其它运算符及其表达式3.重点1)C语言的数据类型2)常量3)变量4)运算符及表达式5)赋值运算符和赋值表达式4.教学难点1)赋值运算符与赋值表达式2)自加和自减运算符3)逗号运算符与逗号表达式4)常用运算符和优先级第3章顺序结构程序设计1.教学目的与要求:1)了解结构化程序设计的基本概念及C语句2)掌握赋值语句3)掌握数据的输入和输出4)领会程序设计的一般方法2.教学内容:1)结构化程序设计的基本概念及C语句2)赋值语句…3)数据的输入和输出4)程序设计的一般方法……3.教学重点:1)赋值语句…2)数据的输入和输出3)程序设计的一般方法4.教学难点1)赋值语句…2)数据的输入和输出3)程序设计的一般方法第4章选择结构程序设计1.教学目的与要求1)掌握关系运算符和关系表达式2)掌握逻辑运算符和逻辑表达式3)掌握条件语句4)掌握多分支语句2.教学内容:1)关系运算符和关系表达式2)逻辑运算符和逻辑表达式3)条件语句4)多分支语句3.重点:1)条件表达式2)If语句3)Switch语句4)选择结构程序设计4.难点:1)Switch语句2)选择结构程序设计第5章循环结构程序设计1.教学目的与要求1)熟练掌握while语句…do while语句 for语句2)领会三种循环的比较3)理解多重循环…4)了解break、continue在循环语句中的作用2.教学内容:1)while语句…2) do while语句3)for语句4)三种循环的比较5)重循环…6)循环中用到的其它语句…7)程序设计举例3.重点:1)While 及do while语句2)For语句3)Continue\break\goto4)循环程序设计4.难点:1)Break语句2)Goto语句3)多重循环程序设计第6章数组和指向数组的指针1.教学目的与要求:1)了解一维数组、二维数组的基本概念2)掌握数组类型变量的定义与引用3)掌握数组元素的引用4)理解数组的指针和只想数组的指针变量2.教学内容:1)一维数组的定义与引用2)二维数组的定义与引用3)字符数组4)数组与指针3.重点:1)一维数组、二维数组的定义与引用2)字符数组的定义与引用、常用字符串处理函数及字符处理函数、、3)数组的指针和只想数组的指针变量4.教学难点:1)二维数组和多维数组2)字符数组3)数组的指针和只想数组的指针变量第7章函数与指针1.教学目的与要求:1)掌握函数的定义与调用2)掌握函数参数的传递方式3)领会变量存储类型的概念及各种存储类型变量的生存期和有效范围4)领会函数的嵌套调用与递归调用5)领会函数与指针的应用2.教学内容:1)函数的定2)函数的参数和函数的值3)函数的调用4)函数的嵌套调用5)函数的递归调用…6)指针与函数7)变量的作用域与存储类别8)内部函数和外部函数9)宏定义…3.重点:1)函数的定义2)函数的参数及返回值3)函数的调用4)数组作为函数参数5)局部变量和全局变量6)变量的存储类别4.难点:1)函数的参数及返回值2)函数的调用3)数组作为函数参数4)变量的存储类别5)指针与函数的应用第8章结构体与共用体1.教学目的与要求:1)掌握结构体和共用体类型的说明、结构体和共用体变量的定义及初始化方法2)掌握结构体与共用体变量成员的引用3)领会存储动态分配和释放4)领会链表的基本概念和基本操作5)领会枚举类型变量的定义6)了解typedef的作用2.教学内容:1)结构体类型的说明及结构体类型变量的定义2)结构体变量的引用3)结构体变量的初始化4)结构体数组5)指针与结构体数组6)链表7)共用体8)枚举类型9)typedef3.重点:1)结构体的基本概念、结构类型及变量的定义、结构数组2)用指针处理链表3)共用体及枚举类型的基本概念、typedef的基本概念4.难点:1)结构体变量的定义和引用;结构体变量与指针;2)链表的概念,链表操作;第9 章文件1.教学目的与要求:1)掌握标准设备输入/输出函数的使用2)掌握缓冲文件系统的使用2.教学内容:1)文件类型指针2)文件的打开与关闭3)文件的读写3.重点:1)文件的基本概念;2)文件的打开、关闭、常用读写方法。
c++语言程序设计郑莉第四版课件8
表达式 B oprd
等同于operator B(oprd )
后置单目运算符 ++和--重载后, 表达式 oprd B 等同于operator B(oprd,0 )
28
C++语言程序设计
清华大学 郑莉
例8-3
运
算 将+、-(双目)重载为非成员函数,并将其声明
符
为复数类的友元,两个操作数都是复数类的常引
重 实现机制
载
– 运算符重载的实质是函数重载。
– 将指定的运算表达式转化为对运算符函数的调
用,运算对象转化为运算符函数的实参,根据
实参的类型来确定需要调用的函数。
– 编译系统对重载运算符的选择,遵循函数重载 的选择原则。
主要优点
– 可以改变现有运算符的操作方式,用于自定义 的类类型使得程序看起来更加直观。
21
//构造函数 Clock::Clock(int hour, int minute, int second) { if(0 <= hour && hour < 24 && 0 <= minute && minute < 60 && 0 <= second && second < 60) { this->hour=hour; this->minute=minute; this->second=second; } else cout<<"Time error!"<<endl; }
清华大学 郑莉
问题举例——复数的运算
运
《C语言程序设计》课程教学大纲
《C语言程序设计》课程教学大纲一、课程基本信息课程名称:C语言程序设计学时:64学时实验学时:24学时课程类别:公共基础课课程性质:必修课先行课程:计算机应用基础适用专业:热能与动力工程、机械自动化、汽车服务工程、土木工程、给水排水工程、工程管理、应用化学、安全工程、会计学、电子商务、国际经济与贸易、市场营销等非电气信息类专业责任单位:电气信息工程系二、课程性质、目的与任务本课程是为非电气信息类专业本、专科学生开设的公共基础课。
本课程的任务是结合一般数值计算向学生介绍计算机程序设计的基本知识,使学生掌握C语言的基本内容及程序设计的基本方法与编程的基本技巧,了解进行科学计算的一般思路,培养应用计算机解决和处理实际问题的思维方法与基本能力,为进一步学习和应用计算机打下基础。
三、课程的内容及要求、教学重点与难点(一)C语言程序设计基础1、主要教学内容及要求1)了解C语言的发展、特点、功能及地位;2)了解机器语言、汇编语言和高级语言的差异;3)掌握C语言程序的基本结构;4)熟悉编写C语言程序的基本步骤和上机调试过程。
2、知识点与能力点要求1)知识点:C程序的基本结构、上机环境、进行简单C程序的编写;2)能力点:根据所学内容进行简单的C程序的编写以及上机运行。
3、教学的重点与难点1)教学重点:C程序的基本结构、编写C语言程序的基本步骤和上机调试过程、上机环境。
2)教学难点:C程序的基本结构。
(二)数据类型、运算符和表达式1、主要教学内容及要求1)掌握变量和常量的的概念及变量的定义、初始化;2)了解各类型的数据在内存中的存放形式;3)掌握赋值运算符、算术运算符、位运算符、逗号运算符及相关表达式;4)理解运算符的优先级和结合性的概念。
2、知识点与能力点要求1)知识点:常量、符号常量的定义、变量的定义、数据类型(整型、实型、字符型)、数据在内存中的存放形式、算术运算符、表达式。
2)能力点:各种运算符在处理问题时的灵活应用。
c++语言程序设计第四版郑莉
第二章2-1 c++语言有哪些优点和缺点?答:c++语言的主要特点表现在两个方面,一是全面兼容c,二是支持面向对象的方法。
C+十是一个更好的c,它保持了c的简洁、高效、接近汇编语言、具有良好的可读性和可移植性等特点,对的类型系统进行了改革和扩充,因此c++比c更安全,c++的编译系统能检查出更多的类型错误。
C++语言最重要的特点是支持面向对象的方法。
2-2 下列标识符哪些是合法的?Programe,-page,_lock, test2, 3inl, @mail ,A_B_C_D答:Programe,_lock, test2, A_B_C_D是合法的标识符。
2-3 例2-1中每条语句的作用是什么?答:#include<iostream> //指示编译器将文件iostream.h中的代码//嵌入到本程序中该指令所在的地方void mian(viod) //主函数名,void表示函数没有返回值{cout<<”Hello!\n”; //输出字符串Hello!到标准输出设备(显示器)上cout<<”Welcome to C++!\n”; //输出字符串Welcome to C++!}2-4 请用c++语句声明一个常量PI,值为3.1416;再声明一个浮点型变量a,把PI的值赋给a。
答:const定义的常量是有类型的,所以在使用它们时编译器可以检查类型错误;而且,这些常量在调试时是可见的。
2-5 在下面的枚举类型中,BLUE的值是多少?Enum Color{WHITE ,BLACK=100,RED,BLUE,GREEN=300};答:BLUE=1022-6 注释有什么作用?(C++中有哪几种注释的方法?它们之间有什么区别?)答:注释在程序中的作用是对程序进行注解和说明,以便于阅读。
编译系统在对源程序进行编译时不理会注释部分,因此注释对于程序的功能实现不起任何作用。
而且由于编译时忽略注释部分,所以注释内容不会增加最终产生的可执行程序的大小。
第2章 C++简单程序设计《c++语言程序程序设计(第4版)》郑莉 清华大学出版社
• 而 pINT2 a, b; 的效果等同
• int * a, b;
表示定义了一个整型指针变量a和
整型变量b。
C++语言程序设计(第4版),郑莉,清华大学
const ,#define and typedef
• const 不仅可以定义常量,还可以修饰函数的参数 、返回值,甚至函数的函数体。被const 修饰的东 西都受到强制保护,可以预防意外的变动,能提 高程序的健壮性 。
2.2 基本数据类型和表达式 —— 2.2.2 常量
19
字符常量
• 字符常量
▫ 单引号括起来的一个字符, 如:'a', 'D', '?', '$‘
▫ C++转义字符列表
字符常量形式
ASCII码(十六 进制)
\a
07
\n
0A
\t
09
\v
0B
\b
08
\r
0D
\f
0C
\\
5C
\”
22
\’
27
含义
响铃 换行 水平制表符 垂直制表符 退格 回车 换页 字符“\” 双引号 单引号
垂直制表符、换行符、回车符和注释的总称
C++语言程序设计(第4版),郑莉,清华大学
2.1 C++语言概述 —— 2.1.5 词法记号
8
标识符的构成规则
• 以大写字母、小写字母或下划线(_)开始。
• 可以由以大写字母、小写字母、下划线(_)或数字 0~9组成。
• 大写字母和小写字母代表不同的标识符。
C++语言程序设计(第4版),郑莉,清华大学
c++语言程序设计(郑莉第四版)课件4
C++语言程序设计
清华大学 郑莉
构 造 函 数 和 析 构 函 数
拷贝构造函数(例4-2)
class Point { public: Point(int xx=0, int yy=0) { x = xx; y = yy; } Point(Point& p); int getX() { return x; } int getY() { return y; } private: int x, y; };
清华大学 郑莉
内联成员函数举例(一)
类 和 对 象
class Point { public: void init(int initX, int initY) { x = initX; y = initY; } int getX() { return x; } int getY() { return y; } private: int x, y; };
目的:达到行为标识统一,减少程序中标 识符的个数。
实现:重载函数和虚函数——见第8章
12
C++语言程序设计
清华大学 郑莉
c++中的类
类 和 对 象
类是具有相同属性和行为的一组对象 的集合,它为属于该类的全部对象提 供了统一的抽象描述,其内部包括属 性和行为两个主要部分。 利用类可以实现数据的封装、隐藏、 继承与派生。 利用类易于编写大型复杂程序,其模 块化程度比C中采用函数更高。
C++语言程序设计
清华大学 郑莉
构造函数
构 造 函 数 和 析 构 函 数
构造函数的作用是在对象被创建时使 用特定的值构造对象,或者说将对象 初始化为一个特定的状态。 在对象创建时由系统自动调用。 如果程序中未声明,则系统自动产生 出一个隐含的参数列表为空的构造函 数 允许为内联函数、重载函数、带默认 形参值的函数
《C语言程序设计》教学大纲
《C 语言程序设计》教学大纲第一部分 大纲说明一、课程的目的与任务 本课程将以结构化程序设计思想指导学习者运用C 语言进行程序设计,充分利用C 语言的结构性好,书写格式自由简洁,数据类型丰富,表达式类型多样化,程序执行效率高,可移植性好等特点,使学习者养成严谨的程序设计风格和习惯,在程序设计基本技能方面得到良好的训练,为后继课程的学习及今后的实际应用打下良好的基础。
到良好的训练,为后继课程的学习及今后的实际应用打下良好的基础。
二、课程的基本要求1.教学基本要求和学习方法建议(1)弄清概念、注重实践)弄清概念、注重实践学习时一定要模仿例题亲自编制一些实用程序,加强对概念的正确认识。
同时要注意上机实践,把不清楚的问题通过上机一一解决。
从而不断增加学习兴趣,提高编程能力。
(2)由浅入深、循序渐进)由浅入深、循序渐进先学习简单的、容易掌握的部分,以后再逐步掌握C 语言的精华——指针及各种灵活的表达式。
的表达式。
(3)着重语言的使用)着重语言的使用由于C 语言本身比较复杂,应把学习重点放在语言的使用上,即如何正确使用C 语言编写程序,而不把重点放在算法的设计上。
编写程序,而不把重点放在算法的设计上。
(4)尽量不涉及太多的硬件知识)尽量不涉及太多的硬件知识C 语言既能编写应用软件,也能编写系统软件,而编写系统软件势必需要一定的硬件知识。
在学习本课程时应尽可能地不涉及太多的硬件知识,以便于理解和掌握。
(5)忽略非主要细节)忽略非主要细节不死抠非主要细节,集中精力放在最基本、集中精力放在最基本、最常用部分的学习上,最常用部分的学习上,最常用部分的学习上,待建立一定的基础以待建立一定的基础以后再深入到一些非主要细节的讨论。
后再深入到一些非主要细节的讨论。
2.教学的重点、难点重点为熟练掌握C 语言的数据类型(基本类型、构造类型、指针类型等)和各类运算符,能正确使用表达式实现各种数据的加工。
符,能正确使用表达式实现各种数据的加工。
C语言程序设计课后答案郑莉第4版
C语言程序设计课后答案郑莉第4版第一章概述1-1 简述计算机程序设计语言的发展历程。
解:迄今为止计算机程序设计语言的发展经历了机器语言、汇编语言、高级语言等阶段,C++语言是一种面向对象的编程语言,也属于高级语言。
1-2 面向对象的编程语言有哪些特点?解:面向对象的编程语言与以往各种编程语言有根本的不同,它设计的出发点就是为了能更直接的描述客观世界中存在的事物以及它们之间的关系。
面向对象的编程语言将客观事物看作具有属性和行为的对象,通过抽象找出同一类对象的共同属性(静态特征)和行为(动态特征),形成类。
通过类的继承与多态可以很方便地实现代码重用,大大缩短了软件开发周期,并使得软件风格统一。
因此,面向对象的编程语言使程序能够比较直接地反问题域的本来面目,软件开发人员能够利用人类认识事物所采用的一般思维方法来进行软件开发。
C++语言是目前应用最广的面向对象的编程语言。
1-3 什么是结构化程序设计方法?这种方法有哪些优点和缺点?解:结构化程序设计的思路是:自顶向下、逐步求精;其程序结构是按功能划分为若干个基本模块;各模块之间的关系尽可能简单,在功能上相对独立;每一模块内部均是由顺序、选择和循环三种基本结构组成;其模块化实现的具体方法是使用子程序。
结构化程序设计由于采用了模块分解与功能抽象,自顶向下、分而治之的方法,从而有效地将一个较复杂的程序系统设计任务分解成许多易于控制和处理的子任务,便于开发和维护。
虽然结构化程序设计方法具有很多的优点,但它仍是一种面向过程的程序设计方法,它把数据和处理数据的过程分离为相互独立的实体。
当数据结构改变时,所有相关的处理过程都要进行相应的修改,每一种相对于老问题的新方法都要带来额外的开销,程序的可重用性差。
由于图形用户界面的应用,程序运行由顺序运行演变为事件驱动,使得软件使用起来越来越方便,但开发起来却越来越困难,对这种软件的功能很难用过程来描述和实现,使用面向过程的方法来开发和维护都将非常困难。
C++程序设计实验教学大纲(郑莉第四版)
《C++程序设计》课程实验教学大纲课程名称:C++程序设计实验课程代码:总学时:64 实验学时:16 实验学分:1适用专业:一、实验教学的性质和任务本课程是一门实践性、应用性很强的课程,只有通过具体的程序设计,才能加深学生对面向对象程序设计思想的理解,因此在课程中精心设置了一批实验性、设计性和综合性的实验项目。
通过实验,使学生掌握程序的调试方法,具有处理程序错误的能力,加深理解、验证、巩固课堂教学内容,加深对面向对象编程思想的理解,能够灵活变通,独立学习,提高分析问题和解决问题的能力。
二、教学基本要求1、知识、能力、素质的基本要求通过实际的编程操作,使学生能够深刻理解和领会面向对象程序设计的特点和风格,掌握其方法和要领,并获得一定程度解决实际问题的能力。
2、方法手段在实验中采用演绎式讲授、直接演示、讨论、边讲边操作、师生互动等教学方法;采用大屏幕投影,多媒体网络教室软件系统、网络作业答疑等教学手段。
3、考核方法以课堂表现、动手能力、分析问题和解决问题的能力以及上机作业完成质量为主要依据评定成绩。
上机成绩分为优、良、中、几个和不及格五个等级,并以一定比例计入平时成绩。
三、实验项目的设置及学时分配表四、推荐实验教材及教学参考书教材:《C++语言程序设计(第4版)》郑莉编著,清华大学出版社,2010年。
参考书:1.《C++面向对象程序设计》谭浩强编著,清华大学出版社,2006年。
2.《C++语言基础教程(第2版)》吕凤翥编著,清华大学出版社,2007。
3.《C++精髓-软件工程方法》波士顿大学著,李师贤等译,机械工业出版社,2007。
4.《C++程序设计》(美)梁勇编著,机械工业出版社,2008。
5.《C++程序设计教程:基于visual studio2008》刘冰,张林,蒋贵全,机械工业出版社,2009。
制订:审定:批准:。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
《C++程序设计》课程教学大纲
课程名称:C++程序设计课程代码:
课程类型:专业必修课
学分:3 总学时:64 理论学时:48 上机学时:16
先修课程:计算机应用能力、C语言程序设计
适用专业:计算机科学与技术
一、课程性质、目的和任务
面向对象程序设计是计算机科学与技术专业开设的主干课之一。
本课程既可为其它专业课程的学习提供理论基础,同时也使学生对程序设计的方法有深刻的理解,是计算机学科教育不可缺少的组成部分。
通过本课程学习,能使学生在掌握一种面向对象程序设计语言的基础上,掌握面向程序设计的方法,在了解面向对象一般开发过程的基础上,掌握面向对象的典型设计方法,学会分析比较不同的设计方案,培养学生解决实际问题的能力,提高编程技能。
二、教学基本要求
1、知识、能力、素质的基本要求
本门课程主要讲述了C++面向对象的基本特性,包括类、对象、派生类、继承、多态性、虚函数、模板、流类库,使学生能够深刻理解和领会面向对象程序设计的特点和风格,掌握其方法和要领。
主要培养学生通过C++语言解决实际问题的能力,对逻辑思维能力、表达能力和C++熟练运用能力要求较高,学习过程中应注意培养这方面的能力。
2、教学模式基本要求(课程主要教学环节要求,教学方法及手段要求)
理论教学要通过计算机多媒体投影手段授课,利用计算平台形象化教学,便于安排演示实验、有效地组织教学,便于学生理解课程内容、掌握基本概念、原理与基本技术。
注意加强理论联系实际,在课堂教学中结合项目开发实际,给出知识点的实际应用案例。
授课中要注意采用重点突出、难点分散的方法,引导学生从感性认识上升到理论认识。
在演示实验与学生实验中,应注意培养学生依据理论去指导实践的素养,也应注意运用对比、模拟等方法加强理论教学环节。
要关注学生的基础,适时、适当地补充相关的教学内容,以助于学生理解课程内容。
三、教学内容及要求
第1章绪论
(1)了解计算机系统、程序设计语言、程序设计、面向对象的基本概念;
(2)掌握信息的表示与存储,理解程序开发的基本概念。
第2章C++简单程序设计
(1)理解字符集、标识符和关键字的意义;
(2)掌握基本数据类型的定义以及不同数据类型之间的转换机制;
(3)掌握各种常量的性质和定义;
(4)掌握变量声明的方法;熟练运用各种运算符与表达式。
(5)熟练使用控制结构进行结构化程序设计;
(6)掌握自顶向下、逐步求精的结构化程序设计方法。
第3章函数
(1)掌握函数的定义和使用方法,
(2)理解函数原型、函数重载;
(3)掌握传值和传引用两种参数传递的机制;
(4)理解内联函数和带默认形参值的函数;理解函数递归调用的执行过程;能够熟练利用函数进行自顶向下、逐步求精的程序设计。
第4章类与对象
(1)了解数据抽象的概念;初步了解如何使用面向对象的方法分析系统;
(2)掌握类的定义方法;掌握类的数据成员和成员函数的定义方法;
(3)掌握类的构造函数和析构函数的作用及使用方法;
(4)掌握结构体和联合体的定义及使用;
(5)了解类的组合和UML类图。
第5章数据的共享与保护
(1)了解标识符的作用域与可见性;
(2)掌握类的静态成员和静态成员函数的定义方法;
(3)掌握类的友元作用及使用方法;
(4)了解多文件结构和编译预处理命令的使用。
第6章数组、指针与字符串
(1)理解数组的概念,掌握数组生命和使用的方法;
(2)理解数组元素的存放方式;
(3)熟练掌握数组和循环配合的程序设计方法。
(4)理解指针的概念;
(5)掌握传递指针参数的机制;理解指针、数组与字符串之间的关系;(6)掌握内存分配和释放的方法;了解指针函数的作用。
第7章继承与派生
(1)理解继承的基本概念;
(2)掌握如何通过继承建立类的层次结构;
(3)掌握通过类指针操作继承关系中对象的方法;
(4)掌握派生类的构造和析构函数的定义和使用;
(5)了解多重继承。
第8章多态性
(1) 了解多态性的意义和作用;
(2) 掌握运算符重载的规则和使用
(3)掌握定义虚函数和抽象基类的方法;
(4)掌握实现多态性的方法以及使用多态性的时机;
(5)了解虚析构函数的作用;
第9章群体类和群体数据的组织
(1)了解类属程序设计的概念;
(2)理解模板和模板的实例化机制;
(3)掌握模板的定义和使用方法。
第10章泛型程序设计与C++标准模板库
(1)了解泛型程序设计;
(2)了解输入流迭代器和输出流迭代器的特点;
(3)了解容器的基本功能与分类
第11章流类库与输入输出
(1)掌握各种输入输出函数
(2)掌握通过流进行输入输出的方法。
第12章异常处理
(1)理解异常处理的意义;
(2)理解C++的异常处理机制;
(3)掌握异常的传播机制;
(4)掌握异常的捕获规则;
(5)掌握使用异常处理机制处理错误的方法;
四、实验内容
六、考核办法
考试为闭卷上机。
学业成绩由平时、期末成绩30%,70%比例进行百分总评,计入总分。
七、推荐教材和教学参考书
教材:《C++语言程序设计(第4版)》郑莉编著,清华大学出版社,2010年。
参考书:
1.《C++面向对象程序设计》谭浩强编著,清华大学出版社,2006年。
2.《C++语言基础教程(第2版)》吕凤翥编著,清华大学出版社,2007。
3.《C++精髓-软件工程方法》波士顿大学著,李师贤等译,机械工业出版社,2007。
4.《C++程序设计》(美)梁勇编著,机械工业出版社,2008。
5.《C++程序设计教程:基于visual studio2008》刘冰,张林,蒋贵全,机械工业出版社,2009。
制订:
审定:
批准:。