二级C++169Word格式.docx
《二级C++169Word格式.docx》由会员分享,可在线阅读,更多相关《二级C++169Word格式.docx(13页珍藏版)》请在冰豆网上搜索。
![二级C++169Word格式.docx](https://file1.bdocx.com/fileroot1/2023-1/5/eaf684cb-9235-46a2-b2e9-9091b6839777/eaf684cb-9235-46a2-b2e9-9091b68397771.gif)
13.语句:
charvn[]="
Brown"
;
将vn定义成一个有5个元素的数组,因为"
中含有5个字符。
14.对指针只要赋给一个地址值就可以了。
15.使用没有赋地址值的指针,只有当程序比较长的时候才可能造成系统崩溃。
16.带有返回值的函数只能有一个返回值。
17.当在用户自定义函数中使用return语句时,函数立即终止执行。
18.函数的默认参数没有次序要求,可以随意定义。
二、选择题(总题数:
5,分数:
13.00)
19.设有如下程序:
#include<iostream.h>
usingnamespacestd;
intmain()
{
int**x,*y,z=10;
y=&
z;
x=&
y;
cout<<**x+1<<endl;
return0;
}
上述程序的输出结果是______。
A.y的地址
B.z的地址
C.11
D.运行错误
20.下面程序的输出结果是______。
intx[6]={1,3,5,7,9,11},*k,**s;
k=x;
s=&
k;
cout<<*(k++)<<"
"
<<**s<<endl
}
A.3,3
B.1,1
C.3,5
D.1,3
21.考虑下面的函数原型:
voidtestDefaulParam(inta,intb=7,charz="
*"
);
下面的函数调用中,不合法的是______。
A.testDefaulParam(5);
B.testDefaulParam(5,8);
C.testDefaulParam(6,"
#"
D.testDefaulParam(0,0,"
22.下面程序的输出结果是______。
#include<iostream>
voidfun(inti);
intn=2;
fun(n);
voidfun(inti)
staticintx=1;
inty=1;
if(i>0)
++x;
++y;
cout<<x<<"
"
<<y;
fun(i-1);
A.语法错,不能输出正确结果
B.2222
C.2233
D.2232
23.下面程序的输出结果是______。
intfun(char*s);
cout<<fun("
Hello"
intfun(char*s)
char*t=s;
while(*t!
="
/0"
)t++;
return(t-s);
3.00)
B.5
C.6
D.0
三、填空题(总题数:
14,分数:
42.00)
24.下面程序的输出结果是1。
intmain()
intm[5],n[5],*px,*py,k;
px=m;
py=n;
for(k=1;
k<4;
k++,px++,py++)
*px=k;
*py=2*k;
cout<<m[k-1]<<"
"
<<n[k-1]<<endl;
px=&
m[1];
py=&
n[1];
k<3;
k++)
*px+=k;
*py*=k;
cout<<*px++<<"
<<*py++<<endl;
6.00)
12
24
36
34
512
25.下面程序的输出结果是1。
intn[][3]={10,20,30,40,50,60};
int(*p)[3];
p=n;
cout<<p[0][0]<<"
<<*(p[0]+1)<<"
<<(*p)[2]<<endl;
10,20,30
26.下面程序的输出结果是1。
intj;
intm[3][2]={10,20,30,40,50,60};
for(j=0;
j<2;
j++)cout<<m[2-j][j]<<endl;
50
40
27.下面程序的输出结果是1。
intx[]={5,4,3,2,1};
inti,*p,m=0;
for(p=x,i=1;
p+i<=x+4;
i++)
cout<<*(p+i);
for(i=0;
i<4;
m+=p[j];
cout<<"
/t"
<<m;
4591214
28.下面程序的输出结果是1。
char*x[]={"
First"
Second"
"
Third"
};
voidf(char*z[])
cout<<*++z<<endl;
char**y;
y=x;
f(y);
Second
29.定义如下变量和数组:
inti;
inty[2][3]={2,4,6,8,10,12};
则下面语句的输出结果是:
1。
for(i=0;
i<2;
cout<<y[1-i][i+1]<<endl;
10
6
30.下面程序的运行结果是:
(假设输入的值为①24;
②4)
intFactor(int,int&
int&
intnumber,squared,cubed,error;
Enteranumber(0-20):
cin>>number;
error=Factor(number,squared,cubed);
if(error)cout<<"
Errorencountered!
/n"
else
cout<<"
Number:
<<number<<endl;
Squared:
<<squared<<endl;
Cubed:
<<cubed<<endl;
intFactor(intn,int&
rSquared,int&
rCubed)
if(n>20||n<0)return1;
rSquared=n*n;
rCubed=n*n*n;
4
16
64
31.下列函数用来在x数组中插入a值,x数组中的数据已由小到大顺序存放,指针n所指内存单元中存放数组中数据的个数,插入后数组中的数据仍有序。
请将横线处的程序补充完整。
voidfun(char*x,chara,int*n)
intk,p=0;
x[*n]=a;
while(a>x[p])p++;
for(k=*n;
k>p;
k--)x[k]=1;
x[p]=a;
++*n;
x[k-1]
32.若给f函数的形参m传递字符串"
□□□4321cde"
(□表示空格),则函数的返回值是1。
longf(charm[])
longa;
ints:
while(*m==¨
||*m=="
||*m=="
)m++;
s=(*m=="
-"
?
-1:
1);
if(*m=="
+"
||*m=="
-1"
for(a=0;
*m>="
0"
&
*m<="
9"
m++)
a=10*a+(*m-"
returns*a;
4321
33.函数m(x,n)计算并返回具有n个元素的数组x中的最小元素下标。
请将横线处程序补充完整。
intm(int*x,intn)
inti=0,j;
j<n;
j++)
if(x[j]<x[i])
1;
returni;
i=j
34.下面f函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一维数组y中返回。
二进制的最低位放在下标为0的位置上。
voidf(intx,inty[])
inta=0,b;
do
b=x%1;
y[a++]=b;
x/=2;
}while(x);
2
35.下面程序的输出结果是1。
constintN=5;
intfun(char*s,chara,intn);
chars[N+1];
intk,p;
k<=N;
k++)s[k]="
A"
+k+1;
cout<<fun(s,"
E"
N)<<endl;
intfun(char*s,chara,intn)
*s=a;
j=n;
while(a<s[j])j--;
returnj;
3
36.下面程序的输出结果是1。
voidf(intx)
if(x){
cout.put("
+x%10);
f(x/10);
f(11001);
10011
37.下面程序的输出结果1。
intx;
voidfunA(int&
int);
voidfunB(int,int&
intfirst;
intsecond=5;
x=6;
funA(first,second);
cout<<first<<"
<<second<<"
<<x<<endl;
funB(first,second);
voidfunA(int&
a,intb)
first=b+12;
a=2*b;
b=first+4;
voidfunB(intu,int&
v)
intsecond;
second=x;
v=second+4;
x=u+v;
1056
101020