c++复习Word格式文档下载.docx

上传人:b****4 文档编号:8177277 上传时间:2023-05-10 格式:DOCX 页数:98 大小:114.48KB
下载 相关 举报
c++复习Word格式文档下载.docx_第1页
第1页 / 共98页
c++复习Word格式文档下载.docx_第2页
第2页 / 共98页
c++复习Word格式文档下载.docx_第3页
第3页 / 共98页
c++复习Word格式文档下载.docx_第4页
第4页 / 共98页
c++复习Word格式文档下载.docx_第5页
第5页 / 共98页
c++复习Word格式文档下载.docx_第6页
第6页 / 共98页
c++复习Word格式文档下载.docx_第7页
第7页 / 共98页
c++复习Word格式文档下载.docx_第8页
第8页 / 共98页
c++复习Word格式文档下载.docx_第9页
第9页 / 共98页
c++复习Word格式文档下载.docx_第10页
第10页 / 共98页
c++复习Word格式文档下载.docx_第11页
第11页 / 共98页
c++复习Word格式文档下载.docx_第12页
第12页 / 共98页
c++复习Word格式文档下载.docx_第13页
第13页 / 共98页
c++复习Word格式文档下载.docx_第14页
第14页 / 共98页
c++复习Word格式文档下载.docx_第15页
第15页 / 共98页
c++复习Word格式文档下载.docx_第16页
第16页 / 共98页
c++复习Word格式文档下载.docx_第17页
第17页 / 共98页
c++复习Word格式文档下载.docx_第18页
第18页 / 共98页
c++复习Word格式文档下载.docx_第19页
第19页 / 共98页
c++复习Word格式文档下载.docx_第20页
第20页 / 共98页
亲,该文档总共98页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

c++复习Word格式文档下载.docx

《c++复习Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《c++复习Word格式文档下载.docx(98页珍藏版)》请在冰点文库上搜索。

c++复习Word格式文档下载.docx

该程序经编译和连接后,运行可执行程序时,显示器上显示为:

i=

此时等待用户输入一个整数,设输入为100,则最后结果为:

I的值为:

100

下面介绍程序的基本结构和各语句的作用:

1、注释和说明信息

(1)/**/

(2)//(从此开始到本行结束为止)

2、包含文件或编译预处理指令

编译预处理指令:

以#开头的行(由于本例中用到输入输出函数,iostream.h是一个标准的输入/输出流的头文件)

3、主函数main()

任何一个C++程序必须要且只能有一个主函数。

一个C++程序总是从main()函数开始执行,而不管该函数在整个程序中的具体位置。

4、大括号{}(函数或语句括号)

任一函数体均要以{开始,以}为结尾。

注意:

大括号要配对使用。

5、任一个C++程序均有一个或多个函数组成,其中必须有一个主函数main(),其余函数(包括库函数和用户自定义函数)可有可无。

而且每条语句均要以;

为结束。

6、程序的书写规则

(1)一个语句可写成若干行,一行内也可写若干个语句。

(2)对齐规则:

同一层次的语句必须从同一列开始;

同一层次的大开括号必须与对应的大闭括号在同一列上。

(3)缩进规则:

同一层次的语句必须缩进几个字符。

(4)任何函数的定义均要从第一列开始书写。

7、C++没有专门的输入/输出语句。

输入/输出语句要通过函数来实现。

8、严格区分字母的大小写。

四、VC++程序的实现

1、VC++上机环境介绍

2、一个源程序的执行过程

#include<

