[计算机类试卷]国家二级(C语言)笔试模拟试卷196及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷196及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷196及答案与解析.doc(25页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 196及答案与解析 1 下列关于栈的描述中错误的是 ( )。 ( A)栈是先进后出的线性表 ( B)栈只能顺序存储 ( C)栈具有记忆作用 ( D)对栈的插入和删除操作中,不需要改变栈底指针 2 下列对于线性链表的描述中正确的是 ( )。 ( A)存储空间不一定是连续,且各元素的存储顺序是任意的 ( B)存储空间不一定是连续,且前件元素一定存储在后件元素的前面 ( C)存储空间必须连续,且各前件元素一定存储在后件元素的前面 ( D)存储空间必须连续, 且各元素的存储顺序是任意的 3 对长度为 n的线性表排序,在最坏情况下,比较次数不是 n(n-1)/2的排序方
2、法是( )。 ( A)快速排序 ( B)冒泡排序 ( C)直接插入排序 ( D)堆排序 4 一颗二叉树中共有 70个叶子节点与 80个度为 1的节点,则二叉树的总节点数为( )。 ( A) 219 ( B) 221 ( C) 229 ( D) 231 5 软件调试的目的是 ( )。 ( A)发现错误 ( B)改正错误 ( C)改善软件的性能 ( D)验证软件的正确性 6 在软件设计中,不属于过程设计工具的是 ( )。 ( A) PDL(过程设计语言 ) ( B) PAD图 ( C) N-S图 ( D) DFD图 7 在面向对象方法中,实现信息隐蔽是依靠 ( )。 ( A)对象的继承 ( B)对
3、象的多态 ( C)对象的封装 ( D)对象的分类 8 数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和 ( )。 ( A)编码设计 ( B)测试阶段 ( C)运行阶段 ( D)物理设计 9 设有如下关系表: R S T A B C A B C A B C 1 1 2 3 1 3 1 1 2 2 2 3 2 2 3 3 1 3 则下列操作中正确的是 ( )。 ( A) T=RS ( B) T=R S ( C) T=RS ( D) T=R/S 10 数据库系统的核心是 ( )。 ( A)数据模型 ( B)数据库管理系统 ( C)数据库 ( D)数据库管理员 11 以下叙述中错误的是 ( )。
4、 ( A)算法正确的程序最终一定会结束 ( B)算法正确的 程序可以有零个输出 ( C)算法正确的程序可以有零个输入 ( D)算法正确的程序对于相同的输入一定有相同的结果 12 对于一个正常运行的 C语言程序,以下叙述中正确的是 ( )。 ( A)程序的执行总是从 main函数开始,在 main函数结束 ( B)程序的执行总是从程序的第一个函数开始,在 main函数结束 ( C)程序的执行总是从 main函数开始,在程序的最后一个函数中结束 ( D)程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束 13 以下四个程序中,完全正确的是 ( )。 ( A) #include std
5、io.h ( B) #include stdio.h main(); main() /*programming*/ /*/programming/*/ printf(“programming!n“); printf(“programming!n“); ( C) #include stdio.h ( D) include stdio.h main() main() /*/*programming*/*/ /*programming*/ printf(“programming!n“); printf(“programming!n“); 14 当变量 c的值不为 2、 4、 6时,值也为 “真 ”的
6、表达式是 ( )。 ( A) (c=2)|(c=4)|(c=6) ( B) (c =2 c =6)|(c!=3)|(c!=5) ( C) (c =2 c =6) !(c%2) ( D) (c=2 c =6) (c%2!=1) 15 有以下程序: main() int i=1, j=2, k=3; if(i+=l (+j=3|k+=3) printf(“%d%d%dn“, i,j,k): 程序运行后的输出结果是 ( )。 ( A) 1 2 3 ( B) 2 3 4 ( C) 2 2 3 ( D) 2 3 3 16 有以下程序: main() int k=5, n=0; while(k 0) sw
7、itch(k) default:break; case 1:n+=k; case 2: case 3:n+=k; k-; printf(“%dn“, n); 程序运行后的输出结果是 ( )。 ( A) 0 ( B) 4 ( C) 6 ( D) 7 17 以下不构成无限循环的语句或者语句组是 ( )。 ( A) n=0; ( B) n=0; do+n; while(n =0); while(1)n+ ( C) n=10; ( D) for(n=0,i=1;i+)n+=i; while(n); n-;) 18 当用户要求输入的字符串中含有空格时,应使用的输入函数是 ( )。 ( A) scanf(
8、) ( B) getchar() ( C) gets() ( D) getc() 19 数字字符 0的 ASC 值为 48,若有以下程序: main() char a=1, b=2; printf(“%c, “, b+); printf(“%dn“, b-A); 程序运行后的输出结果是( )。 ( A) 3,2 ( B) 50,2 ( C) 2,2 ( D) 2,50 20 有以下程序: #include stdio.h int f(int x) int y; if(x=0|x=1)return(3); y=x*x-f(x-2); return y; main() int z; z=f(3);
9、 printf(“%dn“, z); 程序的运行结果是 ( )。 ( A) 0 ( B) 9 ( C) 6 ( D) 8 21 以下不能正确计算代数式 值的 C语言表达式是 ( )。 ( A) 1/3*sin(1/2)*sin(1/2) ( B) sin(0.5)*sin(0.5)/3 ( C) pow(sin(0.5), 2)/3 ( D) 40546.0*pow(sin(1.0/2), 2) 22 设已有定义: float x;则以下对指针变量 P进行定义且赋初值的语句中正确的是 ( )。 ( A) float*p=1024; ( B) int*p=(float)x; ( C) float
10、 p= x; ( D) float*p= x; 23 已定义以下函数: int fun(int*p) return*P; ) fun函数返回值是 ( )。 ( A)不确定的值 ( B)一个整数 ( C)形参 P中存放的值 ( D)形参 P的地址值 24 有以下程序: void f(int b) int i; for(i=2; i 6; i+)bi*=2; main() int a10=1,2,3,4,5,6,7,8,9,10,i; f(A); for(i=0; i 10;i+)printf(“%d,“, ai); 程序运行后的输出结果是 ( )。 ( A) 1,2,3,4,5,6,7,8,9,
11、10, ( B) 1,2,6,8,10,12,7,8,9,10 ( C) 1,2,3,4,10,12,14,16,9,10, ( D) 1,2,6,8,10,12,14,16,9,10, 25 有以下程序: void fun1(char*p) char*q; q=P; while(*q!=0) (*q)+;q+; main() char a=“Program“), *p; p=a3;funl(p);printf(“%sn“,A); 程序执行后的输出结果是 ( )。 ( A) Prohsbn ( B) Prphsbn ( C) Progsbn ( D) Program 26 有以下程序: voi
12、d sum(int a) a0=a-1+a1; main() int a10=1,2,3,4,5,6,7,8,9,10; sum( a2); printf(“%dn“, a2); 程序运行后的输出结果是 ( )。 ( A) 6 ( B) 7 ( C) 5 ( D) 8 27 若有定义: int a23;,以下选项中对 a数组元素正确引用的是 ( )。 ( A) a2!1 ( B) a23 ( C) a03 ( D) a1 2!1 28 有以下程序: #include stdio.h #include string.h void fun(char s10, int n) char t;int i
13、,j; for(i=0;i n-1;i+) for(j=i+1;j n;j+) /*比较字符串的首字符大小,并交换字符串的首字符 */ if(si0sj0)t=si0;si0=sj0;sEj0=t; main() char s510=“bcc“,“bbcc“,“xy“,“aaaacc“,“aabcc“); fun(ss,5);printf(“%s,%sn“,ss0,ss4); 程序的运行结果是 ( )。 ( A) xy,aaaacc ( B) aaaacc,xy ( C) xcc,aabcc ( D) acc,xabcc 29 有以下程序: main() char s=“159“,*P; P=
14、s; printf(“%c“,*P+);printf(“%c“,*P+); 程序运行后的输出结果是 ( )。 ( A) 15 ( B) 16 ( C) 12 ( D) 59 30 若要求从键盘读入含有空格字符的字符串,应使用函数 ( )。 ( A) getc() ( B) gets() ( C) getchar() ( D) scanf() 31 程序中若有如下说明和定义语句: char fun(chat*); main() char*s=“one“, a5=0, (*f1)()=fun, ch; 以下选项中对函数 fun的正确调用语句是 ( )。 ( A) (*f1)(A); ( B) *f
15、1(*s); ( C) fun( A); ( D) ch=*f1(s); 32 以下叙述中错误的是 ( )。 ( A) C语言程序中的 #include和 #define行均不是 C语句 ( B)除逗号运算符外,赋值运算符的优先级最低 ( C) C语言程序中, j+;是赋值语句 ( D) C语言程序中, +、 -、 *、 /、 %号是算术运算符,可用于整型和实型 数的运算 33 以下叙述中正确的是 ( )。 ( A)预处理命令行必须位于源文件的开头 ( B)在源文件的一行上可以有多条预处理命令 ( C)宏名必须用大写字母表示 ( D)宏替换不占用程序的运行时间 34 有以下程序: struct
16、 Sint n; int a20; ; void f(int*a, int n) int i; for(i=0; i n-1; i+)ai+=i; mainf() int i;struct S s10,2,3,1,6,8,7,5,4,10,9; if(s.a,s.n); for(i=0; i s.n;i+)printf(“%d“,s.ai); 程序运行后的输出结果是 ( )。 ( A) 2,4,3,9,12,12,11,11,18,9 ( B) 3,4,2,7,9,8,6,5,11,10 ( C) 2,3,1,6,8,7,5,4,10,9 ( D) 1,2,3,6,8,7,5,4,10,9 3
17、5 有以下结构体说明和变量定义,如图所示,指针 p、 q、 r分别指向此链表中的三个连续节点。 struct node int data; struct node*next; *P,*q,*r; 现要将 q所指节点从链表中删除,同时要保持链表的连续 , 以下不能完成指定操作的语句是 ( )。 ( A) p- next=q- next; ( B) p- next=P- next- next; ( C) p- next=r; ( D) p=q- next; 36 有以下程序: int fun(int x,int n) static int sum=0, I; for(i=0; i n;i+)sum
18、+=xi; return sum; main() int a=1,2,3,4,5,b=6,7,8,9,s=0; s=fun(a,5)+fun(b,4);printf(“%dn“,s); 程序执行后的输出结果是 ( )。 ( A) 45 ( B) 50 ( C) 60 ( D) 55 37 以下与函数 fseek(fp, OL, SEEK_SET)有相同作用的是 ( )。 ( A) feof(fp) ( B) tell(fp) ( C) fgetc(fp) ( D) rewind(fp) 38 执行以下程序后, test.txt文件的内容是 (若文件能正常打开 )( )。 #includestd
19、io.h main() FILE*fp; char*s1=“Fortran“, *s2=“Basic“; if(fp=fopen(“test.txt“,“wb“)=NULL) printf(“Cant open test.txt filen“);exit(1); fwrite(s1,7,1,fp);/*把从地址 s1开始的 7个字符写到 fp所指文件中 */ fseek(fp,0L,SEEK_SET);/*文件位置指针移到文件开头 */ fwrite(s2,5,1,fp); fclose(fp); ( A) Basican ( B) BasicFortran ( C) Basic ( D) F
20、ortranBasic 39 某二叉树中度为 2的节点有 18个,则该二叉树中有 ( )个叶子节点。 40 按 “先进后出 ”原则组织数据的数据结构 是 ( )。 41 软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修复性等特性,其中最重要的是 ( )。 42 程序测试分为静态分析和动态测试。其中 ( )是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。 43 在关系数据库中,把数据表示成二维表,每一个二维表称为 ( )。 44 设变量已正确定义为整型,则表达式 n=i=2,+i,i+的值为 ( )。 45 以下程序运行后的输出结果是 ( )。
21、main() int x=0210;printf(“%xn“,x); 46 以下程序运行后的输出结果是 ( )。 main() int a=3,b=4,c=5,t=99; if(b a a C)t=a;a=c;c=t; if(a c b C)t=b;b=a;a=t; printf(“%d%d%dn“,a,b,A); 47 当执行以下程序时,输入 1234567890回车,则其中 while循环 体将执行( )次。 #include stdio.h main() char ch; while(ch=getchar()=0)printf(“#“); 48 以下程序的运行结果是 ( )。 int k
22、=0; void fun(int m) m+=k;k+=m;printf(“m=%dn k=%d“,m,k+); main() int i=4; fun(i+);printf(“i=%d k=%dn“,i,k); 49 以下程序的输出结果是 ( )。 #include stdlib.h main() char*s1,*s2,m; s1=s2=(char*)malloc(sizeof(char); *s1=15; *s2=20; m=*s1+*s2: printf(“%dn“,m); 50 以下程序运行后的输出结果是 ( )。 int f(int a,int n) if(n =1)return
23、f(a,n-1)+an-1; else return 0; main() int aa5=1,2,3,4,5),s; s=f(aa,5);printf(“%dn“,s); 51 当运行以下程序时,输入 abcd,程序的输出结果是: ( )。 insert(char str) int i; i=strlen(str); while(i 0) str2*i=stri;str2*i-1=*;i-; printf(“%sn“,str); main() char str40; scanf(“%s“,str);insert(str); 52 以下程序中函数 huiwen的功能是检查一个字符串是否是回文,当
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 196 答案 解析 DOC
