[计算机类试卷]国家二级(C语言)笔试模拟试卷218及答案与解析.doc
《[计算机类试卷]国家二级(C语言)笔试模拟试卷218及答案与解析.doc》由会员分享,可在线阅读,更多相关《[计算机类试卷]国家二级(C语言)笔试模拟试卷218及答案与解析.doc(27页珍藏版)》请在麦多课文档分享上搜索。
1、国家二级( C语言)笔试模拟试卷 218 及答案与解析 1 下列叙述中正确的是 ( )。 ( A)线性链表的各元素在存储空间中的位置必须是连续的 ( B)线性链表的头元素一定存储在其他元素的前面 ( C)线性链表中的各元素在存储空间中的位置不一定是连续的,但表头元素一定存储在其他元素的前面 ( D)线性链表中的各元素在存储空间中的位置不一定是连续的,且各元素的存储顺序也是任意的 2 假设线性表的长度为 n,则在最坏情况下,冒泡排序需要的比较次数为 ( A) log2n ( B) n2 ( C) O(n1.5) ( D) n(n-1)/2 3 在下列几种排序方法中,要求内存量最大的是 _。 (
2、A)插入排序 ( B)选择排序 ( C)快速排序 ( D)归并排序 4 下列程序的输出结果是 _。 #include stdio.h main() int i, j, k, a=3,b=2; i=(-a=b+)?-a; +b; j=a+; k=b; printf(“i=%d, j=%d, k=%dn“,i, j, k); ( A) i=2, j=1, k=3 ( B) i=1, j=1, k=2 ( C) i=4, j=2,k=4 ( D) i=1, j=1, k=3 5 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是 _。 ( A)概要设计 ( B)详细设计 (
3、C)可行性分析 ( D)需求分析 6 在面向对象的程序设计中,能表示类之间相似性质的机制是 ( )。 ( A)继承 ( B)封装 ( C)分类 ( D)动态连接 7 结构化分析方法是面向 ( )的自顶向下、逐步求精进行需求分析的方法。 ( A)对象 ( B)数据结构 ( C)数据流 ( D)目标 8 关系代数运算是以 _为基础的运算。 ( A)关系运算 ( B)谓词运算 ( C)集合运算 ( D)代数运算 9 能将高级语言编写的源程序转换为目标程序的软件是 ( A)汇编程序 ( B)编辑程序 ( C)解释程序 ( D)编译程序 10 从 Windows环境进入 MSDOS 方式后,返回 Win
4、dows环境的 DOS命令为 ( A) EXIT ( B) QUIT ( C) RET ( D) MSDOS 11 若有下列定义 (设 int类型变量占 2个字节 ): float x=123.4567; 则下列语句: printf(“x=%5.2f“,x); 输出的结果是 ( )。 ( A) x=123.46 ( B) 123.4567 ( C) x=123.4567 ( D) 123.46 12 已知各变量的类型说明如下: int k, a, b; unsigned long w=5; double x=1.42; 则以下不符合 C语言语法的表达式是 ( A) x%(-3) ( B) Wd
5、+=-2 ( C) k=(a=2, b=3, a+ ( D) a+=9-=(b=4)*(a=3) 13 若二维数组 a有 m列,则在 aij前的元素个数为 ( )。 ( A) j*m+i ( B) i*m+j ( C) j*m+i+1 ( D) i*m+j+1 14 下述语句中,在字符串 s1和 s2相等时显示 “they are Equal”的是 ( )。 ( A) if(*s1=*s2) puts(“they are Equal”); ( B) if(!strcmp(s1, s2) puts(“they are Equal”); ( C) if(s1=s2) puts(“they are
6、Equal”); ( D) if(strcmp(s1, s2) puts(“they are Equal”); 15 对下列二叉树进行中序遍历的结果是 ( )。 ( A) ABCDEFGH ( B) ABDGEHCF ( C) GDBEHACF ( D) GDHEBFCA 16 下列程序执行后的输出结果是 ( )。 void fune(int*a, int b) b0=*a+b; main() int a, b5; a=0; b0=3; func( for(i=0;i 3;i+) switch(i) case 0: prinft(“%d“,i); case 2: prinft(“%d“,i);
7、 default:prinft(“%d“,i); 程序运行后的输出结果是 ( A) 22111 ( B) 21021 ( C) 122 ( D) 12 18 下面程序的执行结果是 _。 main() char str=“quert?“,*p=str; while(putchar(*p+)!=?); ( A) quert ( B) Rvfsu ( C) quert? ( D) rvfsu? 19 有下列程序: #include stdio.h main() int a=6, b=7, m=1; switch(a%2) case 0: m+; break; case 1: m+; switch(b
8、%2) defaut: m+; case0: m+; break; printf(“%dn“, m); 程序运行后的输出结果是( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 20 当把以下四个表达式用作 if语句的控制表达式时, 有一个选项与其他三个选项含义不同,这个选项是 _。 ( A) k%2 ( B) k%2=1 ( C) (k%2)!=0 ( D) !k%2=1 21 已知字母 A的 ASCII代码值为 65,若变量 kk为 char型,下列不能正确判断出比中的值为大写字母的表达式是 ( )。 ( A) kk =A ( B) #define N 100 int num
9、N; ( C) int num0100; ( D) int N=100; int numN; 23 下面程序的输出结果是 #include stdio.h #include string.h main() char *pl=“abc“, *p2=“ABC“, str50=“xyz“; strcpy(str+2, strcat(p1, p2); printf(“%sn“, str); ( A) xyzabcABC ( B) zabcABC ( C) xyabcABC ( D) yzabcABC 24 若执行下面的程序时,从键盘输入 5和 2,则输出结果是 main( ) int a,b,k; s
10、canf(“%d,%d“, k=a; if(a b)k=a%b; else k=b%a; printf(“%dn“,k); ( A) 5 ( B) 3 ( C) 2 ( D) 0 25 下列程序的功能:给 r输入数据后计算半径为 r的圆面积 s。程序在编译时出错。 main() /* Beginning */ int r; float s; scanf(“%d“, r); star*r*r; printf (“s %fn“,s); 出错的原因是 ( )。 ( A)注释语句书写位置错误 ( B)存放圆半径的变量 r不应定义为整型 ( C)输出语句中格式描述符非法 ( D)计算圆面积 的赋值语句使
11、用非法变量 26 有以下程序 point(char*p) p+=3; main() char b4=a, b,c, d, *p=b; point(p); printf(“%cn“,*p); 程序运行后的输出结果是_。 ( A) a ( B) b ( C) c ( D) d 27 有以下程序 main() int i=1, j=2, k=3; if(i+=1 i1=f(2); i2=f(1+1); printf(“%d %dn“,i1,i2); 程序的运行结果是 ( A) 12 12 ( B) 11 7 ( C) 11 11 ( D) 12 7 29 以下程序的功能是:给 r输入数据后计算半径为
12、 r的圆面积 s。 #include stdio, h main( )/* Beginning */ int r; float s; scanf(“% d“, s = * r*r;printf(“s =%fn“,s); 程序在编译时出错,出错的原因是 ( )。 ( A)注释语句书写位置错误 ( B)存放圆半径的变量 r不应该定义为整型 ( C)输出语句中格式描述符 非法 ( D)计算圆面积的赋值语句中使用了非法变量 30 阅读以下函数: fun(char *s1,char *s2) int i=0; while(s1i=s2i return(s1i=0 此函数的功能是 ( )。 ( A)将 s
13、2所指字符串赋给 s1 ( B)比较 s1和 s2所指字符串的大小,若 s1比 s2的大,函数值为 1,否则函数值为 0 ( C)比较 s1和 s2所指字符串是否相等,若相等,函数值为 1,否则函数值为 0 ( D)比较 s1和 s2所指字符串的长度,若 s1比 s2的长,函数值为 1,否则函数值为 0 31 下面程序的输出结果是 _。 main() char str10,c=a; int i=0; for(;i 5;i+) Stri=c+; printf(“%s“,str); ( A) abcde ( B) a ( C)不确定 ( D) bcdef 32 若输入 1,2,下列程序 的运行结果
14、为 _。 #define SWAP(a,b) t=b;b=a;a=t main () int a,b, t; scanf (“%d, %d“, SWAP (a,b); printf (“a=%d,b=%dn“, a,b); ( A) a=1,b=2 ( B) a=2,b=1 ( C) a=1,b=1 ( D) a=2,b=2 33 有如下程序 main() int x=1,a=0,b=0; switch(x) case 0: b+; case 1: a+; case 2: a+;b+; printf(“a=%d,b=%dn“,a,b); 该程序的输出结果是 _。 ( A) a=2,b=1 (
15、B) a=1,b=1 ( C) a=1,b=0 ( D) a=2,b=2 34 有下面程序段 #include“stdio.h“ #include“string.h“ main() char a320=“china“; “isa“, bigcountry!“; char k100=0, *p=k; int i; for(j=0; j 3;i+) p=strcat(p, ai); i=strlen(p); printf(“%dn“, i); 则程序段的输出结果是 ( A) 18 ( B) 19 ( C) 20 ( D) 21 35 有以下程序: int f(int b4) int i,j,s=0
16、; for(j=0;i 4;i+) i=j; if(i 2) i=3-j; s+=bij; return s; main() int a44=1,2,3,4,0,2,4,6,3,6,9,12,3,2,1,0; printf(“%dn“,f(a); 执行后的输出结果是 ( )。 ( A) 12 ( B) 11 ( C) 18 ( D) 16 36 s1和 s2已正确定义并分别指向两个字符串,若要求:当 s1所指串大于 s2所指串时,执行语句 S;则以下选项中正确的是 ( A) if(s1 s2)S; ( B) if(strcmp(s1,s2)S; ( C) if(strcmp(s2,s1) 0)
17、S; ( D) if(strcmp(s1,82) 0)S; 37 字符串 “ABCDEF“的长度是 ( )。 ( A) 15 ( B) 10 ( C) 7 ( D) 8 38 若有定义 float a15,*p=a;,且数组 a的首地址为 300H,则 p+13所指向的数组元素的地址为 ( )。 ( A) 334H ( B) 30DH ( C) 352H ( D) 31AH 39 在 C语言中,函数返回值的类型最终取决于 ( )。 ( A)函数定义时在函数首部所说明的函数类型 ( B) return语句中表达式值的类型 ( C)调用函数时主调函数所传递的实参类型 ( D)函数定义时形参的类型
18、40 有以下程序: #include stdi0.h main( ) FILE *fp; int i=20, j=50, k, n; fp=fopen(“d1.dat“, “W“); fprintf(fp, “%dn“,i); fprintf(fp, “%dn“, j); fclose(fp); fp=fopen(“d1.dat“, “r“, ); fscanf(fp, “%d%d“, k, n); printf(“%d%dn“, k, n); fclose(fp); 程序运行后的输出结果是 ( A) 20 30 ( B) 20 50 ( C) 30 50 ( D) 30 20 41 有以下程
19、序 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, 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,
20、9, 10, 42 在数据库中用数据模型这个工具来抽象、表示和处理现实世界中的数据和信息。常见的数据模型有 3种,它们分别是层次模型、网状模型和 _。 43 在面向对象方法中,类之间共享属性和操作的机制称为【 】。 44 一个模块直接访问另一个模块的内容,称为【 】藕合。 45 软件测试中路径覆盖测试是整个测试的基础,它是对软件【 】进行测试。 46 算法复杂度主要包括时间复杂度和【 】复杂度。 47 下列程序的运行结果是 _。 #include stdio.h long func(int x) long p; if(x=0x=1) return(1); p=x*func(x-1); retu
21、rn(p); main() printf(“%dn“, func(4); 48 在两种基本测试方法中, ( )测试的原则之一是保证所测模块中每一个独立路径至少执行一次。 49 下列程序的功能是将输入的正整数按逆序输出。例如,若输入 135,则输入531,请填空。 #include main() int n, s; printf(“Enter a number: “); scanf(“ d“, float b; char c; abc, *p_abc=“,则对结构体成员 a的引用方法可以是 abc.a和 p_abc【 】 a。 51 mysulen函数的功能是计算 str所指字符串的长度,并作为
22、函数值返回。请填空。 int mystrlen(Char *str) int i; fori=0; !=0; i+); return(_); 52 若有以下函数定义, 函数返回值的类型是【 】。 fun(double A) return a*a*a; 53 设在主函数中有以下定义和函数调用语句,且 fun函数为 void类型;请写出fun函数的首部 【 】 。要求形参名为 b。 main() double s1022; int n; fun(s); 54 设有以下变量定义,并已赋确定的值, char w; int x; floaty; double Z; 则表达式: w*x+z-y所求得的数据
23、类型为 上 【 】 。 55 下面 rotate函数的功能是:将 n行 n列的矩阵 A转置未 AT,例如: 请填空 #define N 4 void rotate(int a) int i,j,t; for(i=0;i N;i+) for(j=0;【 】 ;j+) t=aij;【 】 ; aji=t; 56 下面程序的功能是将字符串 a下标值为偶数的元素由小到大排序,其他元素不变,请填空。 #include stdio.h main() char a=“labchmfye“,t; int i,j; for(i=0;i 7;i+=2) for(j=i+2;j 9;【 】 ) if(【 】 ) t
- 1.请仔细阅读文档,确保文档完整性,对于不预览、不比对内容而直接下载带来的问题本站不予受理。
- 2.下载的文档,不会出现我们的网址水印。
- 3、该文档所得收入(下载+内容+预览)归上传者、原创作者;如果您是本文档原作者,请点此认领!既往收益都归您。
下载文档到电脑,查找使用更方便
2000 积分 0人已下载
下载 | 加入VIP,交流精品资源 |
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 计算机 试卷 国家 二级 语言 笔试 模拟 218 答案 解析 DOC