voidmain(void){

floatr,s;

cout<

"

请输入圆的半径:

;

cin>

r;

s=2*3.1415926*r

圆的周长为:

s<

endl;

3、注意的问题:

(1)VC++集成环境每一次只允许编译和调试一个应用程序,当需要输入另外一个程序时,则应该先关闭当前窗口,然后建一个“Projects”项目,再建立一个新的“C++SourceFile”。

(2)编译和运行可以合并一步完成,即选择工具栏上红色“!

”。

当源程序有错误时,需要先把错误修改正确后再单击该工具“!

”,如果此时程序没有错误系统会自动执行。

(3)源程序有错误并修改后一定要再编译后执行,即先编译后执行这个过程不可缺省。

每次修改都要再编译运行。

 

第二章数据类型、运算符和表达式

1、掌握常量的表示法【字符和字符串常量、短整型、整型和长整型、实数(float)和双精度实数(double)】.

2、掌握各种类型变量的说明及初始化

3、掌握各种运算符和各类表达式

(1)算术运算、逻辑运算、关系运算、++和――运算、三目条件运算符;

(2)运算符的优先级、结合规则和目数的概念;

(3)类型的自动转换和强制类型转换;

(4)表达式的组成、左值和赋值,逻辑表达式的求值优化;

一、数据类型:

C++提供了十分丰富的数据类型,除基本类型外,还提供了导出(构造)数据类型:

各种数据类型在内存中所占用的字节数。

二、标识符:

注意标识符的命名规则。

三、常量:

常量可分为整型常量、实型常量、字符常量、字符串常量和标识符常量。

(1)字符常量

单引号括起来的单个字符。

例如:

‘a’,‘&

’等都是合法的字符常量,‘ab’,“a”都是不合法的字符型常量。

C++还提供了另一种表示字符型常量的方法,即所谓的“转义序列”。

转义序列就是以转义符”\”开始,后跟一个字符或一个整型常量(字符的ASCII值)的办法来表示一个字符。

若转义字符后边是一个整型常量,则必须是一个八进制或十六进制数,其取值范围必须在0~255之间。

该八进制数可以以0开头,也可以不以0开头;

而十六进制数必须民0X或0x开头。

常用的转义序列字符有:

’\\’表示字符“\”,‘\’’表示单引号,‘\”’表示双引号,‘\n’表示换行符等。

(2)字符串常量

用双引号括起来的若干个字符。

“ab3d”,“a”都是合法的字符串常量。

字符串常量与字符常量的存放格式不一样,在字符串常量的尾部,存储时都要存放一个’\0’,’\0’表示字符串的结束符。

当双引号要作为字符串中的一个字符时,必须采用转义序列表示法;

单引号作为字符串中的一个字符时,可直接出现在字符串常量中,也可以采用转义序列表示法。

(3)标识符常量

标识符常量是用标识符表示的常量。

定义标识符常量后,可以像字面常量一样使用该标识符。

可用两种方法定义标识符常量:

一种是使用编译预处理命令方法,另一种是利用常量说明语句。

①编译预处理命令

例:

#definePI3.1415926

②使用常量说明符const

constfloatPI=3.1415926在程序中标识符常量必须先定义后引用,并且标识符常量在程序中只能引用,不能改变其值。

四、变量

根据其取值的不同,分为不同类型的变量:

整型变量、实型变量、字符型变量、构造型变量和指针型变量等。

inta;

//定义整型型变量a,并为a分配4个字节的存储单元,变量说明语句必

须以分号结束。

变量要求说明在前,使用在后。

变量说明语句可以出现在程序中语句可出现的任何位置,同一变量只能作一次定义性说明。

首次引用变量时,变量必须有一个确定的值。

对变量赋初值的三种方法:

①在变量说明的同时对变量赋初值,例如:

charch1=‘a’,charch2=‘b’;

②使用赋值语句赋值,例如:

floatx,y;

x=1.234;

y=2.56;

③通过输入流cin对变量赋初值,例如:

inta;

a;

(后面章节将会学到)

五、运算符与表达式

(1)算术运算

C++中的算术运算符有两个单目运算符(只有一个操作数的运算符):

+(正号)、-(负号);

五个双目运算符(有两个操作数的运算符):

+(加)、―(减)、*(乘)、/(除)、%(取余)。

注意数据类型的转换!

(2)关系运算

C++提供六种关系运算符:

>(大于)、<(小于)、>=(大于等于)、<=(小于等于)、==(等于)、!

=(不等于)。

前面4种(>,<,>=,<=)优先级相同,后两种(==,!

=)优先级相同,前4种高于后两种。

结合性都为右结合。

关系运算符完成两个操作数的比较运算,即比较两个操作数的数值大小。

运算的结果为一整数,当关系成立时,其运算结果为整数1;

当关系不成立时,其运算结果为整数0。

关系运算的结果可作为一个整数参与表达式的运算。

(3)逻辑运算

C++中提供三种逻辑运算符:

逻辑非(!

)、逻辑与(&

&

)和逻辑或(||)

第一个运算符是单目运算,后两转者是双目运算符。

在计算过程中,要注意&

的优先级低于!

优先级,但高于||的优先级。

为左结合,而其它两个为右结合。

在逻辑运算中要注意逻辑表达式的副作用:

①对于a&

b&

c,只有a为非0时,才需要计算b的值,因为当a为0时,不管后面的项如何,都能得到该表达式的值就为0。

同样只有在a和b都为非0的情况下才需要计算c的值。

②对于a||b||c,只要a为非0,就不需要判断b和c的值,而只有当a、b都为0时才需要计算c项。

(4)赋值运算

C++中赋值运算符分为两种:

单一赋值运算符(=)和复合赋值运算符(+=,–=,*=,/=,%=,&

=,^=,|=,<

=,>

=),都为双目运算符,结合性为左结合,其运算法则为:

将左操作数与右操作数进行相应的运算,再将结果赋给左操作数。

对于赋值运算符,其左操作数必须为变量。

(5)sizeof()运算符

sizeof()运算符是用来计算某种类型或数据所占用的字节数,它为单目运算符。

该运算符与其它类型的基本运算符稍有不同,它的操作数必须在括号内,其使用格式为:

sizeof(<

类型>

)或sizeof(<

表达式>

(6)自增、自减运算

自增运算符“++”和自减运算符“--”都具有两种形式,且它们都是单目运算符,操作数必须为变量,一般是整型变量,但也可以是实型或字符型变量。

++i(前置自增:

先将i的值加1,再将变化后的i值参与运算)

i++(后置自增:

先将i参与运算,再将i的值加1)

--i(前置自减:

先将i的值减1,再将变化后的i值参与运算)

i--(后置自减:

先将i参与运算,再将i的值减1)

(7)逗号运算

逗号运算符的优先级为所有运算符中最低的,结合性为右结合。

逗号表达式的一般形式为:

<

表达式1>

<

表达式2>

…,<

表达式n>

其运算顺序为按从左到右的顺序依次求出各表达式的值,并把最后一个表达式的值作为整个逗号表达式的值。

以下三个表达式的结果是不同的:

(8)条件运算

条件运算符“?

:

”为三目运算符,要求有三个操作对象,使用格式为:

?

表达式3>

计算过程为:

先计算<

,若其值不等于0,则计算<

,并将计算的值作为该条件表达式的值;

否则求解<

的值,并将该值作为条件表达式的值。

其优先级高于赋值和逗号运算,左结合。

(9)常用运算符的优先级

高!

++——负号

算术运算

关系运算

逻辑运算

条件运算

赋值运算(含复合赋值)

低逗号运算

(10)类型转换

在求表达式值的过程中,对于双目运算符,通常会出现两个操作数的类型不一致的情形,这时就要求将这两个操作数转换为同一类型,然后再进行运算。

可以分为三种情况的转换:

不同类型数据的混合运算、赋值时的类型转换和强制类型转换,分别要注意这三种情况的数据类型的转换。

六、举例说明

1、设有说明“intx=5,y=7,z=8;

”,执行表达式“z+=x++||y++||++z”后,则x、y、z的值分别为()。

A.6、7、9B.6、8、10C.6、8、8D.6、8、1

2、设有语句“inta=258,b;

unsignedcharc;

b=c=a;

“,则b的值是2。

3、设有语句“chars[]=“Rep\0Ch”;

intm=sizeof(s);

”,则m的值是7。

4、在数学式

中,变量x和y的取值为整数,而变量a和b的取值为实数,在C++程序中对应的正确表达式是()

A.3/5*x*y/a/bB.3*x*y/5/a/bC.3*x*y/5*a*bD.3/a/b/5*x*y

5、设有四个常数:

①4e0.5,②‘\87’,③0x5a,④“\””,其中符合C++语法规则的常量是()

A.②③B.②④C.③④D.①②

第三章简单的输入/输出语句

●注意:

C++中无专门的输入输出语句,而是所有的输入输出语句通过输入输出流来实现的。

即:

必须在程序的开头增加一行。

//包含输入输出流的头文件

输入:

把键盘上输入的数据赋值给变量。

输出:

将程序计算的结果送到显示器上显示。

一、输入语句(cin)

1、输入十进制的整数和实数

格式:

变量名>

[>

………]

(1)“ 

”称为提取运算符,表示暂停程序的运行,等待用户从键盘上输入相应的数据。

(2)输入的数据之间用一个或多个空格隔开。

(1)从键盘上输入数据的个数、类型及顺序,必须与cin中列举的变量一一对应。

(2)若都为数值型,则整数和实数可相互转换。

2、输入字符型数据

(1)格式如上

(2)charc1,c2,c3,c4;

c1>

c2>

c3;

若从键盘上输入:

Abe回车

和从键盘上输入:

Abe回车

两者结果一样(回车键不算输入的字符!

注意:

1、缺省情况下,cin自动跳过输入的空格。

即cin不能将输入的空格赋值给字符型变量。

2、输入时不需带引号。

(3)cin.get(<

字符型变量>

)—从输入行中取出一个字符

作用:

把从键盘上输入的每一个字符,包含空格和回车键都作为一个字符赋值给字符型变量。

但该语句一次只能从输入行中提取一个字符。

charc5;

cin.get(c5);

//得到字母A

cin.getline(s,n)

二、输出语句(cout)

1、输出十进制整数和实数

……

inti=2,j=10,k=20,m=30;

floatx=3.14,y=100;

j<

m<

j*k<

x<

y<

输出的结果为:

210

30200

3.14100

(1)endl表示输出一个换行符,等效于’\n’。

(2)缺省情况下,每一个输出的数据之间无分隔符。

故要加’\t’(TAB)或’\r’(回车)等分隔符将数据分割开。

(3)Setw(n):

用于指定输出的宽度。

其必须要在程序的开头位置加一行:

iomanip.h>

另外:

1)n值必须为正整数,指出紧随其后的输出项占用的字符位置个数。

2)该设置仅对其后的一个输出项有效,一旦按指定的宽度输出其后的输出项,又回到原来的缺省输出方式。

setw(6)<

setw(10)<

setw(5)<

则输出为:

210

30200

3.14100

第四章C++的流程控制语句

第一节C++语言的语句和程序结构

一、C++语言的语句概述

语句分类:

1、说明语句(位置任意)—对数据结构的定义和描述、对变量的定义性说明等。

2、控制语句(有可能改变程序执行顺序的语句,如条件、循环等)

3、函数调用语句

4、表达式语句(表达式后加一分号,如I=I+1;

5、空语句(只有一分号所构成的语句,不执行任何操作,主要用于指明转向的控制点或在特殊情况下作为循环语句的循环体。

6、块语句(由花括号括起来的语句)

二、程序的三种基本结构

1、顺序结构

2、选择结构

3、循环结构

第二节选择结构

一、条件语句【if结构】

●单选条件语句格式:

if(<

)<

语句>

●二中择一语句格式:

语句1>

else<

语句2>

●嵌套条件语句格式:

elseif(<

语句2>

elseif…

语句n>

1)《语句》若为一条,则不需要括号;

反之若为多条,则需要用“{}”括起来

2)其中<

可以是符合C++语法规则的任一表达式,可以是算术表达式、关系表达式、逻辑表达式或逗号表达式。

3)《表达式》必须用括号括起来。

4)对于嵌套的if语句,C++规定了else与if的配对规则为:

else总是与其前面最近的还没有配对过的if进行配对。

5)条件运算符(?

)—三目运算(左结合)

执行步骤:

先求出表达式1的值,若其不等于0,则求出表达式2的值(不求表达式3的值),并把该值作为运算的结果;

否则求出表达式3的值(不求表达式2的值),并把他作为运算的结果。

例1:

max=a>

b?

a:

b;

等价于:

if(a>

b)max=a;

elsemax=b;

例2:

max=(t=a>

=b?

b)<

c?

c:

t;

=b)t=a;

elset=b;

if(t>

c)max=c;

elsemax=t;

二、开关语句【switch结构】

其格式为:

switch(<

){

case<

常量表达式1>

:

《语句序列1》

《break;

常量表达式2>

《语句序列2》

常量表达式n>

《语句序列n》

《default:

语序列句n+1>

}

1)<

叫做“switch控制表达式”,<

的值只能为整型、字符型或枚举型。

2)<

常量表达式i>

只能为整数、字符或枚举类型的常数。

3)<

语序列句i>

可以含有多个语句,也可以没有任何语句,当有多条语句时,不需要用大括号“{}”括起来。

4)执行过程:

《break》语句可有可无。

若有则【需要补充,很重要的!

三、上述两种结构的区别和使用

共同点:

if语句根据《表达式》的值选择合适的语句执行

四、举例说明

1、判断输入字符的种类。

把字符分为五类:

数字、大写字母、小写字母、控制字符(ASCII的编码小于32)和其他字符。

voidmain(void){

charc;

”输入一个字符:

”;

cin.get(c);

if(c<

32)cout<

”这是一个控制字符。

\n”;

elseif(c>

=’0’&

c<

=’9’)

”这是一个数字字符。

=’a’&

=’z’)

”这是一个小写字母。

elseif(c>

=’A’&

=’Z’)

”这是一个大写字母。

else

”这是一个其他字符。

条件

2、执行下列程序段后,变量i的值为

inti=10;

switch(i)

{

case9:

i+=1;

case10:

case11:

default:

A.13B.12C.11D.14

break语句

第三节循环语句结构

一.while结构:

●while()语句

格式:

while(<

循环条件表达式>

循环体>

●do…while()语句

do{

}while(<

);

1)while(<

)后的分号不可省略。

2)while()语句与do…while()语句的主要区别:

循环条件的判断与循环体的执行顺序不同,while()语句是先判断后执行,而do…while()语句是先执行后判断。

因此,while()语句中的循环体可以一次也不执行,而do…while()语句中的循环体至少要执行一次。

二、for结构

