[计算机类试卷]国家二级(C语言)笔试模拟试卷194及答案与解析.doc

上传人:刘芸 文档编号:503356 上传时间:2018-11-29 格式:DOC 页数:24 大小:70KB
下载 相关 举报
[计算机类试卷]国家二级(C语言)笔试模拟试卷194及答案与解析.doc_第1页
第1页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷194及答案与解析.doc_第2页
第2页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷194及答案与解析.doc_第3页
第3页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷194及答案与解析.doc_第4页
第4页 / 共24页
[计算机类试卷]国家二级(C语言)笔试模拟试卷194及答案与解析.doc_第5页
第5页 / 共24页
点击查看更多>>
资源描述

1、国家二级( C语言)笔试模拟试卷 194及答案与解析 1 数据的存储结构是指 ( )。 ( A)存储在外存中的数据 ( B)数据所占的存储空间量 ( C)数据在计算机中的顺序存储方式 ( D)数据的逻辑结构在计算机中的表示 2 按照 “后进先出 ”原则组织数据的数据结构是 ( )。 ( A)队列 ( B)栈 ( C)双向链表 ( D)二叉树 3 下列叙述中正确的是 ( )。 ( A)数据的逻辑结构与存储结构必定是一一对应的 ( B)由于计算机存储空间是向量式的存储结构,因此 ,数据的存储结构一定是线性结构 ( C)程序设计语言中的数组一般是顺序存储结构,因此,利用数组只能处理线性结构 ( D)

2、以上三种说法都不对 4 在长度为 64的有序线性表中进行顺序查找,最坏情况下需要比较的次数为( )。 ( A) 63 ( B) 64 ( C) 6 ( D) 7 5 在结构化程序设计中,模块划分的原则是 ( )。 ( A)各模块应包括尽量多的功能 ( B)各模块的规模应尽量大 ( C)各模块之间的联系应尽量紧密 ( D)模块内具有高内聚度、模块间具有低耦合度 6 下 列对于软件测试的描述中正确的是 ( )。 ( A)软件测试的目的是证明程序是否正确 ( B)软件测试的目的是使程序运行结果正确 ( C)软件测试的目的是尽可能地多发现程序中的错误 ( D)软件测试的目的是使程序符合结构化原则 7

3、结构化程序设计的基本原则不包括 ( )。 ( A)多态性 ( B)自顶向下 ( C)模块化 ( D)逐步求精 8 在数据库系统中,用户所见的数据模式为 ( )。 ( A)概念模式 ( B)外模式 ( C)内模式 ( D)物理模式 9 数据独 立性是数据库技术的重要特点之一。所谓数据独立性是指 ( )。 ( A)数据与程序独立存放 ( B)不同的数据被存放在不同的文件中 ( C)不同的数据只能被对应的应用程序所使用 ( D)以上三种说法都不对 10 用树形结构表示实体之间联系的模型是 ( )。 ( A)关系模型 ( B)网状模型 ( C)层次模型 ( D)以上三个都是 11 算法具有五个特性,以

4、下选项中不属于算法特性的是 ( )。 ( A)有穷性 ( B)简洁性 ( C)可行性 ( D)确定性 12 设变 量已正确定义并赋值,以下正确的表达式是 ( )。 ( A) x=y*5=x+z ( B) int(15.8%5) ( C) x=y+z+5, +y ( D) x=25%5.0 13 6-5/2+1.2+5%2的值是 ( )。 ( A) 4.3 ( B) 4.8 ( C) 3.3 ( D) 3.8 14 有以下程序段: char ch; int k; ch=a; k=12; printf(“%c,%d,“,ch,ch,k);printf(“k=%dn“,k); 已知字符 a的 ASC

5、 十进制代码为97,则执行上述程序段后输出的结果是 ( )。 ( A)因变量类型与格式描述符的类型不匹配输出无定值 ( B)输出项与格式描述符个数不符,输出为零值或不定值 ( C) a, 97, 12k=12 ( D) a, 97, k=12 15 若在定义语句: int a,b,c*p= c;之后,接着执行以下选项中的语句,则能正确执行的语句是 ( )。 ( A) scanf(“%d“,a,b,C); ( B) scanf(“%d%d%d“,a,b,C); ( C) scanf(“%d“,p); ( D) scanf(“%d“, p); 16 在嵌套使用 if语句时, C语言规定 else总

