计算机等级考试复习题7Word下载.docx
《计算机等级考试复习题7Word下载.docx》由会员分享,可在线阅读,更多相关《计算机等级考试复习题7Word下载.docx(12页珍藏版)》请在冰豆网上搜索。
++)
a+=f(i);
printf("
%f\n"
a);
程序的输出结果是()。
5.500000(正确答案)
3.000000
4.000000
8.25
3.有以下程序
#include<
intfun(intx)
{
intp;
if(x==0||x==1)
return(3);
.
p=x-fun(x-2):
returnp;
main()
%d\n"
fun(7));
执行后的输出结果是()。
[单选题]*
7
3
2(正确答案)
4.有以下程序
voidf(intx){
if(x>
=10)
{
%d-"
x%10);
f(x/10);
}
else
%d"
x);
main(){
intz=123456;
f(z);
程序运行后的输出结果是()。
1-2-3-4-5-6
6-5-4-3-2-1(正确答案)
1-2-3-4-5-6-
6-5-4-3-2-1-
5.有以下程序
intfun(intn)
{
inta;
if(n==1)return1;
a=n+fun(n-1);
return(a);
fun(5));
14
9
15(正确答案)
10
6.有如下程序
voidconvert(charch)
if(ch<
'
D'
)convert(ch+1);
%c"
ch);
convert('
A'
);
printf("
\n"
A
ABCD
ABCDDCBA
DCBA(正确答案)
7.有以下程序
intfindnax(int,int,int),m;
……
m=findmax(a,b,c);
intfindmax(intx,inty,intz){……}
则以下叙述正确的是()。
在main函数中定义了findmax函数
在main函数内、外重复定义了findmax函数
在main函数中两次调用了findmax函数
在main函数中声明了findmax函数(正确答案)
8.以下叙述中正确的是()。
如果函数带有参数,就不能调用自己
函数体中的语句不能出现对自己的调用
函数名代表该函数的入口地址(正确答案)
所有函数均不能接受函数名作为实参传入
9.下列叙述中正确的是()。
每个C程序文件中都必须要有一个main函数
在C程序中main函数的位置是固定的
C程序中所有函数之间都可以相互调用
在C程序的函数中不能定义另一个函数(正确答案)
10.以下叙述中正确的是()。
任何情况下都不能用函数名作为实参
函数的递归调用不需要额外开销,所以效率很高
函数既可以直接调用自己,也可以间接调用自己(正确答案)
简单递归不需要明确的结束递归的条件
11.有以下程序
stdio.h>
.
intm1(intx,inty)
returnx<
=y?
x:
y;
intm2(intx,inty)
y:
x;
intfun(inta,intb)
returna+b;
intx=2,y=3,z=1;
fun(ml(x,y),m2(y,z)));
程序的运行结果是()。
4
5(正确答案)
6
12.有如下程序:
intt;
t=a;
a=b;
b=t;
intc[10]={1,2,3,4,5,6,7,8,9,0},i;
10;
i+=2)
fun(c[i],c[i+1]);
%d,"
c[i]);
1,2,3,4,5,6,7,8,9,0(正确答案)
0,9,8,7,6,5,4,3,2,1
1234567890
0987654321
13.以下叙述中错误的是()。
函数的return语句中可以没有表达式
用户定义的函数中若没有return语句,则应当定义函数为void类型
用户定义的函数中可以没有return语句
用户定义的函数中可以有多个return语句,以便可以调用一次返回多个函数值(正确答案)
14.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确()。
函数的形参和实参分别占用不同的存储单元(正确答案)
同名的实参和形参占同一个存储单元
形参只是形式上的存在,不占用具体存储单元
函数的实参和其对应的形参共占同一存储单元
15.
以下关于函数的叙述中正确的是()。
函数必须要有返回值
函数形参的类型与返回值的类型无关(正确答案)
函数调用必须传递实参
函数必须要有形参
16.设有函数定义:
voidsub(intk,charch){……}
则以下对函数sub的调用语句中,正确的是()。
sub(4,"
a"
n=sub(3,'
a'
sub(2,'
97'
sub(1,97);
(正确答案)
17.关于C语言函数说明的位置,以下叙述正确的是()。
在函数说明之后对该函数进行调用,编译时不会出现错误信息(正确答案)
函数说明只能出现在源程序的开头位置,否则编译时会出现错误信息
函数说明只是为了美观和编译时检查参数类型是否一致,可以写也可以不写
函数说明可以出现在源程序的任意位置,在程序的所有位置对该函数的调用,编译时都不会出现错误信息
18.有以下程序
intnew_div(doublea,doubleb)
{returna/b+0.5;
main()
{printf("
new_div(7.8,3.1));
1
2
3(正确答案)
19.若有以下程序:
int*f(int*s,int*t)
intk;
if(*s<
*t){k=*s;
*s=*t;
*t=k;
inti=3,j=5,*p=&
i,*q=&
j,*r;
r=f(p,q);
%d,%d,%d,%d,%d\n"
i,j,*p,*q,*r);
则程序的输出结果是()。
3,5,5,3,5
3,5,3,5,5
5,3,3,5,5
5,3,5,3,5(正确答案)
20.有以下程序
intfuna(inta,intb){returna+b;
intfunb(inta,intb){returna-b;
intsss(int(*t)(),intx,inty){return((*t)(x,y));
main(){
intx;
x=sss(funa,9,3);
x+=sss(funb,8,3);
x);
17(正确答案)
24
23
22
21.若有以下程序
intf(intm){
staticintn=0;
inta=2;
n++;
a++;
returnn+m+a;
for(k=0;
k<
4;
k++)
print("
f(k));
程序运行的输出结果是()。
3,5,7,9,
4,7,10,13
4,6,8,10(正确答案)
4,5,6,7,
22.有以下程序
staticintt=1;
inti=1;
for(;
i++)t*=i;
returnt;
intt=1,i;
for(i=2;
t+=fun(i);
t);
11
8
23.有以下程序
intb=2;
intfun(int*k)
b=*k+b;
return(b);
inta[10]={1,2,3,4,5,6,7,8},i;
i++){
b=fun(&
a[i])+b;
b);
);
1016
810
1028(正确答案)
1012