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

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

1、二级 C 语言笔试-418 及答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈的描述中错误的是_。A) 栈是先进后出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入和删除操作中,不需要改变栈底指针(分数:2.00)A.B.C.D.2.下列叙述中正确的是_。A) 线性表是线性结构 B) 栈与队列是非线性结构C) 线性列表是非线性性结构 D) 二叉树是线性结构(分数:2.00)A.B.C.D.3.下列叙述中错误的是( )。A) 线性表是由 n 个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅

2、有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C.D.4.下列叙述中正确的是_。(A) 线性链表是线性表的链式存储结构(B) 栈与队列是非线性结构(C) 双向链表是非线性结构(D) 只有根结点的二叉树是线性结构(分数:2.00)A.B.C.D.5.两个或两个以上模块之间关联的紧密程度称为A) 耦合度 B) 内聚度 C) 复杂度 D) 数据传输特性(分数:2.00)A.B.C.D.6.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C.D.7.下列叙述中,不属于软件需求规格说明书

3、的作用的是A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析(分数:2.00)A.B.C.D.8.在数据库系统中,用户所见的数据模式为A) 概念模式 B) 外模式 C) 内模式 D) 物理模式(分数:2.00)A.B.C.D.9.对下列二叉树(分数:2.00)A.B.C.D.10.在关系数据库中,用来表示实体之间联系的是( )。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分数:1.00)A.B.C.D.11.下列关于栈的描述正确的是( )。A) 在栈中只能插入元素而不能删除元

4、素B) 在栈中只能删除元素而不能插入元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:1.00)A.B.C.D.12.下列不属于软件工程 3 个要素的是( )。 A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D.13.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。A) 并 B) 交C) 投影 D) 笛卡儿乘积(分数:2.00)A.B.C.D.14.以下程序段中与语句 k=ab? (bc? 1:0):0;功能等价的是( )。A) if(ab)else k=0;B)if(ab)

5、|(bc) k=1;else k=0;C) if(a=b) k=0;else if(b=c) k=1;D) if(ab) k=1;else if(bc) k=1;else k=0;(分数:1.00)A.B.C.D.15.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。A) %、sizeof、= B) sizeof、%、=、C) sizeof、%、= D) sizeof、%、=(分数:2.00)A.B.C.D.16.下列程序的运行结果是( )。int y=5,x=14;y=(x=3*y,x+1),x-1);printf(“x=%d,y=%d“,x,y);A)

6、 x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27(分数:2.00)A.B.C.D.17.设有定义“int x=2;”,下列表达式中,值不为 6 的是( )。Ax*=x+1 Bx+,2*xCx*=(1+x) D2*x,x+=2(分数:1.00)A.B.C.D.18.若有定义语句:int x=10;则表达式 x-=x+x 的值为A) -20 B) -10 C) 0 D) 10(分数:1.00)A.B.C.D.19.设以下变量均为 int 类型,表达式的值不为 7 的是A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6

7、,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)(分数:1.00)A.B.C.D.20.有以下程序:#includestdio.hmain()int y=9;for(;y0;y-)f(y%3=0)printf(“%d“,-y);程序的运行结果是_。A) 741 B) 963 C) 852 D) 875421(分数:2.00)A.B.C.D.21.以下选项中正确的语句组是( )。A) char s; s=“HELLO!“; B) char *s; s=“HELLO!“;C) char s10; s=“HELLO!“; D) char *s; s=“HELLO!“;(分数:2.

8、00)A.B.C.D.22.if 语句的基本形式为:if(表达式)语句,其中“表达式”( )。 A) 可以是任意合法的表达式 B) 必须是逻辑表达式 C) 必须是逻辑表达式或关系表达式 D) 必须是关系表达式(分数:2.00)A.B.C.D.23.有以下程序main()int x=0,y=0,i;for(i=1;+i)if(i%2=0) x+;continue;if(i%5=0)y+;break;printf(“%d,%d“,x,y);程序的输出结果是A) 2,1 B) 2,2 C) 2,5 D) 5,2(分数:2.00)A.B.C.D.24.以下函数 findmax 拟实现在数组中查找最大值