6、是 ( )。 ( A)和之前与其具有相同缩进位置的 if配对 ( B)和之前与其最近的 if配对 ( C)和之前与其最近不带 else的 if配对 ( D)和之前的第一个 if配对 17 若整型变量 a、 b、 c、 d中的值依次为 1、 4、 3、 2。则条件表达式 a b?a:cd?c:d的值是 ( )。 ( A) 1 ( B) 2 ( C) 3 ( D) 4 18 有以下程序段: 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 19 有以下程序: #inclu

7、de stdio.h main() int x=8; for(;x 0;x-) if(x%3) printf(“%d,“,x-);continue; printf(“%d,“,-x); 程序的运行结果是 ( )。 ( A) 7,4,2 ( B) 8,7,5,2 ( C) 9,7,6,4 ( D) 8,5,4,2 20 有以下程序: main() int k=5, n=0; do switch(k) case1: case3:n+=1; k-; break; default:n=0;k-; case2: case4:n+=2;k-;break; printf(“%d“, n); while(k

8、0 n 5); 程序运行后的输出结果是 ( )。 ( A) 235 ( B) 235 ( C) 2356 ( D) 2356 21 有以下程序: main() int i,j,x=0; for(i=0;i 2;i+) x+; for(j=0;j=3;j+) if(j*2)continue; x+; x+; printf(“x=%dn”,x); 程序执行后的输出结果是 ( )。 ( A) x=4 ( B) x=8 ( C) x=6 ( D) x=12 22 有定义语句: char s10;,若要从终端给 s输入 5个字符,错误的输入语句是( )。 ( A) gets( s0); ( B) sca

9、nf(“%s“,s+1); ( C) gets(s); ( D) scanf(“%s“,s1); 23 已知大写字母 A的 ASC 码是 65,小写字母 a的 ASC 码是 97,以下不能将变量 C中的大写字母转换为对应小写字母的语句是 ( )。 ( A) c=(c-A)%26+a ( B) c=c+32 ( C) c=c-A+a ( D) c=(A+C)%26-a 24 有以下程序: #include stdio.h void fun(int*s,int nl,int n2) int i,j,t; i=nl;j=n2; while(i j)t=si;si=sj;sj=t;i+;j-; mai

10、n() int a10=1,2,3,4,5,6,7,8,9,0,k; fun(a,0,3);fun(a,4,9);fun(a,0,9); for(k=0;k10;k+)printf(“%d“,ak);printf(“n“); 程序运行的结果是 ( )。 ( A) 9.87654e+008 ( B) 4.3211e+009 ( C) 5.6789e+009 ( D) 9.87651e+008 25 设函数 fun的定义形式为: void fun(char ch, float x) 则以下对函数 fun的调用语句中,正确的是 ( )。 ( A) fun(“abc“, 3.0); ( B) t=fu

11、n(D,16.5); ( C) fun(65,2.8); ( D) fun(32,32); 26 若有定义: int x=0, *p= x;,则语句 printf(“%dn“,*p);的输出结果是 ( )。 ( A)随机值 ( B) 0 ( C) x的地址 ( D) p的地址 27 设有如下程序段: char s20=“Bejing“,*P; p=s; 则执行 p=s;语句后,以下叙述正确的是 ( )。 ( A)可以用 *P表示 s0 ( B) s数组中元素的个数和 p所指字符串长度相等 ( C) s和 p都是指针变量 ( D)数组 s中的内容和指针变量 p中的内容相等 28 以下能正确定义一

12、维数组的选项是 ( )。 ( A) int a5=0,1,2,3,4,5); ( B) char a=0,1,2,3,4,5); ( C) char a=A,B,C; ( D) int a5=“0123“; 29 若有语句: char*line5;,以下叙述中正确的是 ( )。 ( A)定义 line是一个数组,每个数组元素是一个基类型为 char的指针变量 ( B)定义 line是一个指针变量,该变量可以指向一个长度为 5的字符型数组 ( C)定义 line是一个指针数组,语句中的 *号称为间址运算符 ( D)定义 line是一个指向字符型函数的指针 30 若有定义语句: int k23,

