
全国高校计算机等级考试(广西考区)二领C语言试题卷 2006年7月1日闭卷考试考试时间:120分钟 考生注意:①本试卷包括第一卷和第二香,考试时间共120分钟。②第一卷全部为选择 恩,每恩下都有四个备选答案,相只有一个是正确的或是最住的容案。第一老答案必须填涂 在标准化答题卡上,标记在试题卷上的答案一律无效。每题只能填除一个答案,多涂本题无 效,本次考试类别为[8],请考生务必将答题卡上的考试类别栏中的[8]方格涂凰,试趁种类 栏不香填涂。考生答第一叁的思目时务必使用闭铅笔按正确的填涂方法在答题卡上相应墨 号的容案的方格涂黑,如果改动答案。可用橡皮擦擦干净后再另涂新的答案。①第二卷均为 填空题。在阅读和理解原题程序的基础上,在第二卷答题卡相应题号的空栏处填入适当的字 符、语句。考生答第二卷的题目时,要用钢笔或圆珠笔书写,用铅笔答题无效。在试题卷上 直接答题者无效。①请考生在标准化答题卡和第二卷答题卡上准确填徐或填写准考证号码, ⑤请考生进题上述要求,睿则将会影响正确成领。 第一卷 本卷共70分,其中第1一26题每题2分,第27一32题每题3分。 第一部分:基础知识 1.每个C程序必须有一个. A.子函数B子过程Cin函数D.空函数 2.下列数据中,哪个是C语言的十六进制整数。 A.18.8.F”C.01230.024 3.C语言编译系统在给出逆辑运算结果时,以代表“假”, A.0B1CFD.丰0值 4.用数组名作为函数调用时的参实际上传递给函数的是。 A.数组全部元素的值:B数组第一个元素的值: C数组首地址(指向数组的指针力D.数组元素的个数。 5当imt类型长度为2字节时,则类型unsignedint的值域蔻围为, A0到255B0到65535C.-32768到32767D.-256到255 丘下列运算符中。优先级最高的是。 A.!B.C. 7.列断字符型变量c山的值是否为大写字母的最简单且正确的表达式为
全国高校计算机等级考试(广西考区)二级 C 语言试题卷 2006 年 7 月 1 日闭卷考试考试时间:120 分钟 考生注意:①本试卷包括第一卷和第二卷,考试时间共 120 分钟。②第一卷全部为选择 题,每题下都有四个备选答案,但只有一个是正确的或是最佳的答案。第一卷答案必须填涂 在标准化答题卡上,标记在试题卷上的答案一律无效。每题只能填涂一个答案,多涂本题无 效。本次考试类别为[8],请考生务必将答题卡上的考试类别栏中的[8]方格涂黑,试卷种类 栏不需填涂。考生答第一卷的题目时务必使用 2B 铅笔按正确的填涂方法在答题卡上相应题 号的答案的方格涂黑,如果改动答案,可用橡皮擦擦干净后再另涂新的答案。③第二卷均为 填空题,在阅读和理解原题程序的基础上,在第二卷答题卡相应题号的空栏处填入适当的字 符、语句。考生答第二卷的题目时,要用钢笔或圆珠笔书写,用铅笔答题无效。在试题卷上 直接答题者无效。④请考生在标准化答题卡和第二卷答题卡上准确填涂或填写准考证号码。 ⑤请考生遵照上述要求,否则将会影响正确成绩。 第一卷 本卷共 70 分,其中第 1~26 题每题 2 分,第 27~32 题每题 3 分。 第一部分:基础知识 1.每个 C 程序必须有一个。 A.子函数 B.子过程 C.main 函数 D.空函数 2.下列数据中,哪个是 C 语言的十六进制整数。 A.18.5B.‘F’C.0123D.0x24 3.C 语言编译系统在给出逻辑运算结果时,以代表“假”。 A.0B.1C.FD.非 0 值 4.用数组名作为函数调用时的参实际上传递给函数的是。 A.数组全部元素的值;B.数组第一个元素的值; C.数组首地址(指向数组的指针);D.数组元素的个数。 5.当 int 类型长度为 2 字节时,则类型 unsignedint 的值域范围为。 A.0 到 255B.0 到 65535C.-32768 到 32767D.-256 到 255 6.下列运算符中,优先级最高的是。 A.!B.&&C. 7.判断字符型变量 ch 的值是否为大写字母的最简单且正确的表达式为

A.'a”=eh(e'z'B.(ch='a')ww(che'g')】 C(ch>=”A')接(ch<='Z'n'A'(=ch=Z &在函数中未定义存储类型的变量,其隐含的存锦类型为。 A静态莞型B自动类型C外部类戏)寄存图类型 9.设有语句chara=165:,期变量ae A包含2个字符B包含3个字符C说明不合法D,包含1个字符 10在一个源文件中定文的全同变量的作用域为:。 A.本文件的全部范围B。从定义该变量的位置开始至本文件结衷 C,本程序的全部范围D,本函数的全部范围 11.若x、y均为int型变量,且x-0,则关于循环语句: for (y=10:x!my:+tx.+ty) printf(°-—)力 正确的说法是。 人输出一一玉执行10次循环体 C循环体一次也不执行D循环体只执行一次 12.定义如下数组intf30]=(12,20,8,101: 则1定义了个元素。 A.30B.4C.12①.20 13.执行完下面的C程序段后,变量b的值为: intx-16,y-15: charz='A': inth: b=(xk(2)°a') 佚选择的答案为: A.TRUEB.FALSEC.1D.0 14以下正确的函数说明是。 A.intfun(inta,b)B.floatfun(inta:intb) C.intfun()D.intfun(chara[][]) 15有以下程序段 inta10j=1,23,4,56,7,8.9,10,和=a,b:
A.’a’=’a’)&&(ch=’A’)&&(ch'a')); 供选择的答案为: A.TRUEB.FALSEC.1D.0 14.以下正确的函数说明是。 A.intfun(inta,b)B.floatfun(inta;intb) C.intfun()D.intfun(chara[][]) 15.有以下程序段 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a,b;

