理论考试09Word文件下载.docx
《理论考试09Word文件下载.docx》由会员分享,可在线阅读,更多相关《理论考试09Word文件下载.docx(26页珍藏版)》请在冰豆网上搜索。
![理论考试09Word文件下载.docx](https://file1.bdocx.com/fileroot1/2022-11/27/477a5f15-b5c7-434e-b1f3-e9e78457e986/477a5f15-b5c7-434e-b1f3-e9e78457e9861.gif)
voidmain()
{intw=10;
cout<
<
fun(5)*w<
endl;
}
intfun(intk)
{if(k==0)returnw;
return(fun(k-1)*k);
A.360
B.3600
C.1080
D.1200
8.设有语句“voidf(inta[10],int&
x);
inty[10],*py=y,n;
”,则对函数f的正确调用语句是_____。
A.f(py[10],n);
B.f(py,n);
C.f(*py,&
n);
D.f(py,&
9.设有宏定义和语句如下:
#defineM(a,b)a*b;
//E
intx=M(3+,5+6),y;
//F
y=M(3,4);
//G则
A.编译时,E行有语法错
B.编译时,F行有语法错
C.编译时,G行有语法错
D.编译时,F行和G行有语法错
10.当一个函数无返回值时,函数的类型应定义为________。
A.void
B.任意
C.int
D.无
11.以下叙述中不正确的是________。
A.在函数中,通过return语句传回函数值
B.在函数中,可以有多条return语句
C.主函数名main后的一对圆括号中也可以带有形参
D.调用函数必须在一条独立的语句中完成
12.以下函数调用语句中实参的个数是________。
excc((v1,v2),(v3,v4,v5),v6);
A.3
B.4
C.5
D.6
13.在C++中,关于下列设置参数默认值的描述中,正确的是________。
A.不允许设置参数的默认值
B.设置参数默认值只能在定义函数时设置
C.设置参数默认值时,应该是先设置右边的再设置左边的
D.设置参数默认值时,应该全部参数都设置
14.下列给字符数组进行初始化中,________是正确的。
A.chars1[]="
abed"
;
B.chars2[3]="
xyz"
C.chars3[][]={'
a'
,'
x'
y'
};
D.chars4[2][3]={"
"
mnp"
);
15.在intb[][3]={{1},{3,2},{4,5,6},{0}};
中b[2][2]值是________
A.0
B.5
C.6
D.2
16.字符串"
One\'
Two\n"
占用的存储单元为________个。
A.8
B.9
C.10
D.11
17.设有说明语句:
chars[]="
ef\0\123\\\n89"
;
sizeof(s)的值是____________。
A.2
C.11
D.15
18.设有说明语句“intA[4][3]={{1,2},{3,4,5},{6,7,8},{9,10}};
”,则A[0][2]和A[2][2]的初始化值分别为________。
A.0、7
B.3、8
C.3、7
D.0、8
19.对于以下递归函数f,调用f(4),其返回值为____________。
intf(intn)
{
if(n)returnf(n-1)+n;
elsereturnn;
}
A.10
B.4
C.0
D.以上均不是
20.以下程序的输出结果是____________。
fun(inta,intb,intc)
{c=a*b;
}
voidmain()
intc;
fun(2,3,c);
c;
D.无法确定
21.在C++语言程序中,有关函数的定义正确的是____________。
A.函数的定义可以嵌套,但函数的调用不可以嵌套
B.函数的定义不可以嵌套,但函数的调用可以嵌套
C.函数的定义和函数的调用均不可以嵌套
D.函数的定义和函数的调用均可以嵌套
22.下面的程序输出的结果是__________。
iomanip.h>
voidLE(int&
a,intb)
intx=a;
a=b;
b=x;
cout<
a<
"
"
b<
intx=10,y=25;
LE(x,y);
cout<
x<
y<
A.2510
2510
B.2510
2525
C.2510
1025
D.1025
23.已知函数f的定义是:
intf(intn){n*=2;
returnn+1;
}则执行
intm=5,n=3;
m=f(n);
后,变量m的值和n的值分别是_________。
A.53
B.76
C.73
D.56
24.已知一函数的形参说明为intarr[5][6],在下列说明中,与此等效的形参说明为__________。
A.intarr[][]
B.int[5][]
C.int*a[6]
D.int(*a)[6]
25.已知intf(int);
和intg(int);
分别是函数f和g的原型。
下列语句中,将函数f作为语句调用的有__________。
A.f(3)+g(3);
B.p/=f(3);
C.g(f(3));
D.f(g(3));
26.在每个C++程序中都必须包含有这样一个函数,该函数的函数名为__________。
A.main
B.MAIN
C.name
D.function
27.下面程序段的运行结果是___________。
intI,j,a=0;
for(I=0;
I<
2;
I++)
for(j=0;
j<
4;
j++)
if(j%2)break;
a++;
A.4
D.7
28.下面程序段的运行结果是___________。
{intI;
for(I=1;
=5;
{if(I%2)cout<
“*”;
elsecontinue;
“#”;
“$\n”;
}
A.*#*#*#$
B.#*#*#*$
C.*#*#$
D.#*#*$
29.下面程序段的运行结果是___________。
main()
inti,j,x=0;
x++;
=3;
if(j%2)continue;
“x=”<
A.x=4
B.x=8
C.x=6
D.x=12
30.下面程序的运行结果是___________。
inta,b;
for(a=1,b=1;
=100;
a++)
if(b>
=20)break;
if(b%3==1)
{b+=3;
continue;
b-=5;
A.7
B.8
C.9
D.10
31.下面程序段___________。
x=3;
do
{y=x--;
if(!
y){cout<
*"
continue;
#"
while(1<
=x<
=2);
A.将输出##
B.将输出##*
C.是死循环
D.含有不合法的控制表达式
32.以下能正确计算1*2*3*…*10的程序段是___________。
A.do{i=1;
s=1;
s=s*i;
i++;
while(i<
=10);
B.do{i=1;
s=0;
i++;
C.i=1;
do{s=s*i;
D.i=1;
do{s=s*i;
33.inta=1,b=2,c=2;
while(a<
c){t=a;
b=t;
c--;
c;
运行结果为___________。
A.1,2,0
B.2,1,0
C.1,2,1
D.2,1,1
34.intx=0,y=0;
while(x<
15)y++,x+=++y;
x;
则运行结果为___________。
A.20,7
B.6,12
C.20,8
D.8,20
35.intx=0,s=0;
while(!
x!
=0)s+=++x;
s;
则___________。
A.运行程序段后输出0
B.运行程序段后输出1
C.程序段中的控制表达式是非法的
D.程序段执行无限次
36.在C++语言中,080是____________。
A.八进制数
B.十进制数
C.十六进制数
D.非法数
37.循环语句for(<
表达式1>
表达式2>
表达式3>
)<
语句>
中,<
的执行情况是______.
A.至少执行一次
B.至少执行两次
C.可能执行,也可能不执行
D.不执行
38.下面程序的运行结果是_______
inti=0;
while(++i)
if(i==10)break;
if(i%3!
=1)continue;
i;
A.147
B.111
C.333
D.246
39.下述关于break语句的描述中,_______是不正确的
A.break语句可用于循环体内,它将退出该重循环
B.break语句可用于开关语句中,它将退出开关语句
C.break语句可用于if体内,它将退出if语句
D.break语句在一个循环体内可以出现多次
40.下列for循环的循环体执行次数为__________.
For(inti=0,j=10;
i=j=10;
i++,j--)
B.1
D.无限
41.下列for循环的次数为_______.
for(inti=0,x=0;
!
x&
i<
i++)
A.5
B.6
C.1
42.在循环语句的循环体中使用break语句的作用是________。
A.结束本次循环
B.结束该层的循环
C.结束开关语句
D.结束程序执行
43.为了避免嵌套的if-else语句的二义性,C++语言规定else总是与______组成配对关系。
A.缩排位置相同的if
B.在其之前未配对的if
C.在其之前未配对的最近的if
D.同一行上的if
44.C++语言中while和do-while循环的主要区别是________.
A.do-while的循环体至少无条件执行一次
B.while的循环控制条件比do-while的循环控制条件严格
C.do-while允许从外部转到循环体内
D.do-while的循环体不能是复合语句
45.下列语句段中不是死循环的是________.
A.inti=100;
while
(1)
{i=i%100+1;
if(i=20)break;
B.inti,sum=0;
for(i=1;
sum=sum+1;
C.intk=0;
do
{++k;
}while(k>
=0);
D.ints=3379;
while(s++%2)s++;
46.使用如setw()的操作对数据进行格式输出时,应包含________文件
A.iostream.h
B.fstream.h
C.iomanip.h
D.stdlib.h
47.判断字符串a和b是否相等,应当使用________
A.if(a==b)
B.if(a=b)
C.if(strcmp(a,b))
D.if(!
strcmp(a,b))
48.有下面的程序段,则________
chara[3],b[]="
China"
a;
A.运行后将输出China
B.运行后将输出Ch
C.运行后将输出Chi
D.编译出错
49.下面程序段的运行结果是________
chara[7]="
abcdef"
charb[4]="
ABC"
strcpy(a,b);
a[5];
A.d
B.\0
C.e
D.f
50.下面程序段的运行结果是________
charc[5]={‘a’,’b’,’\0’,’c’,’\0’};
A.’a”b’
B.ab
C.ab0c
D.abc
-2.填空题
1.设有语句“intx[4][3]={3,4,5,6,7,8,9,10,11,12};
”,则x[3][2]的初值是______。
答案:
(1)
(2分)
2.执行语句序列
chars[20]="
程序设计"
cout<
strlen(s);
输出结果是________。
3.执行语句序列
chars1[10]="
s2[20]="
XYZxyz"
intk=0,j=0;
while(s2[k])k++;
while(s1[j])s2[--k]=s1[++j];
后,数组s2中的字符串是________。
4.设有语句“chars[]="
China\0nanjin"
;
intm=strlen(s);
”,则m的值是________。
5.52.若有宏定义:
#defineN3
#defineY(n)((N+1)*n)
则执行语句“z=2*(N+Y(N+2));
”后,z的值为__________。
6.已知函数f的定义是:
{n*=2;
returnn+1;
则执行
intm=6,n=2;
后,m和n的值分别是________。
7.#define的作用是__________。
8.以下程序的执行结果是___________。
#include<
voidfunc(int);
{intk=4;
func(k);
voidfunc(inta)
{staticintm=0;
m+=a;
m<
9.以下程序的执行结果是________。
voidmain()
{inta=0,b=1,c=0,d=20,x;
if(a)d=d-10;
elseif(!
b)
if(!
c)x=15;
elsex=25;
d="
d<
10.若有inti=5,j=10;
则执行完语句
switch(i)
{case4:
j++;
case5:
i--;
case6:
case7:
j-=i;
default:
后j的值为___________。
11.指出下面程序的输出结果_______。
{inti=1,s=1,n=20;
while(s<
n)
s+=++i;
12.语句chari='
\45'
int(i);
的输出结果为________。
13.在C++中有两种类型的注释符,一种是C语言中使用的注释符(/*…*/),另一种是________。
14.以下程序运行后输出的结果是_____________。
intsbc(inta)
{statick;
a+=k++;
returna;
{cout<
sbc
(2)<
'
'
sbc(3)<
sbc(4)<
15.下面程序运行后输出的结果是________。
{chara[]="
abcdabcabfgacd"
inti1=0,i2=0,i=0;
while(a[i])
{if(a[i]=='
)i1++;
if(a[i]=='
b'
)i2++;
i1<
i2<