C++复习知识点1Word文档下载推荐.docx

上传人:b****5 文档编号:21478693 上传时间:2023-01-30 格式:DOCX 页数:30 大小:38.39KB
下载 相关 举报
C++复习知识点1Word文档下载推荐.docx_第1页
第1页 / 共30页
C++复习知识点1Word文档下载推荐.docx_第2页
第2页 / 共30页
C++复习知识点1Word文档下载推荐.docx_第3页
第3页 / 共30页
C++复习知识点1Word文档下载推荐.docx_第4页
第4页 / 共30页
C++复习知识点1Word文档下载推荐.docx_第5页
第5页 / 共30页
点击查看更多>>
下载资源
资源描述

C++复习知识点1Word文档下载推荐.docx

《C++复习知识点1Word文档下载推荐.docx》由会员分享,可在线阅读,更多相关《C++复习知识点1Word文档下载推荐.docx(30页珍藏版)》请在冰豆网上搜索。

C++复习知识点1Word文档下载推荐.docx

4byte(PC)–231~(231-1)

长整型long:

long/longint4byte(PC)–231~(231-1)

短整型short:

2byte(PC)-215~(215-1)

(3.1.1)整数运算时要注意数据的表示范围。

如整数用两个字节表示,正整数32767加1的结果为-32768。

这称为整数运算的溢出,系统不检查这样的错误,程序员必须自己保证程序中不出现这样的错误。

(3.1.2)在某些应用中,不可能出现负数,则整型数中有一半的数值范围是被浪费的。

因此在C/C++中可以将所有的数都看成正整数,称为无符号数。

无符号数的定义:

在各种整数类型前加上关键词unsigned,变成unsignedint,unsignedshort,unsignedlong

unsignedint0~232-1

unsignedshort0~65535

unsignedlong0~232-1

(3.2)实型:

以浮点表示,操作类似于整型,浮点数无法精确表示。

(3.2.1)浮点类型的分类:

单精度float:

占用4字节,3字节尾数,1字节指数,精确度7位范围10-38~1038

双精度double:

占用8字节,5字节尾数,3字节指数,精确度15~16位,范围10-307~10308

(3.3)字符型(char):

存放一个字母或符号,占一个字节,存放的是字符的内码。

可执行比较、连接等运算。

具有双重属性:

整数属性和字符属性,整数属性:

字符类型即单字节的整数类,字符属性:

数据值即为相应字符的Ascii码。

字符类型名:

char。

可分为可打印字符:

小写字母、大写字母、数字、标点符号、空格等;

非打印字符:

换行和报警字符或响铃等控制字符

(3.3.1)PC机中都用ASCII码表示,特性:

数字‘0’到‘9’是顺序存放的,字母被分成二段:

大写的和小写的。

大写字母是连续的,小写字母也是连续的

(3.3.2)一些非打印和难以打印的字符需要用转义序列(escapesequeace)表示。

反斜杠符号\称为转义字符(escapecharacter)。

如换行符写为’\n’,表示换行。

虽然它由两个字符\和n来描述,但它表示一个ASCII字符。

警告字符\a可以表示成:

’\007’,’\07’,’\7’。

双引号的单字符表示:

可以写’”’,也可以写’\”’。

\ddd表示1到3位八进制数代表的字符。

\xhh表示1到2位十六进制数代表的字符。

\t表示水平制表。

\\表示反斜杠\

(3.4)布尔型(bool):

只有“真”、“假”两个值。

可执行判断运算。

如boolflag=true;

(3.5)字符串(string):

是类类型,用双引号“”表示,可执行字符串比较,连接

应用时要加#include<

string>

如stringstr=“dfhdsf”;

内部用’\0’表字符串的结束

(3.6)sizeof运算符用来了解某一类型或某一表达式占用的内存量。

sizeof运算符的用法:

sizeof(类型名)或sizeof(表达式)

如:

sizeof(float):

表示float类型的变量占用的内存量。

sizeof(’a’+15):

表示表达式’a’+15的计算结果所占的内存量。

检查字符串的长度用strlen(),如strlen(“asdfld”);

4.常量:

值的直接表示。

如1、3、1.57、‘A’等,又称直接量。

(4.1)整型常量可用十进制、八进制和十六进制表示:

如十进制:

123,-234;

八进制:

0123十六进制:

0x123,0x3a2f

(4.2)浮点数常量有两种表示法:

(1)十进制表示:

1.23,3.14;

(2)科学计数法:

尾数e指数123e2=123002.25e-3=0.00225;

注意:

尾数不能为空,指数必须为整数

(4.3)字符常量:

‘a’,‘S’,‘2’等用一对单引号括起来的数据。