9、并作为函数值返回,但程序中有错导致不能实现预定功能。#define MIN-2147483647int findmax(int x,int n)int i,max;for(i=0;in;i+)max=MIN;if(maxxi)max=xi;return max;造成错误的原因是( )。A定义语句“int i,max;”中,max 未赋初值B赋值语句“max=MIN”;中,不应给 max 赋 MIN 值C语句“if(maxximax=xi)”中,判断条件设置错误D赋值语句“max=MIN;”放错了位置(分数:1.00)A.B.C.D.25.有下列程序段:int n,t=1,s=0;scanf(“

10、%d“,dos=s+t;t=t-2;while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。A) 任意正奇数 B) 任意负偶数C) 任意正偶数 D) 任意负奇数(分数:2.00)A.B.C.D.26.以下能正确定义二维数组的是_。A) int a3; B) int a3=2*3;C) int a3=; D) int a23=1), 2, 3,4;(分数:2.00)A.B.C.D.27.若有定义和语句:int*pp,*p,a=20,b=10;pp=p=p=printf(“%d,%d/n“,*p,*pp);则输出结果是( )。A)20,10 B)20,20 C)10,20

11、D)10,10(分数:2.00)A.B.C.D.28.当说明一个结构体变量时,系统分配给它的内存是A) 各成员所需内存量的总和 B) 结构中第一个成员所需内存量C) 成员中占内存量最大者所需的容量 D) 结构中最后一个成员所需内存量(分数:2.00)A.B.C.D.29.若要求从键盘读入含有空格字符的字符串,应使用函数_。(A) getc()(B) gets()(C) getchar()(D) scanf()(分数:2.00)A.B.C.D.30.有以下程序#include stdio.hint fun(char s ) int n=0;while(*s=9s+;retum(n);main(

12、)char s10=6,1,*,4,*,9,*,0,*;printf(“%d/n“,fun(s);程序的运行结果是A)9 B)61490 C)61 D)5(分数:2.00)A.B.C.D.31.有以下程序:main(int argc,char * argv)int n=0,i;for(i=1;iargc;i+)n=n*10+argvi-0;printf(“%d/n“,n);编译连接后生成可执行文件 tt.exe. 若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是_。A) 12 B) 12345C) 12345678 D) 136(分数:2.00)A.B.C.D.32.以下

13、程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main( )int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);A) 22 B) 10 C) 34 D) 30(分数:2.00)A.B.C.D.33.若有以下程序:#includestdio.hvoid f(int n);main( )void f(int n);f(5);void f(int n) pri

14、ntf(“%d/n“,n);则下列叙述中不正确的是A) 若只在 main 中对函数 f 进行说明,则只能在 main 中正确调用函数 fB) 在 main 前对函数 f 进行说明,则在 main 和其后的其他函数中都可以正确调用函数 fC) 对于以上程序,编译时系统会提示出错信息:提示对 f 函数重复说明D) 函数 f 无返回值,所以可用 void 将其类型定义为无返回值型(分数:2.00)A.B.C.D.34.下列程序的输出结果是( )。#includestdio.h#includestring.hmain()char a=“/n123/“;printf(“%d,%d/n“,strlen(A

15、) ,sizeof(A) );A) 5,6 B) 5,5 C) 6,6 D) 6,5(分数:1.00)A.B.C.D.35.设有以下语句char x=3,y=6,Z;z=xy2;则 z 的二进制值是A) 00010100 B) 00011011 C) 00011100 D) 00011000(分数:2.00)A.B.C.D.36.已知 int a=1,b=3 则 ab 的值为A) 3 B) 1 C) 2 D) 4(分数:2.00)A.B.C.D.37.在 C 语言中,只有在使用时才占用内存单元的变量,其存储类型是( )。Aauto 和 register Bextern 和 register C

