2009年4月,全国计算机等级二级C考试你准备好了没?考计算机等级二级C语言考试的朋友可以多关注一下考试大为大家整理的2009年4月,全国计算机等级二级C语言考前练习!希望对大家的备考有好的帮助!考试大祝各位考个好成绩!大家每天都来练习哦!不断的加强巩固!每天都有更新哦!考试大提示:每十道题的难度不同!继续上一篇... 1.若有以下说明和定义: fun(int*c){……} main() {int (*a)()=fun,*b(),w[10],c; … } 在必要的赋值之后,对fun函数的正确调用语句是() A)a=a(w); B)(*a)(&c); C)b=*b(w); D)fun(b);
2.指针变量p的基类型为double,并已指向一连续存储区,若p中当前的地址值为65490,则执行p++后,p中的值为() A)65490 B)65492 C)65494 D)65498
3.某个C程序中有4个函数t、u、v和w,执行时t调用了u和v,u调用了t和w,v调用了w,w调用了t和v。以下叙述中正确的是() A)这4个函数都间接递归调用了自己 B)除函数t外,其他函数都间接递归调用了自己 C)除函数u外,其他函数都间接递归调用了自己 D)除函数v和w外,其他函数都间接递归调用了自己
4.设有如下的程序段: inta[]=(1,2,3,4,5), *t; t=a; 则下列说法正确的是() A)a和t的内容相同 B)a数组的长度和t所指的字符串长度相等 C)a和t完全相同 D)指针变量t指向数组a的第一个元素45.若定义了以下函数: 5.void f(……) {…… *p=(double*)malloc(10*sizeof(double)); …… } p是该函数的形参,要求通过p把动态分配存储单元的地址传回主调函数,则形参p的正确定义应当是() A)double*p B)float**p C)double**p D)float*p
6.有以下程序: #defineH15 #defineH2H1+1 #defineH3H2*H2/2 main() {ints=0,k=H3; while(k--)s++; printf("%d\n",s); } 程序的输出结果是() A)30 B)10 C)29 D)19
7.下列程序的输出结果是() main() { char ch[2][5]={"6934","8254"},*p[2]; int i,j,s=0; for(i=0;i<2;i++) p[i]=ch[i]; for(i=0;i<2;i++) for(j=0;p[i][j]>′\0′&&p[i][j]<=′9′;j+=2) s=10*s+p[i][j]-′0′; printf("%d\n",s); } A)6385 B)69825 C)63825 D)693825
8.以下程序 #include main() {char a1[80],a2[80],*s1=a1,*s2=a2; gets(s1);gets(s2); if(!strcmp(s1,s2))printf("*"); else printf("#"); printf("%d\n",strlen(strcat(s1,s2))); } 如果从键盘上输入: book<回车> book<空格><回车> 则输出结果是() A)*8 B)#9 C)#6 D)*9
9.已知字符′0′的ASCII码的十进制数为48,并且数组的第0个元素在低位,有以下程序 #include main() { union{int i[2];long k;char c[4];}r,*s=&r; s->i[0]=0x39;s->i[1]=0x38;printf("%c\n",s->c[0]); } 程序运行后的输出结果是() A)39 B)9 C)38 D)8
10.若有下面的说明和定义,则sizeof(struct aa)的值是() struct aa { int r1;double r2;float r3; union uu {char u1[5]; long u2[2]; } ua; } mya; A)30 B)29 C)24 D)22
答案:1.B 2.D 3.A 4.D 5.C 6.B 7.A 8.B 9.B 10.D
|