字符串常量用双引号

(4.4)命名常量:

为值指定一个描述性的文字,增加程序的可读性。

在C++语言中,用const修饰,如constdoublePI=3.14;

见PI即知3.14。

注意一般变量名需大写,如PI。

5.算术运算符:

+(加)-(减)*(乘)/(求商)%(求余)

(5.1)“-”可为二元运算符,也可为一元运算符,其余所有的算术运算符都是二元运算符。

(5.2)优先级:

高*/%,低+--

(5.3)整型与整型数运算,结果为整型,如5/2=2;

整型与浮点数运算,结果为浮点数,如5/2.0=2.5;

字符与整型数运算,结果为整型;

字符与浮点数运算,结果为浮点数。

浮点数与浮点数运算,结果为浮点数。

6.关系运算符:

>

>

=,==,<

=,<

!

=

(6.1)优先级:

高于赋值运算符,低于算术运算符。

关系运算符内部:

==和!

=较低

(6.2)关系表达式:

用关系运算符将二个表达式连接起来称为关系表达式。

关系表达式的结果是true或false。

“等于”运算符是由两个等号组成。

常见的错误是在比较相等时用一个等号。

==(相等),=(赋值)

7.逻辑运算符:

&

(and)||(or)!

(not)

(7.1)优先级:

!

高于关系运算符高于&

高于||

(7.2)逻辑表达式:

由逻辑运算符连接起来的表达式,其结果为“真(true)”或“假(false)”

逻辑表达式在执行时,先处理左边。

如左边已能决定此逻辑表达式的结果,则右边不执行。

因此,在&

逻辑表达式中,应把false可能性较大的条件放在左边,在||表达式中,应把true可能性较大的条件放在左边,这样可以减少程序执行的时间

8.赋值运算符:

=的优先级比算术运算符低

(8.1)赋值语句:

把一个值赋给一个变量。

如x=y+z;

x=3.14;

赋值语句的左边是变量,右边是表达式。

(8.2)赋值表达式格式:

<

变量>

=<

表达式>

如x=x+2。

作用:

将右边的表达式的值存入左边的变量,整个表达式的值是右边的表达式的结果。

赋值运算符是右结合的

(8.3)左值(lvalue):

在C++中,能出现在赋值运算符左边的表达式称为左值

右值(rvalue):

赋值运算符右边的表达式的值

(8.4)赋值语句:

赋值表达式后面加上分号。

(8.5)将赋值表达式作为更大的表达式的一部分。

a=(x=6)+(y=7)等价于分别将x和y的值设为6和7,并将6和7相加,结果存于变量a

(8.6)其他运算符与赋值运算符结合的运算符称为复合赋值运算符。

变量op=表达式;

等价于:

变量=变量op表达式;

常用的复合赋值运算符有:

+=,-=,*=,/=,%=如:

balance+=deposit;

balance-=surcharge;

x/=10;

salary*=2;

(8.7)赋值和运算时的自动类型转换,在进行赋值操作时,会发生类型转换,将取范围小的类型转为取值范围大的类型是安全的反之是不安全的,如果大类型的值在小类型能容纳的范围之内,则平安无事

强制类型转换:

①(类型名)(表达式);

或类型名(表达式);

如z=(double)x/y;

②静态转换(static_cast):

用于编译器隐式执行的任何类型转换

转换类型<

类型名>

(表达式)如z=static_cast<

double>

(x)/y;

v单个分号组成的语句成为空语句

v用{}括起来的一组语句称为复合语句。

在逻辑上看成一个语句。

v复合语句可以放在任何单语句出现的地方。

v在复合语句中可以定义变量,但必须定义在最前面。

v逗号表达式语句格式:

表达式1,表达式2,…,表达式n

v逗号运算符的优先级是所有运算符中最低的如a的初值为0,则表达式a+=1,a+=2,a+=3,a+=4,a+=5的结果为15

v前置++i,---i(先执行i+1或i-1,再使用i值)

v后置i++,i---(先使用i值,再执行i+1或i-1)

9.控制语句:

改变程序中语句的执行次序。

(9.1)if语句:

①两个分支:

条件测试为true时所执行的程序块叫做then子句,条件为false时执行的语句叫做else子句。

格式

(1)if(条件测试)语句;

即else语句可省略

格式

(2)if(条件测试)语句1;

else语句2;

eg.if(grade>

=60)cout<

“passed”;

elsecout<

“failed”;

②多分支语句:

条件1为true时所执行的程序块1,条件1为false但满足条件2时执行的语句块2,。

依次类推,条件n-1为false但满足条件n时执行else语句。

常见的有  3分支语句:

if—elseif-else。

=90)cout<

“A”;

elseif(grade>

=80)cout<

“B”;

=70)cout<

“C”;

“D”;

”E”;

(9.2)条件语句使用注意

①条件的结果值应该是true或false,它们是C++中bool类型的值

②条件可为任意表达式,不一定是关系表达式。

0为false,非0为true。

③if语句可以没有else子句。

合理的缩排。

④if语句的then子句和else子句含有if语句,称为if语句的嵌套。

egif(x<

100)

{

if(x<

90)语句1;

elseif(x<

80)语句2;

else语句3;

else语句4;

⑤歧义性:

如最后一个else跟哪个if配对.。

egif(y!

=0)

if(x!

=0)result=x/y;

elsecout<

“error:

y==0”<

endl;

配对原则:

每个else子句是和在它之前最近的一个没有else子句的if语句配对。

⑥在每个if-else语句后加一对大括号{}是一种良好习惯,特别是有两个以上的复合语句需要执行时。

(9.2)条件表达式:

更加简练的用来表达条件执行的机制

运算符:

问号冒号运算符形式:

(条件)?

表达式1:

表达式2

eg:

max=x>

y?

x:

y;

执行过程:

首先计算条件值。

如果条件结果为true,则计算表达式1的值,并将它作为整个表达式的值。

如果条件结果为false,则整个表达式的值为表达式2的值。

(9.3)Switch–case语句:

又称开关语句。

switch(表达式)

{case常量表达式1:

语句1;

break;

case常量表达式2:

语句2;

case常量表达式n:

语句n;

default:

语句n+1;

}

使用注意:

①表达式应该是常量表达式,一般为整型表达式,字符

②case后跟break表示结束switch语句,否则一直执行,直到遇到break或语句结尾。

③case与default无顺序要求,但一般default在最后。

④default表示除case标号以外的其他情况。

10.循环语句:

一个完整的循环结构一般由四部分组成:

循环体、循环控制条件、循环变量的初始化、循环变量的增值

其中,循环体是需要重复执行的操作序列;

循环控制条件是重复执行循环体所需的条件,即当条件成立时执行循环体,否则结束循环;

循环变量是决定循环条件是否成立的变量;

循环变量的增值反映了循环变量的改变规律,它使循环变量的值向着使循环结束的方向改变;

循环变量的初始化是指在进入循环前,给循环变量赋初值,否则首次进入循环时,无法确定循环控制条件是否成立。

(10.1)For语句:

主要用于计数循环

v格式:

for(表达式1;

表达式2;

表达式3)语句;

or{语句快;

可以理解为:

for(循环变量赋初值;

循环条件;

循环变量增值)

符合循环条件时的执行语句

v循环体可以是复合语句或空语句。

v循环里所有语句的一次完全执行称为一个循环周期。

v执行过程:

先执行表达式1,再执行判断表达式2,如果为true,执行一次循环体(即一个循环周期),接着执行表达式3,然后重新执行判断表达式2,若为true,又执行一次循环体,重复直至判断表达式2为false,,最后跳出整个循环。

若开始执行条件表示2为false,循环体一次也不执行。

vFor循环的三个表达式可以是任意表达式。

三个表达式都是可选的。

v如果循环不需要任何初始化工作,则表达式1可以缺省。

如循环前需要做多个初始化工作,可以将多个初始化工作组合成一个逗号表达式,作为表达式1。

如for(i=1,s=0;

i<

=10;

++i)s+=i;

v表达式2也不一定是关系表达式。

它可以是逻辑表达式,甚至可以是算术表达式。

当表达式2是算术表达式时,只要表达式的值为非0,就执行循环体,表达式的值为0时退出循环。

v如果表达式2省略,即不判断循环条件,循环将无终止地进行下去。

无终止的循环称为“死循环”,最简单的死循环是for(;

;

);

v表达式3也可以是任何表达式,一般为赋值表达式或逗号表达式。

表达式3是在每个循环周期结束后对循环变量的修正。

表达式3也可以省略,此时做完循环体后直接执行表达式2。

如从1加到100,可以写为S=0;

for(i=1;

=100;

){s+=i,i++;

}或s=0;

s+=i,i++);

v将一个for循环嵌入到另一个for循环中,内层的for循环在外层循环的每一个周期中都将执行它的所有的周期,每个for循环都要有一个自己的循环变量以避免循环变量间的互相干扰。

其它循环嵌套类似执行。

(10.2)While语句:

与for循环等价,可相互代替。

while(表达式)语句;

or{语句块;

}

先计算出条件表达式的值。

如果是false,循环终止;

如果是true,整个循环体将被执行,而后又回到while语句的第一行,再次对条件进行检查,若为true,接着执行循环体,重复直到条件为false,,跳出整个循环。

v用途:

用于循环次数不定的循环。

循环是否结束取决于某一个变量的值(标记控制重复)

v在for和while语句之后一般没有分号,有分号表示循环体就是分号之前的内容(空循环体)

(10.3)Do-While语句

do语句;

}while(表达式);