16、auto 和 static Dstatic 和 register(分数:1.00)A.B.C.D.38.设有定义语句 int (*f)(int);,则以下叙述正确的是A) f 是基类型为 int 的指针变量B) f 是指向函数的指针变量,该函数具有一个 int 类型的形参C) f 是指向 int 类型一维数组的指针变量D) f 是函数名,该函数的返回值是基类型为 int 类型的地址(分数:2.00)A.B.C.D.39.有以下函数:fun(char *p)return p;该函数的返回值是( )。A) 无确切值 B) 形参 p 中存放的地址值C) 一个临时存储单元的地址 D) 形参 p 自身的

17、地址值(分数:2.00)A.B.C.D.40.有以下程序:#inelude stdio.hmain( )int i,j,x=0;for(i=0;i2;i+ )x+;for(j=0;j=3;j +)fi(j%2) continue;x+;x+;pfinff( “x = % d/n“,x);程序执行后的输出结果是( )。A) x=4 B) x=8 C) x=6 D) x=12(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:32.00)41.设某循环队列的容量为 50,如果头指针 front=45(指向队头元素的前一位置),尾指针 rear=10(指向队尾元素),则该循环队列中共有

18、 1 个元素。(分数:2.00)填空项 1:_42.程序流程图中的菱形框表示的是 1。(分数:2.00)填空项 1:_43._(黑箱或白箱)测试方法完全不考虑程序的内部结构和内部特征。(分数:2.00)填空项 1:_44.常用的黑箱测试有等价分类法、_、因果图法和错误推测法 4 种。(分数:2.00)填空项 1:_45.排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、 1 和选择排序。(分数:2.00)填空项 1:_46.执行以下程序后的输出结果是_。main()int a=10;a=(3*5,a+4);printf(“a=%d/n“,a);(分数:2.00)填空项 1:_47

19、.若有定义语句:int a=5;,则表达式:a+的值是 1。(分数:2.00)填空项 1:_48.若 a 是 int 型变量,且 a 的初值为 4,则计算 a+=a-=a*a 表达式后 a 的值为 1。(分数:2.00)填空项 1:_49.若整型变量 a 和 b 中的值分别为 7 和 9,要求按以下格式输出 a 和 b 的值:a=7b=9请完成输出语句:printf(“_“,a,b);(分数:2.00)填空项 1:_50.下列程序的输出结果是_。#includestdio.hmain()int x=1, y=1,a=1,b=1;switch(x)case 1:switch (y)case 0:

20、a+; break;case 1:b+; break;case2: a+: b+; break;printf(“a=%d,b=%d/n“,a,b);(分数:4.00)填空项 1:_51.下列程序的输出结果是_。main()int i;for(i=1;i+1;i+)if(i4)printf(“%d/n“,i);break;printf(“%d/n“,i+);(分数:2.00)填空项 1:_52.在计算机中,字符的比较是对它们的 1 进行比较。(分数:2.00)填空项 1:_53.以下程序中函数 huiwen 的功能是检查一个字符串是否是回文,当字符串是回文时,函数返回字符串“yes!”,否则函数

21、返回字符串“no!”,并在主函数中输出。所谓回文即正向与反向的拼写都一样,例如:adsda。请填空。#include stdio, h#include string, hchar * huiwen(char * str)char *p1, * p2; int i,t=0;p1 = str;p2 =U /U;for(i =0;i= strlen(str)/2;i + )if( * pl + ! = * p2 - ) t = 1 ;breakif(U /U) return( “yes !“ );else return( “no!“ );main( ) char str50;printf( “Iap

22、ut:“ ); scanf(“ % s“, str);printf(“%s /n“,U /U);(分数:2.00)填空项 1:_54.以下程序的输出结果是U /U。#include stdioh#deftne JFT(x)x*xmain()int a,k=3;a=+JFT(k+1);printf(“%d“,a);(分数:2.00)填空项 1:_55.以下程序中函数 fun()的功能是构成一个如图所示的带头结点的单向链表,在结点的数据域中放入了具有两个字符的字符串。函数 disp 的功能是显示输出该单向链表中所有结点中的字符串。请填空完成函数 disp。*#include atdio.htype

