c++的初步知识

上传人:正** 文档编号:51899634 上传时间:2018-08-17 格式:PPT 页数:40 大小:452.50KB
返回 下载 相关 举报
c++的初步知识_第1页
第1页 / 共40页
c++的初步知识_第2页
第2页 / 共40页
c++的初步知识_第3页
第3页 / 共40页
c++的初步知识_第4页
第4页 / 共40页
c++的初步知识_第5页
第5页 / 共40页
点击查看更多>>
资源描述

《c++的初步知识》由会员分享,可在线阅读,更多相关《c++的初步知识(40页珍藏版)》请在金锄头文库上搜索。

1、C+面向对象程序设计清华大学出版社中国高等院校计算机基础教育课程体系规划教材谭浩强 编著第1章 C+的初步知识*1.1 从C到C+ *1.2 最简单的C+程序1.3 C+对C的扩充1.4 C+程序的构成和书写形式1.5 C+程序的编写和实现1.6 关于C+上机实践计算机诞生初期,人们要使用计算机必须用机器 语言或汇编语言编写程序。世界上第一种计算机高 级语言诞生于1954年,它是FORTRAN语言。先后 出现了多种计算机高级语言。其中使用最广泛、影 响最大的当推BASIC语言和C语言。 BASIC语言是1964年在FORTRAN语言的基础上 简化而成的,它是为初学者设计的小型高级语言。 C语言

2、是1972年由美国贝尔实验室的D.M.Ritchie 研制成功的。它不是为初学者设计的,而是为计算 机专业人员设计的。大多数系统软件和许多应用软 件都是用C语言编写的。*1.1 从C到C+但是随着软件规模的增大,用C语言编写程序渐 渐显得有些吃力了。 C+是由AT /使用命名空间std int main( ) cout”,这不是 C+的语句,而是C+的一个预处理命令,它以“#” 开头以与C+语句相区别,行的末尾没有分号。#include 是一个“包含命令”,它的作 用是将文件iostream的内容包含到该命令所在的程 序文件中,代替该命令行。文件iostream的作用是 向程序提供输入或输出时

3、所需要的一些信息。 iostream是i-o-stream 3个词的组合,从它的形式就 可以知道它代表“输入输出流”的意思,由于这类文 件都放在程序单元的开头,所以称为“头文件 ”(head file)。在程序进行编译时,先对所有的预处 理命令进行处理,将头文件的具体内容代替 #include命令行,然后再对该程序单元进行整体编 译。程序的第2行“using namespace std; ” 的意思是“ 使用命名空间std”。C+标准库中的类和函数是在 命名空间std中声明的,因此程序中如果需要用到 C+标准库(此时就需要用#include命令行),就需要 用“using namespace

4、std; ”作声明,表示要用到命 名空间std中的内容。 在初学C+时,对本程序中的第1,2行可以不必深 究,只需知道: 如果程序有输入或输出时,必须 使用“#include ”命令以提供必要的信息 ,同时要用“using namespace std;” ,使程序能够 使用这些信息,否则程序编译时将出错。例1.2 求a和b两个数之和。可以写出以下程序: / 求两数之和 (本行是注释行) #include /预处理命令 using namespace std; /使用命名空间std int main( ) /主函数首部 /函数体开始int a,b,sum; /定义变量cinab; /输入语句su

5、m=a+b; /赋值语句 cout /预处理命令 using namespace std; int max(int x,int y) /定义max函数,函数值为整型,形式参数x, y为整型 /max函数体开始int z; /变量声明,定义本函数中用到的变量z为整 型if(xy) z=x; /if语句,如果xy,则将x的值赋给z else z=y; /否则,将y的值赋给zreturn(z); /将z的值返回,通过max带回调用处 /max函数结束int main( ) /主函数 /主函数体开始int a,b,m; /变量声明cinab; /输入变量a和b的值m=max(a,b); /调用max函

6、数,将得到的值赋给m cout using namespace std; int main( ) int max(int x,int y); /对max函数作声明int a,b,c;cinab;c=max(a,b); /调用max函数couty) z=x;else z=y;return(z); 只要在被调用函数的首部的末尾加一个分号,就 成为对该函数的函数声明。函数声明的位置应当在 函数调用之前。下面举一个包含类(class)和对象(object)的C+程 序,目的是使读者初步了解C+是怎样体现面向对 象程序设计方法的。 例1.4 包含类的C+程序。#include / 预处理命令 using

7、 namespace std; class Student / 声明一个类,类名为Student private: / 以下为类中的私有部分int num; / 私有变量numint score; / 私有变量score public: / 以下为类中的公用部分void setdata( ) / 定义公用函数setdatacinnum; / 输入num的值cinscore; / 输入score的值 void display( ) / 定义公用函数displaycout”一起使用, ,结合方向为自左向右。1.3 C+对C的扩充1.3.2 用const定义常变量: 有数据类型,占用存储单元,有地址

