【计算机类职业资格】二级C语言笔试-342及答案解析.doc

上传人:fatcommittee260 文档编号:1326146 上传时间:2019-10-17 格式:DOC 页数:36 大小:105KB
下载 相关 举报
【计算机类职业资格】二级C语言笔试-342及答案解析.doc_第1页
第1页 / 共36页
【计算机类职业资格】二级C语言笔试-342及答案解析.doc_第2页
第2页 / 共36页
【计算机类职业资格】二级C语言笔试-342及答案解析.doc_第3页
第3页 / 共36页
【计算机类职业资格】二级C语言笔试-342及答案解析.doc_第4页
第4页 / 共36页
【计算机类职业资格】二级C语言笔试-342及答案解析.doc_第5页
第5页 / 共36页
点击查看更多>>
资源描述

1、二级 C 语言笔试-342 及答案解析(总分:110.00,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.若变量已正确说明为 float 型,要通过 scanf(“%f%f%f“,switch(a%2) case 0:m+;break;case 1:m+;switch(b%2) defaut:m+;case0:m+;break;printf(“%d/n“,m);程序运行后的输出结果是( )。A) 1 B) 2 C) 3 D) 4(分数:2.00)A.B.C.D.3.有以下程序段typedef struct node(int data; struct node *next

2、;) *NODE;NODE p;以下叙述中正确的是_。(A) P 是指向 struct node 结构变量的指针的指针(B) NODE p;语句出错(C) P 是指向 struct node 结构变量的指针(D) P 是 struct node 结构变量(分数:2.00)A.B.C.D.4.有定义语句doubld a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。A) a=a+b=b+ B) w%(int) a+b)C) (c+w)%(int)a D) w=a=b;(分数:1.00)A.B.C.D.5.有定义语句:int x, y; 。若要通过 scanf

3、(“%d, %d“, x, y); 语句使变量 x 得到数值 11,变量 y得到数值 12,下面四组输入形式中,错误的是( )。A) 11 12 B) 11, 12 C) 11, 12, D) 11,12(分数:1.00)A.B.C.D.6.若有以下定义:struct linkint data;struct link * next;a,b,c,*p,*q;且变量 a 和 b 之间已有如下图所示的链表结构:(分数:1.00)A.B.C.D.7.有如下程序:#define n 2#define m N+1#define NUM 2*m+1main()int i;for(i=1;i=NUM;i+)p

4、rintf(“%d/n“,i);该程序中的 for 循环执行的次数是_。A) 5 B) 6 C) 7 D) 8(分数:1.00)A.B.C.D.8.以下叙述中不正确的是( )。 A) 预处理命令行都必须以#号开始,结尾不加分号 B) 在程序中凡是以#号开始的语句行都是预处理命令行 C) C 程序在执行过程中对预处理命令进行处理 D) 预处理命令可以放在程序中的任何位置(分数:2.00)A.B.C.D.9.使用白盒测试法时,确定测试数据应该根据( )和指定的覆盖标准。A) 程序的内部逻辑 B) 程序的复杂结构C) 使用说明书 D) 程序的功能(分数:2.00)A.B.C.D.10.以下程序的输出

5、结果是_。#includestdio.h#define FUDGE(y) 2.84+y#define PR(a) printf(“%d“,(int)(a)#define PRINT1(a) PR(a);putchar(/n)main()int x=2;PRINT1(FUDGE(5)*x);A) 11 B) 12 C) 13 D) 15(分数:1.00)A.B.C.D.11.以下只有在使用时才为该类型变量分配存储单元的存储类说明是_。A) auto 和 static B) auto 和 registerC) register 和 static D) extern 和 register(分数:1.

6、00)A.B.C.D.12.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D)软件开发过程(分数:1.00)A.B.C.D.13.有以下程序:main()unsigned char a,b,c;a=0x3; b=a|0x8; c=b1;printf(“%d%d/n“,b,C);程序运行后的输出结果是( )。A) -11 12 B) -6 -13 C) 12 24 D) 11 22(分数:1.00)A.B.C.D.14.在一个 C 语言程序中A) main 函数必须出现在所有函数之前 B) main

