ImageVerifierCode 换一换
格式:DOCX , 页数:23 ,大小:27.63KB ,
资源ID:13227915      下载积分:6 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-13227915.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(C++教学大纲.docx)为本站会员(b****3)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

C++教学大纲.docx

1、C+教学大纲计算机科学与技术专业C+语言基础教程教学大纲信息技术学院2009年2月编写说明C语言是目前世界上最流行和实用的一种计算机高级程序设计语言,它具有丰富的数据类型和各种运算功能,带有庞大的函数库和类库,既支持面向过程的程序设计,又支持面向对象的程序设计,因此是目前进行计算机软件开发的主要工具之一,正在成为普通高等院校开设程序设计课程的首选语言。C语言基础教程在计算机科学中是一门基础课程,它将为数据结构、操作系统、软件工程、面向对象程序设计、计算机网络等所有后续课程打下坚实的计算机语言和程序设计的基础。C语言基础教程目前尚无全国性统编教学大纲,为了规范教学,提高教学质量,在参考其他兄弟院

2、校相关教学大纲的基础上,编写了本大纲。本大纲的编写目的除了给出教学时应参考的教学目的、教学重点和难点外,也在大纲中提供了各个章节的内容要点,以为读者学习时提供指导。学习C+语言的最好办法是上机实践,掌握C+语言的语言规范并不等于掌握了C+语言。C+语言十分灵活,要在实践中不断提高应用水平。C语言基础教程作为一门专业技术基础课程,其内容适合于计算机科学与技术专业、信息管理与信息技术专业以及相关专业的本科生和专科生使用。本大纲编写人:梁晓林。本大纲修订时间:二OO九年二月课时分配表 课程总时数:68学时章 目内 容讲课时数上机时数第一章C+语言概述22第二章数据类型和表达式5第三章流程控制语句72

3、第四章数组与字符串84第五章指针74第六章函数82第七章结构与联合4 第八章类与对象4第九章类的继承与多态性4第十章C+流32合计5216第一章 C+语言概述【教学目的和要求】本章是全书的综述,要求学生了解C+语言出现的历史背景、当前发展概况、C+语言的特点等内容;掌握C+语言程序的格式、上机环境和程序的编译执行。【教学重点】C+语言程序的格式。【教学难点】VC+语言程序的上机环境和程序的调试方法。【教学方法】讲授为主,通过上机熟悉VC+集成开发环境。【思考题】1. 一个标识符中的首字符必须是什么字符?其余位置上的字符必须是什么字符?2. C+语言分为哪几类?3. 上机运行一个程序需要经过哪些

4、阶段?【讲授内容】1.1 引言C+语言是目前世界上公认的最流行、最实用的高级语言;它是对C的继承和扩展;是既面向过程又面向对象的语言。本书是以Visual C+6.0为蓝本和操作界面的。1.2 C+字符集同自然语言一样,具有字、词、句、章的基本成分和结构,C+具有规定的字符集,其中包括:英文字母、数字符号、标点符号、运算符、特殊符号等。1.3 C+单词由C+字符按照一定的组词规则构成的C+单词。其中包括:保留字、标识符、常量、运算符、标点符号等。1.4 C+语句单词按照一定的语法规则排列起来形成语句。除复合语句外,必须以分号结束。C+语句有类型定义语句、变量定义语句、函数原型语句、表达式语句、

5、复合语句、选择语句、循环语句、跳转语句等。1.5 C+函数函数是指能够完成某一功能的功能模块。C+函数分为系统函数和用户函数。系统函数由C+系统提供,用户可以直接使用;用户函数是指由编程者(用户)在程序中编写具有相对独立功能的模块。函数定义格式: 函数类型 函数标识符 ( 参数表 ) 函数体。主函数: 每个程序有且仅有一个,一般格式为:void main(void) 语句 1.6 C+程序一个C+程序是由:一个主函数和若干个用户函数等组成的一个或多文件,每个扩展名为.cpp。C+程序可以有注释一提高程序的可读性,格式为:/ 注释内容;或/* 注释内容 */。1.7 VC+6.0集成开发环境简介

