C++试题库
一、 选择题
1、求“abc\\12\n”字符串的长度(  C
(A) 5            (B) 6            (C) 7          (D) 8
2、字符串常量 \tMyNane\103的长度是:(  B  )
(A) 6            (B) 8        (C) 12            (D) 14
3、设x=7,执行语句y=++x,y等于(  D 
(A) 6            (B) 7            (C) 9          (D) 8
4、下列字符列中,合法的长整型常量是:(  D   
    (A) 4.18e3        (B) 0.46793        (C) 4L        (D) 956738
5、C++中,char类型数据在内存的存储形式是:(  D 
    (A) 原码        (B) 反码        (C) 补码        (D) ASCII
6、以下运算符中,优先级最高的是:(  B 
    (A) *=            (B) –>            (C) &&            (D) >=
7、若有定义“int x”,则下面不能将x的值强制转换成双精度数的表达式( D )
(A)(double) x  (B)double(x) (C)(double)(x) (D) x(double)
8、设有变量定义 int i, j; 与表达式 i==0 && j==0 等价的表达式是:(  b  )
(A)i||j        (B) !i&&!j        (C) !i==!j        (D) i==j
9、下述叙述正确的是(    )。
(A)字符型变量不能赋予整数    (B) 任意整数都能表示字符
(C)字符型变量可存放多个字符        (D) 字符数据的值是整数值
10、设变量int a = 5; 下列哪个表达式计算后,使得变量b的值等于2 (  A  )
(A) b=a/2      (B) b=6-(a--)        (C) b=a%2      (D) b=a>3?3:2
11ifelse中为避免嵌套出现二义性,C++规定else子句总与(  B 
A)其之前最近的if语句
B)其之前最近且尚未配对的if语句
C)缩排位置相同的if语句
D)其之后最近的if语句
12、逻辑运算符两侧运算对象的数据(  D 
A)只能是逻辑型数据        B)只能是整型数据
C)只能是整型或字符型数据  D)可以是任何类型的数据
13设变量xyabcd的值为1,计算表达式(x=a!=b)&&(y=c!=d)后,变量xy的值分别是:(  B   
(A) 00        (B) 01        (C) 10        (D) 11
14、已知 int x=1,y=0; 执行下面程序段后,y的值为()。
if(x) { if (x>0) y=1; } else  y = -1 ;
(A)-1    (B)0            (C) 1    (D)不确定
15、已知 int x=1,y=0, w ;  执行下面程序段后,w的值为(  A  )。
if(x) if(y) w=x&&y; else w=y;
(A)0    (B)-1    (C)1(D)不确定
16语句while(w) 中的表达式w的等价表示是:(  c 
(A) w==0        (B) w==1    (C) w!=0    (D) w!=1
17、语句while(a>b) a--; 等价于()。
(A)if(a>b)a--;            (B)do{a--}while(a>b);
(C)for(a>b)a--;                    (D) for(;a>b; a--);
18、已知int i=0,x=0; 下面while语句执行时循环次数为( D)。
while(x ||i ) {x++;i++;}
(A) 3            (B) 2            (C) 1            (D) 0
19、执行语句 x=1; while(++x<7)cout<<*; 后输出结果是:(  a  )
(A) *****        (B) ******        (C) *******        (D) ********
20C++中循环语句whiledo while的主要区别是( A
Adowhile的循环体至少无条件执行一次
Bwhile的循环控制条件和dowhile的循环控制条件的控制条件的控制方式是相反的
Cdo while允许从外部转到循环体内,while不允许
Dwhile的循环体不能复合语句
21、若有以下程序段:
for(m=1;m<=100;m++)
{
    cin>>y;
    if(y<0)
        continue;
    cout<<m;
}
则下面正确的说法是( D  )
(A)当y<0时整个循环结束          (B)当y>=0时什么也不输出
(C)cout语句永远也不执行            (D)最多输出100个非负整数
22、语句“while(!x)”等价于(  A  )
(A)while(x==0)    (B)while(x!=1)(C)while(x!=0)(D)while(x==1)
23、一维数组a正确定义是(  D  )。
(A)char a(10)  (B) int a[]  (C)int k=5,a[k]  (D)char a[]={‘a’,’b,’c’’}
24、下面不能够判断字符串S是空串的是(  D 
A if (S[0]==0)            (B) if(strlen(S)==0)
C if(strcmp(S,””)==0)  Dif(S==’\0’)
25、char x[5]={‘a’,’b’,’\0’,’c’,’\0’} 输出的结果是(  B    )
(A)’a’’b’          (B)ab        (C) ab  c          (D)abc
26、设有下面和程序段  (A)
char a[3],b[]="China"
a=b;
cout<<a;
则()
A)编译出错  B)运行后将输出Ch  (C) 运行后将输出Chi  (D)运行后将输出Chian
27、判断字符串s1是否大于字符s2是空串的是( A
Aif(strcmp(s1,s2)>0)          Bif(strcmp(s1,s2))
Cif(strcmp(s2,s1)>0)          D令数组全部的值为0if(s1>s2)
28、下面关于C++字符数组的叙述中,错误的是()。
A)字符数组可以放字符串
B)字符数组的字符可以整体输入、输出
C)可以在赋值语句中通过赋值运算符“=”对字符数组整体赋值
D)可以用关系运算符对字符数组比较大小
29、以下对一维数组a的正确定义是( D
Achar a(10);  Bint a[];  Cint k=5,a[k];  Dchar a[]={‘a’,’b’,’c’};
30、若二维数组ym列,则位于y[i][j]之前的元素个数有(C)个
Aj*m+i        (B)i*m+j        (C)i*m+j-1         (D)i*m+j+1
31、非数组、指针或引用型变量做实参时,它和对应虚参之间的数据传递方式是(  B   
A)地址传递(B)单向值传递(C)双向值传递(D)由用户指定传递方式
32、若有数组名作为函数调用的实参,则传递给虚参的是(  A
A)数组的首地址              B)数组第1个元素的值
C)数组中全部元素的值        D)数组元素的个数
33、以下正确的函数原型声明语句是(  C 
Aint fun(int a,b);            Bfloat fun(int a;int b);
Cdouble fun(  );              Dint fun(char a[][]);
34、已有定义“int a=5,&ra=a;”则下叙述中,错误的说法是( C )。
Ara是变量a的引用              Bra的值为5

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。