[计算机类试卷]国家二级(C语言)笔试模拟试卷80及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷80及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷80及答案与解析.doc(34页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 80及答案与解析 1 在数据结构中,从逻辑上可以把数据结构分为 _。 ( A)动态结构和静态结构 ( B)紧凑结构和非紧凑结构 ( C)线性结构和非线性结构 ( D)内部结构和外部结构 2 若进栈序列为 1, 2, 3, 4,进栈过程中可以出栈,则下列不可能的一个出栈序列是 _。 ( A) 1, 4, 3, 2 ( B) 2, 3, 4, 1 ( C) 3, 1, 4, 2 ( D) 3, 4, 2, 1 3 排序方法中,将整个无序序列分割成若干小的子序列并分别进行插入排序的方法,称为 _。 ( A)希尔排序 ( B)冒泡排序 ( C)插入排序 ( D)选择排
2、序 4 在顺序表 (3, 6, 8, 10, 12, 15, 16, 18, 21, 25, 30)中,用二分法查找关键码值 11,所需的关键码比较次数为 _。 ( A) 2 ( B) 3 ( C) 4 ( D) 5 5 对于 n个结点的单向链表 (无表头结点 ),需要指针单元的个数至少为 _。 ( A) n-1 ( B) n ( C) n+1 ( D) 2n 6 在软件开发过程中,软件结构设计是描述 _。 ( A)数据存储结构 ( B) 软件体系结构 ( C)软件结构测试。 ( D)软件控制过程 7 模块本身的内聚是模块独立性的重要性度量因素之一。在 7类内聚中,具有最强内聚的一类是 _。
3、( A)顺序性内聚 ( B)过程性内聚 ( C)逻辑性内聚 ( D)功能性内聚 8 数据存储和数据流都是 _,仅仅是所处的状态不同。 ( A)分析结果 ( B)事件 ( C)动作 ( D)数据 9 数据的完整性是指数据的正确性、有效性和 _。 ( A)可维护性 ( B)独立性 ( C)安全性 ( D)相容性 10 关系代数运算是以 _为基础的运算。 ( A)关系运算 ( B)谓词运算 ( C)集合运算 ( D)代数运算 11 请读程序: #include stdio.h main() int a; float b,c; scanf(“%2d%3f%4f“, 若运行时从键盘上输入 9876543
4、210,则上面程序的输出结果是 _。 ( A) a=98,b=765,c=4321 ( B) a=10,b=432,c=8765 ( C) a=98, b=765.000000, c=4321.000000 ( D) a=98,b=765.0, c=4321.0 12 一个良好的算法由下面的基本结构组成,但不包括 _。 ( A)顺序结构 ( B)选择结构 ( C)循环结构 ( D)跳转结构 13 请选出以下程序的输出结果 _。 #include stdio.h sub(x,y,z) int x,y, *z; *z=y-x; main() int a,b,c; sub(10,5, ( A) 5,
5、2,3 ( B) -5,-12,-7 ( C) -5,-12,-17 ( D) 5,-2,-7 14 下面程序在屏幕上的输出是 _。 main() printf(“abbbc“); ( A) abbbc ( B) ac ( C) abc ( D) ab c 15 若 x是整型变量, pb是基类型为整型的指针变量,则正确的赋值表达式是_。 ( A) pb= ( C) *pb=的输出为 _。 ( A) 10 ( B) 11 ( C) 12 ( D)语法错误 17 若要用下面的程序片段使指针变量 p指向一个存储整型变量的动态存储单元 int *p; p=_malloc(sizeof(int); 则应
6、填入 _。 ( A) int ( B) int* ( C) (*int) ( D) (int*) 18 下面程序输出的结果是 _。 main() int i=5,j=9.x; x=(i=j?i:(j=7); printf(“n%d,%d“,i,j); ( A) 5,7 ( B) 5,5 ( C)语法错误 ( D) 7,5 19 若执行下面程序时从键盘上输入 5, main() int x; scanf(“%d“, 则输出是_。 ( A) 7 ( B) 6 ( C) 5 ( D) 4 20 若有以下定义和语句: int a=1,2,3,4,5,6,7,8,9,10,*p=a; 则值为 3的表达式
7、是 _。 ( A) p+=2,*(p+) ( B) p+=2,*+p ( C) p+=3,*p+ ( D) p+=2,+*p 21 以下程序段中与语句 k=a b?(b c?1:0):0;功能等价的是 ( )。 ( A) if(a b) if(a b) if(b c) printf(“%d“,d+ +1); else printf(“%d“,+d +1); printf(“%dn“,d); 程序运行后的输出结果是 ( )。 ( A) 2 ( B) 3 ( C) 43 ( D) 44 23 有以下程序: main() int p7=11,13,14,15,16,17,18);i=0,k=0; w
8、hile(i 7 i+; printf(“%dn“,k); 执行后输出结果是 ( )。 ( A) 58 ( B) 56 ( C) 45 ( D) 24 24 若有如下程序: main() int a=1,b=1; for(;a =10;a+) if(b =9) break; if(b%3=1) b+=3;continue; b+; printf(“%d,%d“,b,a); 则程序运行后的输出结果是 ( )。 ( A) 10, 4 ( B) 7, 3 ( C) 10, 3 ( D) 11, 3 25 已定义 ch为字符型变量,以下赋值语句中错误的是 ( )。 ( A) ch= ( B) ch=6
9、2+3; ( C) ch=NULL; ( D) ch=xaa; 26 有以下程序 main() char a,b,c,d; scanf(“%c,%c,%d,%d“, printf(%c,%c,%c,%cn“,a,b,c,d); 若运行时从键盘上输入 6,5,65,66回车。则输出结果是 ( )。 ( A) 6,5,A,B ( B) 6,5,65,66 ( C) 6,5,6,5 ( D) 6,5,6,6 27 有以下函数定义: void fun(int n double x) 若以下选项中的变量都已正确定义并赋值,则对函数 fun的正确调用语句是 ( )。 ( A) fun(int y, dou
10、ble m); ( B) k=fun(10,12.5); ( C) fun(x,n); ( D) void fun(n,x); 28 有以下程序: void fun (char *a,char *b) a=b;(*a)+; main() char cl=A,c2=a,*p1,*p2; p1=p2=fun (p1,p2); printf(“%c,%cn“,c1,c2); 程序运行后的输出结果是 ( )。 ( A) Ab ( B) aa ( C) Aa ( D) Bb 29 有以下定义: int a4 3=1,2,3,4,5,6,7,8,9.10,11,12; int(*ptr)3=a,*p=a0
11、; 则下列能够正确表示数组元素 a12的表达式是 ( )。 ( A) *(*ptr+1+2) ( B) *(*(p+5) ( C) (*ptr+1)+2 ( D) *(*(a+1)+2) 30 有以下程序: main() int a=7,b=8,*p,*q,*r; p= q= r=p; p=q; q=r; printf(“%d,%d,%d,%dn“,*p,*q,a,b); 程序运行后的输出结果是 ( )。 ( A) 8,7,8,7 ( B) 7,8,7,8 ( C) 8,7,7,8 ( D) 7,8,8,7 31 有以下程序: main() chara=“abcdefg“,b10=“abcde
12、fg“; printf(“%d %dn“,sizeof(a),sizeof(b); 执行后 输出结果是 ( )。 ( A) 7 7 ( B) 8 8 ( C) 8 10 ( D) 10 10 32 设有定义语句: int x6=2,4,6,8,5,7), *p=x, i; 要求依次输出 x数组 6个元素中的值,不能完成此操作的语句是 ( )。 ( A) for(i=0;i ;i+) printf(“%2d“,*(p+); ( B) for(i=0;i 6;i+) printf(“%2d“,*(p+i); ( C) for(i=0;i 6;i+) printf(“%2d“,*p+); ( D)
13、for(i=0;i 6;i+) printf(“%2d“,(*p)+); 33 有以下程序: void sum(int *a) a0=a1; ) main() int aa10=1,2,3,4,5,6,7,8,9,10, i; for(i=2;i =0;i-) sum( printf(“%dn“,aa0); 执行后的输出结果是 ( )。 ( A) 4 ( B) 3 ( C) 2 ( D) 1 34 以下能正确定义一维数组的选项是 ( )。 ( A) int num; ( B) #define N 100 int numN ( C) int num0100; ( D) int N=100 int
14、 numN; 35 下列选项中正确的语句是 ( )。 ( A) char s8; s=“Beijng“; ( B) char *s; s=“Beijng“; ( C) char s8; s=“Beijing“; ( D) char *s; s=“Beijing; 36 已定义以下函数: fun (int *p) return *P; 该函数的返回值是 ( )。 ( A)不确定的值 ( B)形参 p中存放的值 ( C)形参 p所指存储单元中的值 ( D)形参 p的地址值 37 有以下程序: int a=2; int f(int *a) return (*a)+;) main() int s=0;
15、 int a=5; s+=f( s+=f( printf(“%dn,s); 执行后输出结果是 ( )。 ( A) 10 ( B) 9 ( C) 7 ( D) 8 38 有以下程序: #define f(x) x*x main() int i; i=f(4+4)/f(2+2); printf(“%dn“,i); 执行后输出结果是 ( )。 ( A) 28 ( B) 22 ( C) 16 ( D) 4 39 下面程序的输出结果是 ( )。 #include“stdio.h“ int sub(int m) static a=4; a+=m; return a; void main() int i=2
16、,j=1,k; k=sub(i); k=sub(j); printf(“%d“,k); ( A) 6 ( B) 7 ( C) 8 ( D) 9 40 设有定义语句 ;char c1=92,c2=92;,则以下表达式中值为零的是 ( )。 ( A) c1c2 ( B) c1 while(*ps) ps+; for(ps-;ps-str =O;ps-) puts(ps); 执行后的输出结果是 ( )。 ( A) yz xyz ( B) z yz ( C) z yz xyz ( D) x xy xyz 42 有以下程序: main() int a3=1,2,3),4,5,0),(*pa)3,i; p
17、a=a; for(i=0;i 3;i+) if(i 2) pa1i=pa1i-1; else pa1i=1; printf(“%dn“,a01+a1 1+a1 2); 执行后输出结果是 ( )。 ( A) 7 ( B) 6 ( C) 8 ( D)无确定值 43 有以下程序: main() unsigned int a; int b=-1; a=b; printf(“%u“,a); 程序运行后的输出结果是 ( )。 ( A) -1 ( B) 65535 ( C) 32767 ( D) -32768 44 有以下程序: void fun(int *a,int i,int i) int t; if(
18、i j) t=ai;ai=aj;ai=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“,xi); printf(“n“); 程序运行后的输出结果是 ( )。 ( A) 1268 ( B) 8621 ( C) 8162 ( D) 8612 45 以下程序段中,能够通过调用函数 fun(),使 main()函数中的指针变量 p指向一个合法的整型单元的是 ( )。 ( A) main() int*p; fun(p); int fun(int*p) int s; p= ( B
19、) main int*p fun( iht fun(int*p) int s; *p= ( C) main() int*p; fun( int fun(int*p) *p=(int*)malloc(2); ( D) main() int*p; fun(p); int fun(int*p) p=(int*)malloc(sizeo(int); 46 有以下程序: main() int x=1,3,5,7,2,4,6,0),i,j,k; for(i=0;i 3;i+) for(j=2;i =i;j-) if( xj+1 xj) k=xj;xj=xj+1;xj+1=k; for(i=0;i 3;i+
20、) for(j=4;j 7-i;j+) if(xj xj+1) k=xj;xj=xj+1;xj+1=k; for(i=0;i 8;i+) printf(“%d“,xi); printf(“n“); 程序运行后的输出结果是 ( )。 ( A) 7.53102e+007 ( B) 01234567 ( C) 7.63105e+007 ( D) 1.35702e+007 47 若 fp已正确定义并指向某个文件,当未遇到该文件结束标志时函数 feof(fp)的值为 ( )。 ( A) 0 ( B) 1 ( C) -1 ( D)一个非 0值 48 下列关于 C语言数据文件的叙述中正确的是 ( )。 (
21、A)文件由 ASCII码字符序列组成, C语言只能读写文本文件 ( B)文件由二进制数据序列组成, C语言只能读写二进制文件 ( C)文件由记录序列组成,可按数据的存放形式分为二进制文件和文本文件 ( D)文件由数据流形式组成,可按数据的存放形式分为二进制文件和文本文件 49 有以下程序: main() int a33,*p,i; p= for(i=0;i 9;i+) pi=i+1; printf(“%dn“,a12); 程序运行后的输出结果是 ( )。 ( A) 3 ( B) 6 ( C) 9 ( D) 2 50 有以下结构体说明和变量定义,如下图所示,指针 p、 q、 r分别指向一个链表中
22、的 3个连续结点。 struct node int data; struct node *next; *p,*q,*r; 现要将 q和 r所指结点的先后位置交换,同时要保持链表的连续,以下错误的程序段是 ( )。 ( A) r- next=q;q- next=r- next;p- next=r; ( B) q- next=r- neaxt;p- next=r;r- next=q; ( C) p- next=r;q- next=r- next;r- next=q; ( D) q- next=r- next;r- next=q;p- next=r; 51 如下图所示的二叉树后序遍历序列是【 】。
23、52 数据结构分为逻辑结构与存储结构,带链的栈属于【 】。 53 在软件开发中,结构化方法包括结构化分析方法、结构化设计方法和结构化程序设计方法。可行性研究阶段采用的是【 】。 54 数据库是指按照一定的规则存储在计算机中的【 】的集合,它能被各种用户共享。 55 实体联系模型是一种常用的高级概念数据模型,而【 】是实体联系模型中的核心。 56 下面程序执行后 k的值为【 】。 int a=1,b=2,c=3,d=4,k; k=a b? a: c d? c: d 57 下面程序的功能是输出数组中最大的数,由 a指针指向该元素。请填空。 main() int s=6,7,2,13,9,1,12,
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 80 答案 解析 DOC