7、 函数可以在任何地方出现C) main 函数必须出现在所有函数之后 D) main 函数必须出现在固定位置(分数:1.00)A.B.C.D.15.下列叙述中,不属于测试的特征的是 ( )A) 测试的挑剔性 B) 完全测试的不可能性 C) 测试的可靠性 D) 测试的经济性(分数:1.00)A.B.C.D.16.在关系数据库中,用来表示实体之间联系的是_。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分数:1.00)A.B.C.D.17.已知函数的调用形式:fread(buf,size,count,fp),参数 buf 的含义是( )。A) 一个整型变量,代表要读入的数据项总数B) 一个

8、文件指针,指向要读的文件C) 一个指针,指向要读入数据的存放地址D) 一个存储区,存放要读的数据项(分数:2.00)A.B.C.D.18.有如下程序段int *p,a=10,b=1;p= a=*p+b;执行该程序段后,a 的值为_。A) 12 B) 11 C) 10 D) 编译出错(分数:1.00)A.B.C.D.19.设有如下的程序段:int a(1,2,3,4,5),*t;t=a;则下列说法正确的是 ( )A) a 和 t 的内容相同B) a 数组的长度和 t 所指的字符串长度相等C) a 和 t 完全相同D) 指针变量 t 指向数组 a 的第一个元素(分数:1.00)A.B.C.D.20

9、.若有定义:int a5,*p=a;,则对 a 数组元素地址的正确引用是_。A)p+5 B)*a+1 C)printf(“%d,%u,%o,%X“,m,m,m,m);则程序运行后的输出结果是( )。A) -1,65535,177777,ffff B) -1,-1,177777,fffeC) -1,1,177777,ffff D) -1,65535,177776,fffe(分数:1.00)A.B.C.D.23.函数 rewind 的作用是( )。A) 使文件位置指针重新返回文件的开始位置B) 将文件位置指针指向文件中所要求的特定位置 C) 使文件位置指针指向文件的末尾D) 使文件位置指针自动移至

10、下一个字符位置(分数:2.00)A.B.C.D.24.以下对 C 语言函数的有关描述中,正确的是 ( )A在 C 中,调用函数时,只能把实参的值传给形参,形参的值不能传送给实参BC 函数既可以嵌套定义又可递归调用C函数必须有返回值,否则不能使用函数DC 程序中有调用关系的所有函数必须放在同一个源程序文件中(分数:1.00)A.B.C.D.25.阅读以下函数:fun(char *s1,char *s2)int i=0;while(s1i=s2ireturn(s1i=/0此函数的功能是( )。A) 将 s2 所指字符串赋给 s1B) 比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大

11、,函数值为 1,否则函数值为 0C) 比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0D) 比较 s1 和 s2 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 0(分数:1.00)A.B.C.D.26.下面程序的运行结果是( )。#includestdio.hmain() int i; for(i=1; iif(i%3=0) break; printf(“%d“, i); A) 123 B) 12 C) 23 D) 12345(分数:1.00)A.B.C.D.27.下列程序的输出结果是( )。int f1(int x,int y)ret

12、urn xy?x:y;int f2(int x,int y)return xy?y:x;main()int a=4,b=3,e=5,d=2,e,f,g;e=f2(f1(a,b),f1(e,d);f=f1(f2(a,b),f2(e,d);g=a+b+c+d-e-f;printf(“%d,%d,%d/n“,e,f,g);A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:2.00)A.B.C.D.28.为了使模块尽可能独立,要求A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,

13、且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:1.00)A.B.C.D.29.设有以下语句:int a=1,b=2,c;c=a(b2);执行后,c 的值为( )。A6 B7 C8 D9(分数:1.00)A.B.C.D.30.下列说法中正确的是 ( )A交换列排序法效率最高B插入类排序法效率最高C选择类排序法效率最高D不同的数据,各种算法的优劣不一(分数:1.00)A.B.C.D.31.下列程序的输出结果是_。main()int a=0,b=0,c=0;if(+a0|+b0)+c;printf(“/na=%d,b=d,c=%d“,a,b,c) ;A

14、) a=0,b=0,c=0 B) a=1,b=1,c=1C) a=1,b=0,c=1 D) a=0,b=1,c=1(分数:1.00)A.B.C.D.32.下列叙述中正确的是 _。A) C 程序中注释部分可以出现在程序中任何合适的地方B) 花括号“和“只能作为函数体的定界符C) 构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是 C 语句之间的分隔符,不是语句的一部分(分数:1.00)A.B.C.D.33.设有如下程序段char s20=“Beijing“,*p;p=s;则执行“p=s;”语句后,以下叙述正确的是( )。A可以用*p 表示 s0 Bs 数组中元素的个数和 p