23、def struct node /*链表结点结构*/char sub3;struct node * next;NodeNode un(char s) /*建立链表*/void disp(Node * h)Node * Psp=h-next;while(U /U)printf(“%s/n“,p-suh);p=U /U;main( )Node * hd;hd = fun( ); disp(hd) ;prinff(“ /n“ );(分数:2.00)填空项 1:_二级 C 语言笔试-418 答案解析(总分:102.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.下列关于栈的

24、描述中错误的是_。A) 栈是先进后出的线性表B) 栈只能顺序存储C) 栈具有记忆作用D) 对栈的插入和删除操作中,不需要改变栈底指针(分数:2.00)A.B. C.D.解析:解析 栈是限定在一端进行插入与删除运算的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底,对栈的插入和删除操作中,不需要改变栈底指针。栈是按照“先进后出”或“后进先出”的原则组织数据的。栈具有记忆作用。栈的存储方式和线性表类似,也有两种,即顺序栈和链式栈。2.下列叙述中正确的是_。A) 线性表是线性结构 B) 栈与队列是非线性结构C) 线性列表是非线性性结构 D) 二叉树是线性结构(分数:2.

25、00)A. B.C.D.解析:评析 一般将数据结构分为两大类型:线性结构与非线性结构。线性表、栈与队列、线性链表都是线性结构,而二叉树是非线性结构。3.下列叙述中错误的是( )。A) 线性表是由 n 个元素组成的一个有限序列B) 线性表是一种线性结构C) 线性表的所有结点有且仅有一个前件和后件D) 线性表可以是空表(分数:2.00)A.B.C. D.解析:解析 线性表是一种线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件,所以选项 C)是错误的。4.下列叙述中正确的是_。(A) 线性链表是线性表的

26、链式存储结构(B) 栈与队列是非线性结构(C) 双向链表是非线性结构(D) 只有根结点的二叉树是线性结构(分数:2.00)A. B.C.D.解析:5.两个或两个以上模块之间关联的紧密程度称为A) 耦合度 B) 内聚度 C) 复杂度 D) 数据传输特性(分数:2.00)A. B.C.D.解析:解析 本题考核模块独立性的评价。评价模块独立性的主要标准有两个:一是模块之间的耦合度,它表明两个模块之间互相独立的程度,也可以说是两个或两个以上模块之间关联的紧密程度,所以,本题的正确答案为选项 A;二是模块内部之间的关系是否紧密,称为内聚。一般来说,要求模块之间的耦合尽可能地弱,即模块尽可能独立;而要求模

27、块的内聚程度尽量地高。6.对长度为 n 的线性表进行顺序查找,在最坏情况下需要比较的次数为( )。A) 125 B) n/2 C) n D) n+1(分数:2.00)A.B.C. D.解析:解析 对线性表进行顺序查找时,从表中的第一个元素开始,将给定的值与表中逐个元素的关键字进行比较,直到两者相符,查找到所要找的元素为止。在最坏情况下,要查找的元素是表的最后一个元素或查找失败,这两种情况都需要将这个元素与表中的所有元素进行比较,因此比较次数为 n。7.下列叙述中,不属于软件需求规格说明书的作用的是A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据

28、C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析(分数:2.00)A.B.C.D. 解析:解析 软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它具有以下几个方面的作用:便于用户、开发人员进行理解和交流;反映出用户问题的结构,可以作为软件开发工作的基础和依据;作为确认测试和验收的依据。8.在数据库系统中,用户所见的数据模式为A) 概念模式 B) 外模式 C) 内模式 D) 物理模式(分数:2.00)A.B. C.D.解析:解析 数据库管理系统的三级模式结构是指外模式、模式和内模式

