[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编3及答案与解析.doc
《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编3及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)机试历年真题试卷汇编3及答案与解析.doc(31页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)机试历年真题试卷汇编 3及答案与解析 一、选择题 1 若要定义一个具有 5个元素的整型数组,以下错误的定义语句是 ( )。【 10年 9月】 ( A) int a5=0; ( B) int b=0, 0, 0, 0, 0); ( C) int c2+3; ( D) int i=5, di; 2 以下关于 retum语句的叙述中正确的是 ( )。【 10年 3月】 ( A)一个自定义函数中必须有一条 return语句 ( B)一个自定义函数中可以根据不同情况设置多条 return语句 ( C)定义成 void类型的函数中可以有带返回值的 retum语句 ( D)没有 retu
2、rn语句的自定义函数在执行结束时不能返回到调用处 3 以下叙述正确的是 ( )。【 10年 3月】 ( A) C语言程序是由过程和函数组成的 ( B) C语言函数可以嵌套调用,例如 fun(fun(x) ( C) C语言函数不可以单独编译 ( D) C语言中除了 main函数,其他函数不可作为单独文件形式存在 4 有以下程序: #include stdio h #include string h structA int a; char b10; double c; ); void f(structA t); main() structA a=1001, “ZhangDa“, 1098 0);
3、f(a); printf(“ d, s, 6 1f n“, a a, a b, a c); void flstructA t) t a=1002; strcpy(t b, “ChangRong“); t c=1202 0; ) 程序运行后的输出结果是 ( )。【 10年 3月】 ( A) 1001, zhangDa, 1098 0 ( B) 1002, ChangRong, 1202 0 ( C) 1001, ChangRong, 1098 0 ( D) 1002, zhangDa, 1202 0 5 下列选项中,能正确定义数组的语句是 ( )。【 10年 3月】 ( A) int num0
4、2008; ( B) int num; ( C) int N=2008; int numN; ( D) int N2008 int numN; 6 有以下程序: #include stdio h main() int a5=1, 2, 3, 4, 5), b5=0, 2, 1, 3, 0, i, s=0; for(i=0; i 5; i+)s=s+abi; printf(“ d n“, s); 程序运行后的输出结果是 ( )。【 10年 3月】 ( A) 6 ( B) 10 ( C) 11 ( D) 15 7 下列语句组中,正确的是 ( )。【 10年 3月】 ( A) char*s; s=“
5、Olympic“; ( B) char s7; s=“Olympic“; ( C) char*s; s=“Olympic“); ( D) char s7; s=“Olympic“; 8 设有定义 double a10, *s=a;,以下能够代表数组元素 a3的是 ( )。【 10年 3月】 ( A) (*s)3 ( B) *(s+3) ( C) *s3 ( D) *s+3 9 有以下程序: #include stdio h void fun(int p) int d=2: p=d+; printf(“ d“, p); void main() int a=1; fun(a); printf(“
6、d n“, a); 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 32 ( B) 12 ( C) 21 ( D) 22 10 有以下程序: #include stdio h int f(int n); void main() int a=3, s; s=f(a); s=s+f(a); printf(“ d n“, s); int f(int n) static int a=1; n+=a+; return n: 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 7 ( B) 8 ( C) 9 ( D) 10 11 有以下程序: #include stdio h #i
7、nclude string h void main() char a10=“abcd“: printf(“ d, d n“, strlen(a), sizeof(a); 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 7, 4 ( B) 4, 10 ( C) 8, 8 ( D) 10, 10 12 有以下程序: #inelude stdio h main() char*a=“abcd“, “ef“, “gh“, “ijk“; int i; for(i=0; i 4; i+)printf(“ c“, *ai); 程序运行后的输出结果是 ( )。【 09年 3月】 ( A) aegi
8、 ( B) dfhk ( C) abed ( D) abcdefghijk 13 以下选项中正确的语句组是 ( )。【 09年 3月】 ( A) char s; s=“BOOK!“; ( B) char *s; s=“BOOK!“; ( C) char s10; s=“BOOK!“; ( D) char*s; s=“BOOK!“; 14 有以下程序: #include stdio h int f(int x, int y) return(y-x)*x); main() int a=3, b=4, c=5, d; d=f(f(a, b), f(a, c); printf(“ d n“, d);
9、程序运行后的输出结果是 ( )。【 09年 3月】 ( A) 10 ( B) 9 ( C) 8 ( D) 7 15 有以下程序: #include stdio h int fun(int x, int y) if(x=y)return(x); else retum(x+y) 2); main() int a=4, b=5, c=6; pfintf(“ d n“, fun(2*a, fun(b, c); 程序运行后的输出结果是 ( )。【 09年 3月】 ( A) 3 ( B) 6 ( C) 8 ( D) 12 16 以下叙述中错误的是 ( )。【 08年 9月】 ( A)用户定义的函数中可以没
10、有 return语句 ( B)用户定义的函数中可以有多个 return语句,以便可以调用一次返回多个函数值 ( C)用户定义的函数中若没有 return语句,则应当定义函数为 void类型 ( D)函数的 return语句中可以没有表达式 17 下面的函数调用语句中 func函数的实参个数是 ( )。 func(f2(v1, v2), (v3, v4, v5), (v6, max(v7, v8);【 08年 9月】 ( A) 3 ( B) 4 ( C) 5 ( D) 8 18 下列选项中,能够满足 “若字符串 s1等于字符串 s2,则执行 ST”要求的是 ( )。【 10年 9月】 ( A)
11、if(strcmp(s2, s1)=0)ST; ( B) if(s1=s2)ST; ( C) if(strcpy(s1, s2)=1)ST; ( D) if(s1-s2=0)ST; 19 以下不能将 s所指字符串正确复制到 t所指存储空间的是 ( )。【 10年 9月】 ( A) while(*t=*s)t+; s+; ) ( B) for(i=0; ti=si; i+); ( C) do*t+=*s+; while(*s); ( D) for(i=0, j=0; ti+=s=i+; ); 20 有以下程序 (strcat函数用以连接两个字符串 ): #inelude stdio h #inc
12、lude string h main() char a20=“ABCD OEFG 0“, b=“IJK“; strcat(a, b); printf(“ s n“, a); 程序运行后的输出结果是 ( )。【 10年 9月】 ( A) ABCDE OFG 0IJK ( B) ABCDIJK ( C) IJK ( D) EFGIJK 21 有以下程序,程序中库函数 islower(ch)用以判断 ch中的字母是否为小写字母。 #include stdio h #include ctype h void fun(char*p) int i=0; while(pi) if(pi=&islower(p
13、i-1)pi-1=pi-1-a+A; i+; main() char s1100=“ab cd EFG!“; fun(s1); printf(“ s n“, s1); 程序运行后的输出结果是 ( )。【 10年 9月】 ( A) ab cd EFG! ( B) Ab Cd EFg! ( C) aB cD EFG! ( D) ab cd EFg!, 22 有以下程序: #include stdio h void fun(int x) if(x 2 1)fun(x 2); printf(“ d“, x); main() fun(7); printf(“ n“); 程序运行后的输出结果是 ( )。【
14、 10年 9月】 ( A) 1 3 7 ( B) 7 3 1 ( C) 7 3 ( D) 3 7 23 有以下程序: #include stdio h int fun() static int x=1; x+=1; return x; main() int i, s=1; for(i=1; i =5; i+)s+=fun(); printf(“ d n“, s); 程序运行后的输出结果是 ( )。【 10年 9月】 ( A) 11 ( B) 21 ( C) 6 ( D) 120 24 有以下程序: #include stdio h #inelude stdlib h main() int*a,
15、 *b, *c; a=b=c=(int*)malloc(sizeof(int); *a=1; *b=2, *c=3; a=b: printf(“ d, d, d n“, *a, *b, *c); 程序运行后的输出结果是 ( )。【 10年 9月】 ( A) 3, 3, 3 ( B) 2,2, 3 ( C) 1, 2, 3 ( D) 1, 1, 3 25 有以下程序: #include stdio h #define SUB(a)(a)-(a) main() int a=2, b=3, C=5, d; d=SUB(a+b)*c; printf(“ d n“, d); 程序运行后的输出结果是 (
16、)。【 10年 3月】 ( A) 0 ( B) -12 ( C) -20 ( D) 10 26 有以下程序: #include stdio h void fun(char*c, int d) *c=*c+1; d=d+1; printf(“ c, c, “, *c, d); main() charb=a, a=A; fun(&b, a); printf(“ c, c n“, b, a); 程 序运行后的输出结果是 ( )。【 10年 3月】 ( A) b, B, b, A ( B) b, B, B, A ( C) a, B, B, a ( D) a, B, a, B 27 有以下程序: #in
17、elude stdio h void main() int m=1, n=2, *p=&m, *q=&n, *r; r=p; p=q; q=r; pfintf(“ d, d, d, d n“, m, n, *p, *q); 程序运行后的输出结果是 ( )。【 09年 9月】 ( A) 1, 2, 1, 2 ( B) 1, 2,2, 1 ( C) 2, 1, 2, 1 ( D) 2, 1, 1, 2 28 下列函数的功能是 ( )。【 09年 9月】 fun(char*a,char*b) while(*b=*a)!= 0)a+; b+; ) ( A)将 a所指字符串赋给 b所指空间 ( B)使指
18、针 b指向 a所指字符串 ( C)将 a所指字符串和 b所指字符串进行比较 ( D)检查 a和 b所指字符串中是否有 0 29 设有定义: char*c;,以下选项中能够使字符型指针 c正确指向一 个字符串的是 ( )。【 09年 9月】 ( A) char str=“string“; c=str; ( B) scanf(“ s“, c); ( C) c=getchar(); ( D) *c=*string“; 30 有以下程序: #include stdio h main() int s, t, A=10; double B=6; s=sizeof(A); t=sizeof(B); prin
19、tf(“ d, d n“, s, t); 在 VC6平台上编译运行,程序运行后的输出结果是 ( )。【 10年 9月】 ( A) 2, 4 ( B) 4, 4 ( C) 4, 8 ( D) 10, 6 31 若有以下语句: typedef struct S int g; char h; T; 以下叙述中正确的是 ( )。【 10年 9月】 ( A)可用 S定义结构体变量 ( B)可用 T定义结构体变量 ( C) S是 struct类型的变量 ( D) T是 struct S类型的变量 32 有以下程序: #include stdio h main() short c=124; c=c_; pr
20、inff(“ d n“, c); 若要使程序的运行结果为 248,应在下划线处填入的是 ( )。【 10年 9月】 ( A) 2 ( B) 248 ( C) &0248 ( D) 1 33 有以下定义和语句: struct workers int num; char name20; char c; struct int day; int month; int year; ) s; ; struct workers W, *pw; pw=&w; 能给 w中 year成员赋 1980的语句是 ( )。【 10年 3月】 ( A) *pw year=1980; ( B) w year=1980; (
21、 C) pw- year=1980; ( D) w s year=1980; 34 设有定义: Struct complex int real, unrea1; data1=1, 8), data2; 则以下赋值语句中错误 的是 ( )。【 10年 3月】 ( A) data2=datal; ( B) data2=(2, 6); ( C) data2 real=datal real; ( D) data2 real=datal unreal; 35 有以下程序: #include stdio h main() FILE*fp; char str10; fp=fopen(“myfile dat“
22、, “w“); fputs(“abc“,fp); fclose(fp); fp=fopen(“myfile dat“, “a+“); fprintf(fp, “ d“, 28); rewind(fp); fscanf(fp, “ s“, str); puts(str); fclose(fp); 程序运行后的输出结果是 ( )。【 10年 3月】 ( A) abe ( B) 28e ( C) abe28 ( D)因类型不一致而出错 36 下面结构体的定义语句中,错误的是 ( )。【 09年 9月】 ( A) struct ordint x; int y; int z; ); struct ord
23、 a; ( B) struct ordint x; int y; int z; )struct ord a; ( C) struct ordint x; int y; int z; )a; ( D) structint x; int y; int z; )a; 37 有以下程序: #include stdio h #include string h structA int a; char b10; double c; ); structA f(structA t); main() structAa=1001, “ZhangDa“, 1098 0); a=f(a); printf(“ d, s,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 历年 汇编 答案 解析 DOC
