一、選擇題
(1)有以下程序
# include <string.h>
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);
}
程序運(yùn)行后的輸出結(jié)果是
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);
}
程序運(yùn)行后的輸出結(jié)果是
A)8, 16
B)8, 8
C)16, 16
D)4, 8
(3)程序中若有如下的說(shuō)明和定義語(yǔ)句
char fun(char *);
main()
{
char *s="one",a[5]={0},(*f1)()=fun,ch;
……
}
以下選項(xiàng)中對(duì)函數(shù)fun的正確調(diào)用語(yǔ)句是
A)(*f1)(a);
B)*f1(*s);
C)fun(&a);
D)ch=*f1(s)
(4) 在函數(shù)調(diào)用過(guò)程中,如果函數(shù)funA調(diào)用了函數(shù) funB,函數(shù)funB又調(diào)用了函數(shù)funA,則
A) 稱為函數(shù)的直接遞歸調(diào)用
B) 稱為函數(shù)的間接遞歸調(diào)用
C) 稱為函數(shù)的循環(huán)調(diào)用
D) C語(yǔ)言中不允許這樣的遞歸調(diào)用
(5) 有以下程序
void fun(int *a,int i,int j)
{ int t;
if(i<j)
{ 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("%2d",x[i]);
printf("\n");
}
程序運(yùn)行后的輸出結(jié)果是
A) 1 2 6 8
B) 8 6 2 1
C) 8 1 6 2
D) 8 6 1 2
【打包下載】2004-2006年計(jì)算機(jī)二級(jí)C真題 2007年4月計(jì)算機(jī)等級(jí)考試二級(jí)C語(yǔ)言試題
希望與更多計(jì)算機(jī)等級(jí)考試的網(wǎng)友交流,請(qǐng)進(jìn)入計(jì)算機(jī)等級(jí)考試論壇
更多信息請(qǐng)?jiān)L問(wèn):考試吧計(jì)算機(jī)等級(jí)考試欄目
北京 | 天津 | 上海 | 江蘇 | 山東 |
安徽 | 浙江 | 江西 | 福建 | 深圳 |
廣東 | 河北 | 湖南 | 廣西 | 河南 |
海南 | 湖北 | 四川 | 重慶 | 云南 |
貴州 | 西藏 | 新疆 | 陜西 | 山西 |
寧夏 | 甘肅 | 青海 | 遼寧 | 吉林 |
黑龍江 | 內(nèi)蒙古 |