29、。外模式也称子模式或用户模式,是指数据库用户所看到的数据结构,是用户看到的数据视图。模式也称逻辑模式,是数据库中对全体数据的逻辑结构和特性的描述,是所有用户所见到的数据视图的总和。内模式也称存储模式或物理模式,是指数据在数据库系统内的存储介质上的表示,即对数据的物理结构和存取方法的描述。根据上述介绍可知,数据库系统中用户所见到的数据模式为外模式。9.对下列二叉树(分数:2.00)A. B.C.D.解析:解析 二叉树的中序遍历(LDR),首先遍历左子树,然后访问根结点,最后遍历右子树。10.在关系数据库中,用来表示实体之间联系的是( )。A) 树结构 B) 网结构 C) 线性表 D) 二维表(分

30、数:1.00)A.B.C.D. 解析:解析 在关系数据库中,用二维表来表示实体之间的联系。11.下列关于栈的描述正确的是( )。A) 在栈中只能插入元素而不能删除元素B) 在栈中只能删除元素而不能插入元素C) 栈是特殊的线性表,只能在一端插入或删除元素D) 栈是特殊的线性表,只能在一端插入元素,而在另一端删除元素(分数:1.00)A.B.C. D.解析:解析 栈实际上也是线性表,只不过是一种特殊的线性表。在这种特殊的线性表中,其插入和删除只在线性表的一端进行。12.下列不属于软件工程 3 个要素的是( )。 A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D. 解析

31、:解析 软件工程包括 3 个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段;工具支持软件的开发、管理、文档生成;过程支持软件开发的各个环节的控制、管理。13.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是_。A) 并 B) 交C) 投影 D) 笛卡儿乘积(分数:2.00)A.B. C.D.解析:解析 并运算会增加元组个数,投影运算会减少表中属性个数,笛卡儿积既会增加属性个数,又会增加元组个数。14.以下程序段中与语句 k=ab? (bc? 1:0):0;功能等价的是( )。A) if(ab)else k=0;B)if(ab)|(bc) k=1;else k=0;C)

32、 if(a=b) k=0;else if(b=c) k=1;D) if(ab) k=1;else if(bc) k=1;else k=0;(分数:1.00)A. B.C.D.解析:解析 本题是先比较 a,b,如果 ab 成立则执行(bc? 1:0),如果 bc 成立则结果为 1,否则为 0。也就是说只有 ab 与 bc 同时成立时 k 值才能为 1。选项 A)正确。选项 B)是 a b 与 bc 之一成立时 k=1;选项 C)是 b=c 时 k=1;选项 D)与 B)类似。所以 B)、C)、D)均不对。15.若有运算符:、=、%、sizeof,则它们按优先级(由高至低)的正确排列顺序为( )。

33、A) %、sizeof、= B) sizeof、%、=、C) sizeof、%、= D) sizeof、%、=(分数:2.00)A.B.C.D. 解析:解析 主要考查运算符的优先级。sizeof 的优先级最高,后面的顺序是:%、,优先级最低的是“=”。16.下列程序的运行结果是( )。int y=5,x=14;y=(x=3*y,x+1),x-1);printf(“x=%d,y=%d“,x,y);A) x=27,y=27 B) x=12,y=13 C) x=15,y=14 D) x=y=27(分数:2.00)A.B.C. D.解析:解析 逗号表达式的求解步骤是先求解表达式 1,然后依次求解表达式

34、 2,直到表达式 N 的值。整个逗号表达式的值就是最后一个表达式 N 的值。表达式(x=3*y,x+1)中, 第一个表达式 x=3*y =3*5=15;第二个表达式 x+1=16,但没有给 x 或 y 赋值,所以 x 还是等于 15;第 3 个表达式 x-1=15-1=14,所以 y 的值为 14。17.设有定义“int x=2;”,下列表达式中,值不为 6 的是( )。Ax*=x+1 Bx+,2*xCx*=(1+x) D2*x,x+=2(分数:1.00)A.B.C.D. 解析:解析 本题主要考查了复合运算符“*=”和逗号表达式如何正确的求值。逗号表达式的作用是用逗号将表达式连接起来,其有效值

