全国计算机等级考试辅导讲义(C++部分)(4)

2019-08-26 17:29

佳恒计算机教育培训中心

(2)default标号语句是可选的。当default不出现时,如果<表达式>的值与所有<常量表达式i>(i=1,2?n)的值都不相等,则程序执行流程会跳过switch语句。

(3)switch语句是可以嵌套的。case和default标号只与包含它们的最内层的switch组合在一起。

(4)当需要针对表达式的不同取值范围进行不同处理时,使用if?else?if阶梯结构比较方便。因为switch语句只能对相等关系进行测试,而if语句却可以用关系表达式对一个较大范围内的值进行测试。 【考点四】 循环结构 1?for语句

for语句是C++中最常用且功能最强的循环语句,其语法格式如下: for(<表达式1>;<表达式2>;<表达式3>)<语句>

其中,for为关键字;<表达式1>是for循环的初始化部分,它一般用来设置循环控制变量的初始值;<表达式2>是for循环的条件部分,它是用来判定循环是否继续进行的条件;<表达式3>是for循环的增量部分,它一般用于修改循环控制变量的值;<语句>称为for循环的循环体,它是要被重复执行的代码行,for循环体可以是单条语句,也可以是由花括号包围起来的复合语句。 for语句的执行过程是: (1)计算<表达式1>的值;

(2)计算<表达式2>的值,如果此值不等于0(即循环条件为\真\),则转向步骤(3);如果此值等于0(即循环条件为\假\),则转向步骤(5); (3)执行一遍循环体<语句>:

(4)计算<表达式3>的值,然后转向步骤(2); (5)结束for循环。

C++中for语句的书写格式非常灵活,这主要表现为: (1)<表达式1>可以是变量声明语句,即循环控制变量可在其中定义。

(2)<表达式1>可以省略。这时,应在for语句之前给循环控制变量赋初始值。注意:省略<表达式1>时,其后的分号不能省略。

(3)<表达式2>可以省略。这时,for语句将不再判断循环条件,循环会无限次地执行下去。这种情况通常称为\死循环\。

(4)<表达式3>可以省略。这时,应在循环中对循环控制变量进行递增或递减操作,以确保循环能够正常结束。 (5)三个表达式可同时省略。这时,for语句显然也是一个\死循环\。

(6)<表达式1>、<表达式2>和<表达式3>都可以是任何类型的C++表达式。 2.while语句

while语句是一种形式较为简单的循环语句,其语法格式如下: while(<表达式>)<语句>

其中,while为关键字:<表达式>是while循环的条件,它用于控制循环是否继续进行;<语句>称为while循环的循环体,它是要被重复执行的代码行;while循环体可以是单条语句,也可以是由花括号括起来的复合语句。实际上,while语句是for语句省略掉表达式1和表达式3的特殊情况。while语句的执行过程是:(1)计算<表达式>的值,如果此值不等于0(即循环条件为\真\),则转向步骤(2);如果此值等于0(即循环条件为\假\),则转向步骤(4);(2)执行一遍循环体<语句>;(3)转向步骤(1);(4)结束while循环。从中可以看出,while语句将在<表

主讲教师:刘老师 咨询辅导答疑:QQ(30724125)

佳恒计算机教育培训中心

达式>成立的情况下重复执行<语句>;如果在第一次进入while循环时<表达式>就不成立,则<语句>一次也不会执行。 注意:

(1)由于while语句中缺少对循环控制变量进行初始化的结构,因此在使用while循环之前对循环控制变量进行初始化显得很重要。

(2)在while循环体中不要忘记对循环控制变量的值进行修改,以使循环趋向结束。 3.do?while语句

do?while语句也是一种循环语句,它的功能类似于while语句,只是将循环的判定条件移到了循环体之后,其语法格式如下:do<语句>while(<表达式>);

其中,do和while为关键字;<语句>称为do?while循环的循环体,它是要被重复执行的代码行,do??while循环体可以是单条语句,也可以是由花括号包围起来的复合语句;<表达式>是do??while循环的条件,它用于控制循环是否继续进行。注意:在do?while语句中最后的分号不能丢掉,它用来表示do??while语句的结束。do??while语句的执行过程是:(1)执行一遍循环体<语句>;(2)计算<表达式>的值,如果此值不等于0(即循环条件为\真\),则转向步骤(1);如果此值等于0(即循环条件为\假\),则转向步骤(3);(3)结束do?while循环。 注意:

(1)在使用do?while循环之前同样需要对循环控制变量进行初始化;在do?while循环中仍然不要忘记对循环控制变量进行修改,以使循环趋向结束,避免死循环的发生。