8、,可以 用指针指向,值固定不能改变。 const float PI=3.14159; 1.3.3 函数原型声明函数调用的位置在函数定义之前,必须在函数调 度之前对所调度函数进行函数原型声明,合法性检 查。 函数类型 函数名(参数表); int max(int x, int y);1.3 C+对C的扩充1.3.4 函数的重载: 插入运算符”,重载:一个运算符用于不同场合,有不同含义。 函数重载:用同一函数名定义多个函数,这些函 数的参数个数或参数类型不同,这些同名的函数完 成不同的功能,即一个函数名多用。 int max(int a, int b, int c); int max(int a,

9、int b); int max(float a, float b, float c);1.3 C+对C的扩充1.3.5 函数模板: 函数重载可以实现一个函数名多用,将实现相同 的或类似功能的函数用同一个函数名来定义。但还 要分别定义每一个函数。 函数模板:建立一个通用函数,其函数类型和形 参类型不具体指定,用一个虚拟的类型来代表。凡 是函数体相同的函数都可以用这个模板来代替,不 必定义多个函数,只在模板中定义一次即可,在调 用函数时系统会根据实参的类型来取代模板中的虚 拟类型,从而实现不同函数的功能。 template通用函数定义1.3 C+对C的扩充1.3.5 函数模板: 用函数模板比函数重

10、载更方便和简洁,但只适用 于函数的参数个数相同而类型不同,且函数体相同 的情况。如果参数的个数不同,则不能用函数模板 。 template T max(T a, T b) if (ba) a=b;if (ca) a=c;return a; 1.3 C+对C的扩充1.3.6 有默认参数的函数 多次调用同一函数用同样的实参值,可以给形参 一个默认值。 float area(float r=6.5); area(); 相当于area(6.5); 实参和形参的结合从左向右进行,指定默认值的 参数必须放在形参表列中的最右端。 一个函数不能既作为重载函数,又作为默认参数 的函数。1.3 C+对C的扩充1.

11、3.7 变量的引用 就是“别名”,不是独立的变量,没有存储空间, 只有声明,没有定义。 int a; int 不能再作为 其他变量的别名。 引用作为函数参数,扩充函数传递的功能。1.3 C+对C的扩充1.3.8 内置函数编译时将所调用函数的代码嵌入到主函数中。 inline int max(int a, int b, int c)使用内置函数可以节省运行时间,但却增加了目 标程序的长度。1.3 C+对C的扩充1.3.9 作用域运算符float a=13.5 int main() int a=5; coutstring1;1.3 C+对C的扩充1.3.10 字符串变量 string name5=

12、“zhang”,”li”,”fun”,”wang”,”tan”;每个字符串变量分配固定的4个字节数1.3.11 动态分配/撤销内存的运算符 new int; new int54; delete p;是运算符,不是函数,执行效率高。1.3 C+对C的扩充C+程序的结构和书写格式归纳如下: (1) 一个C+程序可以由一个程序单位或多个 程序单位构成。每一个程序单位作为一个文件。在 程序编译时,编译系统分别对各个文件进行编译, 因此,一个文件是一个编译单元。 (2) 在一个程序单位中,可以包括以下几个部分 : 预处理命令。上节4个程序中都包括#include命 令。 全局声明部分(在函数外的声明部分

13、)。在这部 分中包括对用户自己定义的数据类型的声明和程序 中所用到的变量的定义。1.4 C+程序的构成和书写形式 函数。函数是实现操作的部分,因此函数是程 序中必须有的和最基本的组成部分。每一个程序必 须包括一个或多个函数,其中必须有一个(而且只 能有一个)主函数(main函数)。 但是并不要求每一个程序文件都必须具有以上3 个部分,可以缺少某些部分(包括函数)。 (3) 一个函数由两部分组成: 函数首部,即函数的第一行。包括函数名、函 数类型、函数属性、函数参数(形参)名、参数类型 。 一个函数名后面必须跟一对圆括号, 函数参数可 以缺省,如int main( )。 函数体,即函数首部下面的大括号内的部分。 如果在一个函数中有多个大括号,则最外层的一对 为函数体的范围。 函数体一般包括: 局部声明部分 (在函数内的声明部分)。包括对本 函数中所用到的类型、函数的声明和变量的定义。 对数据的声明既可以放在函数之外(其作用范围是 全局的),也可以放在函数内(其作用范围是局部的 ,只在本函数内有效)。 执行部分。由若干个执行语句组成,用来进行有 关的操作,

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 其它中学文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号