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

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

1、国家二级 C语言机试(选择题)模拟试卷 25及答案与解析 一、选择题 1 下列叙述中正确的是 ( A)算法的效率只与问题的规模有关,而与数据的存储结构无关 ( B)算法的时间复杂度是指执行算法所需要的计算工作量 ( C)数据的逻辑结构与存储结构是一一对应的 ( D)算法的时间复杂度与空间复杂度一定相关 2 下列叙述中正确的是 ( A)线性表链式存储结构的存储空间一般要少于顺序存储结构 ( B)线性表链式存储结构与顺序存储结构的存储空间都是连续的 ( C) 线性表链式存储结构的存储空间可以是连续的,也可 以是不连续的 ( D)以上说法均错误 3 某二叉树共有 12个结点,其中叶子结点只有 1个。

2、则该二叉树的深度为(根结点在第 1层) ( A) 3 ( B) 6 ( C) 8 ( D) 12 4 对长度为 n的线性表作快速排序,在最坏情况下,比较次数为 ( A) n ( B) n-1 ( C) n(n-1) ( D) n(n-1)/2 5 结构化程序设计中,下面对 goto语句使用描述正确的是 ( A)禁止使用 goto语句 ( B)使用 goto语句程序效率高 ( C)应避免滥用 goto语句 ( D)以上说法均错误 6 下面不属于软件测试实施步骤的是 ( A)集成测试 ( B)回归测试 ( C)确认测试 ( D)单元测试 7 下面不属于软件需求分析阶段主要工作的是 ( A)需求变更

3、申请 ( B)需求分析 ( C)需求评审 ( D)需求获取 8 一般情况下,当对关系 R和 S进行自然连接时,要求 R和 S含有一个或者多个共有的 ( A)记录 ( B)行 ( C)属性 ( D)元组 9 有三个关系 R、 S和 T如下: 则由关系 R和 S得到关系 T的操作是 ( A)选择 ( B)差 ( C)交 ( D)并 10 有表示公司和职员及 工作的三张表,职员可在多家公司兼职。其中公司 C(公司号,公司名,地址,注册资本,法人代表,员工数),职员 S(职员号,姓名,性别,年龄,学历),工作 W(公司号,职员号,工资),则表 W的键(码)为 ( A)公司号,职员号 ( B)职员号,工

4、资 ( C)职员号 ( D)公司号,职员号,工资 11 关于算法,以下叙述中错误的是 ( A)某个算法可能会没有输入 ( B)某个算法可能会没有输入 ( C)一个算法对于某个输入的循环次数是可以事先估计出来的 ( D)任何算法都能转换成计算机高级语言的程序,并在有限时间内 运行完毕 12 关于 C语言的变量,以下叙述中错误的是 ( A)变量所占的存储单元地址可以随时改变 ( B)所谓变量是指在程序运行过程中其值可以被改变的量 ( C)程序中用到的所有变量都必须先定义后才能使用 ( D)由三条下划线构成的符号名是合法的变量名 13 关于 do 循环体 while (条件表达式 ); 以下叙述中正

5、确的是 ( A)条件表达式的执行次数总是比循环体的执行次数多一次 ( B)循环体的执行次数总是比条件表达式的执行次数多一次 ( C)条件表达式的执行次数与循环体的执行次数一样 ( D)条件表达式的执行次数与循环体的执行次数无关 14 若有以下程序 #include main() int a=-11, b=10; a /= b /= -4; printf(“%d %dn“, a, b); 则程序的输出结果是 ( A) 4 -3 ( B) -1 -2 ( C) 5 -2 ( D) 5 -3 15 若有以下程序 #include main() int a=0,b=0,c=0 c= (a+=+b, b