13、*pk3;,则以下语句中正确的是 ( )。 ( A) pk=k; ( B) pk0= k12; ( C) pk=k0; ( D) pk1=k; 31 有以下程序: #include stdio.h void fun(char*t,char*s) while(*t!=0)t+; while(*t+=*s+)!=0); main() char ss10=“acc“,aa10=“bbxxyy“; fun(ss,Aa); printf(“%s,%sn“,ss,Aa); 程序的运行结果是 ( )。 ( A) accxyy, bbxxyy ( B) acc,bbxxyy ( C) accxxyy,bbxx

14、yy ( D) accbbxxyy,bbxxyy 32 有以下程序: #include string.h main() char p20=a,b,c,d,q=“abc“,r=“abcde“; strcpy(p+strlen(q),r);strcat(p,q); printf(“%d%dn“,sizeof(p), strlen(p); 程序运行后的输出结果是 ( )。 ( A) 20 9 ( B) 9 9 ( C) 20 11 ( D) 11 11 33 若有定义: char*x=“abcdefghi“;,以下选项中正确运用了 strcpy函数的是 ( )。 ( A) char y10; str

15、cpy(y,x4); ( B) char y10;strcpy(+y, x1); ( C) char y10,*s;strcpy(s=y+5,x); ( D) char y10,*s;strcpy(s=y+1,x+1); 34 有以下程序: fun(int x) int p; if(x=0|x=1)return(3); p=x-fun(x-2); return p; main() printf(“%dn“, fun(7); 执行后的输出结果是 ( )。 ( A) 7 ( B) 3 ( C) 2 ( D) 0 35 有以下程序: #define P 3 void F(int x)return(P

16、*x*x); main() printf(“%dn“,F(3+5); 程序运行后 的输出结果是 ( )。 ( A) 192 ( B) 29 ( C) 25 ( D)编译出错 36 有以下程序: #include stdio.h main() int a=1,b=2,c=3,x; x=(aB) c; printf(“%dn“,x); 程序的运行结果是 ( )。 ( A) 0 ( B) 1 ( C) 2 ( D) 3 37 有以下程序: #include stdio.h main() FILE*fp;int i,k,n; fp=fopen(“data.dat“,“w+“); for(i=1;i 6

17、;i+) fprimtf(fp,“%d“,i); if(i%3=0)fprintf(fp,“n“); rewind(fp); fscanf(fp,“%d%d“, k,n);printf(“%d%dn“,k,n); fclose(fp); 程序运行后的输出结果是 ( )。 ( A) 0 0 ( B) 123 45 ( C) 1 4 ( D) 1 2 38 有以下程序: #include stdio.h int a=1; int fun(intC)static int a=2; c=c+1; return(a+)+c; main() int i,k=0; for(i=0;i 2;i+)int a=

