二级C++164.docx
《二级C++164.docx》由会员分享,可在线阅读,更多相关《二级C++164.docx(14页珍藏版)》请在冰豆网上搜索。
二级C++164
二级C++-164
(总分:
100.00,做题时间:
90分钟)
一、选择题(总题数:
42,分数:
84.00)
1.下列字符串中,不可以用作C++标识符的是______。
(分数:
2.00)
A.y_2006
B._TEST_H
C.Return
D.switch √
解析:
2.在下列选项中,不允许作为C++标识符的是______。
(分数:
2.00)
A.999a √
B._
C..T
D.mmm
解析:
3.下列字符串中不能作为C++标识符使用的是______。
(分数:
2.00)
A.DOUBLE
B.ab~c √
C._5_
D.xyz
解析:
4.下列选项中可以做C++标识符的是______。
(分数:
2.00)
A._256 √
B.fat/pig
C.delete
D.5char
解析:
5.下列符号中不属于C++关键字的是______。
(分数:
2.00)
A.friend
B.namespace
C.continue
D.byte √
解析:
6.下列叙述中,正确的是______。
(分数:
2.00)
A.false是一个字符型常量
B.false是一个字符串常量
C.11是一个逻辑型常量
D.1.1是一个double常量 √
解析:
7.下列各组的量声明中,含义相同的一组是______。
(分数:
2.00)
A.unsignedlongint和long
B.signedshortint和short √
C.unsignedshort和short
D.shortint和int
解析:
8.字面常量42、4.2、42L的数据类型分别是______。
(分数:
2.00)
A.long、doubleint
B.long、float、int
C.int、double、long √
D.int、float、long
解析:
9.判断字符型变量ch是否为大写英文字母,应使用表达式______。
(分数:
2.00)
A.ch>="A"&ch<="Z"
B.ch<="A"||ch>="Z"
C."A"<=ch<="Z"
D.ch>="A"&&ch<="Z" √
解析:
10.已知下列语句中的X和Y都是int型变量,其中错误的语句______。
(分数:
2.00)
A.x=y++;
B.x=++y;
C.(x+y)++; √
D.++x=y;
解析:
11.已知枚举类型声明语句为:
enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};
则下列说法中错误的是______。
(分数:
2.00)
A.枚举常量YELLOW的值为1
B.枚举常量RED的值为6
C.枚举常量BLACK的值为10
D.枚举常量WHITE的值为1 √
解析:
12.设有定义“intx;floaty;”,则10+x+y值的数据类型是______。
(分数:
2.00)
A.int
B.double
C.float √
D.不确定
解析:
13.下列选项中,错误的C++表达式是______。
(分数:
2.00)
A.a++
B."b"=10 √
C.double(3/5)
D.x++!
=3||y
解析:
14.下列选项中,正确的C++表达式是______。
(分数:
2.00)
A.a+b=b+e
B.xyz+
C.www++9
D.a[3] √
解析:
15.若有定义语句“inti=2,j=3;”,则表达式i/j的结果是______。
(分数:
2.00)
A.0 √
B.0.7
C.0.66667
D.0.66666667
解析:
16.有如下语句序列:
intx=100,&r=x;
cout<<x<<"-"<<r<<endl;
已知其中变量x的地址为0012FF7C,则执行该语句序列的输出结果为______。
(分数:
2.00)
A.100-100 √
B.100-0012FF7C
C.0012FF7C-100
D.0012FF7C-0012FF7C
解析:
17.在C++语言系统中,用于输出数据所使用的标识符cout是______。
(分数:
2.00)
A.类名
B.对象名 √
C.函数名
D.文件名
解析:
18.要利用C++流实现输入输出的各种格式控制,必须在程序中包含的头文件是______。
(分数:
2.00)
A.fstream
B.istream
C.cstdlib
D.iomanip √
解析:
19.有如下程序段:
inti=1;intj=4;
intmain(){
intj=i,i=8;
Cout<<i<<j<<endl;
}
运行时的输出结果是______。
(分数:
2.00)
A.14
B.81 √
C.88
D.18
解析:
20.有如下语句序列:
charstr[10];cin>>str;
当从键盘输入“Ilovethisgame”时,str中的字符串是______。
(分数:
2.00)
A."Ilovethisgame"
B."Ilovethi"
C."Ilove"
D."I" √
解析:
21.执行下列语句段后
intn=0;for(inti=70;i>0;i-=3)n++;
n的值是______。
(分数:
2.00)
A.23
B.24 √
C.25
D.71
解析:
22.有如下程序段:
inti=100;
while(inti=10){cout<<"*";i--;}
运行时输出"*"的个数是______。
(分数:
2.00)
A.0
B.100
C.10
D.无穷 √
解析:
23.有如下程序:
#include<iostream>
usingnamespacestd;
intmain(){
intf,f1=0,f2=1;
for(inti=3;i<=6;i++){
f=f1+f2;
f1=f2;f2=f;
}
cout<<f<<endl;
return0;
}
运行时的输出结果是______。
(分数:
2.00)
A.2
B.3
C.5 √
D.8
解析:
24.下列循环语句中有语法错误的是______。
(分数:
2.00)
A.inti;for(i=1;i<10;i++)cout<<"*";
B.inti,j;for(i=1,j=0;i<10;i++,j++)cout<<"*";
C.inti=0;for(;i<10;i++)cout<<"*";
D.for
(1)cout<<"*"; √
解析:
25.执行下列语句段后,输出字符"*"的个数是______。
for(inti=50;i>1;i-=2)cout<<"*";
(分数:
2.00)
A.24
B.25 √
C.26
D.50
解析:
26.有如下程序段:
inti=2;
do{
i*=i;
cout<<"#";
if(i>1000)break;
}while
(1);
运行时,输出字符"#"个数是______。
(分数:
2.00)
A.3
B.4 √
C.5
D.6
解析:
27.有如下程序:
#include<iostream>
usingnamespacestd;
intmain(){
intsum;
for(inti=0;i<6;i+=3){
sum=i;
for(intj=i;j<6;j++)sum+=j;
}
cout<<sum<<endl;
return0;
}
运行时的输出结果是______。
(分数:
2.00)
A.3
B.10
C.12
D.15 √
解析:
28.如果调用C++流进行输入输出,下面的叙述中正确的是______。
(分数:
2.00)
A.只能借助于流对象进行输入输出 √
B.只能进行格式化输入输出
C.只能借助于cin和cout进行输入输出
D.只能使用运算符>>和<<进行输入输出
解析:
29.下列语句中,与语句“n=(a>b?
(b>c?
1:
0):
0);”的功能等价的是______。
(分数:
2.00)
A.if(a<=b)n=0;
B.if((a>b)||(b>c))n=1;elsen=0;
C.if(a>b)if(b>c)n=1;elsen=0;elsen=0; √
D.if(a>b)n=1;elseif(b<=c)n=1;elseif(b>c)n=1;elsen=0;
解析:
30.已知数组arr的定义如下:
intarr[5]={1,2,3,4,5};
下列语句中输出结果不是2的是______。
(分数:
2.00)
A.cout<<*arr+1<<endl;
B.cout<<*(arr+1)<<endl;
C.cout<<arr[1]<<endl;
D.cout<<*arr<<endl; √
解析:
31.有以下说明:
inta[10]={1,2,3,4,,5,6,7,8,9,10},*p=a;
则数值9的表达式是______。
(分数:
2.00)
A.*p+9
B.*(p+8) √
C.*p+=9
D.p+7
解析:
32.已知有数组定义:
chara[3][4];下列表达式中错误的是______。
(分数:
2.00)
A.a[2]-"WIN"; √
B.strcpy(a[2],"WIN");
C.a[2][3]="W";
D.a[0][1]=0;
解析:
33.下列语句中,正确的是______。
(分数:
2.00)
A.char*myString="Hello-World!
"; √
B.charmyString="Hello-World!
";
C.charmyString[11]="Hello-World!
";
D.charmyString[12]="Hello-World!
";
解析:
34.语句int*p=&k定义指针p,与这个语句等效的语句序列是______。
(分数:
2.00)
A.int*p;p=&k √
B.int*p;p=k
C.int*p;*p=&k
D.int*p;*p=k
解析:
35.下列语句中错误的是______。
(分数:
2.00)
A.constint*p=0;
B.constinty=0;
C.intx=0;
D.constintp=newint(100); √
解析:
36.语句序列“char*p="teacher";p+=2;cout<<p+2<<"/t"<<*(p+2);”的输出结果是______。
(分数:
2.00)
A.achera
B.cherc
C.herh √
D.hher
解析:
37.已知数组,d中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中0<=x1<x2<n,x2+k<n。
将下列语句补充为______。
for(inti=x1+k-1;i>=x1;i--)
a[______]=a[i];
(分数:
2.00)
A..x2
B.x2+k
C.x2+k+1
D.x2+k-1 √
解析:
38.执行以下程序时,输入一行字符串为“Thankyouverymuch!
”,程序的输出结果为______。
#include<iostream>
usingnamespacestd;
intmain(){
chara[100];
cin>>a;
cout<<a<<"/n";
return0;}
(分数:
2.00)
A..T
B.Thank √
C.Thankyouverymuch!
D.Thankyou
解析:
39.下列定义语句中,错误的是______。
(分数:
2.00)
A.intpx*; √
B.char*acp[10];
C.char(*pac)[10];
D.int(*p)();
解析:
40.设有说明语句:
chara[]="ab/123cd/0",*p1=a;
intb[10]={1,2,3,4},*p2=b;
以下选项中,正确的是______。
(分数:
2.00)
A.sizeof(a)的值等于strlen(p1)的值
B.sizeof(b)的值是4,strlen(b)的值是4
C.sizeof(*p1)的值与sizeof(*p2)的值相等
D.strlen(a)的值与strlen(p1)的值是相等 √
解析:
41.设有变量说明“chars[]="Program",*p=s;”,则以下叙述正确的是______。
(分数:
2.00)
A.数组s的长度与strlen(p)+1的值相同
B.p[5]的值等于s[5]的值 √
C.sizeof(s)等于sizeof(p)
D.sizeof(s)等于sizeof(*p)
解析:
42.设有变量说明“intb[10],*p=b+3;”,则下列说法正确的是______。
(分数:
2.00)
A.p[5]和b[5]都表示数组b中下标为5的元素
B.p[i]只能表示b中b[3]至b[9]之间的元素,即i的取值范围是3至9
C.数组p中的第1个元素p[0]对应于b[3],最后一个元素p[6]对应于b[9] √
D.经p=b++;重新赋值后,p[i+1]与b[i]表示的是同一个元素
解析:
二、填空题(总题数:
7,分数:
16.00)
43.若有定义“inta[][3]={{1,2},{3,4},{4,5,6},{7,8,9}};”,则元素a[1][2]和a[2][2]初始化值是1。
(分数:
2.00)
解析:
0,6
44.以下程序的输出结果为1。
#include<iostream>
usingnamespacestd;
intmain()
{
inta[3][3]={{1,2},{3,4},{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)
s+=a[i][j];
cout<<s<<endl;
return0;
}
(分数:
2.00)
解析:
18
45.如下程序段的输出是1。
charc[20]="student";
c[3]=0;
cout<<c<<endl:
(分数:
2.00)
解析:
stu
46.下面程序的执行结果是______。
#include<iostream>
usingnamespacestd;
intmain(){
intn=0;
chara[]="pens",b[]="pencil";
for(inti=0;a[i]!
="/0"&&b[i]!
="/0";i++)
if(a[i]==b[i])continue;
else{n=a[i]-b[i];break;}
cout<<"n="<<n<<endl;
return0;
}
(分数:
2.50)
A.
B.
C.
D. √
解析:
47.下面程序的执行结果是______。
#include<iostream>
usingnamespacestd;
intmain(){
inti=0;
chara[]="asd",b[]="aqzx",c[10];
while(a[i]!
="/0"&&b[i]!
="/0")
if(a[i]>b[i])c[i]=a[i++]-32;
elsec[i]=b[i++]-32;
c[i]="/0";
cout<<c<<endl;
return0;
}
(分数:
2.50)
A. √
B.
C.
D.
解析:
48.有如下语句序列:
intarr[2][2]={{9,8},{7,6}};
int*p=arr[0]+1;cout<<*p<<endl;
运行时的输出结果是1。
(分数:
2.50)
解析:
8
49.函数Min的功能是返回具有n个元素的数组array中的最小值。
请将横线处的缺失部分补充完整,使得程序的输出结果为1.24。
#include<iostream>
usingnamespacestd;
template<typenameT>
TMin(T*array,intn){
Tmin=array[0];
for(inti=1;i<n;i++)
if(array[i]<min)min=array[i];
returnmin;
}
intmain(){
doublearr[8]={5.2,48.45,41.01,42,51.2,1.24,14.12,42};
cout<<1;
return0;
}
(分数:
2.50)
解析:
Min(arr,8)