35、为最后一个表达式的值。其运算的结合性从左到右进行运算,选项 D 是一个逗号表达式,其值为 4。18.若有定义语句:int x=10;则表达式 x-=x+x 的值为A) -20 B) -10 C) 0 D) 10(分数:1.00)A.B. C.D.解析:解析 x-=x+x 可化为:x=x-(x+x),由于 x 初始值为 10,所以计算后,x=10-20=-10,因此选 B)。19.设以下变量均为 int 类型,表达式的值不为 7 的是A) (x=y=6,x+y,x+1) B) (x=y=6,x+y,y+1)C) (x=6,x+1,y=6,x+y) D) (y=6,y+1,x=y,x+1)(分数:

36、1.00)A.B.C. D.解析:解析 本题考查逗号表达式的用法。C 语言中的逗号“,”也是一种运算符,称为逗号运算符。其功能是把两个表达式连接起来组成一个表达式,称为逗号表达式。其一般形式为“表达式 1,表达式2”,其求值过程是分别求两个表达式的值,并以表达式 2 的值作为整个逗号表达式的值。逗号表达式的一般形式可以扩展为:表达式 1,表达式 2,表达式 3,表达式 n,其值为表达式 n 的值。20.有以下程序:#includestdio.hmain()int y=9;for(;y0;y-)f(y%3=0)printf(“%d“,-y);程序的运行结果是_。A) 741 B) 963 C)

37、852 D) 875421(分数:2.00)A.B.C. D.解析:解析 本题考查的重点是 printf()函数和 for 循环的执行方式。在循环体内,若 y 为的倍数,则执行 print(“%d”,-y)语句。所以,当 y 为 9 时,输出-y 为 8;当 y 为 6 时,输出-y 为 5;当 y 为3 时,输出-y 为 2;当 y 为零时,for 循环结束。因此,选项 C 是正确的。21.以下选项中正确的语句组是( )。A) char s; s=“HELLO!“; B) char *s; s=“HELLO!“;C) char s10; s=“HELLO!“; D) char *s; s=“

38、HELLO!“;(分数:2.00)A.B.C.D. 解析:解析 本题考查数组和字符串的赋值。选项 A)中数组 s 没有明确其大小就赋值是错误的。选项 B)中不能有大括号,选项 C) 中的写法应该为HELLO!。22.if 语句的基本形式为:if(表达式)语句,其中“表达式”( )。 A) 可以是任意合法的表达式 B) 必须是逻辑表达式 C) 必须是逻辑表达式或关系表达式 D) 必须是关系表达式(分数:2.00)A. B.C.D.解析:解析 本题考查 if 表达式。if(表达式)中的表达式可以为任何合法的表达式,一般情况下为逻辑、条件表达式,需要注意的是,当等号(=)误写为赋值号(=)时不会报错

39、的,但是其值恒为 1。23.有以下程序main()int x=0,y=0,i;for(i=1;+i)if(i%2=0) x+;continue;if(i%5=0)y+;break;printf(“%d,%d“,x,y);程序的输出结果是A) 2,1 B) 2,2 C) 2,5 D) 5,2(分数:2.00)A. B.C.D.解析:解析 本题考查了 continue 和 break 语句在循环语句中的作用。break 语句的作用是结束本层循环,而 continue 语句的作用是结束本次循环直接进入到下次循环。24.以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但程序中有错导

40、致不能实现预定功能。#define MIN-2147483647int findmax(int x,int n)int i,max;for(i=0;in;i+)max=MIN;if(maxxi)max=xi;return max;造成错误的原因是( )。A定义语句“int i,max;”中,max 未赋初值B赋值语句“max=MIN”;中,不应给 max 赋 MIN 值C语句“if(maxximax=xi)”中,判断条件设置错误D赋值语句“max=MIN;”放错了位置(分数:1.00)A.B.C.D. 解析:解析 “max=MIN;”语句应放在 for 循环之前,否则每次循环时都重新赋值,值没

41、有变化。25.有下列程序段:int n,t=1,s=0;scanf(“%d“,dos=s+t;t=t-2;while(t!=n);为使此程序段不陷入死循环,从键盘输入的数据应该是( )。A) 任意正奇数 B) 任意负偶数C) 任意正偶数 D) 任意负奇数(分数:2.00)A.B.C.D. 解析:解析 因为变量 t 的初始值等于 1,经过第一次 do while 循环中,执行 t=t-2 这条语句一次,所以变量 t 的值为-1,判断关系表达式 t!=n 是否成立,如果关系表达式成立,则执行第二次循环,再执行t=t-2 这条语句一次,所以变量 t 的值为-3,接着再判断关系表达式 t!=n 是否成