(2)do?while循环与while循环的不同之处在于:do?while循环的循环体在前,循环条件在后,因此do?while循环体在任何条件下(即使不满足循环条件)都至少被执行一次。而while循环条件在前,循环体在后,当条件不满足时,循环体有可能一次也不会执行。这一点正是在构造循环结构时决定使用while语句还是do?while语句的重要依据。

循环的嵌套在一个循环结构中又完整地包含着另一个循环结构称为循环的嵌套。C++中三种类型的循环语句都可以相互嵌套,并且嵌套的层数没有限制。程序设计中有许多问题需要使用循环结构的嵌套来解决。 【考点五】跳转语句

C++中有4种跳转语句,它们是:break语句、continue语句、return语句和goto语句。 1.break语句

break语句又称为跳出语句,其语法格式如下:break;

即由关键字break加上一个分号构成。break语句只能用在switch语句和循环语句中。在switch语句中,break用来使执行流程跳出switch语句,而继续执行switch后面的语句。在循环语句中,break用来使执行流程无条件地跳出本层循环体。另外,break语句还经常用于使执行流程跳出死循环。 2.continue语句

continue语句又称为继续语句,其语法格式如下:continue;

即由关键字continue加上一个分号构成。continue语句仅用在循环语句中,它的功能是:结束本次循环,即跳过循环中尚未执行的语句,接着进行下一次是否执行循环的条件判定。在while和do?while循环中,continue语句将使执行流程直接跳转到循环条件的判定部分,然后决定循环是否继续进行。在for循环中,当遇到continue时,执行流程将跳过循环中余下的语句,而转去执行for语句中的<表达式3>,然后根据<表达式2>进行循环条件的判定以决定是否继续执行for循环体。 3.return语句

主讲教师:刘老师 咨询辅导答疑:QQ(30724125)

佳恒计算机教育培训中心

return语句又称为返回语句,它具有两种语法格式:(1)return;(2)return<表达式>;

其中,return为关键字,第2种格式中的<表达式>可以是任何类型的C++表达式。return语句只能用在函数体中。在返回类型为void的函数体中,若想跳出函数体,将执行流程转移到调用该函数的位置,应使用return语句的第1种格式。在返回类型不是void的函数体中,应使用return语句的第2种格式,使执行流程转移到调用该函数的位置,并将<表达式>的值作为函数的返回值。对于非void返回类型的函数来说,其函数体中必须至少具有一条return语句。 4.goto语句

goto语句又称为转向语句,其语法格式如下:goto<标号>;

其中,goto为关键字;<标号>是一个由用户命名的标识符。在goto语句所处的函数体中必须同时存在一条由<标号>标记的语句,其格式为:<标号>:<语句>即在<标号>和<语句>之间使用一个冒号分隔,这种语法结构称为标号语句。标号语句中的<标号>应与goto语句中的<标号>相同,<语句>可以是任何类型的C++语句。 注意:某个goto语句和相应的标号语句必须位于同一函数体内。goto语句的功能是使执行流程跳转到<标号>所标记的<语句>处(即对应的标号语句处)。

主讲教师:刘老师 咨询辅导答疑:QQ(30724125)

佳恒计算机教育培训中心

第4章 数组、指针与引用

【考点一】数组 1.一维数组 (1)一维数组的定义

一维数组是由具有一个下标的数组元素组成的数组,其定义形式如下:<数据类型><数组名>[<数组长度>];在此,<数据类型>是类型说明符,<数组名>是数组的名字,<数组长度>是任一值为正整数的int型常量表达式。<数组长度>用来指定数组中元素的个数,即数组的大小,数组元素的下标是从0到<数组长度>-1。 (2)一维数组初始化

与所有的基本数据类型相同,数组也可以在声明时初始化。当数组声明没有给出数组的大小,但是有初始化列表时,数组的大小就由列表中元素的个数来确定。在定义数组时,可以不必给出所有数组元素的初始值,即在定义时部分地初始化数组。 (3)访问数组元素

访问数组元素的语法形式是:<数组名>[<表达式>]

在此,<表达式>是非负的int型表达式,称为下标。下标用于指定所要访问的数组中元素的位置。在C++中,[]是一个运算符,称为下标运算符。数组下标从0开始,长度为n的数组,其下标的范围是0到n-1。在数组定义以后,给数组赋值时,必须一个元素一个元素的逐个访问。 2.二维数组

以行和列(即二维)形式排列的固定数目元素的集合,并且组成数组的每个元素的类型都相同,即带有两个下标的数组。 (1)二维数组的定义

定义二维数组的语法是:<数据类型><数组名>[<表达式1>][<表达式2>];