首先执行语句,然后判断表达式的值。

如果表达式为0,继续向下执行,否则,再次执行语句,再次判断表达式的值

用于至少执行一次的循环。

注意后面有分号;

11跳转语句:

vbreak语句:

跳出整个循环或switch语句。

若有多重循环,跳出含break最近的循环体。

vcontinue语句:

跳出当前本次循环,接着判断是否执行下次循环周期。

12几种典型的循环。

注意格式及应用

v输入验证循环:

以下两种等价,右边一个常用

cout<

"

请输入半径:

//提示输入do{cout<

cin>

>

radius;

cin>

radius;

while(radius<

0)//当radius<

0,重复输入,直到>

0}while(radius<

0)//当

{cout<

radius<

0重复输入,直到>

,area=PI*radius*radius;

area=PI*radius*radius;

v哨兵循环以下四个等价,后面两个常用

"

输入n个整数:

//提示用户输入do{

num;

cout<

输入一个正数"

while(num!

=-1)//当输入值不等于哨兵值时,继续输入cin>

{sum+=num;

//处理数据sum+=num;

输入下一个整数:

//提示用户继续输入}while(num!

=0);

//当输入值

cin>

不等于哨兵值时,继续输入

while(true)//或while

(1)for(;

;

{{

输入一个正整数:

//提示用户并读入数据cout<

if(num==-1)break;

//if(num==标志)跳出;

sum+=num;

}}

v查询循环★累加循环p=0;

charans;

//用于用户响应for(inti=1;

i<

=N;

i++)

do{cout<

//提示输入p=p+i;

radius;

★累乘循环:

p=1

area="

<

area<

for(inti=1;

i++)

doyouagain?

//询问提示p=p*i;

ans;

//询问输入

}while(ans=='

Y'

||ans=='

y'

//询问循环

v编译(compiler):

将高级语言的程序翻译成机器语言,分为解释执行,编译执行

v连接(link):

将目标程序与已有的其它目标程序连接起来,产生一个可执行的程序

v输出流是传给显示器的数据流,将变量或表达式的内容显示在显示器上

格式

Ø

输出一个变量的值:

a;

输出多个变量的值:

a<

b<

c;

输出表达式的结果:

“Helloworld\n”<

endl

上述情况的组合:

‘+’<

‘=’<

a+b<

endl;

v键盘流入的数据流,将键盘输入的数据存入变量

变量1>

变量2>

…>

变量n;

如cin>

a;

当程序执行到cin时会停下来等待用户的输入,后面一定是变量名,不可加引号

用户可以输入数据,用回车(↙)结束。

当有多个输入数据时,一般用空白字符(空格、制表符和回车)分隔。

a为整型,d为double,则对应于cin>

a>

d,用户的输入可以为

1213.2↙or12(tab键)13.2↙or12↙13.2↙

12.。

函数

v过程单元是程序的基本单位。

在过程化的语言中,过程单元就是程序中某个模块的表示。

在面向对象的语言中,过程单元说明对象对各种事件是如何响应的。

v过程单元分为:

过程(procedure),函数(function)

v执行过程单元称为调用(calling),过程单元执行完后返回到调用者

v主要技术:

自顶向下、逐步求精,采用单入口、单出口的控制结构。

v函数是一系列独立的程序步骤,这些程序步骤集合在一起,并赋予一个名字

v每个程序都必须有一个名为main的函数,它是程序的入口。

主程序由一个或多个函数组成

v程序主体(主函数main()):

主要包含如下模块:

(definition–input-proocess-ouput)

(1)变量定义:

为程序中的数据准备存储空间(declarationordefinition)

(2)输入阶段:

接受所需输入的信息。

它由两部分组成:

显示提示信息和接收输入(input)

(3)计算阶段:

完成所需的计算(process)

(4)输出阶段:

输出计算的结果(output)

v函数的主要构成:

函数声明,函数定义,函数调用

v可以把函数想象成数学中的函数。

如f(x)=2x参数表是一组自变量x,返回类型是函数值的类型;

函数声明就是设函数为f(x),函数定义(函数头+函数体)就是函数表达式如2x,函数调用就是带值计算如f

(2)=2×

2。

v函数声明:

类似于

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

当前位置:首页 > PPT模板 > 商务科技

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

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