42、立,如果关系表达式成立,执行第三次循环,否则退出循环。由此可知,所以只要输入变量 n 的值为负奇数,则一定会使 t=n成立,则退出 do while 循环。26.以下能正确定义二维数组的是_。A) int a3; B) int a3=2*3;C) int a3=; D) int a23=1), 2, 3,4;(分数:2.00)A.B. C.D.解析:解析 (1)二维数组的定义二维数组的定义方式为:类型说明符数组名常量表达式常量表达式。二维数组在内存中是按行优先的顺序存放的,即先存放第一行的元素,再存放第二行的元素,依次类推。(2)二维数组元素的引用二维数组元素的表示形式为:数组名下标下标,下标

43、可以是整型常量或整型表达式;其范围为:0(常量表达式-1)。(3)二维数组的初始化可以用以下方法对二维数组元素初始化。分行给二维数组赋初值,例如;int a22=(1, 2), 3, 4);这种赋值方式比较直观,把第 1 个大括号内的数据赋给第 1 行的元素,第 2 个大括号内的数据赋给第 2 行的元素,即按行赋值。可以将所有数据写在一个大括号内,按数组排列的顺序对各个元素赋初值。可以对部分元素赋初值,没有初始化的元素值为 0。如果对全部数组元素赋初值,则定义数组时对第一维的长度可以不指定,但第二维的长度不能省略。27.若有定义和语句:int*pp,*p,a=20,b=10;pp=p=p=pr

44、intf(“%d,%d/n“,*p,*pp);则输出结果是( )。A)20,10 B)20,20 C)10,20 D)10,10(分数:2.00)A.B.C.D. 解析:解析 本题考查指针变量的赋值。*pp 是定义了一个指向指针的指针变量,语句 pp=while(*s=9s+;retum(n);main( )char s10=6,1,*,4,*,9,*,0,*;printf(“%d/n“,fun(s);程序的运行结果是A)9 B)61490 C)61 D)5(分数:2.00)A.B.C. D.解析:解析 在 fin 函数中,while 循环的功能是:逐个取字符数组 s 的字符判断其是否是数字。

45、若是则将其作为个位数字保存到变量 n 中,n 的原数据的各个数位将相应左移一个十进制位。当指针 s 指向数组的第 3 位时,循环条件不成立,循环结束,返回 n 的值,输出 n 的值为 61。31.有以下程序:main(int argc,char * argv)int n=0,i;for(i=1;iargc;i+)n=n*10+argvi-0;printf(“%d/n“,n);编译连接后生成可执行文件 tt.exe. 若运行时输入以下命令行tt 12 345 678程序运行后的输出结果是_。A) 12 B) 12345C) 12345678 D) 136(分数:2.00)A.B.C.D. 解析:

46、解析 main()函数可以带参数,并且只能有两个,第一个参数(argc)类型为整数,用来记下命令行的参数个数,第二个参数(argv)为一个字符型指针数组,其各个元素用来记下命令行各参数字符串的首地址。题目中 argc 的值是 4,循环中依次求出 argv1、argv2、argv3指向的字符串(“12“、“345“、“678“)首字符。其中*argvi用于指向求出的字符串的首地址的值,即分别是:1、3、6;“n=n*10+argvi-0”语句用于连接各字符串首字符。32.以下程序的输出结果是void reverse(int a,int n)int i,t;for(i=0;in/2;i+)t=ai;ai=an-1-i;an-1-i=t;main( )int b10=1,2,3,4,5,6,7,8,9,10;int i,s=0;reverse(b,8);for(i=6;i10;i+)s+=bi;printf(“%d/n“,s);A) 22 B) 10 C) 34 D) 30(分数:2.00)A. B.C.D.解析:解析 在 main 函数中,调用 reverse 函数将 b 数组中的前 8 个成员进行互置,执行完毕后,b 数组中的成员为8,7,6,5,4,3,2,1,9,10,然后再执行 for 循环结构,将 b6,b7,b9

