百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx

上传人:b****6 文档编号:16507525 上传时间:2022-11-24 格式:DOCX 页数:101 大小:4.82MB
下载 相关 举报
百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx_第1页
第1页 / 共101页
百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx_第2页
第2页 / 共101页
百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx_第3页
第3页 / 共101页
百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx_第4页
第4页 / 共101页
百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx_第5页
第5页 / 共101页
点击查看更多>>
下载资源
资源描述

百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx

《百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx》由会员分享,可在线阅读,更多相关《百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx(101页珍藏版)》请在冰豆网上搜索。

百度资料c++primerplus第六版学习笔记 0111 2210+Word格式.docx

19

5、运算符sizeof和头文件limits20

符号常量-预处理器方式(注译)21

6、初始化21

c++初始化方式21

7、无符号类型22

8、选择整数类型23

9、整型字面值24

10、C++如何确定常量的类型25

11、char类型:

字符和小整数26

成员函数cout.put()27

Char字面值and转义序列27

通用字符名28

signedchar和unsignedchar29

wcha_t29

C++11新增的类型:

char16_t和char32_t29

Bool类型30

12、const限定符(定义符号常量)30

13、浮点数30

书写浮点数31

浮点类型31

浮点常量32

浮点数的优缺点33

将类型分类*注译33

13、c++算术符33

运算符优先级和结合性34

除法分支34

运算符重载(注译)34

求模运算符35

类型转换36

14、总结38

15、第三章复习题39

16、编程练习40

第四章、复合类型40

1、数组40

3、数组的初始化规则42

4、c++数组初始化方法42

5、字符串43

拼接字符串常量43

在数组中使用字符串43

字符串输入45

每次读取一行字符串输入46

混合输入字符串和数字47

6、string类简介48

C++11字符串初始化49

赋值、拼接和附加49

String类的其他操作(包含了确定字符数函数)50

String类I/O50

其他形式的字符串面值52

7、结构简介52

在程序中使用结构53

C++结构初始化55

结构可以将string类作为成员吗56

其他结构属性56

结构数组56

结构中的位字段57

9、共用体57

10、枚举58

设置枚举量的值59

枚举的取值范围59

11、指针和自由存储空间59

声明和初始化指针61

指针的危险62

指针和数字63

使用new来分配内存63

使用delete释放内存64

使用new来创建动态数组65

12、指针、数组和指针算术67

指针小结69

指针和字符串71

使用new创建动态结构73

预备知识

1、c++简介

c面向过程,c++面向对象。

2、程序创建技巧

编写源代码>

>

编译器(翻译)源代码>

生成目标代码>

将目标代码与其他代码链接>

生成执行代码.

3、源文件扩展名

开始学习c++

2、c++代码结构

c++.cpp这是个演示文件注译

#include<

iostream>

预处理器编译指令<

头文件>

usingnamespacestd指定命名空间std

intmain()函数头

