《C++程序设计》(上)课程教学大纲.docx
《《C++程序设计》(上)课程教学大纲.docx》由会员分享,可在线阅读,更多相关《《C++程序设计》(上)课程教学大纲.docx(9页珍藏版)》请在咨信网上搜索。
《C++程序设计》(上)课程教学大纲课程编码:171200011课程性质:必修课适用专业:信息与计算科学专业,信息系统与信息管理专业 学时学分:64学时(32理论+32上机)3学分所需先修课:计算机文化基础编写单位:数学与信息科学系 一、课程说明1、课程简介 C++是高级程序设计语言之一,应用范围非常广。它与C语言兼容,既支持 结构化的程序设计方法,又支持面向对象的程序设计方法。使用面向对象程序设 计的思想和方法进行系统设计和编程,从根本上解决了从现实世界的问题空间到 计算机空间的直接映射,使所设计的系统能更加准确地模拟现实世界;同时面向 对象的系统从程序的结构、运行机制上保证了程序的平安性,灵活性;大大提高 了程序代码的重用性,易维护性和易扩展性。根据专业的特点本课程并不涵盖 C++语言的全部内容,主要介绍C++最基本的概念、语法规那么和编程方法。本课 程共分11章,三局部,第一局部有:第1章C++语言概述,第2章变量和常量, 第3章运算符和表达式,第4章语句和预处理第5章函数和存储类,第6 章指针和引用第7章结构和联合第2局部有:第8章类与简单对象,第9 章类和复杂对象;第三局部有:第10继承性与派生类,第11章多态性和虚函 数,第12章C++语言的I/O流库。前5章是本课程讲授的内容;第6章到第9 章为下学期开设课程《C++程序设计》(下)。该门课程的实践性很强,是数学与 信息科学系的信息与计算学专业和信息系统与信息管理专业两个专业的学生应 该掌握的基本编程语言,是两个专业学习《数据结构》、《操作系统》等后继课程 的基础,是学生以后程序开发所必备的基本功。要求学生既要掌握基本概念,又 要勤于动手操作,熟练上机调试过程和运行程序。 2、教学目标要求 本课程属于面向对象程序设计的基础课。通过全面、系统地介绍面向对象程 序设计的基本概念、分析方法、设计方法、基本语法和编程方法;课程详尽地讲 述C++语言面向对象的基本特性,其内容包括类、对象、派生类、继承、多态性、.在C++语言中如何使用系统函数? 20 .什么是模板?通常模板有哪两种形式? 21 .如何定义函数模板?函数模板和模板函数有何不同? 22 .模板函数与重载函数有何区别? 23 .模板函数的类型适应范围如何确定? 24 .函数模板的模板参数与模板函数的参数有何不同? 第6章 指针和引用(讲授6学时,上机6学时)教学目标: 掌握指针的定义和初始化;指针的运算;用指针操作数组,指针作函数的参数 和指针函数的区别。 本章重点用指针来访问变量,用指针来访问数组元素。指针作函数的形式参数的时候, 实参用地址。 教学内容 (6. 1-6. 2. 22学时,上机2学时, 6. 2. 3-6. 32学时,上机2学时, 6.42学时,上机2学时)1指针1. 1指针的概念1.2指针的格式 6. 1. 3指针的赋值1.4指针的运算2指针与数组2. 1数组名是一个指针常量 7. 2. 2数组元素的指针表示2. 3字符数组、字符指针和字符串处理函数2. 4执行数组的指针和指针数组3指针与函数 8. 3.1指针用作函数参数3. 2指向函数的指针和指针函数4引用4.1引用的概念 9. 4.2引用的应用 思考题 L什么是指针?它的值和类型是如何规定的? 2 .各类指针类型是如何定义的? 3 .如何给不同类型的指针赋值和赋初始值? 4 .指针有哪些运算?为什么说"指针运算实际上是地址运算,但指针运算 又不同于地址运算〃? 5 .如何用指针表示一维数组、二维和三维数组的元素的值和地址值 6 .什么是引用,它与指针有什么区别? 第7章 结构和联合(讲授4学时,上机4学时)教学目标: 类型定义typedef的使用;掌握结构体类型的定义,使用结构体类型定义 和初始化结构体变量,结构体数组,结构体指针及其操作。 本章重点 掌握结构体的定义,结构体变量的定义,结构体变量的赋值及使用,掌握 如何定义结构体的指针,如何通过指针来访问结构体成员,掌握联合体的概 念,掌握联合体和结构体直接的相同点和不同点。 本章难点掌握如何定义结构体的指针,如何通过指针来访问结构体成员,教学内容 (7. 1—7.2 2学时,上机2学时, 7. 3—7. 4 2学时,上机2学时)1结构1. 1结构与结构变量的定义7. 1.2结构变量的成员表示 7. 1.3结构变量的赋值1.4结构变量的运算2结构与数组2.1数组作为结构成员 7. 2. 2结构变量作为数组的元素7. 3结构与函数3.1结构变量和指向结构变量的指针作为函数参数3. 2结构变量和指向结构变量的指针作为函数返回值 7. 4联合4.1联合的概念4. 2联合的应用思考题 1 .什么是类型定义?为什么要类型定义?如何进行类型定义? 2 .什么是结构类型?它与数组有何不同? 3 .如何定义结构类型,如何定义结构变量? 4 .结构变量的成员如何表示?如何给结构变量赋值和初始化? 5 .结构变量在程序中有哪些应用? 6 .什么是联合类型?联合类型和结构类型有何不同? 三'使用教材及参考书 吕凤翥著,《C++语言程序设计》(第3版),清华大学出版社,2011年3月 参考书: (1)谭浩强著,C程序设计(第二版),清华大学出版社,2003年 (2)王超主编,C++程序设计,地址出版社,2006 (3)钱能著,C++程序设计教程(第二版),清华大学出版社,2005年9月 (4)邵维忠,杨芙清,面向对象的系统分析,清华大学出版,1998 (5)Bruce Eckel著,刘宗田等译,C++编程思想,机械工业出版社,2004 (6) ) Stanley B. Lippman著,李师贤,蒋爱军等译 《C++ Primer》中文 版,第4版,人民邮电出版社,2006年3月 虚函数、模板、流类库、等;从而使学生能深刻理解和领会面向对象程序设计的 特点和风格,类的封装性、继承性和多态性与程序的平安性、结构性和灵活多样 性之间的关系,到达掌握其设计方法和编程基础的目的,并为后续课程打下基础。 3、教学重点难点 重点:数据类型(数组、指针、结构体、共用体类型的定义和使用);控制 语句结构化程序设计三种结构(顺序,分支和循环结构);函数的定义和调用; 类和对象(类和对象的定义、类的构造函数和析构函数,类的静态成员和友元) 难点:数组、函数、指针、结构体、类与对象、静态成员和友元。 4、考核方式 本课程是考试课,考试的形式是是闭卷,总成绩=平时义20%+期末X80%。 5、学时分配表二' 各局部教学纲要第1章C++语言概述(讲授2学时,上机2学时) 章次 教学内容 讲授课 学时数 上机学时数 1 C++语言概述 2 2 2 变量和常量 2 2 3 运算符和表达式 4 4 4 语句和预处理 8 8 5 函数和存储类 6 6 6 指针和引用 6 6 7 结构和联合 4 4 总计 64学时 32 32 教学目标理解面向对象程序设计的有关概念,了解面向对象的由来,初步认识C++语 言,了解编程语言的开展史,掌握C++语言的编程特点,熟悉C++语言的词法和 语法规那么以及使用Visual C++6. 0来编译和运行C++代码。 本章重点C++语言的框架;main。函数;掌握C++程序的组成;用Visual C++ 6.0编写' 编译、执行一个C++程序 本章难点用Visual C++ 6.0编写' 编译' 执行一个C++程序教学内容 (1.1 —1.5共2学时,上机共2学时) 1.1 面向对象的程序设计的有关概念 1.2 C++语言是一种面向对象的程序设计语言及补充内容信息的表示与储存 1.3 C++的语法及词法规那么 1.4 C++程序结构的特点 1.5 C++程序的实现思考题面向对象语言最早在什么年代出现的?它所提出的对象的含义是什么? 1. 什么是面向对象方法? 2. 类类型和C语言中的结构体类型有何异同? 3. 如何理解对象、类和继承三个概念 4. C++语言具有面向对象程序设计语言的哪些主要特征?如何理解C++语 言是一种面向对象程序设计语言? 5. C++语言和C语言的关系如何?为什么说C语言是C++语言的一个子集? 6. C++语言和C语言本质的区别是什么? 7. C++语言的词法中有哪些单词?它们各自的规那么是什么? 8. C++程序在其结构上有什么特点? 9. C++程序中标准输入输出语句的格式如何? 10. C++程序的基本组成局部有包含哪些内容? 11. C++程序的书写格式有哪些特点?对大括号的书写格式有哪些规定? 12. C++程序将如何实现? C++源程序的编译过程包含了哪些内容? 13. C++程序在编译中会出现哪两类错误?这两类错误在本质上有什么区 别? 14. 如何使用Visual C++ 6.0版本编译一个C++源程序? 第2章变量和常量(讲授2学时,上机2学时)教学目标: 主要讲解各种常量、 变量的声明、赋值及转换,给变量赋值和赋初值有什么区 别。 本章重点变量与常量的定义格式,不同进制常量的表示方法。变量与常量,整型' 实 型、字符型数据;一维数组、二维数组、字符数组的定义,初始化和使用的定 义和使用,字符数组;指针的定义和初始化,指针的运算,用指针操作数组; 引用的定义和引用的初始化;运算符的种类' 功能、优先级和结合性;表达式 的种类;表达式中数据类型的转换;本章难点数组的初始化,数组的赋值,字符数组的特点,字符数组的赋值与访问;2.1基本数据类型 2. 2 常量和变量2.2. 1常量2. 2. 2变量2.3 数组 2. 3. 1数组的定义2. 3. 2数组的赋值3. 3字符数组2.4 枚举 2. 4. 1枚举类型和枚举变量4. 2枚举变量的值思考题. C++语言有哪些基本数据类型?用于数据类型的修饰符有哪些? 1 .常量有哪些种类?表示常量的前缀和后缀各有哪些?它们的含义是什 么? 2 .字符常量和字符串常量是不是一回事?为什么? 3 .字符的转义序列表示法是什么意思?它有什么作用? 4 .什么是符号常量? C++语言中的符号常量如何表示? 5 .命名变量时应该注意哪些问题?在C++中,变量名的大小写是否相同? 6 .变量类型有什么用?怎样给变量定义类型? 7 .变量具有两个有用的值,这句话对吗? 8 .什么是数组?如何定义数组? 9 .什么是数组元素?它们在内存中是如何存放的?数组元素的下标是从0 开始的还是从1开始的? 10 .如何给一个数组赋初始值? 11 .字符串和字符数组是不是一回事? 12 .什么是枚举类型?对枚举类型变量的值有何规定? 13 .什么是枚举符?枚举符是一个常量,其值如何规定的? 第3章 运算符和表达式(讲授4学时,上机4学时)教学目标: 主要讲解C++语言的基本数据类型,要求掌握算术运算符和各种表达式。 本章重点 运算符的种类' 功能、优先级和结合性;表达式的种类;表达式中数据类型 的转换;本章难点运算符的优先级和结合性;表达式中数据类型的转换教学内容 (3. 1— 3.2 2学时,上机2学时) (3. 3— 3. 5 2学时,上机2学时)算符的种类及其功能算数运算符1.2关系运算符 2. 1.3逻辑运算符1.4位操作运算符1.5赋值运算符1.6其他运算符 3. 2运算符的优先级和结合性2.1运算符的优先级2. 2预算法的结合性3表达式 4. 3.1表达式的种类3. 2表达式的值和类型4类型转换4. 1保值隐式转换 5. 5强制转换思考题.举例说明单目运算、双目运算和三目运算在使用时候应该注意些什么? 1 .逻辑运算符与逻辑位运算符有何不同? 2 .有哪些运算符具有副作用?其副作用指的是什么? 3 .位操作运算符有哪些?它们有什么特点? 4 .三目运算符的功能是什么?使用时应该注意些什么? 5 . C++语言中的运算符如何记忆? 6 . C++语言中,运算符的结合性有几种?如何记忆? 7 .什么是表达式? C++语言中有哪些常用的表达式? 8 .表达式的值如何计算,表达式的类型又如何确定? 9 .书写表达式时应该注意哪些事项? 10 .逻辑表达式中计算值有何特点? 11 .类型高低是什么意思?类型高低是如何规定的? 12 . C++语言中,对数据类型转换有哪些规定? 第4章 语句和预处理(讲授8学时,上机8学时)教学目标: 了解预处理命令的功能,掌握C++程序设计的三种基本结构,熟练掌握关系、 逻辑表达式、掌握if、switch控制语句,循环控制语句等等 本章重点C++程序设计语言的三种结构;条件控制语句if;分支控制语句switch;循环 控制语句 for、while、do whi Ie;转向语句 break、conti nue 语句 本章难点分支控制语句switch ;循环控制语句for、while、do whi Ie;转向语句 breaks conti nue 语句教学内容 (4. 1-4.2共2学时,上机2学时, 4.3 2学时,上机2学时, 4.4 2学时,上机4学时, 4.5 2学时)4.1表达式语句和复合语句4. 1. 1表达式语句和空语句4. 1.2复合语句和分程序 4. 2选择语句4. 2.1条件语句4. 2. 2开关语句4. 3循环语句 4. 3. 1 while循环语句4. 3. 2 do-while 循环语句3. 3 for循环语句4.4转向语句 4. 4. 1 goto 语句4. 4. 2 break 语句4. 4. 3 continue 语句4. 5预处理功能 4. 5. 1宏定义命令4. 5. 2文件包含命令5. 3条件编译命令思考题 1 . C++语言提供了哪些预处理命令? 2 .文件包含命令的功能是什么?使用它有什么好处? 4 .宏定义命令有何用处?简单宏定义和带参数的宏定义有何不同? 5 .使用宏定义和使用const定义符号常量一样吗? 6 .使用宏定义应该注意哪些问题? 7 .用带参数的宏定义宏体时,为什么要注意括号的使用? 8 . C++提供哪些语句? 9 .什么是表达式语句?它与表达式有什么不同? 10 .什么是空语句,它有什么用处? 11 .什么是复合语句?什么是分程序? 12 .条件语句的格式如何? if语句中对else子句有何规定? 14 .开关语句中,case子句的条件有何特点? 15 . C++语言提供哪些循环语句?它们有什么特点?它们可以相互代替吗? 可以互相嵌套吗? 16 . while循环语句与do-while循环语句有何区别? 17 . for循环语句有何特点? 18 . goto语句在C++中受到哪些限制?语句标号的作用范围是什么? 19 . break语句在循环语句中有什么作用? 20 . continue语句的功能是什么? 第5章 函数和存储类(讲授6学时,上机6学时) 教学目标: C++程序是函数的集合,本章讲函数的声明方法和函数定义格式,函数的参数传 递方式和函数的返回值,内联函数的定义,重载函数的原那么,递归函数的定义和 函数的嵌套调用等重要内容,还讲了变量和函数的作用域和函数的生存期,提高 对变量和函数使用的灵活性。 本章重点函数的定义,函数的调用,参数的传递,值传递' 地址传递和引用传递之间的区 别,函数的缺省参数,内联函数,重载函数,嵌套调用和递归函数,变量的作用 域的种类。内部函数和外部函数的区别本章难点参数的传递,递归函数,内联函数,重载函数,作用域和可见性 教学内容 (5. 1-5. 3 2学时,上机2学时, 5. 4-5. 6 2学时,上机2学时, 5. 7-5. 8 2学时,上机2学时)函数的定义和说明函数的定义格式1.2函数的说明方法 4. 2函数的参数和返回值2. 1函数参数的求值顺序2. 2设置函数参数的默认值2, 3函数的返回值 5. 3函数的调用方式3.1函数的传值调用3. 2函数的引用调用5. 4函数的嵌套调用和递归调用 函数的嵌套调用5. 4. 2函数的递归调用5. 5内联函数和函数重载内联函数 5. 5. 2重载函数5. 6作用域的种类5. 6. 1作用域规那么5. 6. 2作用域种类 5. 6. 3关于重定义标识符的作用域规定5. 7变量的存储类5. 7. 1自动变量和寄存器变量5. 7. 2外部类变量 5. 7. 3静态类变量5. 8函数的存储类8. 1内部函数8. 2外部函数 思考题.在C++语言中,函数定义的格式如何?为什么说函数定义是更高级的抽象? 1 .什么是函数的说明?说明函数和定义函数有什么区别?是否必须进行函 数的说明? 2 .什么是函数的值和函数的类型?函数的返回值如何实现?是否所有的函数 都有返回值? 3 .函数的值传调用与函数的传地址调用各自有何特点?它们是怎样实现 的? 4 .函数的传地址调用和函数的引用调用各自有何特点?为什么在C++语言编程中常用引用调用? 5 .在什么情况下,由于编译系统的不同会引起在参数计算顺序方面的二义性? 6 .设置函数参数的默认值有何作用?在实际应用中有什么要注意的事情? 7 .数组作为函数参数和数组元素作为函数参数相同吗? 8 . 什么是内联函数?为什么要引入内联函数?使用内联函数应该注意 什么? 9 .什么是函数重载?实现函数重载的原那么是什么? 10 .嵌套调用中应该注意哪些问题? 11 . C++语言中是否可以用递归调用?递归调用有什么特点? 14 .关于重新定义标识符的作用域规定是什么?什么是可见?什么是不可见? 15 .什么是局部变量?什么是全局变量? 16 .什么是自动存储类变量?什么是寄存器存储类变量? 17 .什么是静态存储类变量?内部静态存储类和外部静态存储类变量有何 区别? 18 .什么是外部存储类变量?它的定义和说明是一回事吗? 19 .什么是外部函数?什么是内部函数?- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+程序设计 C+ 程序设计 课程 教学大纲
咨信网温馨提示:
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
1、咨信平台为文档C2C交易模式,即用户上传的文档直接被用户下载,收益归上传人(含作者)所有;本站仅是提供信息存储空间和展示预览,仅对用户上传内容的表现方式做保护处理,对上载内容不做任何修改或编辑。所展示的作品文档包括内容和图片全部来源于网络用户和作者上传投稿,我们不确定上传用户享有完全著作权,根据《信息网络传播权保护条例》,如果侵犯了您的版权、权益或隐私,请联系我们,核实后会尽快下架及时删除,并可随时和客服了解处理情况,尊重保护知识产权我们共同努力。
2、文档的总页数、文档格式和文档大小以系统显示为准(内容中显示的页数不一定正确),网站客服只以系统显示的页数、文件格式、文档大小作为仲裁依据,个别因单元格分列造成显示页码不一将协商解决,平台无法对文档的真实性、完整性、权威性、准确性、专业性及其观点立场做任何保证或承诺,下载前须认真查看,确认无误后再购买,务必慎重购买;若有违法违纪将进行移交司法处理,若涉侵权平台将进行基本处罚并下架。
3、本站所有内容均由用户上传,付费前请自行鉴别,如您付费,意味着您已接受本站规则且自行承担风险,本站不进行额外附加服务,虚拟产品一经售出概不退款(未进行购买下载可退充值款),文档一经付费(服务费)、不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
4、如你看到网页展示的文档有www.zixin.com.cn水印,是因预览和防盗链等技术需要对页面进行转换压缩成图而已,我们并不对上传的文档进行任何编辑或修改,文档下载后都不会有水印标识(原文档上传前个别存留的除外),下载后原文更清晰;试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓;PPT和DOC文档可被视为“模板”,允许上传人保留章节、目录结构的情况下删减部份的内容;PDF文档不管是原文档转换或图片扫描而得,本站不作要求视为允许,下载前自行私信或留言给上传者【二***】。
5、本文档所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用;网站提供的党政主题相关内容(国旗、国徽、党徽--等)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
6、文档遇到问题,请及时私信或留言给本站上传会员【二***】,需本站解决可联系【 微信客服】、【 QQ客服】,若有其他问题请点击或扫码反馈【 服务填表】;文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“【 版权申诉】”(推荐),意见反馈和侵权处理邮箱:1219186828@qq.com;也可以拔打客服电话:4008-655-100;投诉/维权电话:4009-655-100。
关于本文