国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷1(共160题)_第1页
国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷1(共160题)_第2页
国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷1(共160题)_第3页
国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷1(共160题)_第4页
国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷1(共160题)_第5页
已阅读5页,还剩38页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷1(共6套)(共160题)国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷第1套一、选择题(本题共28题,每题1.0分,共28分。)1、下列描述中,不属于面向对象思想主要特征的是()。A、封装性B、跨平台性C、继承性D、多态性标准答案:B知识点解析:封装性、继承性和多态性是面向对象程序设计的三个基本特征。跨平台性不是面向对象程序设计的特征。2、下列字符串中,正确的C++标识符是()。A、foo一1B、2bC、newD、256标准答案:D知识点解析:此题考查的是C++语言中标识符的定义。标识符由字母、数字或下划线构成,但第一个字符必须是字母或下划线;标识符中大小写字母是不同的;用户定义标识符时,不允许采用系统的关键字。3、下列符号中可以用作C++标识符的是()。A、_radiusB、foo~barC、elseD、3room标准答案:A知识点解析:此题考查的是C++语言中标识符的定义。标识符有字母、数字和下划线构成,其第一个字母必须是字母或下划线;定义标识符时,不要采用系统的保留字。4、下列字符串中,不可以用作C++标识符的是()。A、y_2006B、___TEST_HC、ReturnD、switch标准答案:D知识点解析:此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符:标识符中的大小写字母是不同的:定义标识符时不能采用系统的保留字。5、下列符号中能够作为C++标识符的是()。A、constB、2aC、_shapeD、_count标准答案:C知识点解析:此题考查的是C++标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。6、下列字符串中不能作为C++标识符使用的是()。A、WHILEB、userC、_lvarD、9stars标准答案:D知识点解析:在C++中变量名的命名必须遵循一定的原则,其中之一即是第一个字符必须是字母或者F划线。7、下列字符串中可以用作C++标识符的是()。A、2009varB、gotoC、test一2009D、_123标准答案:D知识点解析:标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:①标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。②标识符不能与任意一个关键字同名。③标识符中的字母区分大小写。④标识符不宜过长。C++语言一般设定一个标识符的有效长度为32个字符。由这四条规则可知,选项D)为正确答案。8、在下列字符中,不允许作为C++标识符的是()。A、bB、BC、_D、2标准答案:D知识点解析:C++的标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。9、下列选项可以做C++标识符的是()。A、_256B、fat/pigC、deleteD、Schar标准答案:A知识点解析:标识符的命名规则:①所有标识符必须由一个字母(a~Z或A~Z)或下划线()开头;②标识符的其他部分可以用字母、下划线或数字(0~9)组成;③大小写字母表示不同意义,即代表不同的标识符,如cout和Cout。10、下列符号中不属于C++关键字的是()。A、friendB、namespaceC、continueD、byte标准答案:D知识点解析:此题考查的是C++语言的关键字。Friend是声明友元函数或友元类时用到的关键字;namespace是定义或使用名字空间时用到的关键字;continue是终止本次循环直接开始下一次循环所用到的关键字;byte是字节的意思,它不是C++语言中的关键字。11、下列选项中,不是C++关键字的是()。A、classB、functionC、friendD、virtual标准答案:B知识点解析:class、friend、virtual都是C++的关键字,而funtion是VB的关键字。12、下列关于C++函数的叙述中,正确的是()。A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己标准答案:C知识点解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。13、必须用一对大括号括起来的程序段是()。A、switch语句中的case标号语句B、if语句的分支C、循环语句的循环体D、函数的函数体标准答案:D知识点解析:此题考查的是语句块和函数。if语句的分支和循环语句的循环体可以是一条语句也可以使…个语句块,所以不是必须用一个大括号括起来:switch语句中的case标号语句可以是一系列语句,也可以’包含语句块,也不是必须用一对大括号括起来;函数的函数体必须用一对大括号括起来。14、在开发一个C++程序的整个过程中,第3个步骤为()。A、链接B、运行C、编辑D、编译标准答案:A知识点解析:C++程序的开发过程是编辑、编译、链接、运行和调试。15、下列各组类型声明符中,含义相同的一组是()。A、unsignedlongint和longB、signedshortint和shortC、unsignedshort和shortD、shortint和int标准答案:B知识点解析:此题考查的是基本类型和派生型。C++语言中,基本类型的字长及其取值范围可以放大和缩小,改变后的类型就叫做基本类型和派生类型。本题A选项中,unsignedlongint的省略形式为unsignedlong;选项B中,signedshortint的省略形式是short;选项C中,unsignedshort的省略形式是unsignedshort;选项D中,shortint的省略形式是short。16、字面常量42、4.2、42L的数据类型分别是()。A、long,double,intB、long,float,intC、int,double,longD、int,float,long标准答案:C知识点解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或l来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。17、下列叙述中,错误的是()。A、false是一个逻辑型常量B、b是一个字符型常量C、365是一个int常量D、3.1415926是一个double常量标准答案:B知识点解析:字符常量简称字符,它以单引号作为起止符号,中间有一个或若干个字符。或者以“\”开头的包括多个字符的字符序列也符合规定的字符常量。18、关键字unsigned不能修饰的类型是()。A、charB、intC、floatD、longint标准答案:C知识点解析:实型常量指的是float和double两种数据类型,而signed和unsigned只对整型数起作用,用于确定它们的数据范围(例如16位系统中,一个signedint是一32768—32767,而unsignedint是0~65535)。unsigned对浮点数是无意义的。19、已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。A、枚举常量NAME的值为1B、枚举常量NUMBER的值为1C、枚举常量MINUS的值为6D、枚举常量PRINT的值为10标准答案:A知识点解析:此题考查的是C++语言的数据类型。第一个枚举常量的值为0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时,在前一枚举常量值的基础上以此增1。20、已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};则下列说法中错误的是()。A、枚举常量YELLOW的值为1B、枚举常量RED的值为6C、枚举常量BLACK的值为10D、枚举常量WHITE的值为1标准答案:D知识点解析:此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enum类型名{枚举值表}。需注意的是:当n个枚举值全部未赋常量值时,它们自左至右分别与整数0、1、2、3…n.1对应;若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1、m+2…对应,直到下一个赋了值的枚举值或结束。21、下列枚举类型的定义中,包含枚举值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK};C、enumtest{RED=一1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};标准答案:A知识点解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量。枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n一1对应。③若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1,m+2…对应,直到下一个赋了值的枚举值或结束。因此,为枚举值赋的整型常量值应从左到右递增。④枚举类型的声明也可作为组声明若干整型符号常量的方法。也就是说,把每个要声明的符号常量作为…个枚举值,将各个枚举值合在一起定义成一个枚举类型。对于本题来说,在选项A)中,对4个枚举值没有赋常量值,所以它们从左到右与整数0,l,2,3相对应。因而选项A)为正确选项。22、下列语句中,错误的是()。A、constintbuffe=256;B、constinttemp;C、constdouble*point;D、constdouble*rt=newdouble(5.5);标准答案:B知识点解析:此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项B错误;选项C定义的是一个指向常量的指针变量,即通过指针不能改变它所指向的内容,而它自己的内容是可以改变的,C选项正确。23、在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。A、autoB、externC、registerD、static标准答案:A知识点解析:此题考查的是存储类型。C++语言变量的存储类型分为如下几种类型:auto一一一函数内部的局部变量;static一一一静态存储分配;extern一一一全局变量;register一一一变量存储在硬件寄存器中。24、下列语句中错误的是()。A、constinta;B、constinta=10;C、constint*point=0;D、constint*point=newint(10;)标准答案:A知识点解析:由关键字const声明符号常量的同时必须为其赋初值。25、有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<<i<<j<<end1;}运行时的输出结果是()。A、44B、41C、88D、81标准答案:C知识点解析:这个程序定义了全局整型对象i和j,其值分别等于4和1。而在主函数中定义了局部整型对象i和j,i值赋予8,再把i值赋给j,接着输出i和j的值,所以其结果为88。这个题目要注意的一点是,全局整型对象i和j和主函数中定义了局部整型对象i和j,在计算机内存中表示的是不同的存储单元。它们的值是独自存放的,互相不同。26、下列选项中,正确的C++表达式是()。A、counter++3B、element3+C、a+=bD、’a’=b标准答案:C知识点解析:在C++中由一个或多个操作数与操作符连接而成的有效运算式称为表达式。选项C)是C++的合法表达式。27、若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。A、0B、0.7C、0.66667D、0.66666667标准答案:A知识点解析:由于变量i、j都是整型变量,所以两者相除所得的商也是整型数据。28、若有定义“intx=4,y=5;”,则表达式“y>x++?x一一:y++”.的值为()。A、3B、4C、5D、6标准答案:C知识点解析:在表达式“y>x++?x一一:y++”中,由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值前自加1,等于5,此时表达式y>x不成立,所以整个表达式的值等于y++的值,由于y++是后自加运算,所以其值等于5。国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷第2套一、选择题(本题共27题,每题1.0分,共27分。)1、下列描述中,不属于面向对象思想主要特征的是()。A、封装性B、跨平台性C、继承性D、多态性标准答案:B知识点解析:封装性、继承性和多态性是面向对象程序设计的三个基本特征。跨平台性不是面向对象程序设计的特征。2、下列符号中可以用作C++标识符的是()。A、_radiusB、foo-barC、elseD、3room标准答案:A知识点解析:此题考查的是C++语言中标识符的定义。标识符有字母、数字和下划线构成,其第一个字母必须是字母或下划线;定义标识符时,不要采用系统的保留字。3、下列字符串中,不可以用作C++标识符的是()。A、y_2006B、_TEST_HC、ReturnD、SWitch标准答案:D知识点解析:此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格:标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。4、下列符号中能够作为C++标识符的是()。A、constB、2aC、_shapeD、-count标准答案:C知识点解析:此题考查的是C++标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符:标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。5、下列字符串中不能作为C++标识符使用的是()。A、WHILEB、userC、_lvarD、9stars标准答案:D知识点解析:在C++中变量名的命名必须遵循一定的原则,其中之一即是第一个字符必须是字母或者下划线。6、下列字符串中可以用作C++标识符的是()。A、2009varB、gotoC、test-2009D、_123标准答案:D知识点解析:标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:①标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。②标识符不能与任意一个关键字同名。③标识符中的字母区分大小写。④标识符不宜过长。C++语言一般设定~个标识符的有效长度为32个字符。由这四条规则可知,选项D)为正确答案。7、在下列字符中,不允许作为C++标识符的是()。A、bB、BC、_D、2标准答案:D知识点解析:C++的标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。8、下列选项中,正确的C++标识符是()。A、6_groupB、group-6C、age+3D、_group_6标准答案:D知识点解析:C++中标识符的命名遵循如下规则:不能是C++关键字,第一个字母必须是字母或下划线,中间不能有空格,变量名中不能包括“.”、“;”、“,”、“’”、“’’”+-之类的特殊符号。总之标识符中除了能使用26个英文大小写字母和数字外,只能使用下划线“__”。9、下列选项可以做C++标识符的是()。A、_256B、fat/pigC、deleteD、5char标准答案:A知识点解析:标识符的命名规则:①所有标识符必须由一个字母(a~z或A~Z)或下划线()开头:②标识符的其他部分可以用字母、下划线或数字(0~9)组成;③大小写字母表示不同意义,即代表不同的标识符,如coat和Coat。10、下列符号中不属于C++关键字的是()。A、friendB、namespaceC、continueD、byte标准答案:D知识点解析:此题考查的是C++语言的关键字。Friend是声明友元函数或友元类时用到的关键字;namespace是定义或使用名字空间时用到的关键字:continue是终止本次循环直接开始下一次循环所用到的关键字;byte是字节的意思,它不是C++语言中的关键字。11、下列选项中,不是C++关键字的是()。A、classB、functionC、friendD、vinual标准答案:B知识点解析:class、friend、virtual都是C+的关键字,而funtion是VB的关键字。12、下列关于C++函数的叙述中,正确的是()。A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己标准答案:C知识点解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。13、必须用对大括号括起来的程序段是()。A、switch语句中的case标号语句B、if语句的分支C、循环语句的循环体D、函数的函数体标准答案:D知识点解析:此题考查的是语句块和函数。if语句的分支和循环语句的循环体可以是一条语句也可以使一个语句块,所以不是必须用一个大括号括起来;switch语句中的case标号语句可以是一系列语句,也可以包含语句块,也不是必须用一对大括号括起来:函数的函数体必须用一对大括号括起来。14、在开发一个C++程序的整个过程中,第3个步骤为()。A、链接B、运行C、编辑D、编译标准答案:A知识点解析:C++程序的开发过程是编辑、编译、链接、运行和调试。15、下列各组类型声明符中,含义相同的一组是()。A、unsignedlongint和longB、signedshortint和shortC、unsignedshort和shortD、shortint和int标准答案:B知识点解析:此题考查的是基本类型和派生型。C++语言中,基本类型的字长及其取值范围可以放大和缩小,改变后的类型就叫做基本类型和派生类型。本题A选项中,unsignedlongint的省略形式为unsignedlong;选项B中,signedshortint的省略形式是short;选项C中,unsignedshort的省略形式是unsignedshort;选项D中,shortint的省略形式是short。16、字面常量42、4.2、42L的数据类型分别是()。A、long,double,intB、long,float,intC、int,double,longD、int,float,long标准答案:C知识点解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或l来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。17、下列叙述中,错误的是()。A、false是一个逻辑型常量B、’’b’’是一个字符型常量C、365是一个int常量D、3.1415926是一个double常量标准答案:B知识点解析:字符常量简称字符,它以单引号作为起止符号,中间有一个或若干个字符。或者以“\”开头的包括多个字符的字符序列也符合规定的字符常量。18、关键字unsigned不能修饰的类型是()。A、charB、intC、floatD、longint标准答案:C知识点解析:实型常量指的是float和double两种数据类型,而signed和unsigned只对整型数起作用,用于确定它们的数据范围(例如16位系统中,一个signedint是-32768~32767,而unsignedint是0~65535)。unsigned对浮点数是无意义的。19、已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。A、枚举常量NAME的值为1B、枚举常量NUMBER的值为1C、枚举常量MINUS的值为6D、枚举常量PRINT的值为10标准答案:A知识点解析:此题考查的是C+十语言的数据类型。第一个枚举常量的值为0:允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时,在前一枚举常量值的基础上以此增1。20、已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};则下列说法中错误的是()。A、枚举常量YELLOW的值为1B、枚举常量RED的值为6C、枚举常量BLACK的值为10D、枚举常量WHITE的值为1标准答案:D知识点解析:此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enum类型名{枚举值表}。需注意的是:当n个枚举值全部未赋常量值时,它们自左至右分别与整数0、l、2、3…n-1对应:若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1、m+2…对应,直到下一个赋了值的枚举值或结束。21、下列枚举类型的定义中,包含枚举值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK);C、enumtest{RED=-1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};标准答案:A知识点解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量。枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n-1对应。③若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1,m+2…对应,直到下一个赋了值的枚举值或结束。因此,为枚举值赋的整型常量值应从左到右递增。④枚举类型的声明也可作为组声明若干整型符号常量的方法。也就是说,把每个要声明的符号常量作为一个枚举值,将各个枚举值合在一起定义成一个枚举类型。对于本题来说,在选项A中,对4个枚举值没有赋常量值,所以它们从左到右与整数0。1,2,3相对应。因而选项A为正确选项。22、下列语句中,错误的是()。A、constintbuffer=256;B、constinttemp;C、constdouble*point;D、eonstdouble*rt=-newdouble(5.5);标准答案:B知识点解析:此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项B错误;选项C定义的是一个指向常量的指针变量,即通过指针不能改变它所指向的内容,而它自己的内容是可以改变的,C选项正确。23、在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。A、autoB、extemC、registerD、static标准答案:A知识点解析:此题考查的是存储类型。C++语言变量的存储类型分为如下几种类型:auto---函数内部的局部变量;static…静态存储分配;extern---全局变量;register---变量存储在硬件寄存器中。24、下列语句中错误的是()。A、constinta;B、constinta=10;C、eonstint*point=0;D、constint*point=newint(10);标准答案:A知识点解析:由关键字const声明符号常量的同时必须为其赋初值。25、有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;eout<<i<<j<<end1;}运行时的输出结果是()。A、44B、4lC、88D、81标准答案:C知识点解析:这个程序定义了全局整型对象i和i,其值分别等于4和1。而在主函数中定义了局部整型对象i和.j,i值赋予8,再把i值赋给i,接着输出i和j的值,所以其结果为88。这个题日要注意的一点是,全局整型对象i和i和主函数中定义了局部整型对象i和j,在计算机内存中表示的是不同的存储单元。它们的值是独自存放的,互相不同。26、若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。A、0B、0.7C、0.66667D、0.66666667标准答案:A知识点解析:由于变量i、j都是整型变量,所以两者相除所得的商也是整型数据。27、若有定义“intx=4,y=5;”,则表达式“y>x++?x--:y++”的值为()。A、3B、4C、5D、6标准答案:C知识点解析:在表达式“y>x++?x--:y++”中,由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值前自加1,等于5。此时表达式y>x不成立,所以整个表达式的值等于y++的值,由于y++是后自加运算,所以其值等于5。国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷第3套一、选择题(本题共27题,每题1.0分,共27分。)1、下列描述中,不属于面向对象思想主要特征的是()。A、封装性B、跨平台性C、继承性D、多态性标准答案:B知识点解析:封装性、继承性和多态性是面向对象程序设计的三个基本特征。跨平台性不是面向对象程序设计的特征。2、下列字符串中,正确的C++标识符是()。A、foo-1B、2bC、newD、_256标准答案:D知识点解析:此题考查的是C++语言中标识符的定义。标识符由字母、数字或下划线构成,但第一个字符必须是字母或下划线;标识符中大小写字母是不同的;用户定义标识符时,不允许采用系统的关键字。3、下列符号中可以用作C++标识符的是()。A、_radiusB、foo-barC、elseD、3room标准答案:A知识点解析:此题考查的是C++语言中标识符的定义。标识符有字母、数字和下划线构成,其第一个字母必须是字母或下划线;定义标识符时,不要采用系统的保留字。4、下列符号中,正确的C++标识符是()。A、enumB、100bitC、s-1D、_int标准答案:D知识点解析:此题考查的是c++语言中标识符的概念。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。5、下列字符串中,不可以用作C++标识符的是()。A、y_2006B、__TEST_HC、ReturnD、switch标准答案:D知识点解析:此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符:标识符中的大小写字母是不同的:定义标识符时不能采用系统的保留字。6、下列字符串中不能作为C++标识符使用的是()。A、WHILEB、userC、_lvarD、9stars标准答案:D知识点解析:在C++中变量名的命名必须遵循一定的原则,其中之一即是第一个字符必须是字母或者下划线。7、下列字符串中可以用作C++标识符的是()。A、2009varB、gotoC、test-2009D、_123标准答案:D知识点解析:标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:①标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。②标识符不能与任意一个关键字同名。③标识符中的字母区分大小写。④标识符不宜过长。C++语言一般设定一个标识符的有效长度为32个字符。由这四条规则可知,选项D为正确答案。8、下列选项中,正确的C++标识符是()。A、6groupB、group_6C、age+3D、_group_6标准答案:D知识点解析:C++中标识符的命名遵循如下规则:不能是C++关键字,第一个字母必须是字母或下划线,中问不能有空格,变量名中不能包括“.”、“;”、“,”、“’”、“"”+-之类的特殊符号。总之标识符中除了能使用26个英文大小写字母和数字外,只能使用下划线“_”。9、下列选项可以做C++标识符的是()。A、256B、fat/pigC、deleteD、5char标准答案:A知识点解析:标识符的命名规则:①所有标识符必须由一个字母(a~z或A~Z)或下划线(_)开头;②标识符的其他部分可以用字母、下划线或数字(0~9)组成;③大小写字母表示不同意义,即代表不同的标识符,如cout和Cout。10、下列关于C++函数的叙述中,正确的是()。A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己标准答案:C知识点解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。11、必须用一对大括号括起来的程序段是()。A、switch语句中的case标号语句B、if语句的分支C、循环语句的循环体D、函数的函数体标准答案:D知识点解析:此题考查的是语句块和函数。if语句的分支和循环语句的循环体可以是一条语句也可以使一个语句块,所以不是必须用一个大括号括起来:switch语句中的case标号语句可以是一系列语句,也可以包含语句块,也不是必须用一对大括号括起来;函数的函数体必须用一对大括号括起来。12、Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A、cppB、exeC、objD、lik标准答案:C知识点解析:在VC6.0集成开发环境下,用户可以使用编译(compile)命令将一个.cpp为扩展名的C++源程序文件转换成一个以obj为扩展名的目标文件。13、在开发一个C++程序的整个过程中,第3个步骤为()。A、链接B、运行C、编辑D、编译标准答案:A知识点解析:C++程序的开发过程是编辑、编译、链接、运行和调试。14、下列各组类型声明符中,含义相同的一组是()。A、unsignedlongint和longB、signedshortint和shortC、unsignedshort和shortD、shortint和int标准答案:B知识点解析:此题考查的是基本类型和派生型。C++语言中,基本类型的字长及其取值范围可以放大和缩小,改变后的类型就叫做基本类型和派生类型。本题A选项中,unsignedlongint的省略形式为unsignedlong:选项B中,signedshortint的省略形式是short;选项C中,unsignedshort的省略形式是unsignedshort:选项D中,shortint的省略形式是short。15、字面常量42、4.2、42L的数据类型分别是()。A、long,double,intB、long,float,intC、int,double,longD、int,float,long标准答案:C知识点解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过c++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或1来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。16、下列叙述中,错误的是()。A、false是一个逻辑型常量B、”b”是一个字符型常量C、365是一个int常量D、3.1415926是一个double常量标准答案:B知识点解析:字符常量简称字符,它以单引号作为起止符号,中间有一个或若干个字符。或者以“\”开头的包括多个字符的字符序列也符合规定的字符常量。17、关键字unsigned不能修饰的类型是()。A、charB、intC、floatD、longint标准答案:C知识点解析:实型常量指的是float和double两种数据类型,而signed和unsigned只对整型数起作用,用于确定它们的数据范围(例如16位系统中,一个signedint是-32768~32767,而unsignedint是0~65535)。unsigned对浮点数是无意义的。18、己知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。A、枚举常量NAME的值为1B、枚举常量NUMBER的值为1C、枚举常量MINUS的值为6D、枚举常量PRINT的值为10标准答案:A知识点解析:此题考查的是C++语言的数据类型。第一个枚举常量的值为0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时,在前一枚举常量值的基础上以此增1。19、已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};则下列说法中错误的是()。A、枚举常量YELLOW的值为1B、枚举常量RED的值为6C、枚举常量BLACK的值为10D、枚举常量WHITE的值为1标准答案:D知识点解析:此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enum类型名{枚举值表}。需注意的是:当n个枚举值全部未赋常量值时,它们自左至右分别与整数0、1、2、3…n-1对应;若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1、m+2…对应,直到下一个赋了值的枚举值或结束。20、下列枚举类型的定义中,包含枚举值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK};C、enumtest{RED=1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};标准答案:A知识点解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量:枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n-1对应。③若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1,m+2…对应,直到下一个赋了值的枚举值或结束。因此,为枚举值赋的整型常量值应从左到右递增。④枚举类型的声明也可作为组声明若干整型符号常量的方法。也就是说,把每个要声明的符号常量作为一个枚举值,将各个枚举值合在一起定义成一个枚举类型。对于本题来说,在选项A中,对4个枚举值没有赋常量值,所以它们从左到右与整数0,1,2,3相对应。因而选项A为正确选项。21、下列语句中,错误的是()。A、constintbuffer=256;B、constinttemp;C、constdouble*pointD、constdouble*rt=newdouble(5.5);标准答案:B知识点解析:此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项B错误;选项C定义的是一个指向常量的指针变量,即通过指针不能改变它所指向的内容,而它自己的内容是可以改变的,C选项正确。22、在函数中,可以用auto、extem、register和static这四个关键字中的一个来说明变量的存储类型,如果不说明存储类型,则默认的存储类型是()。A、autoB、externC、registerD、static标准答案:A知识点解析:此题考查的是存储类型。C++语言变量的存储类型分为如下几种类型:auto---函数内部的局部变量;static---静态存储分配;extern---全局变量;register---变量存储在硬件寄存器中。23、下列语句中错误的是()。A、constinta;B、corlstinta=10;C、constint*point=0;D、constint*point=newint(10);标准答案:A知识点解析:由关键字const声明符号常量的同时必须为其赋初值。24、有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<A、44B、41C、88D、81标准答案:C知识点解析:这个程序定义了全局整型对象i和j,其值分别等于4和1。而在主函数中定义了局部整型对象i和j,i值赋予8,再把i值赋给j,接着输出i和j的值,所以其结果为88。这个题目要注意的一点是,全局整型对象i和j和主函数中定义了局部整型对象i和j,在计算机内存中表示的是不同的存储单元。它们的值是独自存放的,互相不同。25、下列选项中,正确的C++表达式是()。A、counter++3B、element3+C、a+=bD、ˊaˊ=b标准答案:C知识点解析:在C++中由一个或多个操作数与操作符连接而成的有效运算式称为表达式。选项C是C++的合法表达式。26、若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。A、0B、0.7C、0.66667D、0.66666667标准答案:A知识点解析:由于变量i、j都是整型变量,所以两者相除所得的商也是整型数据。27、若有定义“intx=4,y=5;”,则表达式“y>x++?x--:y++”的值为()。A、3B、4C、5D、6标准答案:C知识点解析:在表达式“y>x++?x--:y++”中,由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值前自加1,等于5,此时表达式y>x不成立,所以整个表达式的值等于y++的值,由于y++是后自加运算,所以其值等于5。国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷第4套一、选择题(本题共26题,每题1.0分,共26分。)1、下列描述中,不属于面向对象思想主要特征的是()。A、封装性B、跨平台性C、继承性D、多态性标准答案:B知识点解析:封装性、继承性和多态性是面向对象程序设计的三个基本特征。跨平台性不是面向对象程序设计的特征。2、下列字符串中,正确的C++标识符是()。A、foo-1B、2bC、newD、_256标准答案:D知识点解析:此题考查的是C++语言中标识符的定义。标识符由字母、数字或下划线构成,但第一个字符必须是字母或下划线;标识符中大小写字母是不同的;用户定义标识符时,不允许采用系统的关键字。3、下列符号中可以用作C++标识符的是()。A、_radiusB、foo~barC、elseD、3room标准答案:A知识点解析:此题考查的是C++语言中标识符的定义。标识符有字母、数字和下划线构成,其第一个字母必须是字母或下划线;定义标识符时,不要采用系统的保留字。4、下列字符串中,不可以用作C++标识符的是()。A、y_2006B、__TEST_HC、ReturnD、switch标准答案:D知识点解析:此题考查的是标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格:标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。5、下列符号中能够作为C++标识符的是()。A、constB、2aC、_shapeD、-count标准答案:C知识点解析:此题考查的是C++标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格:标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。6、下列字符串中不能作为C++标识符使用的是()。A、WHILEB、userC、_lvarD、9stars标准答案:D知识点解析:在C++中变量名的命名必须遵循一定的原则,其中之一即是第一个字符必须是字母或者下划线。7、下列字符串中可以用作C++标识符的是()。A、2009varB、gotoC、test-2009D、_123标准答案:D知识点解析:标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:①标识符是二个以字母或下划线开头的,由字母、数字、下划线组成的字符串。②标识符不能与任意一个关键字同名。③标识符中的字母区分大小写。④标识符不宜过长。C++语言一般设定一个标识符的有效长度为32个字符。由这四条规则可知,选项D)为正确答案。8、在下列字符中,不允许作为C++标识符的是()。A、bB、BC、_D、2标准答案:D知识点解析:C++的标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。9、下列选项中,正确的C++标识符是()。A、6_groupB、group~6C、age+3D、_group_6标准答案:D知识点解析:C++中标识符的命名遵循如下规则:不能是C++关键字,第一个字母必须是字母或下划线,中间不能有空格,变量名中不能包括“.”、“;”、“,”、“’”、“"”,+-之类的特殊符号。总之标识符中除了能使用26个英文大小写字母和数字外,只能使用下划线“_”。10、下列选项可以做C++标识符的是()。A、256B、fat/pigC、deleteD、5char标准答案:A知识点解析:标识符的命名规则:①所有标识符必须由一个字母(a~z或A~z)或下划线(_)开头;②标识符的其他部分可以用字母、下划线或数字(0~9)组成;③大小写字母表示不同意义,即代表不同的标识符,如cout和Cout。11、下列符号中不属于C++关键字的是()。A、friendB、namespaceC、continueD、byte标准答案:D知识点解析:此题考查的是C++语言的关键字。Friend是声明友元函数或友元类时用到的关键字:namespace是定义或使用名字空间时用到的关键字;continue是终止本次循环直接开始下一次循环所用到的关键字:byte是字节的意思,它不是C++语言中的关键字。12、下列关于C++函数的叙述中,正确的是()。A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己标准答案:C知识点解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。13、必须用一对大括号括起来的程序段是()。A、switch语句中的case标号语句B、if语句的分支C、循环语句的循环体D、函数的函数体标准答案:D知识点解析:此题考查的是语句块和函数。if语句的分支和循环语句的循环体可以是一条语句也可以使一个语句块,所以不是必须用一个大括号括起来;switch语句中的case标号语句可以是一系列语句,也可以包含语句块,也不是必须用一对大括号括起来;函数的函数体必须用一对大括号括起来。14、Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A、cppB、exeC、objD、lik标准答案:C知识点解析:在VC6.0集成开发环境下,用户可以使用编译(compile)命令将一个.cpp为扩展名的C++源程序文件转换成一个以.obj为扩展名的目标文件。15、在开发一个C++程序的整个过程中,第3个步骤为()。A、链接B、运行C、编辑D、编译标准答案:A知识点解析:C++程序的开发过程是编辑、编译、链接、运行和调试。16、下列各组类型声明符中,含义相同的一组是()。A、unsignedlongint和longB、signedshortint和shortC、unsignedshort和shortD、shortint和int标准答案:B知识点解析:此题考查的是基本类型和派生型。C++语言中,基本类型的字长及其取值范围可以放大和缩小,改变后的类型就叫做基本类型和派生类型。本题A选项中,unsignedlongint的省略形式为unsignedlong:选项B中,signedshortint的省略形式是short:选项C中,unsignedshort的省略形式是unsignedshort:选项D中,shortint的省略形式是short。17、字面常量42、4.2、42L的数据类型分别是()。A、long,double,intB、long,float,intC、int,double,longD、int,float,long标准答案:C知识点解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或l来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。18、下列叙述中,错误的是()。A、false是一个逻辑型常量B、b是一个字符型常量C、365是一个int常量D、3.1415926是一个double常量标准答案:B知识点解析:字符常量简称字符,它以单引号作为起止符号,中间有一个或若干个字符。或者以“\”开头的包括多个字符的字符序列也符合规定的字符常量。19、己知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。A、枚举常量NAME的值为1B、枚举常量NUMBER的值为1C、枚举常量MINUS的值为6D、枚举常量PRINT的值为10标准答案:A知识点解析:此题考查的是C++语言的数据类型。第一个枚举常量的值为0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时,在前一枚举常量值的基础上以此增1。20、已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10}:则下列说法中错误的是()。A、枚举常量YELLOW的值为1B、枚举常量RED的值为6C、枚举常量BLACK的值为10D、枚举常量WHITE的值为1标准答案:D知识点解析:此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enum类型名{枚举值表}。需注意的是:当n个枚举值全部未赋常量值时,它们自左至右分别与整数0、1、2、3…n-1对应:若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1、m+2…对应,直到下一个赋了值的枚举值或结束。21、下列枚举类型的定义中,包含枚举值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK};C、enumtest{RED=1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};标准答案:A知识点解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量。枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n-1对应。③若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1,m+2…对应,直到下一个赋了值的枚举值或结束。因此,为枚举值赋的整型常量值应从左到右递增。④枚举类型的声明也可作为组声明若干整型符号常量的方法。也就是说,把每个要声明的符号常量作为一个枚举值,将各个枚举值合在一起定义成一个枚举类型。对于本题来说,在选项A)中,对4个枚举值没有赋常量值,所以它们从左到右与整数0,1,2,3相对应。因而选项A)为正确选项。22、下列语句中,错误的是()。A、constintbuffer=256;B、constinttemp;C、constdouble*point;D、constdouble*rt=newdouble(5.5);标准答案:B知识点解析:此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项B错误;选项C定义的是一个指向常量的指针变量,即通过指针不能改变它所指向的内容,而它自己的内容是可以改变的,C选项正确。23、下列语句中错误的是()。A、constinta;B、constinta=10;C、constint*point=0;D、constint*point=newint(10);标准答案:A知识点解析:由关键字const声明符号常量的同时必须为其赋初值。24、有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<<i<<j<<endl;}运行时的输出结果是()。A、44B、41C、88D、81标准答案:C知识点解析:这个程序定义了全局整型对象i和j,其值分别等于4和1。而在主函数中定义了局部整型对象i和j,i值赋予8,再把i值赋给j,接着输出i和j的值,所以其结果为88。这个题目要注意的一点是,全局整型对象i和j和主函数中定义了局部整型对象i和j,在计算机内存中表示的是不同的存储单元。它们的值是独自存放的,互相不同。25、下列选项中,正确的C++表达式是()。A、counter++3B、element3+C、a+=bD、’a’=b标准答案:C知识点解析:在C++中由一个或多个操作数与操作符连接而成的有效运算式称为表达式。选项C)是C++的合法表达式。26、若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。A、0B、0.7C、0.66667D、0.66666667标准答案:A知识点解析:由于变量i、j都是整型变量,所以两者相除所得的商也是整型数据。国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷第5套一、选择题(本题共25题,每题1.0分,共25分。)1、下列描述中,不属于面向对象思想主要特征的是()。A、封装性B、跨平台性C、继承性D、多态性标准答案:B知识点解析:封装性、继承性和多态性是面向对象程序设计的三个基本特征。跨平台性不是面向对象程序设计的特征。2、下列字符串中,正确的C++标识符是()。A、foo—1B、2bC、newD、256标准答案:D知识点解析:此题考查的是C++语言中标识符的定义。标识符由字母、数字或下划线构成,但第一个字符必须是字母或下划线;标识符中大小写字母是不同的;用户定义标识符时,不允许采用系统的关键字。3、下列符号中可以用作C++标识符的是()。A、radiusB、foo~barC、elseD、3room标准答案:A知识点解析:此题考查的是C++语言中标识符的定义。标识符有字母、数字和下划线构成,其第一个字母必须是字母或下划线;定义标识符时,不要采用系统的保留字。4、下列符号中能够作为C++标识符的是()。A、constB、2aC、_shapeD、-count标准答案:C知识点解析:此题考查的是C++标识符。标识符是由数字、字母以及下划线构成,其第一个字符必须是字母或下划线,中间不能有空格;标识符的长度是任意的,但由于编译系统的限制一般不超过31个字符;标识符中的大小写字母是不同的;定义标识符时不能采用系统的保留字。5、下列字符串中不能作为C++标识符使用的是()。A、WHILEB、userC、_lvarD、9stars标准答案:D知识点解析:在C++中变量名的命名必须遵循一定的原则,其中之一即是第一个字符必须是字母或者下划线。6、下列字符串中可以用作C++标识符的是()。A、2009varB、gotoC、test-2009D、_123标准答案:D知识点解析:标识符是用户为程序中各种需要命名的“元素”所起的名字。标识符的组成要符合一定的规则:①标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。②标识符不能与任意一个关键字同名。③标识符中的字母区分大小写。④标识符不宜过长。C++语言一般设定一个标识符的有效长度为32个字符。由这四条规则可知,选项D)为正确答案。7、在下列字符中,不允许作为C++标识符的是()。A、bB、BC、_D、2标准答案:D知识点解析:C++的标识符是一个以字母或下划线开头的,由字母、数字、下划线组成的字符串。8、下列选项中,正确的C++标识符是()。A、6_groupB、group~6C、age+3D、_group_6标准答案:D知识点解析:C++中标识符的命名遵循如下规则:不能是C++关键字,第一个字母必须是字母或下划线,中间不能有空格,变量名中不能包括“.”、“;”、“,”、“’”、“"”+-之类的特殊符号。总之标识符中除了能使用26个英文大小写字母和数字外,只能使用下划线“”。9、下列选项可以做C++标识符的是()。A、_256B、fat/pigC、deleteD、5char标准答案:A知识点解析:标识符的命名规则:①所有标识符必须由一个字母(a~z或A~Z)或下划线(一)开头;②标识符的其他部分可以用字母、下划线或数字(0~9)组成;③大小写字母表示不同意义,即代表不同的标识符,如cout和Cout。10、下列符号中不属于C++关键字的是()。A、friendB、namespaceC、continueD、byte标准答案:D知识点解析:此题考查的是C++语言的关键字。Friend是声明友元函数或友元类时用到的关键字;namespace是定义或使用名字空间时用到的关键字;continue是终止本次循环直接开始下一次循环所用到的关键字;byte是字节的意思,它不是C++语言中的关键字。11、下列关于C++函数的叙述中,正确的是()。A、每个函数至少要具有一个参数B、每个函数都必须返回一个值C、函数在被调用之前必须先声明D、函数不能自己调用自己标准答案:C知识点解析:此题考查的是函数的性质。当调用无参函数时主函数并不将数据传送给被调函数,且可以带回或不带回函数值。函数的递归调用就是直接或间接的调用自己。12、必须用一对大括号括起来的程序段是()。A、switch语句中的case标号语句B、if语句的分支C、循环语句的循环体D、函数的函数体标准答案:D知识点解析:此题考查的是语句块和函数。if语句的分支和循环语句的循环体可以是一条语句也可以使一个语句块,所以不是必须用一个大括号括起来;switch语句中的case标号语句可以是一系列语句,也可以包含语句块,也不是必须用一对大括号括起来;函数的函数体必须用一对大括号括起来。13、Windows环境下,由C++源程序文件编译而成的目标文件的扩展名是()。A、cppB、exeC、objD、lik标准答案:C知识点解析:在VC6.0集成开发环境下,用户可以使用编译(compile)命令将一个.cpp为扩展名的C++源程序文件转换成一个以.obj为扩展名的目标文件。14、下列各组类型声明符中,含义相同的一组是()。A、unsignedlongint和longB、signedshortint和shortC、unsignedshort和shortD、shortint和int标准答案:B知识点解析:此题考查的是基本类型和派生型。C++语言中,基本类型的字长及其取值范围可以放大和缩小,改变后的类型就叫做基本类型和派生类型。本题A选项中,unsignedlongint的省略形式为unsignedlong;选项B中,signedshortint的省略形式是short;选项C中,unsignedshort的省略形式是unsignedshort;选项D中,shortint的省略形式short。15、字面常量42、4.2、42L的数据类型分别是()。A、long,double,intB、long,float,intC、int,double,longD、int,float,long标准答案:C知识点解析:此题考查的知识点是字面常量。对于整型字面常量,只要没有超过C++中整数所能表示的范围,C++将自动按整数来存储此数,也可以通过在整型字面常量后添加u或l来指定无符号整数或长整数来存储;对于实型字面常量,C++将自动按照双精度数来存储,也可以通过在实型字面常量后添加f来指定按单精度数存储。16、下列叙述中,错误的是()。A、false是一个逻辑型常量B、b是一个字符型常量C、365是一个int常量D、3.1415926是一个double常量标准答案:B知识点解析:字符常量简称字符,它以单引号作为起止符号,中问有一个或若干个字符。或者以“\”开头的包括多个字符的字符序列也符合规定的字符常量。17、关键字unsigned不能修饰的类型是()。A、charB、intC、floatD、longint标准答案:C知识点解析:实型常量指的是float和double两种数据类型,而signed和unsigned只对整型数起作用,用于确定它们的数据范围(例如16位系统中,一个signedint是-32768~32767,而unsignedint是0~65535)。unsigned对浮点数是无意义的。18、已知枚举类型定义语句为:enumToken{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};则下列叙述中错误的是()。A、枚举常量NAME的值为1B、枚举常量NUMBER的值为1C、枚举常量MINUS的值为6D、枚举常量PRINT的值为10标准答案:A知识点解析:此题考查的是C++语言的数据类型。第一个枚举常量的值为0;允许程序显示的定义中指定部分或全部枚举常量的值,枚举常量默认时,在前一枚举常量值的基础上以此增1。19、已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};则下列说法中错误的是()。A、枚举常量YELLOW的值为1B、枚举常量RED的值为6C、枚举常量BLACK的值为10D、枚举常量WHITE的值为1标准答案:D知识点解析:此题考查的是枚举类型的声明。声明枚举类型的语法形式为:enurn类型名{枚举值表}。需注意的是:当n个枚举值全部未赋常量值时,它们自左至右分别与整数0、1、2、3…n-1对应;若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1、m+2…对应,直到下一个赋了值的枚举值或结束。20、下列枚举类型的定义中,包含枚举值3的是()。A、enumtest{RED,YELLOW,BLUE,BLACK};B、enumtest{RED,YELLOW=4,BLUE,BLACK};C、enumtest{RED=-1,YELLOW,BLUE,BLACK};D、enumtest{RED,YELLOW=6,BLUE,BLACK};标准答案:A知识点解析:声明枚举类型的语法格式为:enum<类型名>{<枚举值表>};<枚举值表>包含多个枚举值,它们用逗号隔开,每个枚举值就是一个枚举常量。枚举值有两种定义形式:一是<值名>;二是<值名>=<整型常量>。关于枚举类型有以下4点说明:①一个enum类型实际上是int类型的一个子集,其每一个枚举值代表一个整数。②n个枚举值全部未赋常量值时,它们自左至右分别与整数0,1,…n—1对应。③若第i个枚举值赋常量值为m,则其未赋常量值的后续枚举值分别与整数m+1,m+2…对应,直到下一个赋了值的枚举值或结束。因此,为枚举值赋的整型常量值应从左到右递增。④枚举类型的声明也可作为组声明若干整型符号常量的方法。也就是说,把每个要声明的符号常量作为一个枚举值,将各个枚举值合在一起定义成一个枚举类型。对于本题来说,在选项A)中,对4个枚举值没有赋常量值,所以它们从左到右与整数0,1,2,3相对应。因而选项A)为正确选项。21、下列语句中,错误的是()。A、constintbuffer=256;B、constinttemp;C、constdouble*point;D、constdouble*rt=newdouble(5.5);标准答案:B知识点解析:此题考查的是符号常量的概念。符号常量必须在声明的同时赋初值,故选项B错误;选项c定义的是一个指向常量的指针变量,即通过指针不能改变它所指向的内容,而它自己的内容是可以改变的,C选项正确。22、有如下程序段:inti=4;intj=1;intmain(){inti=8,j=i;cout<A、44B、41C、88D、81标准答案:C知识点解析:这个程序定义了全局整型对象i和i,其值分别等于4和1。而在主函数中定义了局部整型对象i和j,i值赋予8,再把i值赋给i,接着输出i和j的值,所以其结果为88。这个题目要注意的一点是,全局整型对象i和i和主函数中定义了局部整型对象i和j,在计算机内存中表示的是不同的存储单元。它们的值是独自存放的,互相不同。23、下列选项中,正确的C++表达式是()。A、counter++3B、element3+C、a+=bD、’a’=b标准答案:C知识点解析:在C++中由一个或多个操作数与操作符连接而成的有效运算式称为表达式。选项C)是C++的合法表达式。24、若有定义语句“inti=2,j=3;”,则表达式i/j的结果是()。A、0B、0.7C、0.66667D、0.66666667标准答案:A知识点解析:由于变量i、j都是整型变量,所以两者相除所得的商也是整型数据。25、若有定义“intx=4,y=5;”,则表达式“y>x++?x--:y++”的值为()。A、3B、4C、5D、6标准答案:C知识点解析:在表达式“y>x++?x--:y++”中,由于自加(++)运行符的优前级高于比较运算符(>),所以首先进行自加运算,即变量x的值前自加1,等于5,此时表达式y>x不成立,所以整个表达式的值等于y++的值,由于y++是后自加运算,所以其值等于5。国家二级C++机试(C++语言概述、数据类型、运算符和表达式)模拟试卷第6套一、选择题(本题共27题,每题1.0分,共27分。)1、下列描述中,不属于面向对象思想主要特征的是()。A、封装性B、跨平台性C、继承性D、多态性标准答案:B知识点解析:封装性、继承性和多态性是面向对象程序设计的三个基本特征。跨平台性不是面向对象程序设计的特征。2、下列字符串中,正确的C++标识符是()。A、foo-1B、2bC、newD、256标准答案:D知识点解析:此题考查的是C++语言中标识符的定义。标识符由字母、数字或下划线构成,但第一个字符必须是字母或下划线;标识符中大小写字母是不同的;用户定义标识符时,不允许采用系统的关键字。3、下列符号中可以用作C++标识符的是()。A、_radiusB、foo-barC、elseD、3room标准答案:A知识点解析

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论