展开阅读全文
相关资源
猜你喜欢
  • BS EN ISO 23279-2017 Non-destructive testing of welds Ultrasonic testing Characterization of discontinuities in welds《焊缝的无损检测 超声波测试 焊缝中不连续性的表征》.pdf BS EN ISO 23279-2017 Non-destructive testing of welds Ultrasonic testing Characterization of discontinuities in welds《焊缝的无损检测 超声波测试 焊缝中不连续性的表征》.pdf
  • BS EN ISO 23328-1-2008 Breathing system filters for anaesthetic and respiratory use - Salt test method to assess filtration performance《麻醉和呼吸用呼吸系统过滤器 过滤性能评估用盐试验方法》.pdf BS EN ISO 23328-1-2008 Breathing system filters for anaesthetic and respiratory use - Salt test method to assess filtration performance《麻醉和呼吸用呼吸系统过滤器 过滤性能评估用盐试验方法》.pdf
  • BS EN ISO 23328-2-2009 Breathing system nfilters for anaesthetic nand respiratory use nPart 2 Non-filtration aspects (ISO n23328-2 2002)《麻醉和呼吸用呼吸系统过滤器 第2部分 非过滤方面(ISO 23328-2-2002)》.pdf BS EN ISO 23328-2-2009 Breathing system nfilters for anaesthetic nand respiratory use nPart 2 Non-filtration aspects (ISO n23328-2 2002)《麻醉和呼吸用呼吸系统过滤器 第2部分 非过滤方面(ISO 23328-2-2002)》.pdf
  • BS EN ISO 23429-2004 Gauging of hexagon sockets《六角槽的测量》.pdf BS EN ISO 23429-2004 Gauging of hexagon sockets《六角槽的测量》.pdf
  • BS EN ISO 23470-2011 Soil quality Determination of effective cation exchange capacity (CEC) and exchangeable cations using a hexamminecobalt trichloride solution《土壤质量 用三氯六氨基钴溶液测定有效.pdf BS EN ISO 23470-2011 Soil quality Determination of effective cation exchange capacity (CEC) and exchangeable cations using a hexamminecobalt trichloride solution《土壤质量 用三氯六氨基钴溶液测定有效.pdf
  • BS EN ISO 23553-1-2014 Safety and control devices for oil burners and oil-burning appliances Particular requirements Automatic and semi-automatic valves《气体燃烧器和燃气器具用安全和控制设备 详细要求 自动和.pdf BS EN ISO 23553-1-2014 Safety and control devices for oil burners and oil-burning appliances Particular requirements Automatic and semi-automatic valves《气体燃烧器和燃气器具用安全和控制设备 详细要求 自动和.pdf
  • BS EN ISO 23606-2009 Textiles - Knitted fabrics - Representation and pattern design《纺织物 针织物 表示法和图案设计》.pdf BS EN ISO 23606-2009 Textiles - Knitted fabrics - Representation and pattern design《纺织物 针织物 表示法和图案设计》.pdf
  • BS EN ISO 23611-1-2011 Soil quality Sampling of soil invertebrates Hand-sorting and formalin extraction of earthworms《土壤质量 土壤无脊椎动物取样 蚯蚓的手工排检和甲醛液提取》.pdf BS EN ISO 23611-1-2011 Soil quality Sampling of soil invertebrates Hand-sorting and formalin extraction of earthworms《土壤质量 土壤无脊椎动物取样 蚯蚓的手工排检和甲醛液提取》.pdf
  • BS EN ISO 23611-2-2011 Soil quality Sampling of soil invertebrates Sampling and extraction of micro-arthropods (Collembola and Acarina)《土壤质量 土壤无脊椎动物的取样 微型节肢动物的取样和萃取(弹尾目和蜱螨目)》.pdf BS EN ISO 23611-2-2011 Soil quality Sampling of soil invertebrates Sampling and extraction of micro-arthropods (Collembola and Acarina)《土壤质量 土壤无脊椎动物的取样 微型节肢动物的取样和萃取(弹尾目和蜱螨目)》.pdf
  • 相关搜索

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

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