6、+=4); printf(“%d,%d,%dn“,a,b,c); 则程序的输出结果是 ( A) 1,5,1 ( B) 1,5,5 ( C) -1,4,4 ( D) -1,4,-1 16 若有定义 int a; float b; double c; 程序运行时输入: 3 4 5 能把值 3输入给变量 a、 4输入给变量 b、 5输入给变量 c的语句是 ( A) scanf(“%d%f%lf“, ( B) scanf(“%d%lf%lf“, ( C) scanf(“%d%f%f“, ( D) scanf(“%lf%lf%lf“, 17 若有以下程序 #include main() int a=1,

7、b=2,c=3,d=4; if (a=2) if (c=3) | (d=-1) a=5; printf(“%d,%d,%d,%dn“, a,b,c,d); 则程序的输出结果是 ( A) 2,2,2,4 ( B) 2,1,2,-1 ( C) 5,1,2,-1 ( D) 1,2,3,4 18 若有以下程序 #include main() int a=1,b=2,c=3,d=4, r=0; if (a!=1) ; else r=1; if (b=2) r+=2; if (c!=3); r+=3; if (d=4) r+=4; printf(“%dn“, r); 则程序的输出结果是 ( A) 3 (

8、B) 7 ( C) 6 ( D) 10 19 若有以下程序 #include main() int s=0, n; for (n=0; n 4; n+) switch(n) default: s+=4; case 1: s+=1; break; case 2: s+=2; break; case 3: s+=3; printf(“%dn“, s); 则程序的输出结果是 ( A) 10 ( B) 11 ( C) 13 ( D) 15 20 若有以下程序 #include main() int a=-2, b=0; do +b ; while(a+); printf(“%d,%dn“, a, b)

9、; 则程序的输出结果是 ( A) 1,3 ( B) 0,2 ( C) 1,2 ( D) 2,3 21 若有以下程序 #include main() int a=6, b=0, c=0; for ( ;a ) b += a; a -= c+; printf(“%d,%d,%dn“, a,b,c); 则程序的输出结果是 ( A) 5,6,0 ( B) 6,0,0 ( C) 6,6,1 ( D) 5,6,1 22 以下选项中非法的 C语言字符常量是 ( A) x9d ( B) 9 ( C) x09 ( D) 09 23 若有以下程序 #include char f(char x) return x*

10、x%10 + 0; main() char a;int b=0; for ( a=0; a 5; a+=1 ) b = f (A); putchar(B); 则程序的输出结果是 ( A) 014916 ( B) 01234 ( C) 01496 ( D) 00000 24 若有以下程序 #include void sp(int *a) int b=2; *a = *a * 2; printf(“%d,“, *a); a=*a = *a * 2; printf(“%d,“, *a); main() int k=3; sp( printf(“%dn“, k); 则程序的输出结果是 ( A) 6,1

11、2,12 ( B) 6,4,3 ( C) 6,4,6 ( D) 9,4,9 25 若有以下程序 #include int k=7,m=5; void f(int *s) int *t= s= *s= printf(“%d,%d,%d,“, k, *t, *s); main() int i=3,*p= f(r); printf(“%d,%d,%dn“, i, *p, *r); 则程序的输出结果是 ( A) 7,5,7,3,5,7, ( B) 7,5,7,3,3,3, ( C) 7,5,5,3,3,3, ( D) 7,7,5,3,3,3, 26 若有以下程序 #include int *f(int

12、 *s, int *t) int k; if (*s *t) k = *s; *s=*t; *t=k; return s; main() int i=3, j=5, *p= r=f(p,q); printf(“%d,%d,%d,%d,%dn“, i, j, *p, *q, *r); 则程序的输出结果是 ( A) 5,3,3,5,5 ( B) 3,5,5,3,5 ( C) 3,5,3,5,5 ( D) 5,3,5,3,5 27 若有以下程序 #include #define N 4 void fun( int aN, int b, int flag ) int i,j; for( i=0; i

13、N; i+ ) bi = a0i; for( j=1; j N; j+ ) if (flag ? (bi aji) : (bi aji)bi = aji; main() int xNN=1, 2, 3, 4, 5, 6, 7, 8, 9,10,11,12,13,14,15,16, yN,i; fun(x, y, 1); for (i=0;i N; i+) printf(“%d,“, yi); fun(x, y, 0); for (i=0;i N; i+) printf(“%d,“, yi); printf(“n“); 则程序的输出 结果是 ( A) 4,8,12,16,1,5,9,13, (

14、B) 1,2,3,4,13,14,15,16, ( C) 1,5,9,13,4,8,12,16, ( D) 13,14,15,16,1,2,3,4, 28 若有以下程序 #include void fun(int a , int n) int t, i, j; for ( i=0; i n; i+=2 ) for ( j=i+2; j main() int i, j=0; char a=“How are you!“, b10; for ( i=0; ai; i+ ) if (ai = ) bj+=ai+1; bj=0; printf(“%sn“,b); 则程序的输出结果是 ( A) Howar

15、eyou! ( B) Howareyou ( C) Hay! ( D) ay 30 若有以下程序 #include char *a=“you“, b =“welcome#you#to#China!“; main() int i,j=0;char *p; for ( i=0; bi!=0; i+ ) if (*a = bi) p= for (j=0; aj!=0; j+) if (aj != *p) break; p+; if (aj=0) break; printf(“%sn“, p); 则程序的输出结果是 ( A) #to#China! ( B) #you#to#China! ( C) me

16、#you#to#China! ( D) #China! 31 若有以下程序 #include main() char a20, b =“The sky is blue.“; int i; for (i=0; i 则输出结果是 ( A) Fig flower is red.is blue. ( B) Fig flower is red. ( C) Fig floweris red. ( D) Fig floweris 32 若有以下程序 #include main() char w20=“dogs“, a510=“abcdef“, “ghijkl“, “mnopq“, “rstuv“, “wxy

17、z .“; int i, j, k; for (i=0; wi; i+) for (j=0; j 5; j+) for (k=0; ajk; k+) if (wi=ajk)break; if (wi=ajk)break; printf(“%d,%d,“, j,k); 则程序的输出结果是 ( A) 0,3,2,2,1,0,3,1, ( B) 1,4,3,3,2,1,4,2, ( C) 5,6,5,6,5,6,5,6, ( D) 6,7,6,7,6,7,6,7, 33 若有 以下程序 #include int f(int a, int n) if (n 1) int t; t=f(a, n-1);

18、 return t an-1 ? t : an-1; else return a0; main() int a = 8,2,9,1,3,6,4,7,5; printf(“%dn“, f(a, 9); 则程序的输出结果是 ( A) 9 ( B) 1 ( C) 8 ( D) 5 34 若有以下 程序 #include int f(int m) static int n=0; int a=2; n+; a+; return n+m+a; main() int k; for (k=0; k 4; k+) printf(“%d,“, f(k); 则程序的输出结果是 ( A) 3,5,7,9, ( B)

19、4,7,10,13, ( C) 4,5,6,7, ( D) 4,6,8,10, 35 若有以下程序 #include #define S(x) (x)*(x) #define T(x) S(x)/S(x)+1 main() int k=3, j=2; printf(“%d,%dn“, S(k+j),T(k+j) ); 则程序的输出结果是 ( A) 11,2 ( B) 25,2 ( C) 11,12 ( D) 25,26 36 若有以下程序 #include typedef struct stu char name10, gender; int score; STU; void f(STU a,

20、 STUB) b = a; printf( “%s,%c,%d,“, b.name, b.gender, b.score ); main() STU a=“Zhao“, m, 290, b=“Qian“, f, 350; f(a,b); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 则程序的输出结果是 ( A) Qian,f,350,Qian,f,350 ( B) Zhao,m,290, Zhao,m,290 ( C) Zhao,m,290,Qian,f,350 ( D) Zhao,m,290,Zhao,f,350 37 若有以下程序 #inc

21、lude #include typedef struct stu char name10, gender; int score; STU; void f( char *p ) strcpy( p, “Qian“ ); main() STU a=“Zhao“, m, 290, b; b=a; f(b.name); b.gender = f;b.score = 350; printf(“%s,%c,%d,“, a.name, a.gender, a.score); printf(“%s,%c,%dn“, b.name, b.gender, b.score); 则程序的输出结果是 ( A) Zhao

22、,m,290,Qian,f,350 ( B) Zhao,m,290, Zhao,m,290 ( C) Qian,f,350,Qian,f,350 ( D) Zhao,m,290,Zhao,f,350 38 若有定义 typedef char T10; T *a; 上述定义中 a的类型与下面选项中完全相同的是 ( A) char a10; ( B) char (*a)10; ( C) char *a; ( D) char *a10; 39 若有以下程序 #include main() int c; c = 13|5; printf(“%dn“, c); 则程序的输出结果是 ( A) 13 ( B

23、) 15 ( C) 18 ( D) 5 40 若有以下程序 #include main() FILE *fp; int i, a6=1,2,3,4,5,6, k; fp = fopen(“data.dat“, “w+b“); for (i=0; i 6; i+) fseek(fp, 0L, 0); fwrite( rewind(fp); fread( fclose(fp); printf(“%d“, k); 则程序的输出结果是 ( A) 6 ( B) 1 ( C) 123456 ( D) 21 国家二级 C语言机试(选择题)模拟试卷 25答案与解析 一、选择题 1 【正确答案】 B 【试题解析

24、】 算法的效率与问题的规模和数据的存储结构都有关, A错误。算法的时间复杂度,是指执行算法所需要的计算工作量, B正确。由于数据元素在计算机存储空间中的位置关系可能与逻辑关系不同,因此数据的逻辑结构和存储结构不是一一对应的, C错误。算法的时间复杂度和空间复杂度没 有直接的联系, D错误。 2 【正确答案】 C 【试题解析】 线性表的顺序存储结构具备如下两个基本特征: ( 1)线性表中的所有元素所占的存储空间是连续的; ( 2)线性表中各数据元素在存储空间中是按逻辑顺序依次存放的。用一组任意的存储单元来依次存放线性表的结点,这组存储单元既可以是连续的,也可以是不连续的,甚至是零散分布在内存中的

25、任意位置上的。因此 C正确。 3 【正确答案】 D 【试题解析】 二叉树中,度为 0的节点数等于度为 2的节点数加 1,即 n2=n0-1,叶子节点即度为 0, n0=1,则 n2=0,总节点数为 12=n0+n1+n2=1+n1+0,则度为 1的节点数 n1=11,故深度为 12,选 D。 4 【正确答案】 D 【试题解析】 快速排序最坏情况就是每次选的基准数都和其他数做过比较,共需比较 (n-1)+(n-2)+1=n(n -1)/2,选 D。 5 【正确答案】 C 【试题解析】 结构化程序设计中,要注意尽量避免 goto语句的使用,故选 C。 6 【正确答案】 B 【试题解析】 软件测试主

26、要包括单元测试、集成测试、确认测试和系统测试。 7 【正确 答案】 A 【试题解析】 需求分析阶段的工作可概括为 4个方面: 需求获取。 需求分析。 编写需求规格说明书。 需求审评。 8 【正确答案】 C 【试题解析】 自然连接是一种特殊的等值连接,它满足下面的条件: 两关系间有公共域; 通过公共域的等值进行连接,选 C。 9 【正确答案】 B 【试题解析】 关系 T是关系 R的一部分,并且是关系 R去掉 R和 S相同的元素,符合差操作。 10 【正确答案】 A 【试题解析】 由于职员可以再多加公司兼职, 表 W的键(码)应为公司关系和职员关系的主码,即公司号和职员号。 11 【正确答案】 D

27、 【试题解析】 算法的特征 : 有穷性:一个算法 (对任何合法的输入 )在执行有穷步后能够结束 ,并且在有限的时间内完成。 确定性:算法中的每一步都有确切的含义。 可行性:算法中的操作能够用已经实现的基本运算执行有限次来实现。 输入 :一个算法有零个或者多个输入 ,零个输入就是算法本身确定了初始条件。 输出 :一个算法有一个或者多个输出 ,以反映出数据加工的结果。 所以选 择 D选项。 12 【正确答案】 A 【试题解析】 一个变量实质上是代表了内存中的某个存储单元 ,必须先定义后使用 ,且在定义时为之分配存储单元 ,不能随时改变 ,所以选择 A选项。 13 【正确答案】 C 【试题解析】 d

28、owhile 循环的执行过程是先执行一遍循环体后再执行条件表达式判断条件 ,直到条件不成立跳出循环 ,所以循环体和条件表达式的执行次数是一致的 ,所以选择 C。 14 【正确答案】 C 【试题解析】 先执行 b/=-4,即 b=b/-4,结果为 -2,然后执行 a/=-2,即 a=a/-2,结果为5,所以选择 C。 15 【正确答案】 B 【试题解析】 逗号运算符的结合性从左到右 ,因此逗号表达式将从左到右进行计算,且逗号运算符的优先级最低 ?先计算 a+=+b,结果 a为 1,b为 1,然后计算b+=4,b的值为 5,逗号表达式的值为其中最后一个表达式的值 ,所以将 5赋给变量 c,即 a为

29、 1,b为 5,c为 5,所以选择 B。 16 【正确答案】 A 【试题解析】 scanf()函数的格式串中 ,必须含有与输入项一一对应的格式转换说明符 ,整型数据、 float型数据、 double型数据对应的格式转 换说明符分别为 %d、 %f、 %lf?所以选择 A。 17 【正确答案】 C 【试题解析】 第一个 if语句的判断条件中是逻辑与表达式 ,只有运算对象均非零结果才为真 ,执行第一个 if判断条件 ,均为赋值表达式 ,第一个运算对象 a=2非零 ,判断第二个表达式 b=1也非零 ,所以条件成立执行 c=2的赋值操作,执行第二个 if判断条件中的逻辑或表达式 ,只要有一个对象非零

30、结果就是真 ,本条件中 c=3运算对象为假 ,所以需要判断第二个运算对象 d=-1,结果为 -1非零 ,所以条件成立 ,执行 a=5,的操作 ,所以 a值为 5,b值为 1,c值 为 2,d值为 -1。 18 【正确答案】 D 【试题解析】 第一个 if语句 a!=1条件为假 ,所以执行 else后的语句 r=1,第二个if语句 b=2条件成立 ,执行 r+=2,r的值变为 3,第三个 if语句 c!=3条件为假 ,所以不做任何操作,执行下面的 r+=3操作 ,r的值变为 6,判断第四个 if条件 ,d=4条件成立 ,执行 r+=4操作 ,结果为 10。 19 【正确答案】 B 【试题解析】

31、break语句的作用是终止正在执行的 switch流程 ,跳出 switch结构或者强制终止当前循环 ,从当前执行的循环中 跳出,题干中第一次循环 n值为 0,执行 default语句后的 s+=4,s的值变为 4,执行 case1语句后的 s+=1,s的值变为 5,遇到break语句跳出 switch语句 ,进入第二次循环,第二次循环时 n的值为 1,执行 case1后的 s+=1,s的值变为 6,遇到 break语句跳出 switch语句 ,进入第三次循环 ?第三次循环时 n的值为 2,执行 case2后的 s+=2,s的值变为 8,遇到 break语句跳出 switch语句 ,进入第四次

32、循环,第四次循环时 n的值为 3,执行 case3后的 s+=3,s的值变为11,再判断循环条件为 假 ,退出循环打印 s的值 11。 20 【正确答案】 A 【试题解析】 本题重点考察 do-while语句及 do-while 的循环语句保证会执行一次 (表达式的真值在每次循环结束后检查 ),+b即变量 b自增 1后再参与运算 ,而a+则表示 a参与运算后 ,再自增 1,所以第一次循环结束后 ,b=1,a=-1,第二次循环后 ,b=2,a=0,第三次循环后 ,b=3,a=1,因此 A选项正确。 21 【正确答案】 C 【试题解析】 本题重点考察 C语言中 for语句和逻辑表达式, for语句

33、的一般形式为 : for(表达式 1;表达式 2;表达式 3) 语句 其循环中的 “表达式 1(循环变量赋初值) “、 “表达式 2(循环条件 )“和 “表达式3(循环变量增量 )“都是选择项 , 即可以缺省 ,但 “; “不能缺省。该题目中省略了 “表达式 1(循环变量赋初值) “和 “表达式 3(循环变量增量 )“。 for ( ;a )b+=a;a-=c+;相当于 while( aa-=c+;。 因此 C选项正确。 22 【正确答案】 D 【试题解析】 本题考察字符常量,字符常量是用单引 号括起来的一个字符。例如: a、 =、 +等。转义字符是一种特殊的字符常量。转义字符以反斜线 “开头

34、,后跟一个或几个字符。 D选项中 09, 0表示后面的字符是八进制数。又出现9所以是非法的,故 D选项正确。 23 【正确答案】 C 【试题解析】 该题目中 x*x%10即 x和 x相乘后,结果再对 10求余操作。主函数中通过 for语句使变量 a从 0到 4进行取值;当 a=0时,调用函数 f后,返回值为 0赋给 b,并且进行字符输出;当 a=1时,返回值为 1赋给 b,并且进行字符输出;当 a=2时,返回值为 4赋给 b, 并且进行字符输出;当 a=3时,返回值为 9赋给 b,并且进行字符输出;当 a=4时,返回值为 6赋给 b,并且进行字符输出。因此 C选项正确。 24 【正确答案】 C

35、 【试题解析】 首先在主函数中给整型变量 k赋值为 3,调用 sp函数,将变量 k的地址作为实参传递给形参指针变量 a;在 sp函数中, *a = *a * 2;即结果为 6,通过 printf()函数输出。整型变量 b的地址赋给指针变量 a,再执行 *a = *a * 2;,即结果为 4,通过 printf()函数输出。返回主函数,输出 k的值 6。因此 C选项正确。 25 【正确答案】 C 【试题解析】 在主函数中首先初始化整型变量 i,将 i的地址赋给指针变量 p,再将指针变量 p的地址赋给指向指针的指针变量 r;调用 f函数 ,将变量 r的值传递给变量 s;由于 k和 m分别赋值 7和

36、 5,printf(“%d,%d,%d,“, k, *t, *s);,即结果为 7,5,5;返回主函数 ,printf(“%d,%d,%dn“, i, *p, *r);,即结果为 3,3,3?因此 C选项正确 ? 26 【正确答案】 D 【试题解析】 在主函数中分别给整型变量 i、 j和指针型变量 p、 q赋 初值,并声明指针变量 r;调用 f函数,并将实参变量 p和 q的值传递给形参变量 s和 t,并且 f函数是指针型函数,即函数的返回值将是一个地址。在 f函数中,如果条件成立,则将指针变量 s和 t的值互换,并且将指针 s的地址返回主函数。最后输出 i, j, *p, *q, *r的值,即

37、 5,3,5,3,5。因此 D选项正确。 27 【正确答案】 B 【试题解析】 该题首先初始化二维数组, if (flag ? (bi aij) : (bi aij)作为条件表达式的值,否则以 (bi aij)作为条件表达式的值, fun函数功能是给一维数组赋值。 fun(x, y, 1);该函数调用后,即当 flag为真时,使一维数组获得二维数组第 1行的数值; fun(x, y, 0);该函数调用后,即当 flag为假时,使一维数组获得二维数组第 4行的数值;因此 B选项正确。 28 【正确答案】 D 【试题解析】 该题首先对一维数组进行初始化 ,c0到 c9依次赋值为 10到1;fun(

38、c, 10);语句调用 fun函数 ,fun函数的功能是将一维数组奇数位元素的数值由小到大排序 ;最后将排好序的新的一维数组进行输出 ?因此 D选项正确 ? 29 【正确答案】 D 【试题解析】 程序首先初始化字符数组 a 为 “How are you!“。语句 if (ai = = ) bj+=ai+1;条件是判断字符数组 a 中是否是空格字符,如果是空格的话,将空格后的字符赋给数组 b。并将 b输出。因此 D选项正确。 30 【正确答案】 A 【试题解析】 该程序首先定义 *a和 b , 并进行初始化。主函数中通过外层 for循环语句,遍历字符数组 b ,并且将符合 if条件语句的字符赋给

39、数组 p; for内层循环语句,遍历字符数组 a 。再将符合 if条件语句的结果输出。因此 A选项正确。 31 【正确答案】 B 【试题解析】 本题考查字符数组的赋值以及字符串的处理函数 ,本题中输入字符串 Fig flower is red时 ,首先是将前 10个字符赋值给字符数组 a,然后执行 gets(b)后 ,将后续字符存放到 b中 ,当输出时 ,首先输出字符数组 a,然后输出字符串 b,所以结果为 B选项 . 32 【 正确答案】 A 【试题解析】 本题考查二维字符数组的运用,题目中首先定义了一个一维字符数组,从三层 for循环可以看出要找的是 w数组中每个字符在二维数组中的位置,比

40、如 d字母,在 a数组中就是 0,3 其他字符类似,所以本题答案为 A。 33 【正确答案】 A 【试题解析】 本题主要考查了函数的递归调用,解题思路只需要将参数带入函数中,首先是执行 f(a, 9),递归执行 (a, 8)直到 (a, 2),得到 a0=8,然后判断 a0是否大于 a1,本题实际上就是求出数组 a元素的最大值。答案为 9,选 项 A正确。 34 【正确答案】 D 【试题解析】 本题考查静态局部变量以及自增运算符,静态局部变量在函数调用结束后,并不释放,仍然保留它的值,本题中, k为 0时, return n+m+a之前, n为 1, a为局部变量是 3, m为 0,所以第一个

41、返回值为 4。 k为 1,在函数返回值之前,静态局部变量为 2,局部变量 a仍然为 3, m为 1,所以结果是 6,依此类推答案为 D。 35 【正确答案】 D 【试题解析】 本题考查宏定义,宏定义只是做个简单的替换,执行S(k+j)=(k+j)*(k+j)=25,T(k+j)=S(k+j)/S(k+j)+1=(k+j)*(k+j)/(k+j)*(k+j)+1=26,选项D正确。 36 【正确答案】 C 【试题解析】 本题考查结构体的相关操作以及传值、传址的区别,该题中调用 f函数后,会首先输出被重新复制的 b值,且与 a相同,而执行完 f函数后, b值并不会改变,所以还是维持原值,选项 C正

42、确。 37 【正确答案】 A 【试题解析】 本题考查结构体的相关操作以及传值、传址的区别,该题中调用 f函数后, b的 name会重新赋值为 Qian,选项 A正确。 38 【正确答案】 D 【试题解析】 本题考查 typedef的使用方法, typedef对已存在的类型使用一个新的名字,选项 D正确。 39 【正确答案】 A 【试题解析】 本题考查位运算中按位或运算符,或运算只要两个比较的位中有一个为 1,其结果是 1,否则结果为 0, ,13用二进制表示为 00001101,5用二进制表示为 00000101,或后 00001101,即 13,选项 A正确。 40 【正确答案】 B 【试题解析】 本题考查文件操作函数, fseek 用于二进制方式打开的文件 ,移动文件读写指针位置。将文件内 部的位置指针重新指向一个流(数据流 /文件)的开头。所以最后只保留了 1,答案为 B。

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

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

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