6、根据实际问题编写程序。开发程序的过程可以分别在程序编辑窗口、编译状态输出窗口、输出显示窗口来完成程序的输入、编辑、连接和运行。第二章 数据类型和表达式【教学目的和要求】本章是C+语言的基础内容,要求学生了解C+语言指针数据类型、空类型、构造数据类型的初步用法;掌握C+语言基本数据类型的用法、数据类型的混合运算及类型转换;掌握C+语言常见运算符的用法、运算符的优先级和结合性。【教学重点】C+语言基本数据类型的用法,常见运算符的用法。【教学难点】数据类型的混合运算及类型转换,运算符的优先级和结合性、自增和自减运算。【教学方法】讲授为主。【思考题】1. C+数据分为哪四种大的类型?2. 每一种C+具

7、体类型的关键字是什么?3. 转义字符序列中的首字符是什么字符?4. 定义符号常量和变量的语句有什么异同?【讲授内容】2.1 数据类型C+语言的数据类型可以分成系统预定义数据类型和用户自定义数据类型;也可以分成简单(单值)类型和复杂(多值)类型。其中,简单(单值)类型:int, char, bool, float(4), double, int*,int&,void,enum ;复杂(多值)类型:整型,字符型,逻辑型bool,枚举型enum。2.2 常量一、 整型(int)常量:十、八、十六进制二、 字符(char)常量:有一般和转义表示两种三、 枚举常量: enum colorred, yel

8、low, blue;定义之后就可以引用这三个枚举常量四、 实型常量(实数):两种表示 定点表示:12.0, -3.56, .06 浮点表示:2.45e6, -30E7, 4e-12 ,即“定点数+E(或e)+指数”科学技术法五、地址常量(指针常量)2.3 变量1变量定义语句:类型关键字 变量标识符 =初值表达式, ;2符号常量定义语句:与变量定义类似,const为符号常量开头的关键字const 类型关键字 常量标识符 =初值表达式, ;2.4 运算符1. 运算符:分为单目、双目、三目,每组均有优先级与结合性的问题,优先级共分为16个级别,结合性分为左结合和右结合两种。 双目算术运算符:+, -

9、, *, /, % 赋值运算符:一般赋值和复合赋值运算符,其结合性从右向左 增1(+)和减1(- -)运算符 求类型或数据长度运算符:sizeof() 强制类型转换:通过类型关键字,转换成指定的类型 关系运算符6个:, =, , &-|) 条件运算符(三目运算):xy? z=x: z=y;等价于 z=(xy? x:y); 逗号运算符 a+, b+, c- ; 圆括号运算符 x/(y+2) (用来改变优先级,可以帮助更好的理解表达式)2. 表达式:由操作数和运算符进行有效连接而成的式子;可以分为一般表达式、函数调用表达式;一般表达式:数值表达式,关系表达式、逻辑表达式,后两者为逻辑值;表达式计算

10、:按运算符的结合性和优先级计算。2.5 函数 常用数学函数(在math.h中有函数原型说明):abs(a), fabs(x), sin(x), con(x), tan(x), sqrt(x), exp(x), pow(x,y), log(x) lnx, floor(x),ceil()等 随机函数(stdlib.h):rand(),srand(s) 终止运行函数(stdlib.h):exit(1) 执行时正常结束程序执行,返回C+主操作界面窗口;exit(0) 执行时非正常结束函数调用或称函数调用表达式: 函数名 ( 实参表 )第三章 流程控制语句(选择、循环、跳转)【教学目的和要求】本章既是C