{函数体开始用{

cout<

<

"

这是个演示文件"

;

函数体(cout输出语句)c++语句必须;

结尾

cout<

endl;

换行

return0;

结束main()函数的return语句

}

3、函数

main()是一个函数,示例中intmain()是一个函数头,函数头为函数和程序对其他部分之间的接口(自己理解为下面的函数体)做了总结,{包含的函数体表示计算机应该做什么指令,每一条指令为一个语句,每个语句都应由;

结尾。

main()函数最后一条语句“return0”叫做返回语句,叫做返回语句。

函数可被其他函数激活或调用,函数头描述了函数和调用它的函数之间的接口,位于函数前面的叫做函数返回类型(如intmain(),这里main()函数的返回类型是int(整型)),函数后面括号部分叫做形参列表或者叫参数列表。

C++程序必须包含一个名为main()的函数。

4、注译

c++注译以//打头//结尾,可以同代码同一行也可单独一行,也可用c语言注译/*开头*/结尾。

5、c++预处理器和iostream文件

#include预处理器,在主编译之前对源文件进行处理。

预处理操作,该指令将iostream头文件的内容添加到程序中,

iostream文件包含了输入和输出的定义,如cout输出cin输出都需要该文件定义。

6、头文件名

iostream叫做包含文件,也叫头文件,c++包含了很多这样的头文件,每个头文件支持一组特定的工具,在C语言中这样的头文件扩展名有.h,来自c语言的头文件在C++中最前面加c,如cmath。

7、名称空间

头文件不包含.h便可以使用命名空间,

usingnamespace叫做using编译指令,(暂时理解为存放组件的空间)

类、函数、变量是c++的标准组件,这些组件放置在std空间中,

因此使用usingnamespacestd指令,指令使得std空间的所有名称都可用。

也可省略using编译指令使用以下方式,如:

std:

:

字符串"

std:

8、cout进行c++输出

如cout<

内容"

双引号括起的是字符串,为将要显示的字符,

符号表示将字符串发送给cout,

cout是iostream预定义的一个对象,属性包括一个插入运算符,(语句理解为将<

右边的字符插入到输出流中。

小提示<

表示多种运算符,这里是运算符重载的一个例子。

9、控制符endl

endl是一个特殊的符号,表示重起一行,

如endl在cout中有特殊含义的称为控制符(在iostream文件中定义)

支持旧的C语言换行方法,如cout="

字符\n"

10、c++代码格式

1、在C++中分号;

标识了语句的结尾

2、可将几条代码放在一行,也可放在几行上。

C++语句

1、声明语句和变量

如intcarrots这条声明语句,这条语句指出程序需要组空的存储空间来存储一个整数,并给存储单元制定名称,在C++中int表示整数,编译器负责分配和标记内存细节。

该声明指出此后程序将使用carrots来表示存储在该内存单元中的值,carrots被称为变量,因为它的值可修改,

C++中所有变量都需声明

尽量在首次使用变量前声明。

2、赋值语句

赋值语句:

将值赋给存储单元,如:

carrots=25;

=叫做赋值运算符,可以连续使用改运算符,赋值自右到左进行,

允许对变量的值进行更改,如:

carrots=25-1;

3、cout的新用法

如cout=carrots;

没有双引号程序不会打印该字符carrots,

而是打印前面进行过赋值操作的

4、使用cin

例:

intX;

”这是个简单的X程序”;

cin>

X;

(如在这里输入12)

”X加上2等于多少”;

X=X+2;

Cout<

x+2等于<

X<

输出结果为:

这是个简单的X程序,X加上2等于多少,X加2等于14X.

cin可以理解为跟cout相反,作为输入流的一个对象,也可以接收通过键盘输入的字符。

5、使用cout拼接

可用格式:

”Nowyouhave”;

carrots;

”carrots”;

6、类简介

类是用户定义的一种数据类型,类相比对象就像类型相比变量,类定义描述的是数据格式及其用法,而对象则是根据数据格式规范创建的实体。

举例来说类就像所有的著名演员,而对象就好比某个著名演员。

Intcarrots,这个代码创建一个类型为int的变量,corrots可以存储整数,可以加和减,来看cout,它是一个ostream类的对象,ostream类描述了它包含的对象表示的数据以及可以对他执行的所有操作,如cout将数字或字符插入到输出流中,另外的还有cin。

该类库是语言标准制定的类。

7、函数

C++函数分为两种:

有返回值和没有返回值

有返回值:

有返回值的函数将生成一个值,该值可以赋给变量或在其他表达式中使用,例如,标准库中含有一个sqrt()的函数,它返回平方根,加入要计算6.25的平方根并将这个值(返回值)赋给变量,则可以使用一下语句,

X=sqrt(6.25);

//计算6.25的平方根,并将值赋给变量x//

表达式sqrt(6.25)调用sqrt()函数,sqrt(6.25)称为函数函数调用,被调用的函数叫被调用函数sqrt(),包含函数调用的函数叫做调用函数,如前面声明的函数头intmain()。

参数是发送给函数的值,返回值是从函数中发送回去的值。

8、函数原型

在使用函数之前,编译器必须知道函数的参数类型和返回值类型,

C++使用的方式是使用函数原型语句。

C++中应为每个使用的函数提供原型。

函数原型就像使用变量必须变量声明---使用函数就必须提供函数原型(也可称为函数声明)

比如sqrt()函数在c++中定义为一个(可能)带小数部分的数字(如6.25)作为参数,并返回一个相同“类型”的数字,有些语言称这种数字为实数,c++称这种类型为double,那么sqrt()的原型就像这样:

doublesqrt(double);

第一个double意味着sqrt()返回一个double值,括号中的double意味着sqrt()需要一个double参数。

因此该原型对sqrt()函数的描述和下面代码使用的函数相同:

doublex;

//原型结尾有分好表明是一条语句,如果省略分好编译器就会把这行解释为函数头,并接着要求提供定义该函数的函数体。

X=sqrt(6.25)

在程序中使用sqrt()函数时,也必须提供函数原型,可用两种方法来实现。

1、在源代码中输入函数原型

2、在头文件(cmath)中定义函数原型

因有使用sqrt()函数因此这里输入定义函数原型头文件cmath

9、使用库函数

C++还允许创建变量时进行赋值,

如:

doublea=sqrt(b)这个过程叫做初始化。

10、函数变体

有些函数需要多项信息,这些函数使用多项参数,参数间用,号隔开,

例如数学函数pow()接受两项函数,返回值以第一个参数为底,第二个参数为幂,该函数的原型如下:

Doub=pow(double,double).

例如要计算5的8次方

Pw=pow(5.0,8.0);

另外有一些函数不接受任何参数,例如有一个c库

中包含一个rand()函数,该函数不接受任何参数,并返回一个随机整数,该函数的原型如下:

Intrand(void)

关键字void指出,该函数不接收任何参数,如果括号为空省略void,则c++解释为一个不接受任何参数的隐式声明。

可以这样使用该函数。

Myguess=rand();

c++中函数调用必须使用()号,即使没有参数。

还有一些函数,如编写了一个函数它按美元美分格式显示数字,当向他传递参数23.5时,它将在显示屏显示$23.50。

由于这个函数把值发送给了屏幕,而不是调用程序,因此它不需要返回值,

可以在原型中使用void来指定返回类型,以指出没有返回值。

Voidbucks(double);

不返回值的函数不能将该函数调用放在赋值语句或其他表达式中。

相反,应使用一条纯粹的函数调用语句

Bucks(1234.56);

11、用户定义的函数(此节在第7页有练习题)

添加另外一个用户定义的函数必须在使用之前提供其原型,但是必须提供新函数的源代码,这里放在main()函数后面。

(理解为调用simon必须提供simon函数源代码,例中第二个函数体。

程序清单中mian()函数调用了2次库函数simon(),一次的参数为3,一次的参数为变量count。

下面是程序2.5的运行情况。

12、函数格式

在2.5中函数simon()定义与main()函数定义相同,首先有个函数头,然后有花括号开始的函数体。

13、函数头

在上面2.5清单中,simon()函数的函数头如下

Voidsimon(intn)

开头的void表示simon()没有返回值,因此main()调用simon()不会生成可在main()中赋予变量的数字。

因此调用该函数应按如下方式:

Simon(3);

由于simon没有返回值,因此不能这样用它:

so=simon(3);

在以上实例中,voidsimon(intn)括号中的int表示使用该函数时应该提供一个int参数,n是一个新的变量,函数调用传递的值将赋予给它,如下面的函数调用将3赋予给simon()函数头中的变量n。

Simon(3);

当函数体中使用cout输出n时,将使用函数调用传递的值,因此2.5实例第一行输出为什么simon(3)显示3的原因。

Simon()的函数头已经说明,simon接收int参数,但不返回任何值。

14、复习intmain()函数头

Intmain()开头的int表明,main返回一个int值,函数后面的括号表明(可包含void),main()没有参数,对于有返回值的函数(main()有返回值,)应用关键字retuen来提供返回值,并结束函数,这就是为什么要在main()结尾使用return0;

语句的原因。

mian()函数的值并不返回给程序而是返回给操作系统,操作系统使用main()函数,之后的return0要求返回是0,如0表示程序运行成功,如是非0值表示程序不能正常运行。

15、关键字

在计算机语言中的词汇如:

void、double、int等等称为关键字,为c++语言中的专用词汇,这些关键字不能用作变量名,也不能用作函数名。

例外:

如cout在不使用输出操作的时候可以把它作为变量名,但不能在有输出的情况下当做变量名来使用

16、用户定义有返回值的函数

有返回值的函数练习题

//stone,将英石转换为磅.cpp

intstonetolb(int);

//提供函数stonetolb原型,返回值为int,参数值为int)

intstonetolb(intsts)//函数头,括号中的int表明,使用stonetolb时应提供一个int参数,sts是一个新的变量。

//函数调用时传递的值将被赋予给sts)上面stonetolb(stone)stone的值被赋予给sts

{

return14*sts;

//有返回值的函数,应用return来提供返回值,这里返回main()

}

intmain()//函数头,main()返回值为int

{

usingnamespacestd;

//使用命名空间std

intstone;

//变量声明

请输入一个整数,单位为“英石”"

//输出语句

stone;

//输入键击数据

intpounds=stonetolb(stone);

//调用stonetolb变量参数值为stone,返回值为整数赋予pounds(磅),这里

stone<

英石="

//输出

pounds<

磅."

//输出,换行

return0;

//执行结束返回0

//函数调用时传递的值:

函数被调用时赋予的值!

//有返回值的函数,应用return来提供返回值,main调用了该函数,这里返回给main()

没有返回值的练习题

void 

simon(int);

 

//定义simon原型,参数为int,返回值为void

int 

main()//函数声明

using 

namespace 

std;

simon(3);

//调用simon,参数值为3

pick 

an 

intrger:

count;

//定义变量count为整数

cin>

//输入键击数据,并赋予给count;

simon(count);

//再次调用simon

done"

//输出换行

return 

0;

//因调用了simon函数,下面提供该函数的源代码

simon(int 

n)//函数调用时传递的值赋予给"

n"

Simon 

says 

touch 

your 

toes

n<

times."

}

17、多函数程序中使用using指令

在上面的有返回值函数的例子中,两个函数程序都使用了using指令,这是因为都使用了cout,必须用到名称空间std的定义。

在以上实例中,可以用另一种方法让两个函数都能访问名称空间std,即将编译指令放在外面,且两个函数的前面。

让程序能够访问名称空间的方法,四种:

总结

1、C++程序由一个或多个被称为函数的模块组成

2、程序从main()函数开始执行,该函数必不可少

3、函数由函数头和函数体组成,函数头指出函数的返回值(如有)的类型和函数期望通过参数传递给它的信息的类型。

函数体由一系列位于花括号{中的c++语句组成,有多种类型的c++语句,包括以下六种:

⊙声明语句:

定义函数中使用的变量名称和类型

⊙赋值语句:

使用赋值运算符(=)给变量赋值

⊙消息语句:

将消息发送给对象,激发某种行动

⊙函数调用:

执行函数,被调用的函数执行完毕后,程序返回到函数调用语句后面的语句

⊙函数原型:

声明函数的返回类型、函数接收的参数数量和类型

⊙返回语句:

将一个值从被调用的函数哪里返回到调用函数中

◆类是用户定义的数据类型的规范,详细描述了如何表示星系以及可对数据执行的操作。

对象是根据类规范创建的实体,奖项简单变量是根据数据类型描述创建的实体一样。

◆c++可使用大量的c库函数,要使用库函数,应当包含提供该函数原型的头文件。

复习题

1.在c++程序的模块叫什么?

答:

函数

2.下面的于处理器编译指令是做什么的?

在编译之前,使用iostream文件替换编译指令

3.下面的语句是做什么用的?

usingnamespacestd;

使用std名称空间的名称定义

4.什么语句可以用来打印“Hello,world”然后开始新的一行

”Hello,word”<

5.什么语句可以用来创建名为cheeses的整数变量?

intcheeses;

6.什么语句可以用来将值32赋给变量cheeses?

cheeses=32;

7.什么语句可以用来将从键盘输入的值读入变量cheeses?

cheeses;

8.什么语句可以用来打印“WehaveXvarietiesofcheeses“其中X为变量cheeses的当前值?

”Wehave”<

cheeses<

”varietiesofcheeses”

9.下面的函数原型指出了关于函数的哪些信息?

intfroop(doublet)//调用froop函数时,应提供一个参数,该参数类型为double,返回值为int。

Voidrattle(intn)//调用rattle函数时应提供一个参数,参数类型为int,该函数不返回任何值.可以这样用他rattle(3);

Intprune(void)//该函数不接受任何参数,返回一个整数,例如可以这样用他

int函数名=prune();

10.定义函数时,什么情况下不必使用关键字return。

函数的返回类型为void的情况下,不必使用他,但如果不提供返回值,则可以用他return;

11.架设您编写的main()函数包含如下代码:

”请输入PIN码”;

而编译器指出cout是一个未知标识符,导致问题的原因可能是什么,指出3中修复这种问题的方法。

因为头文件没有包含ostream头文件,

修复方法:

1、在头文件加入#include<

2、

编程练习

编写一个c++程序,它显示您的姓名和地址

intmain()

我叫邹伟"

cout<

住在中国"

cin.get();

编写一个c++程序,它要求用户输入一个以long为单位的距离,然后将他转换为码,(一long等于220码).

intlongs;

intlonge;

请输入要转换的数值,按回车键确认:

longs;

longe=longs*220;

转换结果为"

longe<

码"

编写一个c++程序,它使用3个用户定义的函数(包括main()),并生成下面的输出

Threeblindmice

Seehowtheyrun

编写一个程序,让用户输入其年龄,然后显示该年龄包含多少个月。

如下所示

Enteryourage:

29

intage;

请输入您的年龄"

age;

age<

岁等于"

age=age*12;

月"

编写一个程序,其中的main()调用一个用户定义的函数(以摄氏度为参数,并返回相应的华氏度)该程序按下面的格式要求用户输入摄氏度值,并显示结果.

#inc

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 高中教育 > 语文

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1