15、所指字符串长度相等Cs 和 p 都是指针变量 D数组 s 中的内容和指针变量 p 中的内容相等(分数:1.00)A.B.C.D.34.有以下程序#includemain()char p20=a,b,c,d,q=“abc“, r=“abcde“strcat(p,r); strcpy(p+strlen(q),q);printf(“%d /n“,sizeof(p);程序运行后的输出结果是_。(A) 9(B) 6(C) 11(D) 7(分数:2.00)A.B.C.D.35.有以下程序:#includestring.hmain()char p20=a,b,c,d,q=“abc“,r=“abcde“;st

16、rcpy(p+strlen(q),r);strcat(p,q);printf(“%d%d/n“,sizeof(p),strlen(p);程序运行后的输出结果是_。A) 20 9 B) 9 9C) 20 11 D) 11 11(分数:2.00)A.B.C.D.36.下列叙述中错误的是( )。A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库设计是指在已有数据库管理系统的基础上建立数据库D) 数据库系统需要操作系统的支持(分数:2.00)A.B.C.D.37.下列的程序用来输出两个字符串前 7 个字符中对应相等的字符及其位置号,程序空

17、白处应该填写的是( )。#includestdiohmain()char s1=“chinese“,s2=“japnese“;int i;for(i=0;s1i!=/0 “则对 a 数组的第 i 行第 j 列无素的正确引用为( )。A) *(*(a+i)+j) B) (a+i)jC) *(a+i+j) D) *(a+i)+j(分数:2.00)A.B.C.D.46.在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是_。A) 概要设计 B) 详细设计 C) 可行性分析 D) 需求分析(分数:2.00)A.B.C.D.47.设有定义语句:char c1=92,c2=92;,则

18、以下表达式中值为零的是A)c1c2B)c1dox=x*x;while(!x);(分数:2.00)填空项 1:_52.测试用例包括输入值集和 1 值集。(分数:4.00)填空项 1:_53.有以下程序:#includestdio.hfun(int x)if(x/20)fun(x/B);printf(“%d“,x);main()fun(6);printf(“/n“);程序运行后的输出结果是_。(分数:4.00)填空项 1:_54.耦合和内聚是评价模块独立性的两个主要标准,其中 1 反映了模块内各成分之间的联系。(分数:2.00)填空项 1:_55.以下程序的功能是:通过函数 func 输入字符并统

19、计输入字符的个数。输入时用字符作为输入结束标志。请填空。 #includestdio.h long_;/*函数说明语句*/ main() long n; n=func();printf“n=%1d/n“,n); long func() long m; for(m=0;getchar()!=;_); return m: (分数:2.00)填空项 1:_56.有以下程序main()int t=1,i=5;for( ; i=0; i-) t*=i;printf(“%d/n“,t);执行后输出结果是_。(分数:1.00)填空项 1:_57.以下程序段的输出结果是_。inc i=9;printf(“%o

20、/n“, i);(分数:2.00)填空项 1:_58.一个关系表的行称为 1。(分数:2.00)填空项 1:_59.数据库系统的三级模式分别为 1 模式、内模式与外模式。(分数:2.00)填空项 1:_60.已知字符A的 ASCII 码为 65,以下程序运行后的输出结果是_。#include stdio.hmain( )char a,b;a=A+5-3; b=a+6-2;printf( “% d% c/n“, a, b);(分数:2.00)填空项 1:_61.以下程序把 3 个 NODETYPE 型的变量链接成一个简单的链表,并在 while 循环中输出链表结点数据域中的数据。请填空。#inc

21、ludestdio.hstruct nodeint data; struct node *next; ;typedef struct node NODETYPE;main()NODETYPE a, b, c, *h, *p; a.data=10; b.data=20; c.data=30; h=b.next= b.next= c.next=/0;p=h;while(p)printf(“%d“, p-data);_;(分数:2.00)填空项 1:_62.数据元素之间 1 的整体称为逻辑结构。(分数:1.00)填空项 1:_63.数据库设计分为以下 6 个设计阶段:需求分析阶段、 1、逻辑设计阶段

22、、物理设计阶段、实施阶段、运行和维护阶段。(分数:2.00)填空项 1:_64.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 1。(分数:2.00)填空项 1:_65.下面程序的运行结果是_。void swap(int *a,int *b)int *tp;t=a;a=b;b=t;main()int x=3,y=5,*p=swap(p,q);printf(“%d%d/n“,*p,*q);(分数:2.00)填空项 1:_66.数据库系统其内部分为三级模式,即概念模式、内模式和外模式。其中, 1 是用户的数据视图,也就是用户所见到的数据模式。(分数:2.0

23、0)填空项 1:_67.若输入 5、9,以下程序的运行结果为_。main()int a,b,*pt1,*pt2;printf(“input a,b:“);scanf(“%d%d“,switch(a%2) case 0:m+;break;case 1:m+;switch(b%2) defaut:m+;case0:m+;break;printf(“%d/n“,m);程序运行后的输出结果是( )。A) 1 B) 2 C) 3 D) 4(分数:2.00)A.B. C.D.解析:解析 本题考查 switch 语句。第一个 switch 语句,因为 a=6,a%2=0,所以执行 case0,将 m 加1,

24、遇到 break 语句跳出 switch 语句,结束循环。3.有以下程序段typedef struct node(int data; struct node *next;) *NODE;NODE p;以下叙述中正确的是_。(A) P 是指向 struct node 结构变量的指针的指针(B) NODE p;语句出错(C) P 是指向 struct node 结构变量的指针(D) P 是 struct node 结构变量(分数:2.00)A.B.C. D.解析:4.有定义语句doubld a,b;int w;long c;若各变量已正确赋值,则下列选项中正确的表达式是( )。A) a=a+b=b

25、+ B) w%(int) a+b)C) (c+w)%(int)a D) w=a=b;(分数:1.00)A.B.C. D.解析:解析 赋值运算符的左边只能是变量,不能是表达式,选项 A)错误;由于“%”两边表达式值的类型必须为整型,所以选项 B)错误;题目要求的是正确的表达式,而表达式后面不能有“;”,选项 D)错误。5.有定义语句:int x, y; 。若要通过 scanf(“%d, %d“, x, y); 语句使变量 x 得到数值 11,变量 y得到数值 12,下面四组输入形式中,错误的是( )。A) 11 12 B) 11, 12 C) 11, 12, D) 11,12(分数:1.00)A

26、. B.C.D.解析:解析 本题的考查点是格式输入函数。格式输入函数的一般形式:scanf(格式控制,地址表列)。需要注意的是:如果在“格式控制”字符串中除了格式说明以外还有其他字符,则在输入数据时应输入与这些字符相同的字符。所以输入的两个数字之间的逗号是不可少的。故本题答案为 A)。6.若有以下定义:struct linkint data;struct link * next;a,b,c,*p,*q;且变量 a 和 b 之间已有如下图所示的链表结构:(分数:1.00)A.B.C.D. 解析:解析 在本题中指针 p 指向变量 a,q 指向变量 c。要把 c 插入到变量 a 和变量 b 之间,就

27、应该首先让变量 a 的指针域指向变量 c,即(*p).next=q,然后让变量 c 的指针域指向变量 b,即(*q).next=putchar(/n)main()int x=2;PRINT1(FUDGE(5)*x);A) 11 B) 12 C) 13 D) 15(分数:1.00)A.B. C.D.解析:解析 在程序中如果有带实参的宏,则按#define 命令行中指定的字符串从左到右进行置换,如果串中包含宏中的形参,则将程序语句中相应的实参代替形参。将实参带入已经定义的宏中,可以得出答案为“12”。11.以下只有在使用时才为该类型变量分配存储单元的存储类说明是_。A) auto 和 static

28、 B) auto 和 registerC) register 和 static D) extern 和 register(分数:1.00)A.B. C.D.解析:解析 auto 变量和 register 变量在使用时,系统自动为其分配存储单元;退出时自动释放这些存储单元另做它用。12.软件设计包括软件的结构、数据接口和过程设计,其中软件的过程设计是指A) 模块间的关系 B) 系统结构部件转换成软件的过程描述C) 软件层次结构 D)软件开发过程(分数:1.00)A.B. C.D.解析:解析 软件设计包括软件结构设计、数据设计、接口设计和过程设计。其中结构设计是定义软件系统各主要部件之间的关系;数

29、据设计是将分析时创建的模型转化为数据结构的定义;接口设计是描述软件内部、软件和操作系统之间及软件与人之间如何通信;过程设计则是把系统结构部件转换成软件的过程性描述。13.有以下程序:main()unsigned char a,b,c;a=0x3; b=a|0x8; c=b1;printf(“%d%d/n“,b,C);程序运行后的输出结果是( )。A) -11 12 B) -6 -13 C) 12 24 D) 11 22(分数:1.00)A.B.C.D. 解析:解析 将 a 的值用二进制表示:00000011。a 与 Ox8(二进制表示为 00001000)按位或,得到结果00001011 赋值

30、给 b,b 的值为 11。再将 b 左移一位得到:00010110,赋值给 c,c 的值为 22。所以最后输出的 b,c 的值为 11,22。14.在一个 C 语言程序中A) main 函数必须出现在所有函数之前 B) main 函数可以在任何地方出现C) main 函数必须出现在所有函数之后 D) main 函数必须出现在固定位置(分数:1.00)A.B. C.D.解析:解析 本题考核的知识点是 main()函数的位置。一个完整的 C 语言程序有且仅有一个主函数 main()函数)程序总从 main()函数的第一条语句开始执行,到 main()函数的最后一条语句结束,其他函数都是在执行 ma

31、in()函数时,通过函数调用或嵌套调用而得以执行的。C 语言规定, main()函数在程序中的位置是任意的,故选项 A、选项 C 和选项 D 均不正确。所以,B 选项为所选。15.下列叙述中,不属于测试的特征的是 ( )A) 测试的挑剔性 B) 完全测试的不可能性 C) 测试的可靠性 D) 测试的经济性(分数:1.00)A.B.C. D.解析:16.在关系数据库中,用来表示实体之间联系的是_。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分数:1.00)A.B.C.D. 解析:解析 在关系数据库中,用二维表来表示实体之间联系。17.已知函数的调用形式:fread(buf,size,c

32、ount,fp),参数 buf 的含义是( )。A) 一个整型变量,代表要读入的数据项总数B) 一个文件指针,指向要读的文件C) 一个指针,指向要读入数据的存放地址D) 一个存储区,存放要读的数据项(分数:2.00)A.B.C. D.解析:解析 buf 是一个指针。对函数 fread 来说,它是读入数据的存放地址(指起始地址)。对 fwrite来说,是要输出数据的地址。18.有如下程序段int *p,a=10,b=1;p= a=*p+b;执行该程序段后,a 的值为_。A) 12 B) 11 C) 10 D) 编译出错(分数:1.00)A.B. C.D.解析:解析 执行 p=后,p 指向整数 a

33、,*p 即 p 的目标变量,也就是 a;所以 a=*p+b 等价于 a=a+b,可知 a 的值最终为 11。19.设有如下的程序段:int a(1,2,3,4,5),*t;t=a;则下列说法正确的是 ( )A) a 和 t 的内容相同B) a 数组的长度和 t 所指的字符串长度相等C) a 和 t 完全相同D) 指针变量 t 指向数组 a 的第一个元素(分数:1.00)A.B.C.D. 解析:20.若有定义:int a5,*p=a;,则对 a 数组元素地址的正确引用是_。A)p+5 B)*a+1 C)printf(“%d,%u,%o,%X“,m,m,m,m);则程序运行后的输出结果是( )。A

34、) -1,65535,177777,ffff B) -1,-1,177777,fffeC) -1,1,177777,ffff D) -1,65535,177776,fffe(分数:1.00)A. B.C.D.解析:解析 -1 为带符号的整型数,在内存中的存放形式为 1111111111111111。按带爷号的整型格式输出仍为-1;按无带符号的整数输出为 65535(将 1111 1111 1111 1111 转换为十进制数);按八进制数输出为 177777(将 1111 1111 1111 1111 转换为八进制数,方法为由低位到高位,每三位一组,用一个八进制数代替);按八进制数输出为 fff

35、f(将 1111111111111111 转换为十六进制数,方法为由低位到高位,每四位一组,用一个十六进制数代替)。23.函数 rewind 的作用是( )。A) 使文件位置指针重新返回文件的开始位置B) 将文件位置指针指向文件中所要求的特定位置 C) 使文件位置指针指向文件的末尾D) 使文件位置指针自动移至下一个字符位置(分数:2.00)A. B.C.D.解析:解析 函数 rewind 的功能是将文件指针重新指向一个流的开头。用法如下:void rewind(FILE * stream);24.以下对 C 语言函数的有关描述中,正确的是 ( )A在 C 中,调用函数时,只能把实参的值传给形参

36、,形参的值不能传送给实参BC 函数既可以嵌套定义又可递归调用C函数必须有返回值,否则不能使用函数DC 程序中有调用关系的所有函数必须放在同一个源程序文件中(分数:1.00)A. B.C.D.解析:25.阅读以下函数:fun(char *s1,char *s2)int i=0;while(s1i=s2ireturn(s1i=/0此函数的功能是( )。A) 将 s2 所指字符串赋给 s1B) 比较 s1 和 s2 所指字符串的大小,若 s1 比 s2 的大,函数值为 1,否则函数值为 0C) 比较 s1 和 s2 所指字符串是否相等,若相等,函数值为 1,否则函数值为 0D) 比较 s1 和 s2

37、 所指字符串的长度,若 s1 比 s2 的长,函数值为 1,否则函数值为 0(分数:1.00)A.B.C. D.解析:解析 在函数 fun()中有两个字符型指针变量 s1 和 s2,在函数中程序执行 while 循环,该循环退出条件有两个:一个是 s1i!=s2i(两个字符串不相等):第二个是 s1i和 s2i相等均为“/0”(两个字符串相等)。循环退出后,执行 return 语句,即两个字符串相等则返回 1,不相等则返回 0。所以, C 选项为所选。26.下面程序的运行结果是( )。#includestdio.hmain() int i; for(i=1; iif(i%3=0) break;

38、 printf(“%d“, i); A) 123 B) 12 C) 23 D) 12345(分数:1.00)A.B. C.D.解析:解析 本题考核的知识点是 break 语句的应用。本题中 for,循环到 i=3 而执行 break 语句跳出循环,最终只输出 12。27.下列程序的输出结果是( )。int f1(int x,int y)return xy?x:y;int f2(int x,int y)return xy?y:x;main()int a=4,b=3,e=5,d=2,e,f,g;e=f2(f1(a,b),f1(e,d);f=f1(f2(a,b),f2(e,d);g=a+b+c+d-

39、e-f;printf(“%d,%d,%d/n“,e,f,g);A) 4,3,7 B) 3,4,7 C) 5,2,7 D) 2,5,7(分数:2.00)A. B.C.D.解析:解析 根据函数 int f1(int x,int y)return xy?x:y;)和 int f2(int x,int y)return xy?y:x;的定义可知,如果 xy 成立,则函数 f1 返回 x 的值,函数 f2 返回 y 的值。所以 f1(a,b)=4,f1(c,d)=5,f2(a,b)=3,f2(c,d)=2 故 e=f2(4,5)=4,f=f1(3,2)=3,g=4+3+5+2-4-3=7。28.为了使模

40、块尽可能独立,要求A) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量强B) 模块的内聚程度要尽量高,且各模块间的耦合程度要尽量弱C) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量弱D) 模块的内聚程度要尽量低,且各模块间的耦合程度要尽量强(分数:1.00)A.B. C.D.解析:解析 耦合性与内聚性是模块独立性的两个定性标准,耦合与内聚是相互关联的。在程序结构中,各模块的内聚性越强,则耦合性越弱。一般较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。29.设有以下语句:int a=1,b=2,c;c=a(b2);执行后,

41、c 的值为( )。A6 B7 C8 D9(分数:1.00)A.B.C.D. 解析:解析 本题考查两个知识点,按位异或和左移。把 b 左移 2 位化成二进制 c=a(b2)=a(0000102)=a001000=0000001001000=9,故选择 D。30.下列说法中正确的是 ( )A交换列排序法效率最高B插入类排序法效率最高C选择类排序法效率最高D不同的数据,各种算法的优劣不一(分数:1.00)A.B.C.D. 解析:31.下列程序的输出结果是_。main()int a=0,b=0,c=0;if(+a0|+b0)+c;printf(“/na=%d,b=d,c=%d“,a,b,c) ;A)

42、a=0,b=0,c=0 B) a=1,b=1,c=1C) a=1,b=0,c=1 D) a=0,b=1,c=1(分数:1.00)A.B.C. D.解析:解析 “|”是或运算,它有个“短路”的特点需特别注意,当“|”运算符左边的表达式的值为真时,则程序就不再对“|”右边的表达式的值进行运算,而是使得整个表达式的值直接为真。32.下列叙述中正确的是 _。A) C 程序中注释部分可以出现在程序中任何合适的地方B) 花括号“和“只能作为函数体的定界符C) 构成 C 程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是 C 语句之间的分隔符,不是语句的一部分(分数:1.00)A. B.C.D.解

43、析:解析 C 程序中注释部分用“/*”和“*/”括起来,可以出现在程序中任何合适的地方;花括号“”和“”不仅可作为函数体的定界符,也可作为复合语句的定界符;构成 C 程序的基本单位是函数;一个语句必须在最后出现分号,分号是 C 语句中不可缺少的部分。33.设有如下程序段char s20=“Beijing“,*p;p=s;则执行“p=s;”语句后,以下叙述正确的是( )。A可以用*p 表示 s0 Bs 数组中元素的个数和 p 所指字符串长度相等Cs 和 p 都是指针变量 D数组 s 中的内容和指针变量 p 中的内容相等(分数:1.00)A. B.C.D.解析:解析 s 数组中元素的个数包括字符串

44、结束标志“/0”,而 p 所指字符串长度不包括“/0”,所以 s 数组中元素的个数和 p 所指字符串长度不相等,B 错误;s 是字符型数组,p 是指针变量,C 错误;数组 s 中存放的是字符串,而指针变量 p 存放的是数组的首地址,D 错误。34.有以下程序#includemain()char p20=a,b,c,d,q=“abc“, r=“abcde“strcat(p,r); strcpy(p+strlen(q),q);printf(“%d /n“,sizeof(p);程序运行后的输出结果是_。(A) 9(B) 6(C) 11(D) 7(分数:2.00)A.B. C.D.解析:35.有以下程

45、序:#includestring.hmain()char p20=a,b,c,d,q=“abc“,r=“abcde“;strcpy(p+strlen(q),r);strcat(p,q);printf(“%d%d/n“,sizeof(p),strlen(p);程序运行后的输出结果是_。A) 20 9 B) 9 9C) 20 11 D) 11 11(分数:2.00)A.B.C. D.解析:解析 题目中 p+strlen(q)的作用是在数组元素 p0地址的基础上向后移动三位,然后再将 r 所指字符串内容复制到 p 所指的存储空间中,字符 d 被覆盖,p20=a,b,c,a,b,c,d,e。然后通过“

46、strcat(p,q);”将 q 所指的字符串内容连接到 p 所指的字符串后面,p20=a,b,c,a,b,c,d,e,a,b,c,。在输出语句中 strlen(p)是求字符串的长度,值为 11;sizeof(p)用来求数组 p 占多少字节,值为 20。36.下列叙述中错误的是( )。A) 在数据库系统中,数据的物理结构必须与逻辑结构一致B) 数据库技术的根本目标是要解决数据的共享问题C) 数据库设计是指在已有数据库管理系统的基础上建立数据库D) 数据库系统需要操作系统的支持(分数:2.00)A. B.C.D.解析:解析 数据的逻辑结构是数据间关系的描述,它只抽象地反映数据元素之间的逻辑关系,

47、而不管其在计算机中的存储方式。数据的存储结构又叫物理结构,是逻辑结构在计算机存储器里的实现。这两者之间没有必然的联系。选项 A 的说法是错误的。37.下列的程序用来输出两个字符串前 7 个字符中对应相等的字符及其位置号,程序空白处应该填写的是( )。#includestdiohmain()char s1=“chinese“,s2=“japnese“;int i;for(i=0;s1i!=/0 “则对 a 数组的第 i 行第 j 列无素的正确引用为( )。A) *(*(a+i)+j) B) (a+i)jC) *(a+i+j) D) *(a+i)+j(分数:2.00)A. B.C.D.解析:解析 本题考查如何通过地址来引用数组元素。通过地址来引用数组元素的方法有下列 5

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

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

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