计算机等级考试二级C语言重点测试题:函数(1)

文章作者 100test 发表时间 2007:06:26 12:58:44
来源 100Test.Com百考试题网


一、选择题
(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 { t=a[i].a[i]=a[j].a[j]=t.
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

参考答案


src="/ncre2/js/wxgg.js">

相关文章


计算机等级考试二级C语言重点测试题:函数(1)
二级C辅导教程及考点分析:第十章文件
《C语言》上机实验题及参考答案
二级C辅导教程及考点分析:第九章预处理
二级C辅导教程及考点分析:第八章枚举,位运算
澳大利亚华人论坛
考好网
日本华人论坛
华人移民留学论坛
英国华人论坛