C++知识点整理版Word格式.docx
- 文档编号:18311592
- 上传时间:2022-12-15
- 格式:DOCX
- 页数:26
- 大小:35.56KB
C++知识点整理版Word格式.docx
《C++知识点整理版Word格式.docx》由会员分享,可在线阅读,更多相关《C++知识点整理版Word格式.docx(26页珍藏版)》请在冰豆网上搜索。
的结果为
-32768。
这称为整数运算的溢出,系统不检查这样的错误,程序员必须自己保证程序中不出现这样的错误。
(3.1.2)在某些应用中,不可能出现负数,则整型数中有一半的数值范围是被浪费的。
因
此在C/C++中可以将所有的数都看成正整数,称为无符号数。
无符号数的定义:
在各种整数类型前加上关键词unsigned,变成unsigned
int,
unsigned
short,
(3.2)
实型:
以浮点表示,操作类似于整型,浮点数无法精确表示。
(3.2.1)浮点类型的分类:
单精度
float;
双精度
double
(3.3)字符型(char):
存放一个字母或符号,占一个字节,存放的是字符的内码。
可执行比较、连接等运算。
具有双重属性:
整数属性和字符属性,整数属性:
字符类型即单字节的整数类,字符属性:
数据值即为相应字符的
Ascii
码。
字符类型名:
char。
可分为可打印字符:
小写字母、大写字母、数字、标点符号、空格等;
非打印字符:
换行和报警字符或响铃
等控制字符
(3.4)布尔型(bool):
只有“真”、“假”两个值。
可执行判断运算。
bool
flag=true;
(3.5)字符串(string):
是类类型,用双引号“”表示,可执行字符串比较,连接应用时要加
#include
<
string>
string
str=
“dfhdsf”;
三、如何声明常量
4.常量:
值的直接表示。
如1、3、1.57、“A‟等,又称直接量。
(4.1)
整型常量可用十进制、八进制和十六进制表示:
如十进制:
123,
-234;
八进制:
0123
十六进制:
0x123,
0x3a2f
(4.2)浮点数常量有两种表示法:
(1)十进制表示:
1.23
,
3.14;
(2)科学计数法:
尾数e指数
123e2=12300
2.25e-3=0.00225
注意:
尾数不能为空,指数必须为整数
(4.3)字符常量:
”a‟,
“S‟,
”2‟等用一对单引号括起来的数据。
字符串常量用双引号
(4.4)命名常量:
为值指定一个描述性的文字,增加程序的可读性。
在C++语言中,用const修饰,如
const
double
PI
=3.14;
见
PI即知3.14。
注意一般变量名需大写,如PI。
二、算术运算符号及其运行规则
a)整数除整数
b)%求模运算
5.算术运算符:
+(加)
-(减)
*(乘)
(求商)
%(求余)
(5.1)“-”可为二元运算符,也可为一元运算符,其余所有的算术运算符都是二元运算符。
(5.2)优先级:
高
*
%,
低
+
--
(5.3)整型与整型数运算,结果为整型,如
5
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)赋值表达式格式:
变量>
表达式>
2。
作用:
将右边的表达式的值存入左边的变量,整个表达式的值是右边的表达式的结果。
赋值运算符是右结合的
(8.3)左值(lvalue):
在C++中,能出现在赋值运算符左边的表达式称为左值
右值(rvalue):
赋值运算符右边的表达式的值
(8.4)赋值语句:
赋值表达式后面加上分号。
(8.5)将赋值表达式作为更大的表达式的一部分
。
(x
6)
(y
7)
等价于分别将x
和
的值设为6
7,并将6和7相加,结果存于变量a
(8.6)其他运算符与赋值运算符结合的运算符称为复合赋值运算符。
变量
op=
表达式;
等价于:
op
常用的复合赋值运算符有:
+=,-=,*=,/=,%=
balance
+=
deposit;
-=
surcharge;
/=
10;
salary
*=2;
(8.7)赋值和运算时的自动类型转换,在进行赋值操作时,会发生类型转换,将取范围小的类型转为取值范围大的类型是安全的反之是不安全的,如果大类型的值在小类型能容纳的范围之内,则平安无事
强制类型转换:
①(类型名)(表达式);
或类型名
(表达式);
如z
(double)x
y;
②静态转换(static_cast):
用于编译器隐式执行的任何类型转换
转换类型<
类型名>
(表达式)
z
static_cast<
double>
(x)
单个分号组成的语句成为空语句
用{
}括起来的一组语句称为复合语句。
在逻辑上看成一个语句。
v
复合语句可以放在任何单语句出现的地方。
在复合语句中可以定义变量,但必须定义在最前面。
4.
逗号表达式语句格式:
表达式1,表达式2,…,表达式n
逗号运算符的优先级是所有运算符中最低的
如a的初值为0,则表达式
1,
2,
3,
4,
5的结果为
15
5.
前置
++i,
---i
(先执行i+1或i-1,再使用i值)
6.后置
i++,
i---
(先使用i值,再执行i+1或i-1)
If语句
c)形式
d)三种If语句的执行流程
9.
控制语句:
改变程序中语句的执行次序。
(9.1)if语句:
①两个分支:
条件测试为true时所执行的程序块叫做then子句,条件为false时执行的语句叫做else子句。
格式
(
)
if
(条件测试)
语句;
即else语句可省略
(2)
语句1;
else
语句2;
eg.
(grade
60)
cout
“passed”;
“failed”;
(3)多分支语句:
条件1为true时所执行的程序块1,条件1为false但满足条件2时执行的语句块2,。
依次类推,条件n-1为false但满足条件n时执行else语句。
常见的有
3分支语句:
if—else
if-else。
90)
“A”;
80)
“B”;
70)
“C”;
“D”;
”E”;
(9.2)条件语句使用注意
①条件的结果值应该是
false,它们是C++中bool类型的值
②条件可为任意表达式,不一定是关系表达式。
0
为false,非
为true。
③if
语句可以没有else子句。
合理的缩排。
④if语句的then子句和else子句含有if语句,称为if语句的嵌套。
eg
100)
{
(x<
语句3;
}
语句4;
⑤歧义性:
如最后一个else跟哪个if
配对.。
0)
if
result
cout<
“error
:
==
0”<
endl;
配对原则:
每个else子句是和在它之前最近的一个没有else子句的if语句配对。
⑥在每个if-else语句后加一对大括号{
}是一种良好习惯,特别是有两个以上的复合语句需要执行时。
(9.2)条件表达式:
更加简练的用来表达条件执行的机制
?
运算符
问号冒号运算符
形式
(条件)
?
表达式1
表达式2
eg:
max
循环语句
e)形式
f)三种循环语句的区别
g)三种循环语句的执行流程
10.循环语句:
一个完整的循环结构一般由四部分组成:
(10.1)For
语句:
主要用于计数循环
for(表达式1;
表达式2;
表达式3)
or{语句快;
可以理解为:
for(循环变量赋初值;
循环条件;
循环变量增值)
符合循环条件时的执行语句
循环体可以是复合语句或空语句。
循环里所有语句的一次完全执行称为一个循环周期。
执行过程:
先执行表达式1,再执行判断表达式2,如果为true,执行一次循环体
(即一个循环周期),接着执行表达式3,然后重新执行判断表达式2,若为true,又执行一次循环体,重复直至判断表达式2为false,,最后跳出整个循环。
若开始执行条件表示2为false,
循环体一次也不执行。
For循环的三个表达式可以是任意表达式。
三个表达式都是可选的。
如果循环不需要任何初始化工作,则表达式1可以缺省。
如循环前需要做多个初始
化工作,可以将多个初始化工作组合成一个逗号表达式,作为表达式1。
如for
(inti=0,;
i<
=10;
++i)
;
表达式2也不一定是关系表达式。
它可以是逻辑表达式,甚至可以是算术表达式。
当表达式2是算术表达式时,只要表达式的值为非0,就执行循环体,表达式的值为0时退出循环。
如果表达式2省略,即不判断循环条件,循环将无终止地进行下去。
无终止的循环
称为“死循环”
,最简单的死循环是
for
);
(10.2)While语句:
与for循环等价,可相互代替。
while(表达式)
or
语句块;
}
先计算出条件表达式的值。
如果是false,循环终止;
如果是true,整个
循环体将被执行,而后又回到while语句的第一行,再次对条件进行检查,若为true,接着执行循环体,重复直到条件为false,,跳出整个循环。
用途:
用于循环次数不定的循环。
循环是否结束取决于某一个变量的值(标记控制重复)
在for和while语句之后一般没有分号,有分号表示循环体就是分号之前的内容(空循环体)
(10.3)
Do-
While语句
do语句;
while
首先执行语句,然后判断表达式的值。
如果表达式为0,继续向下执行,
否则,再次执行语句,再次判断表达式的值
用于至少执行一次的循环。
注意后面有分号;
11跳转语句:
break语句:
跳出整个循环或switch语句。
若有多重循环,跳出含break最近的循
环体。
continue语句:
跳出当前本次循环,接着判断是否执行下次循环周期。
12
几种典型的循环。
注意格式及应用
输入验证循环:
以下两种等价,右边一个常用
"
请输入半径:
//提示输入
do{
“请输入半径:
cin>
radius;
area
radius
//
当radius
0,重复输入,直到>
2.while(true)
或while
(1)
{
“输入一个正整数:
//提示用户并读入数据
cin
(num
-1)
break;
(num==标志)
跳出;
//处理数据
查询循环
★累加循环
p=0;
char
ans;
//用于用户响应
for(int
i=1;
=N;
i++)
p=p+i;
★累乘循环
p=1
{cout
do
you
again?
//询问提示
p=p*i;
//询问输入
while(ans
'
Y'
ans
y'
//询问循环
编译(compiler):
将高级语言的程序翻译成机器语言,分为解释执行,编译执行
连接(link):
将目标程序与已有的其它目标程序连接起来,产生一个可执行的程序
输出流是传给显示器的数据流,将变量或表达式的内容显示在显示器上
格式
Ø
输出一个变量的值:
a;
输出多个变量的值:
b
c;
输出表达式的结果:
“Hello
world\n”
endl
上述情况的组合:
“+”<
“=”<
a+b
键盘流入的数据流,将键盘输入的数据存入变量
变量1
变量2
…
变量n;
当程序执行到cin时会停下来等待用户的输入,后面一定是变量名,不可加引号
用户可以输入数据,用回车(↙)结束。
当有多个输入数据时,一般用空白字符(空格、制表符和回车)分隔。
a为整型,d为double,则对应于cin
d,用户的输入可以为
13.2↙
12(tab键)13.2↙
12↙13.2↙
如何定义一个带默认值参数的函数
如何调用一个带默认值参数的函数
h)参数使用默认值
i)参数不使用默认值
函数
过程单元是程序的基本单位。
在过程化的语言中,过程单元就是程序中某个模块的
表示。
在面向对象的语言中,过程单元说明对象对各种事件是如何响应的。
每个程序都必须有一个名为main的函数,它是程序的入口。
主程序由一个或多个
函数组成
程序主体(主函数main()):
主要包含如下模块:
(definition
–input-proocess-ouput)
(1)变量定义:
为程序中的数据准备存储空间
declaration
definition)
(2)输入阶段:
接受所需输入的信息。
它由两部分组成:
显示提示信息和接收输入(input)
(3)计算阶段:
完成所需的计算(process)
(4)输出阶段:
输出计算的结果(output)
函数的主要构成:
函数声明,函数定义,函数调用
可以把函数想象成数学中的函数。
如f(x)=2x
参数表是一组自变量x,返回类型是
函数值的类型;
函数声明就是设函数为f(x),
函数定义(函数头+函数体)就是函数表达式如2x,函数调用就是带值计算如f
(2)=2×
函数声明:
类似于变量声明,所有函数在使用前必须被声明。
又称函数的原型,功能:
说明函数和外界的交流,反映函数调用的全部信息。
包括下列内容:
函数名,函数的参数类型,函数的返回类型
它的形式为:
返回类型
函数名(参数表);
返回类型:
是函数的输出值的类型,
void
函数没有返回值
函数名:
是函数的名字。
程序可以通过函数名执行函数体的语句
参数表:
是函数的输入,
无参数列表,可不写,但是括号必须有。
参数表中的参数说明之间用“,”分开,每个参数说明可以是类型,也可以是类型后面再接一个参数名。
max(int,
int);
max(int
a,
b);
main(
函数定义:
函数头+函数体,相当于一个小程序。
函数头:
说明函数和外界的交流,与函数声明一样,参数表要有形参,void除外
函数体:
一系列独立的程序步骤;
},必须定义在函数体最前面
形式:
函数名(参数表)//函数头
code
here;
//函数体
Eg
b)
//函数定义
(a
return(a);
return(b);
函数调用形式:
函数名(实际参数表);
一般出现在主调函数中或其他调用函数中。
max(
,y);
函数执行过程:
在主程序中计算每个实际参数值。
调用时将实际参数的值赋给对应的形式参数。
在赋值的过程中完成自动类型转换。
(3)
进入函数体依次执行函数体的每个语句,直到遇见return语句或函数体结束
(4)
计算return后面的表达式的值,如果表达式的值与函数的返回类型不一致,则完成类型的转换。
(5)
用函数的返回值置换函数,继续主程序的执行。
//函数声明
x,
y;
max(x
5,
-
3);
//函数调用
形式参数和实际参数的个数(number)、排列次序(order)、类型(type)要完全相同。
实际参数可以是常量、变量、表达式,甚至是另一个函数调用
传递方式:
值传递,执行函数调用时,将实参值传递给形参,并替换形参同名的实体
值传递:
函数获得了主调程序参数变量值的拷贝。
被调程序可以改变这些拷贝,但这对主调程序的环境没有影响。
(5)请注意:
C++中不允许函数定义嵌套,即在函数定义中再定义一个函数是非法的。
一个函数只能定义在别的函数的外部,函数定义之间都是平行的,互相独立的。
例如:
下面的代码在主函数中非法嵌套了一个f()函数定义:
main()
f()
//…
函数参数的传递比较:
按值传递
以按值传递方式进行参数传递的过程为:
首先计算出实参表达式的值,接着给对应的
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 知识点 整理
![提示](https://static.bdocx.com/images/bang_tan.gif)