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

2019-08-26 17:29

佳恒计算机教育培训中心

<字符序列>也是由用户给定的用来代替宏的一串字符序列,也称为宏替换体,它可以是数值常量、可计算值的表达式或字符串。宏被该命令定义后就可以使用在其后的程序中。当程序被编译时将把所有地方使用的宏标识符替换为对应的字符序列,并把宏命令删除掉。 【考点四】 运算符和表达式 1.运算符和表达式的概念

C++语言中的运算符又称为操作符,是用来对数据进行运算的符号。C++语言中的运算符可以根据其运算分量个数的多少分为单目(或一元)运算符、双目(或二元)运算符和三目(或三元)运算符3类。运算符可能是一个字符,也可能由两个或三个字符组成,还有一些运算符是C++关键字。 2.运算类型与运算符

C++包含多种不同种类的运算。每一种运算与其他运算的区别在于以下3个方面: (1)参加运算的运算分量的数量和类型;(2)运算结果的数据类型;(3)运算的具体操作。 3.赋值运算

赋值运算是一种双目运算,其形式为:<变量名>=<表达式>右运算分量为一个表达式。\为赋值运算符(与数学中的等号含义不同)。左运算分量为与右运算分量类型相同的变量。赋值运算的具体操作为:先计算右端表达式的值,然后把该值赋给左端变量。 4.算术运算符和算术表达式

算术运算是指int型、float型、double(也包括char型)的数值类数据计算后,得到同一类型数据的运算。 算术运算中所使用的运算符称为算术运算符。

单目算术运算符包括:-(单减)、++(增量)和- -(减量)。单减运算的格式为:-<运算分量>单减运算相当于对运算分量取相反数,例如:-a,-(x+y)。增量运算有两种形式。 前缀增量:++<运算分量>后缀增量:<运算分量>++ 双目算术运算符包括:+(加)、-(减)、*(乘)、/(除)和%(取余)。它们的含义与数学上相同。该类运算的运算分量为任一种数值类型,即任一种整数类型和任一种实数类型。由算术运算符(包括单目和双目)连接运算分量而组成的式子称为算术表达式。每个算术表达式的值为一个数值,其类型按照以下规则确定:

(1)当参加运算的两个运算分量均为整型时(但具体类型可以不同,如一个为int型,另一个为char型),则运算结果为int型。

(2)当参加运算的两个运算分量中至少有一个是单精度型,并且另一个不是双精度型时,则运算结果为float型。 (3)当参加运算的两个运算分量中至少有一个是双精度型时,则运算结果为双精度型。 5.关系运算符和关系表达式