11、+语言的基础内容,又是全书的重点内容,因为本章主要讲述程序执行语句,是将来我们编写程序的基础。本章要求学生掌握C+语言主要程序执行语句的用法。【教学重点】C+语言主要程序执行语句的用法。【教学难点】三类循环语句的用法。【教学方法】讲授与上机相结合。【思考题】1. 比较三类循环语句的功能和使用场合。2. 结合课后大量程序实例加以练习,完成课后作业。【讲授内容】3.1 if语句条件语句一、 if语句语句格式:1、 if (表达式) 2、 语句; 3、 if (表达式)4、 语句;5、 else6、 语句;注意:else子句不能单独使用;“语句;”可以是任何类型的语句;构成复合语句(用 括起来的语句

12、)的条件是什么;书写时要注意格式。二、 if语句的嵌套1、 if (表达式1) 语句1;else if (表达式2) 语句2;else if (表达式3) 语句3;else if (表达式n) 语句n;else 表达式n+1;2、 if (表达式1) if (表达式2) if (表达式n) 语句n; else 语句n; else 语句2;else 语句1 ;3.2 switch语句-开关语句、情况语句一、 语句格式switch(条件表达式)case 常量表达式1:语句1;break;case 常量表达式2:语句2;break;case 常量表达式n:语句n;break;default 语句n+

13、1;break;二、 注意事项1、 case中break;语句的功能。2、 default部分的功能。3、 若干个case所执行的内容相同时,如何办?4、 所有常量表达式的值必须互不相同;case与default的顺序可以自由书写;最后的break;可以省略。3.3 for语句语句格式:for ( 表达式1 ; 表达式2 ; 表达式3 ) 语句3.4 while语句语句格式: while ( 条件表达式 ) 语句3.5 do语句语句格式: do 语句 while (表达式);3.6 跳转语句1. goto 语句格式:goto 语句标号;2. continue语句 只能用在循环语句中,用来终止本

14、次循环3. break语句只能用在循环和switch语句中,用来终止整个循环4. return语句 返回语句第四章 数组与字符串【教学目的和要求】本章是C+语言中较重要的内容,要求学生掌握C+语言中一维、多维数组的定义和引用、字符串的处理。【教学重点】一维、二维数组的定义和引用。【教学难点】如何利用数组处理字符串。【教学方法】讲授与上机相结合。【思考题】1. 数组如何在内存中进行存储的,其存储长度如何计算?2. 字符串与数组具有何联系?如何存储?3. 数组都有哪些具体的应用?【讲授内容】4.1 数组的概念数组:具有相同数据类型的一组数据。按照数据之间的结构数组有一维、二维、三维等。数组元素是指

15、数组中的一个数据,用数组名和下标来表示。数组长度是指数组中所含元素的个数,由应用需要而定(1)。例如定义:int a10; 说明:下标从0开始,10代表数组长度。4.2 数组的定义数组需要“先定义,后使用”。一、 一维数组的定义:类型名 数组名 常量表达式 =初始化数据表;定义数组,系统将在内存中为它分配一块含有n个存储单元的连续存储空间,每个存储单元包含的字结束等于元素类型的长度。下标变量,即数组元素:数组名 下标表达式 二、 二维数组的定义:类型名 数组名 常量式1 常量式2 =初值表1, 初值表2, ;双下标变量, 即二维数组元素的表示,语法格式:数组名 行下标式 列下标式 二维数组元素

16、按“行”存储。例如定义: int a34;a00 a01 a02 a03a10 a20 a234.3 数组的应用数组的应用非常广泛:第一方面:利用数组进行数值计算;第二方面:利用数组进行统计;第三方面:数据排序;第四方面:查找数据。4.4 字符串1. 字符串的概念: 字符串是指用双引号括起来的一串字符,字符串中双引号内所包含字符的个数称为字符串的长度。字符串通常是用一维字符数组存储,系统也需要为字符串分配一个空间来存储,无论是用户,还是系统存储,均必须在字符串最后存储一个空字符0作为字符串的结束。字符串既可以通过下标变量输入和输出,也可以进行整体输入和输出。2. 字符串函数:是对字符串进行操作

