【计算机类职业资格】国家二级(C语言)笔试-试卷3及答案解析.doc

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

1、国家二级(C 语言)笔试-试卷 3 及答案解析(总分:134.00,做题时间:90 分钟)一、选择题(总题数:51,分数:102.00)1.选择题(1-10、21-40 每题,11-20 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_2.可以作为 Windows 外壳程序的是 ( )(分数:2.00)A.程序管理器B.文件管理C.程序管理器和文件管理器D.主群组3.与十进制数 96 等值的二进制是 ( )(分数:2.00)A.1100000B.10010110C.1100001D.11000114.对存储器按字节进行编

2、址,若某存储器芯片共有 10 根地址线的引脚,则该存储器芯片的存储容量为 ( )(分数:2.00)A.512 BB.1 KBC.2 KBD.4 KB5.在软件研制过程中,CASE 是指 ( )(分数:2.00)A.计算机辅助软件工程B.计算机产生的例子C.实验室使用的工具D.计算机辅助系统工程6.下列软件中,属于应用软件的是 ( )(分数:2.00)A.UNIXB.人事管理系统C.数据库管理系统D.SYSTEM7.现代计算机之所以能自动地连续进行数据处理,主要是因为 ( )(分数:2.00)A.采用了开关电路B.采用了半导体器件C.具有存储程序的功能D.采用了二进制8.软盘上第( )磁道最重要

3、,一旦损坏,该盘就不能使用了。(分数:2.00)A.0B.40C.1D.809.在下列四条叙述中,错误的一条是 ( )(分数:2.00)A.内存是主机的组成部分B.对于种类不同的计算机,其机器指令系统都是相同的C.CPU 由运算器和控制器组成D.十六进制微型机的含义是:这种机器能同时处理十六位二进制数10.十进制数 124 转换成二进制数是 ( )(分数:2.00)A.111l010B.1111100C.1011111D.111101111.数字字符“2”的 ASCII 码为十进制数 50,数字字符“5”的 ASCII 码为十进制数( )(分数:2.00)A.52B.55C.54D.5312.

4、若要用下面的程序片段使指针变量 p 指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char);(分数:2.00)A.charB.char *C.(* char)D.(char *)13.能够对计算机的硬件设备进行管理,并使应用软件能够方便、高效地使用这些设备的是 ( )(分数:2.00)A.数据库存系统B.操作系统C.编辑软件D.应用软件14.对于个非空的数据结构,如果它有且只有个根结点,并且每一个结点最多有一个前件,也最多有个后件,那么 ( )(分数:2.00)A.肯定是一个线形结构B.肯定是一个非线性结构C.还不足以证明是

5、一个线形结构D.很可能是一个非线形结构15.在 C 语言中,可以把整数以二进制形式存放到文件中的函数是 ( )(分数:2.00)A.fprintf ( ) 函数B.fread ( ) 函数C.fwrite ( ) 函数D.fputc( )函数16.有程序段: int al,a2; Char cl,c2; scanf(“%d%c%d%c“,printf(“%d,%d”n“,* p,* * pp); 则输出结果是(分数:2.00)A.10, 10B.10,20C.20,10D.20,2030.若有以下定义和语句 ( )int u010,vOx10,w10;printf(“%d,%d%d/n“,u,

6、v,w);则输出结果是(分数:2.00)A.8,16,10B.10,10,10C.8,8,10D.8,10,1031.若有以下定义和语句 char c1=b,c2eprintf(“%d,%c/n“,c2-c1,c2-a+A); 则输出结果 ( )(分数:2.00)A.2,MB.3,EC.2,ED.输出项与对应的格式控制不一致,输出结果不确定32.若有定义:int a34,( )不能表示数组元素 a11。(分数:2.00)A.* (a1+1)B.* (j4;j+ +)(分数:2.00)A.20B.24C.25D.3034.若有以下定义语句: char * sl“12345“, * s2“1234

7、“; printf(“%d“n“,strlen(strcpy(s1,s2); 则输出结果是 ( )(分数:2.00)A.4B.5C.9D.1035.若有以下定义和语句:int a101,2,3,4,5,6,7,8,9,10,* pa 则不能表示 a 数组元素的表达式是 ( )(分数:2.00)A.* pB.a10C.* aD.ap-a36.下面程序的输出结果是 ( ) maint( ) char * s“121“; int k0,a0,b0; do k + +; if (k%20) aa + sk-0;continue; bb + sk-0;aa + sk-0 wnile(sk+1);prin

8、tf(“k%d a%d b%d/n“,k,a,b); (分数:2.00)A.k3 a2 b3B.k3 a3 b2C.k2 a3 b3D.k2 a2 b337.下面程序的输出结果 ( ) main( ) unsigned a32768; printf(“a%d/n“,a);(分数:2.00)A.a32768B.a32767C.a-32768D.a-138.执行下面语句后的输出结果为 ( ) int i-1; if(i0)print(“* * * */n“); else printf(“% % % %/n“);(分数:2.00)A.* * * *B.% % % % %C.% % % %cD.有语法

9、错误,不能正确执行39.对于条件表达式(M)?(a+ +):(a- -),其中的表达式 M 等于 ( )(分数:2.00)A.M0B.M1C.M!0D.M!140.下述程序段的输出结果是 ( ) int x=10; int yx+ +; printf(“%d,%d“,(x+ +,y),y+ +);(分数:2.00)A.11,10B.11,11C.10,10D.10,1141.若有以下定义: int a 1,2,3,4,5,6,7,8,9,10,* pa; 则值为 3 的表达式是 ( )(分数:2.00)A.p+2,* (pd+ +)B.p+2,* + +pC.p+3,* p+ +D.p +2,

10、+ + * p42.假定所有变量均已正确说明,下列是程序段运行后 x 的值是 ( ) abCO;x35; if(! a)x- -; else if(b); if(c)x3; else x4;(分数:2.00)A.34B.4C.35D.343.在以下一组运算中,优先级最高的运算符是 ( )(分数:2.00)A.B.C.%D. 程序运行后,输出结果是 1 。(分数:2.00)填空项 1:_61.下面程序的输出走 1。 main() enum em em1=3,em2=1,em3; char*aa=“AA“,“BB“,“CC“,“DD“; printf(“%s%s%s/n“,aaem1,aaem2,

11、aaem3); (分数:2.00)填空项 1:_62.若想通过以下输入语句使 a=5.0,b=4,c=3,则输入数据的形式应该是 1。 int b,c;float a; scanf(“%f,%d,c=%d“, dp=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d) ; printf(“%d/n“,c,d) ; (分数:2.00)填空项 1:_64.下面程序的输出结果是 1。 char b=“ABCD“; main() char b30; strcpy( printf(“%s/n“,b) ; (分数:2.00)填空项 1:_65.有以下定义和语句,则

12、 sizeof(a) 的值是 1,而 sizeof(a.share)的值是 2。 struct datc int day; int mouth; int year: union int share1; float share2: share; a;(分数:2.00)填空项 1:_填空项 1:_66.下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word num (str) char str; int i,num=0,word=0; for(i=0;stri!= 1;i+) if( 2=)word=0; else if(word=0) word=1; 3; return(num);

13、 (分数:2.00)填空项 1:_67.有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 #define N 100 main() float aN+1,x; int i,p; for(i=0;iN;i+) scanf(“%f“, scanf(“%f“, for(i=0,p=N;iN;i+) if(xai) 1; break; for(i=N-1; 2;i-) ai+1=ai; ap=x; f

14、or(i=0; 3;i+) printf(“%8.2f“,ai); if(i% 5=0) printf(“/n“); (分数:2.00)填空项 1:_国家二级(C 语言)笔试-试卷 3 答案解析(总分:134.00,做题时间:90 分钟)一、选择题(总题数:51,分数:102.00)1.选择题(1-10、21-40 每题,11-20 每题)下列各题 A、B、C、D 四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上。(分数:2.00)_解析:2.可以作为 Windows 外壳程序的是 ( )(分数:2.00)A.程序管理器B.文件管理C.程序管理器和文件管理器 D.主群组解析

15、:3.与十进制数 96 等值的二进制是 ( )(分数:2.00)A.1100000 B.10010110C.1100001D.1100011解析:4.对存储器按字节进行编址,若某存储器芯片共有 10 根地址线的引脚,则该存储器芯片的存储容量为 ( )(分数:2.00)A.512 BB.1 KB C.2 KBD.4 KB解析:5.在软件研制过程中,CASE 是指 ( )(分数:2.00)A.计算机辅助软件工程 B.计算机产生的例子C.实验室使用的工具D.计算机辅助系统工程解析:6.下列软件中,属于应用软件的是 ( )(分数:2.00)A.UNIXB.人事管理系统 C.数据库管理系统D.SYSTE

16、M解析:7.现代计算机之所以能自动地连续进行数据处理,主要是因为 ( )(分数:2.00)A.采用了开关电路B.采用了半导体器件C.具有存储程序的功能 D.采用了二进制解析:8.软盘上第( )磁道最重要,一旦损坏,该盘就不能使用了。(分数:2.00)A.0 B.40C.1D.80解析:9.在下列四条叙述中,错误的一条是 ( )(分数:2.00)A.内存是主机的组成部分B.对于种类不同的计算机,其机器指令系统都是相同的 C.CPU 由运算器和控制器组成D.十六进制微型机的含义是:这种机器能同时处理十六位二进制数解析:10.十进制数 124 转换成二进制数是 ( )(分数:2.00)A.111l0

17、10B.1111100 C.1011111D.1111011解析:11.数字字符“2”的 ASCII 码为十进制数 50,数字字符“5”的 ASCII 码为十进制数( )(分数:2.00)A.52B.55C.54D.53 解析:12.若要用下面的程序片段使指针变量 p 指向一个存储字符型变量的动态存储单元,则应填入; char * p;p= ( ) malloc (sizeof (char);(分数:2.00)A.charB.char *C.(* char)D.(char *) 解析:13.能够对计算机的硬件设备进行管理,并使应用软件能够方便、高效地使用这些设备的是 ( )(分数:2.00)A

18、.数据库存系统B.操作系统 C.编辑软件D.应用软件解析:14.对于个非空的数据结构,如果它有且只有个根结点,并且每一个结点最多有一个前件,也最多有个后件,那么 ( )(分数:2.00)A.肯定是一个线形结构 B.肯定是一个非线性结构C.还不足以证明是一个线形结构D.很可能是一个非线形结构解析:15.在 C 语言中,可以把整数以二进制形式存放到文件中的函数是 ( )(分数:2.00)A.fprintf ( ) 函数B.fread ( ) 函数C.fwrite ( ) 函数 D.fputc( )函数解析:16.有程序段: int al,a2; Char cl,c2; scanf(“%d%c%d%

19、c“,printf(“%d,%d”n“,* p,* * pp); 则输出结果是(分数:2.00)A.10, 10B.10,20C.20,10D.20,20 解析:30.若有以下定义和语句 ( )int u010,vOx10,w10;printf(“%d,%d%d/n“,u,v,w);则输出结果是(分数:2.00)A.8,16,10 B.10,10,10C.8,8,10D.8,10,10解析:31.若有以下定义和语句 char c1=b,c2eprintf(“%d,%c/n“,c2-c1,c2-a+A); 则输出结果 ( )(分数:2.00)A.2,MB.3,E C.2,ED.输出项与对应的格式

20、控制不一致,输出结果不确定解析:32.若有定义:int a34,( )不能表示数组元素 a11。(分数:2.00)A.* (a1+1)B.* (j4;j+ +)(分数:2.00)A.20 B.24C.25D.30解析:34.若有以下定义语句: char * sl“12345“, * s2“1234“; printf(“%d“n“,strlen(strcpy(s1,s2); 则输出结果是 ( )(分数:2.00)A.4 B.5C.9D.10解析:35.若有以下定义和语句:int a101,2,3,4,5,6,7,8,9,10,* pa 则不能表示 a 数组元素的表达式是 ( )(分数:2.00)

21、A.* pB.a10 C.* aD.ap-a解析:36.下面程序的输出结果是 ( ) maint( ) char * s“121“; int k0,a0,b0; do k + +; if (k%20) aa + sk-0;continue; bb + sk-0;aa + sk-0 wnile(sk+1);printf(“k%d a%d b%d/n“,k,a,b); (分数:2.00)A.k3 a2 b3B.k3 a3 b2C.k2 a3 b3 D.k2 a2 b3解析:37.下面程序的输出结果 ( ) main( ) unsigned a32768; printf(“a%d/n“,a);(分数

22、:2.00)A.a32768B.a32767C.a-32768 D.a-1解析:38.执行下面语句后的输出结果为 ( ) int i-1; if(i0)print(“* * * */n“); else printf(“% % % %/n“);(分数:2.00)A.* * * *B.% % % % %C.% % % %cD.有语法错误,不能正确执行 解析:39.对于条件表达式(M)?(a+ +):(a- -),其中的表达式 M 等于 ( )(分数:2.00)A.M0B.M1C.M!0 D.M!1解析:40.下述程序段的输出结果是 ( ) int x=10; int yx+ +; printf(“

23、%d,%d“,(x+ +,y),y+ +);(分数:2.00)A.11,10 B.11,11C.10,10D.10,11解析:41.若有以下定义: int a 1,2,3,4,5,6,7,8,9,10,* pa; 则值为 3 的表达式是 ( )(分数:2.00)A.p+2,* (pd+ +) B.p+2,* + +pC.p+3,* p+ +D.p +2,+ + * p解析:42.假定所有变量均已正确说明,下列是程序段运行后 x 的值是 ( ) abCO;x35; if(! a)x- -; else if(b); if(c)x3; else x4;(分数:2.00)A.34B.4 C.35D.3

24、解析:43.在以下一组运算中,优先级最高的运算符是 ( )(分数:2.00)A.B.C.% D. i=3:k=6+arr3+3 即 k=12;59.若 a=10,b=20,则表达式!(ab) 的值是 1。(分数:2.00)填空项 1:_ (正确答案:正确答案:0)解析:解析:已知 a=10,b=20,所以逻辑表达式 ab 的值为 true,即为 1,在这个表达式前面有一个逻辑运算符!,表示反操作,所以整个语句的值应当为 false,即为 0。60.有以下程序: int fa(int x)return x*x; int fb(int x)return x*x*x; int f(int(*f1)(

25、),int(*f2)(),int x) return f2(x)-f1(x); main() int i:i=f(fa,fb,2);printf(“%d/n“,i); 程序运行后,输出结果是 1 。(分数:2.00)填空项 1:_ (正确答案:正确答案:4)解析:解析:在主函数中调用函数 f,函数 f 有三个参数,形参 f1 与 f2 分别是两个指向函数的指针。在f 中执行 f2(x)-f1(x),实际上是执行了 fb(2)-fa(2),故执行 i=(fa,fb,2)后 i 的值为 2 3 -2 2 =4。61.下面程序的输出走 1。 main() enum em em1=3,em2=1,em

26、3; char*aa=“AA“,“BB“,“CC“,“DD“; printf(“%s%s%s/n“,aaem1,aaem2,aaem3); (分数:2.00)填空项 1:_ (正确答案:正确答案:DDBBCC)解析:解析:C 语言对枚举的定义规定:在枚举中声明的各个枚举元素,如果没有明确指出某个枚举元素的值,它的上一个元素存在并有明确值的情况下,这个枚举元素的值为其上一个元素的值+1。在本题中,没有明确说明枚举元素 em3 的值,则 em3=em2+1=1+1=2,进而可知,在 printf()打印函数中,要打印的数组元素是 aa3、aa1、aa2,因此最后的打印结果应当为“DDBBCC”。6

27、2.若想通过以下输入语句使 a=5.0,b=4,c=3,则输入数据的形式应该是 1。 int b,c;float a; scanf(“%f,%d,c=%d“, dp=x*x-y*y; main() int a=4,b=3,c=5,d=6; t(a,b,c,d) ; printf(“%d/n“,c,d) ; (分数:2.00)填空项 1:_ (正确答案:正确答案:56)解析:解析:本题中 a,b,c,d 是实参,x, y, cp,dp 是形参。C 语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。

28、在调用函数时,给形参分配存储单元,并将实参对应的值传递给形参,调用结束后,形参单元被释放,实参中元仍保留并维持原值。因此,程序的输出结果是 56。64.下面程序的输出结果是 1。 char b=“ABCD“; main() char b30; strcpy( printf(“%s/n“,b) ; (分数:2.00)填空项 1:_ (正确答案:正确答案:GGGH)解析:解析:由于在函数 main 中定义了数组变量 b,其将屏蔽全局变量 b。对于一维数组变量,其值为一常数,等于数组首元素地址。strcpy( float share2: share; a;(分数:2.00)填空项 1:_ (正确答案

29、:正确答案:10)填空项 1:_ (正确答案:4)解析:解析:结构体变量所占内存长度是各成员占的内存长度之和。每个成员分别占有其自己的内存单元。int 占 2 个字节,float 占 4 个字节,共用体变量所占的内存长度等于最长的成员的长度。所以,sizeof(a.share)的值是 4,sizeof(A) 的值是 2+2+2+4=10。66.下述函数用于统计一行字符中的单词个数,单词之间用空格分隔。 word num (str) char str; int i,num=0,word=0; for(i=0;stri!= 1;i+) if( 2=)word=0; else if(word=0)

30、word=1; 3; return(num); (分数:2.00)填空项 1:_ (正确答案:正确答案:/0 或 0 或 NULL stri num+ 或 num=num+1 或 num+=1)解析:解析:观察题目要求,可以知道以下几点: for 循环的结束条件应当是:stri已是字符串的最后一个字符; stri代表字符串 sb 中的第 i+1 个字符: 整型变量 num 的值是要记录的单词的个数。 C 语言中规定字符串的最后一个字符是一个隐含的字符串结束符“/0”,所以在题中第一个空中应填写“/0”;题中第二个空应填写“stri”,以判断当前位置的字符是否为空格;题中第二个空中应当填写“nu

31、m+”,通过变量 num 的加 1 累加得到字符串中的单词个数。67.有一个已排好序的数组,今输入一个数,要求按原来的顺序规律将它插入到数组中。算法是:假设排序顺序是从小到大,对输入的数,检查它在数组中哪个数之后,然后将比这个数大的数顺序后移一个位置,在空出的位置上将该数插入。请在程序中的空白处填上一条语句或一个表达式。 #define N 100 main() float aN+1,x; int i,p; for(i=0;iN;i+) scanf(“%f“, scanf(“%f“, for(i=0,p=N;iN;i+) if(xai) 1; break; for(i=N-1; 2;i-) a

32、i+1=ai; ap=x; for(i=0; 3;i+) printf(“%8.2f“,ai); if(i% 5=0) printf(“/n“); (分数:2.00)填空项 1:_ (正确答案:正确答案:p=i; i=p i=N)解析:解析:本题主要考查了插入排序。由于程序中的数组在开始已经按从小到大的顺序排好。在插入时,首先要查到第一个大于待插入数的数组下标,即当待插入元素小于数组中当前元素时,记下数组的当前下标 p,并结束循环。故第一空目的是为了记下数组下标,应填 p=i;插入排序的第二部是将大于待插入元素的所有元素都向后移动一位,故在循环时,要从最后一个元素到第 p 个元素都要后移一位,因此第二空应填 i=p。最后一个循环是将 N+1 个元素都输出,战最后一空应为 i=N。 (注:本题有多种答案,以上仅提供一种)

展开阅读全文
相关资源
猜你喜欢
  • EN 1807-1-2013 en Safety of woodworking machines - Band sawing machines - Part 1 Table band saws and band re-saws《木工机械安全性 带锯机械 第1部分 台式带锯机和再分带锯机》.pdf EN 1807-1-2013 en Safety of woodworking machines - Band sawing machines - Part 1 Table band saws and band re-saws《木工机械安全性 带锯机械 第1部分 台式带锯机和再分带锯机》.pdf
  • EN 1807-2-2013 en Safety of woodworking machines - Band sawing machines - Part 2 Log sawing machines《木工机械安全性 带锯机械 第2部分 锯木机》.pdf EN 1807-2-2013 en Safety of woodworking machines - Band sawing machines - Part 2 Log sawing machines《木工机械安全性 带锯机械 第2部分 锯木机》.pdf
  • EN 1808-2015 en Safety requirements for suspended access equipment - Design calculations stability criteria construction - Examinations and tests《暂停访问设备的安全要求 设计计算 稳定性标准 施工 检查和试验》.pdf EN 1808-2015 en Safety requirements for suspended access equipment - Design calculations stability criteria construction - Examinations and tests《暂停访问设备的安全要求 设计计算 稳定性标准 施工 检查和试验》.pdf
  • EN 1809-2014 en Diving equipment - Buoyancy compensators - Functional and safety requirements test methods (Incorporates Amendment A1 2016)《潜水装备 浮力补偿器 功能和安全要求 试验方法》.pdf EN 1809-2014 en Diving equipment - Buoyancy compensators - Functional and safety requirements test methods (Incorporates Amendment A1 2016)《潜水装备 浮力补偿器 功能和安全要求 试验方法》.pdf
  • EN 1811-2011 en Reference test method for release of nickel from all post assemblies which are inserted into pierced parts of the human body and articles intended to come into dire.pdf EN 1811-2011 en Reference test method for release of nickel from all post assemblies which are inserted into pierced parts of the human body and articles intended to come into dire.pdf
  • EN 1813-1997 en Textile Floor Coverings - Determination of Wool Fibre Integrity Using an Abrasion Machine《铺地织物 用研磨机器对羊毛纤维完整性的测定》.pdf EN 1813-1997 en Textile Floor Coverings - Determination of Wool Fibre Integrity Using an Abrasion Machine《铺地织物 用研磨机器对羊毛纤维完整性的测定》.pdf
  • EN 1814-2005 en Textile floor coverings - Determination of resistance to damage at cut edges using the modified Vettermann drum test《铺地织物 改良的维特曼(Vettermann)鼓试验用抗切边损坏的测定》.pdf EN 1814-2005 en Textile floor coverings - Determination of resistance to damage at cut edges using the modified Vettermann drum test《铺地织物 改良的维特曼(Vettermann)鼓试验用抗切边损坏的测定》.pdf
  • EN 1815-1997 1875 Resilient and Textile Floor Coverings - Assessment of Static Electrical Propensity《弹性地板和铺地织物 静电性能评估》.pdf EN 1815-1997 1875 Resilient and Textile Floor Coverings - Assessment of Static Electrical Propensity《弹性地板和铺地织物 静电性能评估》.pdf
  • EN 1815-2016 en Resilient and laminate floor coverings - Assessment of static electrical propensity《弹性和复层铺地材料-人体行走电压》.pdf EN 1815-2016 en Resilient and laminate floor coverings - Assessment of static electrical propensity《弹性和复层铺地材料-人体行走电压》.pdf
  • 相关搜索

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

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