for(<

1、执行过程:

(1)求出表达式1的值

(2)求出表达式2的值,若表达式2的值等于0(为假),则执行4),否则执行3)

(3)执行语句S,求出表达式3的值。

转2)

(4)结束循环,执行for()后面的语句。

(5)从执行过程看,首先判断循环条件,若满足循环条件,则执行循环体,所以循环体可能一次也不执行,也有可能执行若干次。

2、注意:

1)一般在表达式1中对循环变量赋初值,如果为空则应在for语句前对循环变量赋初值。

2)表达式2为循环条件,可以为空,此时系统约定其值为1,即循环条件恒成立,所以要想退出循环应该在循环体中使用break语句。

3)一般在表达式3中改变循环变量的值,如果为空则应在循环体中改变循环变量的值。

4)任何情况下表达式1和表达式2后的分号都不可省略。

三、比较

1、这三种循环结构中,循环体中的语句多于一条时,应用大括号{}括起来以复合语句形式出现。

2、OR和WHILE都是先判断循环条件,再根据条件决定是否要执行循环体。

而DO则其循环体至少要被执行一次。

3、OR适用于循环次数已确定的情况下,用的比较多。

四、控制执行顺序的语句

1、break语句(结束循环)

2、continue语句(结束本次循环,重新开始下次循环)

五、举例说明

1、用牛顿迭代法求X=

的近似值。

已知迭代公式:

Xn+1=(Xn+a/Xn)/2

要求:

前后两次求出的根的近似值之差的绝对值小于10-5。

math.h>

floatx0,x1,a;

”输入一个正数:

”;

if(a<

0)cout<

”不能开平方!

\n”;

else{

x1=a/2;

do{

x0=x1

x1=(x1+a/x0)/2;

while(fabs(x1-x0)>

1e-5);

x1<

\n;

2、设有语句“for(inti=5,sum=0;

i<

10,sum++ 

i++)sum+=i;

”,则for()语句的执行情况是。

A.循环0次B.循环4次C.循环5次D.循环6次

3.循环语句“for(intx=0,y=0;

y!

=100||x<

10;

)x++;

”,执行的循环次数是。

A.无限次B.10C.11D.100

4.for(intx=0,y=0;

!

x&

y<

=5;

y++)语句执行循环的次数是______。

A.0  B.5  C.6  D.无次数

5、以下程序的输出结果是s=,k=。

#include<

voidmain(void)

{intj,k,s,m;

for(k=1;

k<

7;

k++){

s=1;

m=k+2;

for(j=k;

m;

j++,k++)s+=j;

}

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

当前位置:首页 > 工程科技

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

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