C++语言提供了6种关系运算符,它们是:<(小于)、< =(小于等于)、>(大于)、> =(大于等于)、= =(等于)、! =(不等于)这6种运算符都是双目运算符,用来比较两个运算分量的大小,运算结果为逻辑型值true或false(它们分别对应着整数1和0。由一个关系运算符连接前后两个数值表达式而构成的式子称为关系表达式,简称关系式。当一个关系式成立时,则计算结果为逻辑值是(true),否则为逻辑值假(false)。 关系运算符的使用格式为:<运算分量><关系运算符><运算分量> 6.逻辑运算符和逻辑表达式

C++语言提供了3种逻辑运算符,它们是:!(逻辑非)、&&(逻辑与)、||(逻辑或)。 其中,!为单目运算符,&&和||为双目运算符。逻辑运算符的使用格式为: <逻辑运算符!><运算分量>

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

佳恒计算机教育培训中心

<运算分量><逻辑运算符&&或||><运算分量> 逻辑运算的具体操作步骤为: (1)计算两边运算分量的值;

(2)若运算分量的值不是逻辑型,则自动转换为逻辑型,即以0值为假(即false),非0值为真(即true); (3)按不同逻辑运算符计算返回值。 7.位运算

C++提供6种位运算符。

(1)\是按位与运算符,它将两个运算分量的对应二进制位进行与操作。基中,0 和0与得0,0和1与得0,1和0与得0,1和1与得1。

(2)\|\是按位或运算符,它将两个运算分量的对应二进制位进行或操作。其中,0和0或得0,0和1或得1,1和0或得1,1和1或得1。

(3)\^\是按位异或运算符,它将两个运算分量的对应二进制位进行异或操作。其中,0和0异或得0,0和1异或得1,1和0异或得1,1和1异或得0。

(4)\>>\是按位右移运算符,由于右移的位数为右边运算分量的值,所以右边运算分量的值必须是一个整数。 (5)\<<\是按位左移运算符,由于左移的位数为右边运算分量的值,所以右边运算分量的值必须是一个整数。 (6)\是按位取反运算符,它将运算分量的对应二进制数的每一位进行取反操作。其中,0取反得1,1取反得0。位运算符的使用格式:<运算分量><双目运算符><运算分量> <单目运算符><运算分量> 8.其他运算 (1)条件运算符

条件运算是C++中唯一的三目运算,与其对应的运算符?:称为条件运算符。 条件运算符的使用格式为:<表达式1>?<表达式2>:<表达式3>

当计算有条件运算符构成的表达式时,首先计算<表达式1>,若其值非0,则计算出<表达式2>的值,并用这个值作为整个表达式的值;若<表达式1>的值为0,则计算出<表达式3>的值,并用这个值作为整个表达式的值。 (2)逗号运算符

C++中使用逗号运算符指明对多个表达式进行顺序求值。

逗号运算符的使用格式为:<表达式1>,<表达式2>,??<表达式n>

其中,每个逗号都称为逗号运算符,整个式子称为逗号表达式。上述逗号表达式的求值步骤为:从左向右依次计算<表达式1>、<表达式2>?<表达式n>的值;将<表达式n>(即最右端的表达式)的值作为整个逗号表达式的值。 (3)sizeof运算符

使用运算符sizeof可以进行字长提取操作,因此sizeof运算符又称为字长提取符,它的使用格式为:sizeof(<运算分量>)

其中,sizeof为关键字;<运算分量>既可以是一个类型名,也可以是一个表达式,当作为<运算分量>的表达式只包含一个变量名时,圆括号()可以省略。字长提取运算的结果为一个整数,该整数表示指定的类型或变量的字节长度,即在内存中占用的字节(Byte)数。 (4)圆括号运算符

C++中不仅将圆括号()归为运算符,而且根据不同的使用方式,可以对圆括号运算符的功能作出以下3种不同的解释: ①圆括号用于函数调用。其格式为:<函数名>(<实参表>) ②圆括号用于强制类型转换。其格式为:(<类型名>)<表达式>

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

佳恒计算机教育培训中心

③圆括号用于类型构造。其格式为:<类型名>(<表达式>)类型构造是指使用圆括号中<表达式>的值来构造一个具有目标数据类型的值,要构造的目标数据类型由<类型名>指定。 (5)数组下标运算符:[](下标)。

(6) 指针运算符: *(取地址)和&(值引用)。

(7) 动态存储分配运算符:new(分配)和delete(释放)。 (8) 作用域限定运算符 ::(类域或全局域) 9.优先级和结合性

根据运算符的优先级和结合性,可以将表达式的计算顺序规则总结为以下3条: (1) 优先计算带有括号的子表达式;

(2) 在没有括号的部分,依照运算符优先级,由高到低进行计算;

(3) 具有相同优先级的运算符,按照结合性规定,依次进行计算。C++运算符分成17个优先级,优先级数字越小,表示运算符优先级越高。具有同一优先级数字的运算符,优先级相同。

单目运算符、赋值运算符和复合赋值运算符是右结合的,其余所有运算符都是左结合的。 主讲教师:刘老师 咨询辅导答疑:QQ(30724125)

佳恒计算机教育培训中心

第3章 基本控制结构

【考点一】 C++语句

C++语句按照不同功能大体分为6种类型,它们是:

(1)声明语句:用于对程序中的各种实体进行声明、定义及初始化。 (2)表达式语句:用于对程序中的数据进行具体操作和处理。 (3)选择语句:用于实现程序的选择结构。 (4)循环语句:用于实现程序的循环结构。 (5)跳转语句:用于实现程序执行流程的转移。 (6)复合语句:用于表示程序中的语句块概念。 【考点二 】 顺序结构 1.声明语句

声明语句又称为说明语句,它可以用来对程序中出现的各种名称进行声明。这些名称通常是表示变量、常量、函数、结构、类、对象等实体的标识符。在C++程序中,一个名称在使用之前必须先被声明。声明的目的是告诉编译器某个名称所指代的实体类型。使用声明语句能够在程序中进行如下操作: (1)变量声明 (2)常量声明 (3)函数声明 (4)类型声明

声明语句可以完成的工作不仅局限于为名称指定类型,同时也是定义语句。另外,使用声明语句还可以在定义变量时对其进行初始化。 2.表达式语句

C++中所有对数据的操作和处理工作都是通过表达式语句来完成的。 表达式语句的语法格式为:<表达式>;

(1)赋值操作。(2)复合赋值操作。(3)增量、减量操作。(4)函数调用操作。(5)输入输出操作。 3.基本输入输出

一个程序通常会向用户输出一些信息,一般也会要求用户输入一些信息。C++程序的输入输出操作是通过标准库中的输入/输出流对象来完成的。在头文件iostream中定义了代表屏幕的标准输出流对象cout和代表键盘的标准输入流对象cin。cin和cout具有强大的输入输出功能和极为灵活的用法。在程序中使用cin和cout之前,应首先加入预处理命令:#include<iostream>,以包含标准头文件iostream。

使用cout进行数据输出操作的一般格式为:cout<<Expr;这是一条表达式语句。其中,Expr代表一个表达式;\称为插入运算符。整条语句的含义是:将表达式Expr的值输出(显示)到屏幕上当前光标所在位置。 4.复合语句和空语句

复合语句又称为块语句,它是用一对花括号\{}\将若干条语句包围起来而组成的一条语句,其语法格式为:{<语句1><语句2>?<语句n>}

其中,<语句i>(i=1,2?,n)可以是声明语句、表达式语句、选择语句、循环语句或跳转语句等任何合法的C++语句,当然,也可以是一个复合语句。分隔符\{\和\}\的作用是把若干条语句组成的序列包围起来,使它们在逻辑上成为一条语句。

复合语句可以出现在程序中任何需要语句的地方,但在通常情况下复合语句可以作为以下成分出现在程序中。 (1)函数的函数体;(2)循环语句的循环体;(3)if语句的分支;(4)switch语句的执行部分。 实际上,空语句是一种特殊的表达式语句。其语法格式为:;即空语句只由一个分号组成。 【考点三】 选择结构

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

佳恒计算机教育培训中心

1.语句if语句又称为条件语句,它是程序设计语言中最常见的一种选择语句。 (1)基本if语句

基本if语句的功能是根据给定条件是否成立来决定要不要执行一条语句或语句块,它的语法格式如下:if(<条件>)<语句>,其中,if为关键字;<条件>通常是一个表达式且必须用圆括号包围起来;<语句>称为if子句,它可以是任何类型的语句(包括复合语句和空语句)。

基本if语句的执行过程是:首先计算<条件>的值,如果此值不为0(\真\),则执行<语句>;如果此值为0(\假\),则忽略<语句>(即不执行)而继续执行if语句之后的下一条语句。 说明:

①C++中规定:如果<条件>是一个表达式,则当此表达式的值不为0时,条件结果为\真\;只有当此表达式的值为0时,条件结果才为\假\。

②<条件>也可以是一条声明语句,其中必须定义一个变量并对它进行初始化。这时,若此变量的值不为0,则条件结果为\真\;若此变量的值为0,则条件结果为\假\。 (2)if?else语句

if?else语句是基本if语句的扩展,其功能是根据给定条件是否成立来决定执行两部分语句中的哪一部分,其语法格式如下:if(<条件>)<语句1>else<语句2>

其中,if和else为关键字;<语句1>称为if子句,<语句2>称为else子句,它们可以是单条语句或复合语句。if?else语句的执行过程是:首先计算<条件>的值,如果此值不为0(\真\),则执行<语句1>,然后忽略<语句2>而去执行if语句之后的下一条语句;如果此值为0(\假\),则忽略<语句1>,执行<语句2>,然后继续执行if语句之后的下一条语句。 (3)if语句的嵌套

if子句和else子句可以是任何类型的C++语句,当然也可以是if?else语句本身。通常将这种情况称为if语句的嵌套。 2.switch

switch语句又称为开关语句,它也是一种选择语句。switch语句的功能是根据给定表达式的不同取值来决定从多个语句序列中的哪一个开始执行,其语法格式如下:switch(<表达式>){case<常量表达式1>:<语句序列1>case<常量表达式2>:<语句序列2>?case<常量表达式n>:<语句序列n>default:<语句序列n+1>} 其中,switch,case和default为关键字;<表达式>的值必须属于整型、字符型或枚举型。<常量表达式i>(i=1,2?n)是取值互不相同的整型常量、字符常量或枚举常量,其具体类型应与<表达式>的值相一致。<语句序列i>(i=1,2?n,n+1)可以是任意多条语句。switch语句的执行过程是: (1)首先计算出<表达式>的值,设此值为E;

(2)然后计算每个<常量表达式i>的值,设它们分别为C1,C2,?,Cn;

(3)将E依次与C1,C2,?,Cn进行比较。如果E与某个值相等,则从该值所在的case标号语句开始执行各个语句序列,在不出现跳转语句的情况下,将一直执行到switch语句结束。

(4)如果E与所有值都不相等且存在default标号,则从default标号语句起开始向下执行,直到switch语句结束(同样,在不出现跳转语句的情况下)。

(5)如果E与所有值都不相等且不存在default标号,则switch语句不会执行任何操作。 说明:

(1)多个case标号可以共用一组语句序列,以实现对于几个常量值都执行同一操作。 主讲教师:刘老师 咨询辅导答疑:QQ(30724125)


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

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

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

马上注册会员

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