17、的一组函数。其原型说明位于头文件string.h 中。其中有求长度函数 strlen(a)、字符串拷贝 strcpy(c,a)、字符串连接 strcat(c,b)、字符串比较 strcmp(a,b)等。第五章 指针【教学目的和要求】本章是C+语言中非常重要的一部分内容,是C+语言的精华所在。要求学生非常熟练地掌握C+语言中指针变量的定义、作用和各种使用方法。【教学重点】指针的定义和引用。【教学难点】利用指针处理字符串、指针在函数中的应用。【教学方法】讲授与上机相结合。【思考题】1. 区分指针和指针变量的含义。2. 区分两个运算符:*(指针运算符) 和 &(取地址运算符)。3. 区分下列表示方法

18、:(&a, p, &*p)和(a, *&a)。【讲授内容】5.1 指针的概念指针是指计算机内部存储器中一个存储字节的地址。一个变量的(起始)地址称为该变量的指针。在C+中每个指针都与一个具体的数据类型相联系,即每个指针为内存中存储该类型的一个数据的地址,具体为存储该数据所占用存储空间的首字节地址。5.2 指针变量指针变量:存放另一个变量的地址的变量。 一、指针变量的定义格式:(同普通变量)类型名 * 变量名 =初值表达式,;如:int a, *p; p=&a; 或 int a, *p=&a;三、 指向常量的指针:定义的指针所指向的对象是常量,是不可修改的。定义格式为:const 类型名 * 常

19、量指针名 =初值表达式;四、 指针常量: 指针不能被修改,所指对象能修改,即指针不可再指向其它对象,但它所指向的对象是可以修改的。定义格式为:类型名 * const 常量指针名 =初值表达式;5.3 指针运算指针运算包括赋值(=)、取地址(&) 、间接访问(*)、增1(+)和减1(-)、加(+)和减(-)、加赋值(+=)和减赋值(-=)、比较(=,!=,=)。注意区分两个运算符:*(指针运算符) 和 &(取地址运算符);区分下列表示方法:(&a, p, &*p)和(a, *&a)。5.4 指针与数组1. 指针与一维数组一维数组名是指向该数组第一个元素的指针,为指向元素的指针类型。2. 指针与二

20、维数组可以把二维数组看作为一维数组的嵌套:例如定义char a510; 二维数组可看作char10类型的一维数组a5, 其值为指向该一维数组的指针;而一维数组a5 的每个元素为ai10,为char类型的数据。数组名是指针常量:a, a0, &a00值相同,但类型不同,a是字符数组指针类型 char (*)10,a0, &a00均为字符指针类型 char *5.5 引用变量引用变量同一般的变量,只是加了一个&号。定义格式:类型名 & 引用变量名 = 已有同类变量;引用主要用途用于定义函数参数:如:int Add(int &x, int &y) return x+y;int a=5, b=8, c

21、; c=Add(a, b);5.6 动态存储分配1. 变量的静态分配:指变量定义语句定义的变量,在编译阶段由系统分配存储空间。 2. 变量的动态分配: 在运行阶段,执行new运算时进行的存储分配,是在程序运行阶段完成的,所以称之为 动态分配。new运算格式: new 类型名 ( 初值表达式 )new 类型名 数组长度 动态空间的释放: delete 指针变量delete 指向动态数组的指针 第六章 函数【教学目的和要求】本章也是C+语言中较重要的内容,要求掌握C+语言中函数的定义、函数说明、函数格式、参数的引用、变量的存储类型及其使用范围。【教学重点】函数说明、参数的引用、变量的存储类型及其使

22、用范围。【教学难点】变量的存储类型。【教学方法】讲授与上机相结合。【思考题】1. 函数调用的三种形式是什么?2. 使用函数的递归调用求Fibonacci数列。【讲授内容】6.1 函数的定义函数定义格式: 类型名 函数名 ( 参数表 ) 函数体。6.2 函数的调用1. 调用格式:函数名 ( 实际参数表 )2. 调用过程分为三步: 参数传递 (实虚结合) 执行函数体 (当遇return返回) 返回 (返回一个值到调用表达式的位置 )3. 参数传递: 即:实参向形参的传递,又分为以下两种情况: 值传递:非引用参数的传递 原型为int fa(int x, char* a); 调用 fa(35, p);

23、 引用传递:引用参数的传递 原型为char* fb(int& x, char*& y); 调用fb(xx, yy); 6.3 变量的作用域变量的作用域分为:全局、文件、函数、块作用域。全局作用域:在所有函数定义之外定义的变量,在该程序的所有文件里都可用。文件作用域:在所有函数定义之外定义的变量,且使用static定义的变量,只在本文件中有效。函数作用域:专指语句标号,供goto语句作为转移使用,只能在本函数内使用,对于其他函数无效。块作用域:在一条复合语句内定义,作用域只在该语句内有效,该复合语句称为块,该变量只能在本语句内使用,之外就不起作用了。6.4 递归函数一个函数在它的函数体内直接或间

24、接地调用自己称为函数的递归调用。6.5 函数重载具有相同的函数名,而具有不同的参数表的函数,叫函数重载或重载函数。描述具有相同功能,但处理的数据类型是不同的这一类函数就称为函数重载,或利用函数重载。6.6 函数模板函数模板是带有类型参数的函数定义,类型参数由template成分给出。定义格式为:template 函数类型 函数名 ( 形式参数表 ) 函数体6.7 函数指针函数名是指向该函数执行代码的指针(由于函数通过编译后对应一段代码)。int fa(int x, int y);对应 int (*) (int, int) 定义函数指针变量并赋予函数指针后,函数指针就可以同函数名一样使用。int

25、 (*fp) (int, int)=fa; 调用fa(a, b);与 fp(a,b); 两者是等效的函数的形参表中也可以使用值参数,引用参数,这里也可以是函数参数(使同类型的函数名或函数指针)。第七章 结构与联合【教学目的和要求】本章要求熟练掌握C+语言中结构和联合的定义、引用。【教学重点】结构和联合的定义、引用。【教学难点】结构和联合在数据结构中的应用。【教学方法】讲授与上机相结合。【思考题】1. 结构定义语句的格式是什么?2. 结构类型变量的说明有哪三种方法?3. 联合与结构有何区别?它是如何定义的?【讲授内容】7.1 结构的定义结构是一种构造类型,它是由若干“成员”组成的。1. 结构的定

26、义格式:struct 结构类型名 成员类型1 成员名1; 成员类型2 成员名2; 成员类型n 成员名n; ; 例:struct stuint num;char name20;char sex;float score;2. 结构类型的长度等于各个数据成员的长度之和。7.2 结构变量的定义和初始化三种方法:1) 先定义结构,再说明结构变量struct stuint num;char name20;char sex;float score;struct stu boy1,boy2;2) 在定义结构类型的同时说明结构变量struct stuint num;char name20;char sex;fl

27、oat score;boy1,boy2;3) 定义无名结构类型的同时定义变量struct int num;char name20;char sex;float score; boy1,boy2;7.3 结构成员的访问操作1. 直接成员访问使用点操作符:结构变量名.成员名boy1.sex;2. 间接成员访问使用箭头操作符:如stu *px=&boy2; coutsex score;(stu为结构类型)。 3. 结构的赋值操作:同其他类型的变量一样可以赋值。7.4 使用结构的程序举例#includestruct ABchar a10; int b; ;void main() AB r5=xxk,35, wrong,45, xc,23, tsh,18, chs,38; int k=0;for(int i=1; i5; i+)if(ri.brk.b) k=i;coutrk.a rk.b unionunion ABC int a; double b; char* c; x;类型长度为所有成员类型长度的最大值;联合对象的定义格式与访问方式均与结构相同 x.a x.b x.c;任一时刻只有一个成员有效,这一点不同与结构,原因是分配的最大空间数不一样,每一个成员均是通过该空间来访问的。这是访问其他成员是无效的。第八章 类与对象【教学目

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2