在此<表达式1>和<表达式2>是值为正整数的常量表达式。表达式<表达式1>和<表达式2>,分别用来指定数组中行和列的数目。 (2)二维数组初始化

与一维数组相同,二维数组也可以在定义时初始化。在定义时初始化二维数组要注意: ①所有在一行中的元素可以用花括号括起来,并且用逗号分隔;

②对于数字类型数组,如果给定的数值不够,则没有指定数值的元素将初始化为0。此时,至少应有一个值来初始化二维数组。

③当数组声明时没有给出第一维的大小,但是有初始化列表时,第一维的大小就由列表中子列表的个数来确定。 (3)访问二维数组元素

若要访问二维数组的元素,必须要给出两个下标:一个行下标和一个列下标。 访问二维数组元素的语法是:<数组名>[<表达式1>][表达式2];

这里<表达式1>和<表达式2>是值为非负整数的表达式。<表达式1>指定行下标,<表达式2>指定列下标。(3)多维数组

在C++中,对数组维数没有限制。下面是对数组的通用定义。以n维列表形式排列的固定数目元素的集合,称为n维数组。定义n维数组的语法是:<数据类型><数组名>[<表达式1>][<表达式2>]?[<表达式n>];在此<表达式1>,<表达式2>,?<表达式n>都是值为正整数的常量表达式。

主讲教师:刘老师 咨询辅导答疑:QQ(30724125)

佳恒计算机教育培训中心

访问n维数组元素的语法是:<数组名>[<表达式1>][<表达式2>]?[<表达式n>];在此<表达式1>,<表达式2>,?<表达式n>都是值为非负整数的表达式。<表达式i>(i=1,2,?,n)用来指定第i维元素的位置。

注意:在将多维数组作为函数的形参时,可以不指定该数组中第一维的大小,但是必须指定该数组中其他维的大小。多维数组只可以作为引用参数传递给函数,并且函数不能返回一个数组类型的返回值。C++对数组下标不做检查。 4.字符数组

(1)string类型与字符数组

string类型在ANSI/ISO标准C++颁布之前,标准C++库并不提供string数据类型。string是一种用户自定义的数据类型,它由C++标准库来支持,而不是C++语言本身的一部分。在使用string数据类型之前,需要在程序中包含头文件string并声明其所在的名字空间std。

所有元素都是char类型的数组称为字符数组。字符数组有如下特点: ①数组元素跟一般变量一样可以赋值、比较、计算等。 ②数组下标也是从0~N-1(N为数组长度)。 ③字符数组长度可以显式给出,也可以隐式得到。

④由双引号括起来的字符串常量具有静态字符串数组类型。

⑤用字符串对数组初始化时,编译程序以′\0′作为结束这个数组的标志。因此,数组长度至少要比字符串长度多1。(2)常用字符串函数

C++提供了一系列字符串操作的函数,这些函数都包含在头文件cstring中。其中经常会用到的字符串函数包括:strcpy(字符串拷贝,将一个字符串拷贝到另一个字符串变量中)、strcat(字符串连接,在字符串末端添加字符串)、strcmp(字符串比较,用来比较字符串)、strlen(字符串长度,用来求出字符串长度)、和substr(字符串查找,在一个字符串中查找子串)。 ①strcpy函数

调用strcpy()函数的一般形式为:strcpy(to,from);

该函数将from字符串中的内容复制到to字符串中。请记住,构成to的字符串必须足够大,以便保存包含在from中的字符串。否则,to字符串将会溢出,这很可能会导致系统崩溃。 ②strcat函数

调用strcat()函数的一般形式为:strcat(s1,s2);

该函数将字符串s2添加到字符串s1的末端;但并不修改字符串s2。必须确保字符串s1足够大,以便保存它自己的内容和字符串s2中的内容。 ③strcmp函数

调用strcmp()函数的一般形式为:strcmp(s1,s2);

该函数比较两个字符串,如果两个字符串相等,返回0。如果字符串s1在字典顺序上比字符串s2大,则返回一个正数;如果比字符串s2小,则返回一个负数。

注意:函数strcmp比较两个字符串时所采用的字典顺序与真正意义上的字典顺序还是有些差别的。实际上,它依次比较两个字符串相应字符的编码值(如ASCII码值)来决定两个字符串的大小。如,上面比较strcmp(″A″,″a″)的结果变为-1,因为字符′A′的编码值为65,而字符′a′的编码值为97,这与传统意义上的字典顺序不同。 ④strlen函数

调用strlen()函数的一般形式为:strlen(s);

主讲教师:刘老师 咨询辅导答疑:QQ(30724125)


全国计算机等级考试辅导讲义(C++部分)(4).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:2010年国家公务员考试行测真题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: