计算机等级考试二级C语言重点测试题:函数(1)
时间:2007-06-20 来源:大学生计算机等级考试 打印本文
一、选择题
(1)有以下程序
# include
void f(char *s, char *t)
{ char k;
k=*s; *s=*t; *t=k;
s++; t--;
if (*s) f(s, t);
}
main()
{ char str[10]="abcdefg", *p ;
p=str+strlen(str)/2+1;
f(p, p-2);
printf("%s\n",str);
}
程序运行后的输出结果是
A)abcdefg
B)gfedcba
C)gbcdefa
D)abedcfg
(2)有以下程序
float f1(float n)
{ return n*n; }
float f2(float n)
{ return 2*n; }
main()
{ float (*p1)(float),(*p2)(float),(*t)(float), y1, y2;
p1=f1; p2=f2;
y1=p2( p1(2.0) );
t = p1; p1=p2; p2 = t;
y2=p2( p1(2.0) );
printf("%3.0f, %3.0f\n",y1,y2);
}
程序运行后的输出结果是
A)8, 16
B)8, 8
C)16, 16
D)4, 8
(3)程序中若有如下的说明和定义语句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
……
}
以下选项中对函数fun的正确调用语句是
A)(*f1)(a);
B)*f1(*s);
C)fun(&a);
D)ch=*f1(s)
(4) 在函数调用过程中,如果函数funA调用了函数 funB,函数funB又调用了函数funA,则
A) 称为函数的直接递归调用
B) 称为函数的间接递归调用
C) 称为函数的循环调用
D) C语言中不允许这样的递归调用
(5) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i
i++; j--;
fun(a,i,j);
}
}
main()
{ int x[]={2,6,1,8},i;
fun(x,0,3);
for(i=0;i<4;i++) printf("-",x[i]);
printf("\n");
}
程序运行后的输出结果是
A) 1 2 6 8
B) 8 6 2 1
C) 8 1 6 2
D) 8 6 1 2

上一篇:技巧应用篇—C++在网页设计中的应用
下一篇:计算机等级考试二级C语言考试辅导教程汇总
相关阅读:
·计算机等级考试二级Access模拟试题1 (2007-06-20)·严蔚敏《数据结构(C语言版)习题集》答案 (2007-06-16)
·计算机组成原理经典考研试题 (2007-06-16)
·吉林大学历年硕士研究生入学考试计算机综合 (2007-06-16)
·吉林大学历年硕士研究生入学考试C语言程序设计 (2007-06-16)
·吉林大学2002年考研c语言程序设计答案真题 (2007-06-16)
·吉大C语言程序设计3.4G (2007-06-16)
·2003年硕士研究生入学考试计算机综合数据结构 (2007-06-16)