18、3;k+=f(A); k+=a; printf(“%dn“,k); 程序的运行结果是 ( )。 ( A) 14 ( B) 15 ( C) 16 ( D) 17 39 在深度为 7的满二叉树中,度为 2的节点个数为 ( )。 40 对下列二叉树进行中序遍历的结果为 ( )。 41 测试用例包括输入值集和 ( )值集。 42 软件生命周期可分为多个阶段,一般分为定义阶段、开发阶段和维护阶段。编码和测试属于 ( )阶段。 43 在关系数据库中,用来表示实体之间联系的是 ( )。 44 以下程序运行后的输出结果是 ( )。 main() int m=011, n=11; printf(“%d%dff“

19、,+m, n+); 45 已定义 char ch=“$“; int i=1,j;执行 j=! ch i+以后, i的值为 ( )。 46 以下程序用于判断 a、 b、 c能否构成三角形,若能,输出 YES,否则输出NO。当给 a、 b、 c输入三角形三条边长时,确定 a、 b、 c能构成三角形的条件是需同时满足三个条件: a+b c, a+c b, b+c a。请填空。 main() float a,b,c; scanf(“%f%f%f“, a, b, C); if( )printf(“YESn“); /*a、 b、 c能构成三角形 */ else printf(“NOn“);/*a、 b、

20、c不能构成三角形 */ 47 以下程序的功能是:输出 100以内 (不含 100)能被 3整除且个位数为 6的所有整数,请填空。 main() (int i,j; for(i=0;i i0;i+) j=i*10+6; if( )continue; printf(“%d“, j); 48 已知字符 A的 ASC 代码值为 65,以下程序运行时若从键盘输入: B33回车则输出结果是 ( )。 #include main() char a,b; a=getchar(); scanf(“%d“, B); a=a-A+0;b=b*2; printf(“%c%cn“,a,B); 49 已有定义: doub

21、le*P;,请写出完整的语句,利用 malloc函数使 p指向一个双精度型的动态存储单元 ( )。 50 以下程序中, fun函数的功能是求 3行 4列二维数组每行元素中的最大值,请填空: void fun(int, int, int(*)4, int*); main() int a34=12,41,36,28,19,33,15,27,3,27,19,1,b3,i; fun(3,4,a,B); for(i=0;i 3;i+)printf(“%4d“,bi); printf(“n“); void fun(int m,int n,int ar4,int*bar) int i,j,x; for(i=

22、0;i m;i+) X=ari0; for(j=0;j n;j+)if(x arij)x=arij; ( )=x: 51 以下程序运行后的输出结果是 ( )。 #include string.h void fun(char*s,int p,int k) int i; for(i=P;i k-1;i+)si=si+2; main() char s=“abcdefg“; fun(s,3,strlen(s); puts(s); 52 以下程序运行后的输出结果是 ( )。 fun(intA) int b=0; static int c=3; b+;c+; return(a+b+C); main() i

23、nt i, a=5; for(i=0;i 3;i+)printf(“%d%d“,i,fun(A); printf(“n“); 53 设有定义: FILE*fw;,请将以下打开文件的语句补充完整,以便可以向文本文件read me txt的最后续写内容。 fw=fopen(“readme.txt“,“( )“) 国家二级( C语言)笔试模拟试卷 194答案与解析 1 【正确答案】 D 【试题解析】 数据的逻辑结构是指反映数据元索之间逻辑关系的数据结构;数据的存储结构是指数据的逻辑结构在计算机存储空间中的存放形 式,常用的存储结构有顺序、链接、索引等。在数据的存储结构中,不仅要存放各数据元素的信息,

24、还需要存放各数据元素之间的前后件关系的信息。 2 【正确答案】 B 【试题解析】 栈按照 “先进后出 ”(FILO)或 “后进先出 ”(LIFO)组织数据,队列是按照 “先进先出 ”(FIFO)或 “后进后出 ”(LILO)组织数据,二叉树通常采用链式存储结构。 3 【正确答案】 D 【试题解析】 一般来说,一种数据结构根据需要可以表示成多种存储结构,所以数据的逻辑结构与存储结构不是一一对应的常用的存储结构有顺序、 链接、索引等,而采用不同的存储结构其数据处理的效率是不同的。 4 【正确答案】 B 【试题解析】 对于长度为 n的有序线性表,在最坏情况下,顺序查找需要比较 n次。 5 【正确答案

25、】 D 【试题解析】 在结构化程序设计中,模块划分的原则是:模块内具有高内聚度,模块间具有低耦合度。 6 【正确答案】 C 【试题解析】 软件测试的目的:尽可能地多发现程序中的错误,不能也不可能证明程序没有错误,软件测试是一个发现错误而执行程序的过程。软件调试的目的是发现错误的位置,并改正错误。 7 【正确答案】 A 【试题解析】 结构化程序设计方法的主要原则可以概括为自顶向下、逐步求精、模块化和限制使用 goto语句。程序设计时应先考虑整体,后考虑细节,逐步使问题具体化,这就是自顶向下的设计原则;对于复杂的问题,应设计一些子目标作为过渡,逐步细化,这就是逐步求精的设计原则;模块化是把程序要解

26、决的总目标分解为分目标,再进一步分解为小目标,把每个小目标称为一个模块。 goto语句是有害的,是造成程序混乱的祸根,程序的质量与 goto语句的数量成反比,应该在所有高级程序设计语言中取消 goto语句。 8 【正确答案】 B 【试题解析】 数据库系统的三级模式: 概念模式:数据库系统中全局数据逻辑结构的描述,全体用户公共数据视图; 外模式:也称子模式与用户模式,是用户的数据视图,也就是用户所见到的数据模式; 内模式:又称物理模式,它给出了数据库物理存储结构与物理存取方法。 9 【正确答案】 D 【试题解析】 数据独立性是数据与程序间的互不依赖性,即数据库中数据独立于应用程序而不依赖于应用程

27、序。也就是说,数据的逻辑结构、存储结构与存取方式的改变不会影响应用程序。数据独立性一般分为物理独立性与逻 辑独立性两级。 10 【正确答案】 C 【试题解析】 用树形结构表示实体类型及实体间联系的数据模型称为层次模型,用有向图结构表示实体类型及实体问联系的数据模型称为网状模型,用二维表格结构表示实体及其联系的数据模型称为关系模型。 11 【正确答案】 B 【试题解析】 一个算法应该具有以下 5个特性:有穷性、确定性、可行性、有零个或多个输入、有一个或多个输出。 12 【正确答案】 C 13 【正确答案】 D 14 【正确答案】 D 15 【正确答案】 C 16 【正确答案】 C 17 【正确答

28、案】 A 18 【正确答案】 B 19 【正确答案】 D 【试题解析】 本题考查 for循环语句。 x=8, for循环条件为真, 8%3=2,不等于0,则 if条件表达式为真,执行第一个输出语句,先输出 x的值 8,然后将 x的值减 1,此时 x=7。然后执行 continue语句结束本次循环。执行 x-表示式,得x=6, for循环条件为真 6%3=0,则 if条件表达式为假 ,执行第二个输出语句,先将 x的值减 1得 x=5,然后输出 x的值 5。执行 x-表示式,得 x=4, for循环条件为真, 4%3=1,不等于 0,则 if条件表达式为真,执行第一个输出语句,先输出 x的值 4,

29、然后将 x的值减 1,此时 x=3。然后执行 continue语句结束本次循环。执行 x-表示式,得 x=2, for循环条件为真, 2%3=2,不等于 0,则 if条件表达式为真,执行第一个输出语句,先输出 x的值 2,然后将 x的值减 1,此时 x=1。执行x-表示式,得 x=0, for循环条件为假,循环结束。 20 【正确答案】 A 【试题解析】 do-while语句的特点是先执行循环体,然后再判断循环条件是否成立,当循环条件的值为 0时循环结束。 本题中执行 switch语句,寻找与 5匹配的case 5分支,没有寻找到则执行 default后的语句, n=0, k的值变为 4,继续

30、执行switch语句,寻找与 4匹配的 case 4分支,找到后开始执行其后的语句 “n+=2;k-;”,n的值为 2, k的值变为 3,遇到 break语句跳出该 switch语句体。执行 print语句输出 2;此时 n=2,k=3依旧满足 do-while循环条件,将用同样的方式再次执行switch语句,直到 n=5时不再满足 do-while循环条件退出所有的循环。 21 【正确答案】 B 【试题解析】 内层 for循环语句实现 x=x+2,故外层 for循环语句单次循环实现x=x+4,所以程序执行后的输出结果为 x=8。 22 【正确答案】 D 【试题解析】 字符串的输入有两种方式:

31、使用 scanf()函数和使用 get()函数。采用 scanf()函数输入时,输入项为字符串的地址值,输入字符依次放入以这一地址为起点的存储单元中。选项 C是正确的,输入字符从数组的第 2个位置开始存放;选项 D是错误的, s1是字符,不是地址值。 gets()的调用形式为:gets(str_adr),其中 str_adr为存放字符串的首地址。选项 A中 , s0为数组的首地址 ,选项 C中, s也为数组的首地址因此选项 A和 C都是正确的。 23 【正确答案】 D 【试题解析】 由 97-65=32可知大写字母对应的小写字母之间相差 32,所以将大写字母加上 32就得到小写字母,所以选项

32、B和 C是正确的。选项 A 中 (cA)%26 可以求出变量 c中的字母与字母 A相差几位那么小写字母 a的 ASC码向后移动相差的位数就是对应的小写字母,所以选项 A也是正确的。 24 【正确答案】 C 【试题解析】 函数 fun的功能是: 将数组 s中从 n1至 n2的元素首尾互换,然后将第 2个和倒数第 2个元素互换,依次类推,其实也就是将原来的元素倒置。执行 fun(a,0,3);将数组 a中的第 0 3个元素互换,结果为 4 32 1;执行 fun(a,4,9);将数组 a中的第 4 9个元素互换,结果为 0 9 8 7 65。此时 a中的元素依次为 4 3 2 1 0 9 8 7

33、6 5,执行 fun(a,0,9);再次将这 10个元素倒置,结果为 5 6 7 8 9 0 1 2 3 4。 25 【正确答案】 D 【试题解析】 函数调用时,函数名必须与所调用的 函数名完全一致,且实参的个数必须与形参的个数一致,类型上也应按位置与形参一一对应匹配。选项 A中abc是字符串,与形参不匹配;由于 fun函数的返回值类型为 vold,所以选项 B中进行了赋值操作是不正确的;选项 C中的 65是不合法的表示形式,单引号中应该是单个字符。所以只有选项 D是合法的函数调用形式。 26 【正确答案】 B 【试题解析】 p为整型指针,指向整型变量 x,输出项为 *p,即 x的值,所以输出

34、结果为 0。 27 【正确答案】 A 【试题解析】 在变量的定义中可以看到, p是指向字符的指针 ,执行 p=s;后,指针 p的值为数组 a的首地址, *p=s0,因此选项 A是正确的; P所指向的字符串为 “Beijing”,长度为 7,而数组 a中元素的个数为 20,因此选项 B是错误的; s为数组名,也可以看作是数组 s的首地址,不是指针变量,因此选项 C是错误的;数组 s中的内容为字符串,指针变量 p中的内容为数组 s的首地址,因此选项D是错误的。 28 【正确答案】 B 【试题解析】 C语言一维数组的定义有两种方式:一是指定数组长度,如选项A“int a5=0,1,2,3,4,5;

35、”,但此定义的赋初值个数 为 6,多于数组长度,是错误的。因为给数组赋初值,初值个数只能小于或等于数组长度。二是不指定数组长度,由赋初值的初值个数决定数组的长度,如选项 B的 “chara=0,1,2,3,4,5;”,初值个数为 6,因此数组长度为 6。所以能正确定义一维数组。选项 C的定义中 a是一个字符变量,不能正确定义一维数组。选项 D“int a5=“0123”; ”给 int型数组赋字符串初值,显然是错误的。 29 【正确答案】 A 【试题解析】 本题考查指针数组的定义,说明符 *line5中,遵照运算符的优先级, 的优先级高于 *号,因此 line先与 结合,构成一个数组,在它前面

36、的 *号则说明了数组 line是指针类型,它的每个元素都是基类型为 char的指针。所以选项A叙述正确。 30 【正确答案】 B 【试题解析】 k23为二维数组, *pk3为指针数组, 运算符优先级高,因此pk先与 3绱合,是数组,然后再与前面的 *结合,因此只有语句 pk0= k12正确。 31 【正确答案】 D 【试题解析】 本题考查的重点是数组与指针的关系。函数 fun()中用两个指针来访问实参的两个数 组。而函数 fun的功能是将第二个字符串合并到第一个的末尾,因此选项 D是正确的。 32 【正确答案】 C 【试题解析】 题目中 p+strlen(q)的作用是在数组元素 p0地址的基础

37、上向后移动三位,然后再将 r所指字符串内容复制到 p所指的存储空间中,字符 d被覆盖,p20=a,b,c,a,b,c,d,e)。然后通过 “strcat(p,q); ”将 q所指的字符串内容连接到 p所指的字符串后面, p20=a,b,c,a,b,c,d,e,a,b,c,。在输出语句中 strlen(p)是求字符串的长度,值为 ll; sizeof(p)用来求数组 p占多少字节,值为 20。 33 【正确答案】 D 【试题解析】 字符串复制函数 strcpy调用形式为: “strcpy(s1, s2)”,其功能为把 s2所指字符串的内容复制到 s1所指空间,函数返回 s1的值,即目的串的首地址

38、。为保证复制的合法性, s1必须指向一个足够容纳 s2串的存储空间。 34 【正确答案】 C 【试题解析】 x=7,通过递归调用 fun函数后得到结果。 35 【正 确答案】 A 【试题解析】 本题的函数 F的功能是,对于形参 x,返回 3*x*x的值。因此对于函数调用 “F(3+5); ”先计算得到实参结果是 8,然后调用 F,返回结果应该是388=192。正确选项是 A。 36 【正确答案】 D 【试题解析】 本题考查的重点是位运算的操作。 a的二进制为 01, b的二进制为10,因此 a-b结果为二进制数 11,再与 c(二进制为 11)进行操作,从而得二进制数 11,故选项 D是正确的

39、。 37 【正确答案】 D 【试题解析】 语句 “fprintf(fp, ”%d” , i); ”的作用是将变量 i的值直接按 “%d”的格式输出到文件 fp指向的文件上; “rewind(fp)”的作用是使指针重新返回文件的开头; “fscanf(fp, “%d%d“, k, n); ”的作用是将磁盘文件中的数据传送给变量 k和 n。 38 【正确答案】 A 【试题解析】 本题考查的重点是对 static变量以及全局变量的理解。 static变量是函数或文件中的永久变量。本题中 static int a=2语句定义了一个 static局部变量,编译程序为其生成永久存储单元,即调用函数 fun

40、时,其值一直都保存着 ,而不是使用函数外所赋的值 (尽管开头定义了一个同名的全局变量 )。在主函数中,for循环进行两次,第一次循环得 f(3)=3+1+2=6,从而 k+=f(3)=6,第二次循环由于 static局部变量 a变成了 3,从而 f(3)的值为 7,故 k+=f(3)=13,再执行 k+=a时,此时 a的值为全局变量,其值为 1,故 k的值为 14,选项 A是正确的。 39 【正确答案】 63 【试题解析】 满二叉树的第 k层上有 2k-1个结点,度为 k的满二叉树一共有 2k-1个结点,由二叉树的性质可知:除去第 k层上的结点,其他所有结点都 是度为 2的结点,所以度为 2的

41、结点数为 2k-1-2k-1,即 27-1-27-1=63。 40 【正确答案】 ACBDFEHGP 【试题解析】 二叉树的中序遍历 (LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。 41 【正确答案】 输出 【试题解析】 测试用例是为测试设计的数据,测试用例由测试输入数据和与之对应的预期输出结果两部分组成。测试用例的格式为: (输入值集 ), (输出值集 )。 42 【正确答案】 开发 【试题解析】 软件生命周期可以分为软件定义、软件开发和软件运 行维护 3个阶段,其中软件开发包括软件设计 (概要设计和详细设计 )、软件实施、软件测试等。 43 【正确答案】 关系 【试题解析】

42、关系数据库系统采用关系模型作为数据的组织方式,在关系模型中用二维表来表示实体及实体之间的联系。 44 【正确答案】 10 11 【试题解析】 赋值表达式 m=011中的常数 011为八进制, +m后以十进制数格式 “%d” 输出为 10。 45 【正确答案】 1 【试题解析】 用 “ ”连接两个表达式时,若第 1个表达式的值为 “假 ”,则运算结果与第 2个表达式无关, 此时第 2个表达式将不再进行计算。本题中第 1个表达式 “j=!ch”值为 0,所以第 2个表达式 i+将不再进行计算, i的值为 1。 46 【正确答案】 (a+b C) (a+c B) (b+c A) 【试题解析】 本题主

43、要考查运算符逻辑与 “ ”的用法。 47 【正确答案】 j%3 !=0 【试题解析】 for循环语句中表达式 “j=i*10+6; ”可以给出 100以内个位数为 6的所有整数,因此 if语句只需判断该数能否被 3整除即可,可应用取余运算表达式 “j%3 !=0” 判断。 48 【正确答 案】 1 B 49 【正确答案】 P=(double*)malloc(sizeof(double) 【试题解析】 malloc函数的调用形式为: malloc(size),函数用来分配 sizc个字节的存储区,返回一个指向存储区首地址的基类型为 void的地址。题目要求双精度类型指针 p指向一个双精度类型的动

44、态存储单元,需要利用 sizeof运算符来求得数据类型所占字节数,空白处应填: P=(double*)malloe(sizeof(double)。 50 【正确答案】 bri 【试题解析 】 函数 fun的功能是求出二维数组每行元素中的最大值。对于 3行 4列的二维数组将有 3个最大值存放到数组 br中。 x存放的是每行的最大值,当求出每行的最大值 x后,应该将 x赋值给 br。因此此处填空应该是 bri。 51 【正确答案】 abcfg 【试题解析】 s字符串 “abcdefg”的长度是 7, “fun(s, 3, strlen(s); ”使得函数fun的形参 P值为 3, k值为 7, “for(i=p; i k-1; i+)si=si+2; ”等价于“for(i=3; i 6; i+)si=si+2; ”,循环 3次, s3=s5, s4=s6, s5=s7,由于 s5=e, s6=f, s7=0(字符串结束符 ),循环结束时, s字符串由 “abcdefg“变为 “abcfg“。 52 【正确答案】 0 10 1 11 2 12 53 【正确答案】 a 【试题解析】 文件常用的打开方式 “a“的作用是向文本文件尾增加数据。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 考试资料 > 职业资格

copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1