b=p(5]: b的值是。 A1B.4C50,6 16.为了避免嵌套的条件语句if-else的二义性,C语言规定:clse与匹配, A它前面最近的ifB缩排位置相同的iF C它后面最近的1D.同一行上的f 17.若有定义:imtx[20],*p=x:则*(p5)表示。 A.数组元素x[5]的地址B.数组元素x[5]的值 C,数组元素x[6】的地址D,数组元素x【6们的值 18。以下正确的实型常量是: A2B.3.120.8C.e8D.5.6E-2 19。C语言程序的三种基木结构是。 A,顺序结构、选择结构、循环结构B,递归结构、循环结构、转移结构 C嵌套结构、递归结构、顺序结构D循环结构、转移结构、顺序结构 20,当定义一个结构体变量时,系统分配给它的内存是, A,结构中第一个成员所需的内存量B,结构中最后一个成员所需的内存量 C结构体中各成员所需内存量的总和山,结构体成员中占内存量最大者所需的容量 第二部分:简单程序 21,下列程序 main( [floata,b,t: a-16.3.b-9.6: if(a>b) [ta;ab:b-t;】 printf(“5.2,5.2f”,a,b): 1 执行后的输出结果是。 A.16.39.6B.16.30.9.60C.9.6.163D.9.60,1630 22.下列程序 main()
b=p[5]; b 的值是。 A.1B.4C.5D.6 16.为了避免嵌套的条件语句 if-else 的二义性,C 语言规定:else 与匹配。 A.它前面最近的 ifB.缩排位置相同的 if C.它后面最近的 ifD.同一行上的 if 17.若有定义:intx[20],*p=x;则*(p+5)表示。 A.数组元素 x[5]的地址 B.数组元素 x[5]的值 C.数组元素 x[6]的地址 D.数组元素 x[6]的值 18.以下正确的实型常量是。 A.2B.3.12e0.8C.e8 D.5.6E-2 19.C 语言程序的三种基本结构是。 A.顺序结构、选择结构、循环结构 B.递归结构、循环结构、转移结构 C.嵌套结构、递归结构、顺序结构 D.循环结构、转移结构、顺序结构 20.当定义一个结构体变量时,系统分配给它的内存是。 A.结构中第一个成员所需的内存量 B.结构中最后一个成员所需的内存量 C.结构体中各成员所需内存量的总和 D.结构体成员中占内存量最大者所需的容量 第二部分:简单程序 21.下列程序 main() {floata,b,t; a=16.3,b=9.6; if(a>b) {t=a;a=b;b=t;} printf(“%5.2f,%5.2f”,a,b); } 执行后的输出结果是。 A.16.3,9.6B.16.30,9.60C.9.6,16.3D.9.60,16.30 22.下列程序 main()

[intx-6,3,z-5: J率=x: 2t-y++: printf(“d",z): 1 执行后的输出结果是。 A23组.24C8D.9 3.当=1,b=3,c=5.中4时。执行下面一段程序后,x的值为。 if(a<b) if (e<d) =1: elseif(a(c】 if (b<d) 2 else 3 else 6 elsex-7: 优选择的答案是: A1m.2C30.8 24.以下程序 main( [inti,sum-0: far(1=1:1《10:1=1+20 if(i第30) sutei: printf("sd”,su: 1 执行后输出结果是
{intx=6,y=3,z=5; y*=x; z+=y++; printf(“%d”,z); } 执行后的输出结果是。 A.23B.24C.8D.9 23.当 a=1,b=3,c=5,d=4 时,执行下面一段程序后,x 的值为。 if(a<b) if(c<d) x=1; elseif(a<c) if(b<d) x=2; else x=3; else x=6; elsex=7; 供选择的答案是: A.1B.2C.3D.6 24.以下程序 main() {inti,sum=0; for(i=1;i<10;i=i+2) if(i%3==0) sum+=i; printf(“%d”,sum); } 执行后输出结果是

A.25B.30C,12D.3 25.以下程序: main( (intx.Y.Z =4,y=-6,z=8: ++y: 2十x: printf(“sdn”,x: 1 执行后输出结果是: A.12B.6C.80.7 2%以下程序 structfat [intn: charch: 1: fune (structfatat2) {at2.n-at2.n+8: nt2.ch=mt2.ch-1: printf ("sd,%c\n",nt2.n,nt2.ch); 1 main( (structfatat1=(8,'9'}: func (mt1):} 执行后的输出结果是 A.16,83.169C.880.89 2红.有以下程序 main() {charn[3o]=*hello”,nf2o]=l-hownreyou!”Ji intt:
A.25B.30C.12D.3 25.以下程序: main() {intx,y,z; x=4,y=-6,z=8; x+=++y; z+=x; printf(“%d\n”,z); } 执行后输出结果是。 A.12B.6C.8D.7 26 以下程序: structfat {intn; charch; }; func(structfatmt2) {mt2.n=mt2.n+8; mt2.ch=mt2.ch-1; printf("%d,%c\n",mt2.n,mt2.ch); } main() {structfatmt1={8,'9'}; func(mt1);} 执行后的输出结果是。 A.16,8B.16,9C.8,8D.8,9 27.有以下程序 main() {charm[30]={“hello”},n[20]={“howareyou!”}; intt;

t=strlem(streat (nn)): printf(“sdn",t): 执行后的输出结果是。 A.6B.15C.17D.hellohowareyou! 8。以下程序的验出结果是。 main( [intx-20: if(x>=200 : printf("sdin".x): else 一 printf('sd\n°,i 侯选择的答案是: A18B.19C.200.21 29.下列程序: union funsignedintn: unsignedchare: Jul; main( (ul.c'E': printf("se\n",ul.n) 1 执行后输出结果是 A9B.C随机值D.产生语法册
t=strlen(strcat(m,n)); printf(“%d\n”,t); } 执行后的输出结果是。 A.6B.15C.17D.hellohowareyou! 28.以下程序的输出结果是。 main() {intx=20; if(x>=20) {x++; printf("%d\n",x); } else {x--; printf("%d\n",x); } } 供选择的答案是: A.18B.19C.20D.21 29.下列程序: union {unsignedintn; unsignedcharc; }ul; main() {ul.c='E'; printf("%c\n",ul.n); } 执行后输出结果是。 A.69B.EC.随机值 D.产生语法错

30.以下程序: fun(intx,int*y) [intx: -4,(y)+: 2=(): returnz: 1 main( [intr30,n-8.k-3: k=fun (m.&n) printf(d,d”,n,k): 执行后输出结果是。 130,9.88.3083C,269,8D.26,8.3 3】.在执行以下程序时,如果从健盘上输入ABCdef,则输出结果为。 =include"stdio.h” main( (charch: while((ch-getchar ())!='\n') if (ch>='A'&eh='2") chmch+32: elseif(ch>='a'&ch<='2') ch=ch-32: printf("se",ch): 1 printf("n"): 优选择的答案是 A.ABCdefB.abeDEFC.abcD.DEF 32.以下程序
30.以下程序: fun(intx,int*y) {intz; x-=4,(*y)++; z=x%(*y); returnz; } main() {intm=30,n=8,k=3; k=fun(m,&n); printf("%d,%d,%d",m,n,k); } 执行后输出结果是。 A.30,9,8B.30,8,3C.26,9,8D.26,8,3 31.在执行以下程序时,如果从键盘上输入 ABCdef,则输出结果为。 #include"stdio.h" main() {charch; while((ch=getchar())!='\n') {if(ch>='A'&&ch='a'&&ch<='z') ch=ch-32; printf("%c",ch); } printf("\n"); } 供选择的答案是: A.ABCdefB.abcDEFC.abcD.DEF 32.以下程序:

main() {charstr1[20]=”test”,str2[20]="mss”: char和l,p2: p1=strl2=stT2出 陶ts(strepy (pl,p2): 1 执行后输出结果是。 A.passB.testC.passtesD.plp2 第二卷 说明:(》第二卷均为填空题,在阿读和理解原题程序的林础上,在第二登答题卡上编 号对应的栏目中填入适当的字符、语句,以构成一个正确的C语言程序。 2)每空栏3分,10个空栏共30分。 试圈一以下程序,主函数调用了函数,实现在N行M列的二雀数组中,找出数据 的最大值。 #defineN3 definel voidMyMax (intx[N][M]) [inti,j.max: ax=x[0j[0]: far(i-0:iN:i+】 for(j=0:jM:j++) if(1(x[i][i]) 21 printf("Themxvalueisid\n',max): mainO intx[00={1,5,7.4},(26,-4.31,8,2.-3,11: 3:
main() {charstr1[20]=”test”,str2[20]=”pass”; char*p1,*p2; p1=str1;p2=str2; puts(strcpy(p1,p2)); } 执行后输出结果是。 A.passB.testC.passtesD.p1p2 第二卷 说明:(1)第二卷均为填空题,在阅读和理解原题程序的基础上,在第二卷答题卡上编 号对应的栏目中填入适当的字符、语句,以构成一个正确的 C 语言程序。 (2)每空栏 3 分,10 个空栏共 30 分。 试题一以下程序,主函数调用了 MyMax 函数,实现在 N 行 M 列的二维数组中,找出数据 的最大值。 #defineN3 #defineM4 voidMyMax(intx[N][M]) {inti,j,max; max=x[0][0]; for(i=0;i<N;i++) for(j=0;j<M;j++) if(1<x[i][j]) 2; printf("Themaxvalueis%d\n",max); } main() {intx[N][M]={{1,5,7,4},{2,6,-4,3},{8,2,-3,1}}; 3; }

试题二以下程序是将两个字符串str1和str2连接起米。 voidconj(charstrl[].charstr2[]) {inti=0,0: while(strl[i]!=4) itt; h11e(str2】=5 strl[i++]=str2[j++]: 6-’0°: 1 main( [charstrl[0]-[“hello!”]: charstr2[20]=["howareyou" conj(7): 陶ts(strl): 1 试盟三下列程序将两个数从大到小输出。 年include(stdio.h> main( floata,b,tempr scanf(8.&a,&b) ir(9) teap=a: 10: baterp: printf(“s,f”,a,b):
试题二以下程序是将两个字符串 str1 和 str2 连接起来。 voidconj(charstr1[],charstr2[]) {inti=0,j=0; while(str1[i]!=4) i++; while(str2[j]!=5) str1[i++]=str2[j++]; 6=’\0’; } main() {charstr1[40]={“hello!”}; charstr2[20]={“howareyou”}; conj(7); puts(str1); } 试题三下列程序将两个数从大到小输出。 #include main() {floata,b,temp; scanf(8,&a,&b); if(9) { temp=a; 10; b=temp; } printf(“%f,%f”,a,b); }