[计算机类试卷]国家二级(C语言)笔试模拟试卷12及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷12及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷12及答案与解析.doc(33页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 12及答案与解析 1 在软件工程中,白盒测试法可用于测试程序的内部结构,此方法将程序看做是( )。 ( A)循环的集合 ( B)地址的集合 ( C)路径的集合 ( D)目标的集合 2 在单链表中,增加头结点的目的是 ( )。 ( A)方便运算的实现 ( B)使单链表至少有一个结点 ( C)标识表结点中首结点的位置 ( D)说明单键表是线性表的链式存储实现 3 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是( )。 ( A)模拟现实世 界中不同事物之间的联系 ( B)强调模拟现实世界中的算法而不强调概念 ( C)使用现实世界的概念抽象地思考问
2、题,从而自然地解决问题 ( D)鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考 4 下图 所示二叉树的中序遍历结果为 ( )。 ( A) ABCDEF ( B) DBEAFC ( C) ABDECF ( D) DEBFCA 5 在计算机中,算法是指 ( )。 ( A)查询方法 ( B)加工方法 ( C)解题方案的准确而完整的描述 ( D)排序方法 6 用树形结构来表示实体之间联系的模型称 为 ( )。 ( A)关系模型 ( B)层次模型 ( C)网状模型 ( D)数据模型 7 下列叙述中,不属于软件需求规格说明书的作用的是 ( )。 ( A)便于用户、开发人员相互理解和交流 ( B)
3、反映用户问题的结构,可以作为软件开发工作的基础和依据 ( C)作为确认测试和验收的依据 ( D)便于开发人员进行需求分析 8 单个用户使用的数据视图的描述称为 ( )。 ( A)外模式 ( B)概念模式 ( C)内模式 ( D)存储模式 9 软件开发的结构化生命周期方法将软件生命周期划分成 ( )。 ( A)定义、开发、运行维护 ( B)设计阶段、编程阶段、测试阶段 ( C)总体设计、详细设计、编程调试 ( D)需求分析、功能定义、系统设计 10 按条件 f对关系 R进行选择,其关系代数表达式为 ( )。 ( A) R|X|R ( B) ( C) f(R) ( D) f(R) 11 设函数 f
4、un的定义形式为: vold fun (char ch, float x) 则以下对函数 fun的调用语句中,正确的是 ( )。 ( A) fun(“abc“, 3.0); ( B) t=fun(D, 16.5); ( C) fun(65, 2.8); ( D) fun(32, 32); 12 以下叙述中错误的是 ( )。 ( A) C语句必须以分号结束 ( B)复合语句在语法上被看做一条语句 ( C)空语句出现在任何位置都不会影响程序运行 ( D)赋值表达式末尾加分号就构成赋值语句 13 以下能正确定义且赋初值的语句是 ( )。 ( A) int n1=n2=10; ( B) char c=
5、32; ( C) float f=f+1; ( D) double x=12.3E2.5; 14 以下关于函数的叙述中正确的是 ( )。 ( A)每个函数都可以被其他函数调用 (包括 main函数 ) ( B)每个函数都可以被单独编译 ( C)每个函数都可以单独运行 ( D)在一个函数内部可以定义另一个函数 15 有以下程序: #include stdio, h int a =2;int f(int n) static int a: 3; int t=0; if(n%2) static int a=4;t+ =a+; else static int a=5;t+ :a+; return t +
6、 a + +;main ( ) int s=a,i; for(i=0;i 3;i+)s + =f(i); prinff(“% d n“ ,s); 程序运行后的输出结果是 ( )。 ( A) 26 ( B) 28 ( C) 29 ( D) 24 16 有以下程序 :#include stdio, h void sum(int a ) a0=a-1 +a1;main ( ) int a10 = 1,2,3,4,5,6,7,8,9,10; sum( prinff(“% d n“,a2); 程序运行后的输出结果是 ( )。 ( A) 6 ( B) 7 ( C) 5 ( D) 8 17 有以下程序 :
7、#include stdio, h main ( ) int k=5,n =0; while ( k 0) switch (k) default: break; case 1 : n+ =k; case 2 : case3 : n+ =k; k-; printf( “% d n“ ,n);程序运行后的输出结果是 ( )。 ( A) 0 ( B) 4 ( C) 6 ( D) 7 18 设有定义: int k=1, m=2; float f=7;则以下选项中错误的表达式是 ( )。 ( A) k=k =k ( B) -k+ ( C) k%int(f) ( D) k =f =m 19 以下不能正确计
8、算代数式 的值的 C语言表达式是 ( )。 ( A) 1/3 * sin(1/2) * sin(1/2) ( B) SlH(0.5) * sin(0.5)/3 ( C) pow ( sin(0.5), 2)/3 ( D) 1/3.0*pow(sin(1.0/2), 2) 20 有以下程序段: int k=0, a=1, b=2, c=3; k=a b? b:a; k=k c? c:K; 执行该程序段后, k的值是 ( )。 ( A) 3 ( B) 2 ( C) 1 ( D) 0 21 下面程序的功能是输出以下形式的金字塔图案 : * * * * #include stdio.h main()
9、int i,j; for(i=1;i =4;i+) for(j=1;j =4-i;j+) printf(“ “); for(j=1;j=_;j+) printf(“*“); printf(“n“); 在下划线处应填入的是 ( )。 ( A) i ( B) 2*i-1 ( C) 2*i+1 ( D) i+2 22 有以下程序: #include stdio.h main() char k; int i; for(i=1;i 3;i+) scanf(“%c“, switch(k) case 0: printf(“anothern“); case 1: printf(“numbern“); 程序运行
10、时,从键盘输入: 01回车,程序执行后的输出结果是 ( )。 ( A) another number ( B) another number another ( C) another number ( D) number number 23 有以下程序: #include sldio.h main() int x=0,y=5,z=3; while(z-0 printf(“%d,%d,%dn“,x,y,z); 程序执行后的输出结果是( )。 ( A) 3,2,0 ( B) 3,2,-1 ( C) 4,3,-1 ( D) 5,-2,-5 24 有以下程序: #include stdio.h mai
11、n() int x=102,y=012; printf(“%2d,%2dn“,x,y); 执行后的输出结果是 ( )。 ( A) 10, 01 ( B) 02, 12 ( C) 102, 10 ( D) 02, 10 25 设有定义: int n=0,*p=则以下选项中,正确的赋值语句是 ( )。 ( A) P=1 ( B) *q=2; ( C) q=p; ( D) *p=5; 26 有以下程序: #include stdio.h #include stdlib.h struct NODE int num; struct NODE *next; ; main() struet NODE *p,
12、*q,*r; int sum=0; p=(struct NODE *) malloc(sizeof(struct NODE); q=(struct NODE *) malloc(sizeof(struet NODE); r=(struct NODE *) malloc(sizeof(struct NODE); P- num=1;q- num=2;r- num=3; p- next=q;q- next=r;r- next=NULL; sum + =q- next- num;sum + =P- num; printf(“%dn“,sum); 执行后的输出结果是 ( ) ( A) 3 ( B) 4
13、( C) 5 ( D) 6 27 有以下程序: #include stdio.h main() int i,s=0; for(i=1;i 10;i+ =2) s+ =i+1; printf(“%dn“,s); 程序执行后的输出结果是 ( )。 ( A)正整数 1 9的累加和 ( B)正整数 1 10的累加和 ( C)正整数 1 9中奇数之和 ( D)正整数 1 10中偶数之和 28 设有定义: int a, *pa=以下 scanf语句中能正确为变量 a读入数据的是 ( )。 ( A) scanf(“%d“,pa); ( B) scanf(“%d“,a); ( C) scanf(“%d“, (
14、 D) scanf(“%d“,*pa); 29 有以下程序 (提示:程序中 fseek(fp,-2L*sizeof(int),SEEK_END);语句的作用是使位置指针从文件末尾向前移 2 * sizeof(int)字节 ): #include stdio.h main() FILE *fp; int i, a4=1,2,3,4,b; fp=fopen(“data.dar“,“wb“); for(i=0;i 4;i+) fwrite( fclose(fp); fp=fopen(“data.dar“,“rb“); fseek(fp,-2L*sizeof(int),SEEK_END); fread
15、( /*从文件中读取 sizeof(int)字节的数据到变量 b中 */ fclose(fp); printf(“%dn“,b); 执行后的输出结果( )。 ( A) 2 ( B) 1 ( C) 4 ( D) 3 30 有以下程序: #include stdio.h main() FILE *fp;int i,k=0,n=0; fp=fopen(“d1.dat“,“w“); for(i=1;i 4;i+) fprintf(fp,“%d“,i); fclose(fp); fp=fopen(“d1.dat“,“r“); fscanf(fp,“%d%d“,printf(“%d%dn“,k,n); f
16、close(fp); 执行后的输出结果是 ( )。 ( A) 1 2 ( B) 123 0 ( C) 1 23 ( D) 0 0 31 有以下程序: #include stdio.h main() char a=“abcdefg“,b10=“abcdefg“; printf(“%d%dn“,sizeof(a),sizeof(b); 执行后的输出结果是 ( )。 ( A) 7 7 ( B) 8 8 ( C) 8 10 ( D) 10 10 32 有以下程序: #include stdio.h void swap1(int c) int t; t=c0; c0=c1; c1=t; void swa
17、p2(int c0,int c1) int t; t=c0; c0=c1; c1=t; main() int a2=3,5,b2=3,5; swap1(a); swap2(b0,b1); printf(“%d%d%d%dn“,a0,a1,b0,b1); 其输出结果是 ( )。 ( A) 5 3 5 3 ( B) 5 3 3 5 ( C) 3 5 3 5 ( D) 3 5 5 3 33 有以下程序: #include stdio.h void f(int a,int i, int j) int t; if(i j) t=ai;ai=aj;aj=t; f(a,i+1,j-1); main() in
18、t i,aa5=1,2,3,4,5; f(aa,0,4); for(i=0;i 5;i+) printf(“%d,“,aai);printf(“n“); 执行后的输出结果是 ( )。 ( A) 5,4,3,2,1, ( B) 5,2,3,4,1, ( C) 1,2,3,4,5, ( D) 1,5,4,3,2, 34 有以下程序: #include stdio.h struct STU char name10; int num; int Score; ; main() struct STU s5=“YangSan“,20041,703,“LiSiGuo“,20042,580, “WangYin“
19、,20043,680,“SunDan“,20044,550, “Penghua“,20045,537, *p5,*t; int i,j; for(i=0;i 5;i+) pi= for(i=0;i 4;i+) for(j=i+1;j 5;j+) if(pi- Score pj- Score) t=pi;pi=pj;pj=t; printf(“%d%dn“,s1.Score,p1- Score); 执行后的输出结果是 ( )。 ( A) 550 550 ( B) 680 680 ( C) 580 550 ( D) 580 680 35 有以下定义: #include stdio.h char a
20、10, *b=a; 下面不能给数组 a输入字符串的语句是 ( )。 ( A) gets(a) ( B) gets(a0); ( C) gets( ( D) gets(b); 36 有以下程序: #include stdio.h void f(int v, int w) int t; t=v; v=w; w=t; main() int x=1,y=3,z=2; if(x y) f(x,y); else if(y z) f(y,z); else f(x,z); printf(“%d,%d,%dn“,x,y,z); 执行后的输出结果 ( )。 ( A) 1,2,3 ( B) 3,1,2 ( C) 1
21、,3,2 ( D) 2,3,1 37 有以下程序: #include stdio.h int a=2; int f(int *a) return (*a) +; main() int s=0; int a=5; s+=f( s+=f( printf(“%dn“,s) 执行后的输出结果是 ( )。 ( A) 10 ( B) 9 ( C) 7 ( D) 8 38 有以下程序: #include stdio.h #define f(x) x*x main() int i; i=f(4+4)/f(2+2); priatf(“%dn“,i); 执行后的输出结果是 ( )。 ( A) 28 ( B) 22
22、 ( C) 16 ( D) 4 39 设有以下定义: int a=0; double b=1.25; char c=A; #define d 2则下面语句中错误的是 ( )。 ( A) a+; ( B) b+; ( C) c+; ( D) d+; 40 有以下程序: #include stdio.h struct STU char name10; int num; ; void f1(struct STU c) struct STU b=“LiSiGuo“,2042; c=b; void f2(struct STU *c) struct STU b=“SanDan“,2044; *c=b; m
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 12 答案 解析 DOC
