[计算机类试卷]国家二级(C语言)笔试模拟试卷91及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷91及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷91及答案与解析.doc(35页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 91 及答案与解析 1 一个数据元素第一个元素的存储地址是 100,每个元素的长度为 2,则第 5个元素的地址是 ( )。 ( A) 110 ( B) 108 ( C) 100 ( D) 120 2 一个栈的入栈序列是 1, 2, 3, , n,其输出序列为 P1, P2, P3, , Pn,若p1=n,则 pi为 ( )。 ( A) i ( B) n=i ( C) n-i+1 ( D)不确定 3 在一个容量为 15的循环队列中,若头指针 front=6,尾指针 rear=14,则该循环队列中元素个数为 ( )。 ( A) 8 ( B) 9 ( C) 14 (
2、 D) 15 4 下列工具中,属于需求分析常用工具的是 ( )。 ( A) PFD ( B) PAD ( C) N-S ( D) DFD 5 在面向对象的程序设计中,能表示类之间相似性质的机制是 ( )。 ( A)继承 ( B)封装 ( C)分类 ( D)动态连接 6 软件调试的目的是 ( )。 ( A)发现错误 ( B)改正错误 ( C)改善软件的性能 ( D)挖掘软件的潜能 7 设有二元关系 R和三元关系 S,下列运算中合法的是 ( )。 ( A) RUS ( B) RNS ( C) R-S ( D) RXS 8 关系数据库的数据及更新操作必须遵循 ( )等完整性规则。 ( A)实体完整性
3、和参照完整性 ( B)参照完整性和用户自定义完整性 ( C)实体完整性和用户自定义完整性 ( D)实体完整性、参照完整性和用户自定义完整性 9 概要设计是软件系统结构的总体设计,以下选项中不属于概要设计的是 ( )。 ( A)把软件划分成模块 ( B)确定模块之间的调用关系 ( C)确定各个模块的功能 ( D)设计每个模块的伪代码 10 规范化理论中分解 ( )主要是消除 其中多余的数据相关性。 ( A)关系运算 ( B)内模式 ( C)外模式 ( D)视图 11 以下叙述中正确的是 ( )。 ( A)构成 C程序的基本单位是函数 ( B)可以在一个函数中定义另一个函数 ( C) main()
4、函数必须放在其他函数之前 ( D)所有被调用的函数一定要在调用之前进行定义 12 以下选项中可作为 C语言合法整数的是 ( )。 ( A) 10110B ( B) 386 ( C) 0xffa ( D) x2a2 13 以下不能定义为用户标识符的是 ( )。 ( A) scanf ( B) Void ( C) 3com ( D) int 14 以下所列的 C语言常量中,错误的是 ( )。 ( A) 0xFF ( B) 1.2e0.5 ( C) 2L ( D) 72 15 有以下定义语句: double a,b; int w; long c; 若各变量已正确赋值,则下列选项中正确的表达式是 (
5、)。 ( A) a=a+b=b+ ( B) w%(int)a+b) ( C) (c+w)%(int)a ( D) w=a=b 16 有以下程序: main() int a=1,b=2,m=0,n=0,k; k=(n=b a)|(m=a b); printf(“%d,%dn“m,k,m); 程序运行后的输出结果是 ( )。 ( A) 0, 0 ( B) O, 1 ( C) 1, 0 ( D) 1, 1 17 下列关于单目运算符 +、 -的叙述中正确的是 ( )。 ( A)它们的运算对象可以是任何变量和常量 ( B)它们的运算对象可以是 char型变量和 int型变量,但不能是 float型变量
6、( C)它们的运算对象可以是 int型变量,但不能是 double型变量和 float型变量 ( D)它们的运算对象可以是 char型变量、 int型变量和 float型变量 18 若有以下程序段 (n所赋的是八进制数 ): int m=32767,n=032767; printf(“%d,%on,m,n); 执行后输出结果是 ( )。 ( A) 32767,32767 ( B) 32767,032767 ( C) 32767,77777 ( D) 32767,077777 19 以下 4个选项中,不能看作一条语句的是 ( )。 ( A) ; ( B) a=0,b=0,c=0; ( C) if
7、(a 0); ( D) if(b=0)m=1;n=2; 20 设有定义: int a,*p= scanf(“%d“, do s+=1; a=a-2; while (a!=n); printf(“%dn“,s); 若要使程序的输出值为 2,则应该从键盘给 n输入的值是 ( )。 ( A) -1 ( B) -3 ( C) -5 ( D) 0 22 有以下程序: main() char k; int i; for(i=1;i 3;i+) scanf(“%c“, switch(k) case 0: printf(“anothern“); case 1: printf(“numbern“); 程序运行时
8、,从键盘输入 01回车,程序执行后的输出结果是 ( )。 ( A) another number ( B) another number another ( C) another number number ( D) number number 23 有以下程序: main() int i=10,j=1; printf(“%d,%dn“,i-,+j); 执行后输出结果是 ( )。 ( A) 9, 2 ( B) 10, 2 ( C) 9, 1 ( D) 10, 1 24 下面程序段的执行结果是 ( )。 int x=10; for(;x;x-) if(x%3) continue; printf(
9、“%d“,x); ( A) 875421 ( B) 963 ( C) 741 ( D) 852 25 若变量已正确定义,要求程序段完成求 5!的计算,不能完成此操作的程序段是( )。 ( A) for(i=1,p=1;i =5;i+) p*=i; ( B) for(i=1;i =5;i+)p=1; p*=i; ( C) i=1;p=1;while(i =5)p*=i; i+; ( D) i=1;p=1;dop*=i;i+;while(i =5) 26 有以下程序: main() char a,b,c,*d; a=;b=xbc; c=0xab;d=“017“; printf(“%c%c%cn“,
10、a,b,c,*d); 编译时出现错误,以下叙述中正确的是 ( )。 ( A)程序中只有 “a=;”语句不正确 ( B) “b=xbc;”语句不正确 ( C) “d=“0127“;”语句不正确 ( D) “a=;”和 “c=0xab;”语句都不正确 27 以下能正确定义二维数组的是 ( )。 ( A) int a3; ( B) int a3=2*3; ( C) int a3=; ( D) int a23=1,2,3,4; 28 有以下程序: int f(int a) return a%2; main() int s8=1,3,5,2,4,6,i,d=0; for (i=0; f(si); i+)
11、 d+=si; printf(“%dn“,d); 程序运行后的输出结果是 ( )。 ( A) 9 ( B) 11 ( C) 19 ( D) 21 29 若有以下定义和语句: #include stdio.h int a=4,b=3,*p,*q,*w; p= q= w=q; q=NULL; 则以下选项中错误的语句是 ( )。 ( A) *q=0; ( B) w=p; ( C) *p=a; ( D) *p=*w; 30 有以下程序: int *f(int *x, int *y) if (*x *y) return x; else return y; main() int a=7,b=8,*p,*q
12、,*r; p= q= r=f(p,q); printf (“%d,%d,%dn“,*p,*q,*r); 执行后输出结果是 ( )。 ( A) 7, 8, 8 ( B) 7, 8, 7 ( C) 8, 7, 7 ( D) 8, 7, 8 31 有以下程序: main() char *S=“one“,“two“,“three“,*p; p=s1; printf(“%c,%sn“, *(p+1), s0); 执行后输出结果是 ( )。 ( A) n, two ( B) t, one ( C) w, one ( D) o, two 32 有以下程序: main() int x8=8,7,6,5,0,0
13、,*s; s=x+3; printf(“%dn“,s2); 执行后输出结果是 ( )。 ( A)随机值 ( B) 0 ( C) 5 ( D) 6 33 以下选项中能正确把 c1定义成结构体变量的是 ( )。 ( A) typedef struct int red; int red; int green; int blue; COLOR; COLOR c1; ( B) struct color c1 int red int red; int green int blue; ; ( C) stmctcolor int red, int green; int blue; c1; ( D) struc
14、t int red; int green; int blue; c1; 34 设有以下定义和语句: int a32=1,2,3,4,5,6,), *p3; p0=a1; 则*(p0+1)所代表的数组元素是 ( )。 ( A) a01 ( B) a10 ( C) a11 ( D) a12 35 有以下程序: main() char str10=“China“,“Beijing“),*p=str; printf(“%sn“,p+10); 程序运行后的输出结果是 ( )。 ( A) China ( B) Beijng ( C) ng ( D) ing 36 有以下程序: main() char s=
15、“ABCD“, *p; for( p=s+1;p s+4;p+) printf(“%sn“,p); 程序运行后的输出结果是 ( )。 ( A) ABCD BCD CD D ( B) A B C D ( C) B C D ( D) BCD CD D 37 有以下程序: int f(int n) if(n=1) return 1; else return f(n-1)+1; main() int i,j=0; for(i=1; i 3; i+) j+=f(i); printf(“%dn“,j); 程序运行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 38 有以下
16、程序: #include stdio.h #define F(X,Y)(X)*(Y) main() int a=3,b=4; printf(“%dn“,F(a+,b+); 程序运行后的输出结果是 ( )。 ( A) 12 ( B) 15 ( C) 16 ( D) 20 39 设有以下语句: typedef struct S int g; char h; T; 则下面叙述中正确 的是( )。 ( A)可以用 S定义结构体变量 ( B)可以用 T定义结构体变量 ( C) S是 struct类型的变量 ( D) T是 stnictS类型的变量 40 有以下程序: struct STU char na
17、me10; int num; ; void f1(struct STU c) struct STU b=“LiSiGuo“,2042); c=b; void f2(struct STU *c) struct STU b=“SunDan“,2044); *c=b; main() struct STU a=“YangSan“,2041,b=“WangYin“,2043); f1(a);f2( printf(“%d %dn“,a.num,b.num); 执行后输出结果是 ( )。 ( A) 2041 2044 ( B) 2041 2043 ( C) 2042 2044 ( D) 2042 2043
18、41 设有如下程序: #includestring.h“ main() static char s120,s220; scanf(“%s“,s1);scanf(“%s“,s2); if(strcmp(s1,s2) printf(“); else printf(“$“); printf(“%dn“,strlen(strcat(s1,s2); 如果从键盘上输入 name1回车 name2回车,则程序运行后的输出结果是 ( )。 ( A) $9 ( B) 11 ( C) $10 ( D) 10 42 有以下程序: #include stdlib.h struct NODE int num; stru
19、ct NODE *next; ; main() struct NODE *p,*q,*r; p=(struct NODE*)malloc(sizeof(struct NODE); q=(struct NODE*)mallloc(sizeof(struct NODE); r=(struct NODE*)malloc(sizeof(struct NODE); p- num=10;q- num=20; r- num=30; p- next=q;q- next=r; printf(“%dn“,p- num+q- next- num); 程序运行后的输出结果是 ( )。 ( A) 10 ( B) 20
20、( C) 30 ( D) 40 43 有以下程序段: main() int a=5, *b, *c; c= b= 程序在执行了 “c=b=”语句后,表达式 *c的值是 ( )。 ( A)变量 a的地址 ( B)变量 b中的值 ( C)变量 a中的值 ( D)变量 b的地址 44 有以下程序: #include string.h main() char str20=“Hello“,“Beijing“),*p=str0; printf(“%dn“,strlen(p+20); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 5 ( C) 7 ( D) 20 45 已定义 以下函数: fun
21、(char *p2,char *p1) while (*p2=*p1)!=0)p1+;p2+; 函数的功能是 ( )。 ( A)将 p1所指字符串复制到 p2所指内存空间 ( B)将 p1所指字符串的地址赋给指针 p2 ( C)对 p1和 p2两个指针所指字符串进行比较 ( D)检查 p1和 p2两个指针所指字符串中是否有 0 46 有以下程序: main() int x=3,y=2,z=1; printf(“%dn“,x/y 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 2 ( C) 1 ( D) 0 47 有如下程序: #include stdio.h main() FILE
22、*fp1; fp1=fopen(“f1.txt“,“w“); fprintf(fp1, “abc“); fclose(fp1); 若文本文件 f1.txt中原有内容为 good,则运行以上程序后文件 f1.txt中的内容为 ( )。 ( A) goodabc ( B) abcd ( C) abc ( D) abcgood 48 以下程序的功能是:建立一个带有头结点的单向链表,并将存储在数组中的字符依次转存到链表的各个结点中,请从与下划线处号码对应的一组选项中选择出正确的选项。 #include stdlib.h struct node char data; struct node *next;
23、 (48) CreatList(char *s) struct node *h,*p,*q; h=(struct node *)malloc(sizeof(Struct node); p=q=h; while(*s!=0) p=(struct node *)malloc(sizeof(struct node); p- data=(49); q- next=p; q=(50); s+; p- next=0; return h; main() char str=“link list“; struct node *head; head=CreatList(str); ( A) char* ( B)
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 91 答案 解析 DOC
