欢迎来到麦多课文档分享! | 帮助中心 海量文档,免费浏览,给你所需,享你所想!
麦多课文档分享
全部分类
  • 标准规范>
  • 教学课件>
  • 考试资料>
  • 办公文档>
  • 学术论文>
  • 行业资料>
  • 易语言源码>
  • ImageVerifierCode 换一换
    首页 麦多课文档分享 > 资源分类 > DOC文档下载
    分享到微信 分享到微博 分享到QQ空间

    【计算机类职业资格】(A)二级公共基础知识-5及答案解析.doc

    • 资源ID:1317834       资源大小:90KB        全文页数:26页
    • 资源格式: DOC        下载积分:5000积分
    快捷下载 游客一键下载
    账号登录下载
    微信登录下载
    二维码
    微信扫一扫登录
    下载资源需要5000积分(如需开发票,请勿充值!)
    邮箱/手机:
    温馨提示:
    如需开发票,请勿充值!快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。
    如需开发票,请勿充值!如填写123,账号就是123,密码也是123。
    支付方式: 支付宝扫码支付    微信扫码支付   
    验证码:   换一换

    加入VIP,交流精品资源
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    【计算机类职业资格】(A)二级公共基础知识-5及答案解析.doc

    1、(A)二级公共基础知识-5 及答案解析(总分:100.01,做题时间:90 分钟)一、单项选择题(总题数:40,分数:40.00)1.下列关于栈和队列的描述中,正确的是_。A栈是先进先出 B队列是先进后出C队列允许在队头删除元素 D栈在栈项删除元素(分数:1.00)A.B.C.D.2.已知二叉树后序遍历序列是 CDABE,中序遍历序列是 CADEB,它的前序遍历序列是_。AABCDE BECABDCEACDB DCDEAB(分数:1.00)A.B.C.D.3.在数据流图中,带有箭头的线段表示的是_。A控制流 B数据流C模块调用 D事件驱动(分数:1.00)A.B.C.D.4.结构化程序设计的

    2、3 种结构是_。A顺序结构,分支结构,跳转结构B顺序结构,选择结构,循环结构C分支结构,选择结构,循环结构D分支结构,跳转结构,循环结构(分数:1.00)A.B.C.D.5.下列方法中,不属于软件调试方法的是_。A回溯法 B强行排错法C集成测试法 D原因排除法(分数:1.00)A.B.C.D.6.下列选项中,不属于模块间耦合的是_。A内容耦合 B异构耦合C控制耦合 D数据耦合(分数:1.00)A.B.C.D.7.下列特征中不是面向对象方法的主要特征的是_。A多态性 B标识惟一性C封装性 D耦合性(分数:1.00)A.B.C.D.8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于_。

    3、A需求分析阶段 B概念设计阶段C逻辑设计阶段 D物理设计阶段(分数:1.00)A.B.C.D.9.在一棵二叉树上,第 5 层的结点数最多是_。A8 B9 C15 D16(分数:1.00)A.B.C.D.10.下列有关数据库的描述,正确的是_。A数据库设计是指设计数据库管理系统B数据库技术的根本目标是要解决数据共享的问题C数据库是一个独立的系统,不需要操作系统的支持D数据库系统中,数据的物理结构必须与逻辑结构一致(分数:1.00)A.B.C.D.11.以下关于 C 语言的叙述中正确的是_。A预处理命令通常位于函数体外面,但也可以位于函数体中间BC 语言中的变量定义须在其他语句之前C在 C 语言程

    4、序的书写中,一个语句必须单占一行D一个 C 语言源程序可以由一个或多个源文件组成,每个源文件可由自己的 main 函数(分数:1.00)A.B.C.D.12.下列叙述中错误的是_。A用户所定义的标识符允许使用关键字B用户所定义的标识符应尽量做到“见名知意”C用户所定义的标识符必须以字母或下划线开头D用户定义的标识符中,大、小写字母代表不同标识(分数:1.00)A.B.C.D.13.下列选项中可作为 C 语言合法常量的是_。A-80 B-080C-8e1.0 D-80.0e(分数:1.00)A.B.C.D.14.下列定义变量的语句中错误的是_。Aint _int; Bdouble int_:Cc

    5、har For; Dfloat US$;(分数:1.00)A.B.C.D.15.下列关于函数的叙述中正确的是_。A每个函数都可以被其他函数调用(包括 main 函数)B每个函数都可以被单独编译C每个函数都可以单独运行D在一个函数内部可以定义另一个函数(分数:1.00)A.B.C.D.16.当 a=1、b=2、c=3、d=4 时,执行下面程序段后,x 的值是_。if(ab)if(cd)x=1;elseif(ac)if(bd)x=2;else x=3;else x=6;else x=7;A1 B6 C3 D2(分数:1.00)A.B.C.D.17.以下程序的输出结果是_。#includestdio

    6、.hmain()int a=4,b=3,c=2,d=1;printf(“%d“,ab?a:dc?d:b);A1 B3 C2 D4(分数:1.00)A.B.C.D.18.有以下程序#includestdio.hmain()int b33=0,1,2,0,1,2,0,1,2,i,j,t=0;for(i=0;i3;i+)for(j=2;j=i;j-)t+=bij;printf(“%d/n“,t);程序运行后的输出结果是_。A4 B3 C8 D9(分数:1.00)A.B.C.D.19.以下程序:#includestdio.hmain()char str10;scanf(“%s“,str);printf

    7、(“%s/n“,str);运行上面的程序,输入字符串 how are you,则程序的执行结果是_。Ahow Bhow are youCh Dhowareyou(分数:1.00)A.B.C.D.20.设 x 和 y 都是 int 类型,且 x=1,y=2,则 printf(“%d%d“,x,y,(x,y)的输出结果是_。A1 2 B1 2 2C1,2 D输出值不确定(分数:1.00)A.B.C.D.21.以下程序的输出结果是_。#includestdio.hmain()int a=8,b=6,m=1;switch(a%4)case 0:m+;break;case 1:m+;switch(b%3

    8、)default:m+;case 0:m+:break;printf(“%d/n“,m);A1 B2 C3 D4(分数:1.00)A.B.C.D.22.定义如下变量和数组:int i,x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_。for(i=0;i3;i+)printf(“%d“,xi2-i);A159 B147 C357 D369(分数:1.00)A.B.C.D.23.有下列程序段:typedef struct NODEint num;struct NODE *next;OLD;下列叙述中正确的是_。A以上的说明形式非法 BNODE 是一个结构体类型COLD 是一个结

    9、构体类型 DOLD 是一个结构体变量(分数:1.00)A.B.C.D.24.下列数组定义中错误的是_。Aint x3=0;Bint x23=1,2,3,4,5,6;Cint x3=1,2,3,4,5,6;Dint x23=1,2,3,4,5,6;(分数:1.00)A.B.C.D.25.以下叙述错误的是_。A变量的作用域取决于变量定义语句的位置B全局变量可以在函数以外的任何部位进行定义C局部变量的作用域可用于其他函数的调用D一个变量说明为 static 存储类型是为了限制其他编译单元的引用(分数:1.00)A.B.C.D.26.若定义函数 int *func(),则函数 func 的返回值为_。

    10、A一个实数 B一个指向整型变量的指针C一个指向整型函数的指针 D一个整型函数的入口地址(分数:1.00)A.B.C.D.27.若有定义 int a5,*p=a;则正确引用数组元素的是_。A*a5 B*a+2 C*(p+5) D*(a+2)(分数:1.00)A.B.C.D.28.以下对 C 语言中联合类型数据的正确叙述是_。A定义了联合变量后,即可引用该变量或该变量中的任意成员B一个联合变量中可以同时存放其所有成员C联合中的各个成员使用共同的存储区域D在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变(分数:1.00)A.B.C.D.29.有以下函数定义:int fun(double a

    11、,double b)return a*b;若以下选项中所用变量都已正确定义并赋值,错误的函数调用是_。Aif(fun(x,y) Bz=fun(fun(x,y),fun(x,y);Cz=fun(fun(x,y)x,y); Dfun(x,y);(分数:1.00)A.B.C.D.30.执行以下语句段后,xy 的值是_。int *pt,xy;xy=200;pt=xy;xy=*pt+30;A200 B170 C260 D230(分数:1.00)A.B.C.D.31.下述程序的输出结果是_。#includestdio.hvoid main()int a20,*p4;int i,k=0;for(i=0;i2

    12、0;i+)ai=i;for(i=0;i4;i+)pi=ai*i+1;for(i=0;i4;i+)k=k+*pi;printf(“%d“,k);A10 B18C6 D数组元素引用不合法,输出结果不定(分数:1.00)A.B.C.D.32.有以下程序:#includestdio.h#define N 8void fun(int *x,int i)*x=*(x+i)+1;main()int aN=1,2,3,4,5,6,7,8,i;fun(a,2);for(i=0;iN/2;i+)printf(“%d“,ai);printf(“/n“);程序运行后的输出结果是_。A1 3 1 3 B3 2 3 4C

    13、4 2 3 4 D1 2 3 4(分数:1.00)A.B.C.D.33.下面程序的输出结果是_。#includestdio.hmain()char a=a,b,c,d,f,g,*p;p=a;printf(“%c/n“,*p+4);Aa Bb Ce Df(分数:1.00)A.B.C.D.34.下面函数的功能是_。sss(s,t)char *s,*t;while(*s);while(*t)*(s+)=*(t+);return s;A将字符串 s 复制到字符串 t 中 B比较两个字符串的大小C求字符串的长度 D将字符串 t 续接到字符串 s 中(分数:1.00)A.B.C.D.35.下列程序的运行结

    14、果是_。#includestdio.hvoid sub(int *s,int *y)static int m=4;*y=sm;m-;void main()int a=1,2,3,4,5,k,x;printf(“/n|);for(k=0;k=4;k+)sub(a,x);printf(“%d,“,x);A5,4,3,2,1, B1,2,3,4,5,C0,0,0,0,0, D4,4,4,4,4,(分数:1.00)A.B.C.D.36.设 q1 和 q2 是指向一个 int 型一维数组的指针变量,k 为 float 型变量,下列不能正确执行的语句是_。Ak=*q1*(*q2); Bq1=k;Cq1=q

    15、2; Dk=*q1+*q2;(分数:1.00)A.B.C.D.37.下列程序的输出结果为_。main()union unchar *name;int age;int pay;s;s.name=“zhaoming“;s.age=32;s.pay=3000;printf(“%d/n“,s.age);A32 B3000 C0 D不确定(分数:1.00)A.B.C.D.38.以下有关宏替换的叙述不正确的是_。A使用宏定义可以嵌套 B宏定义语句不进行语法检查C双引号中出现的宏名不替换 D宏名必须用大写字母表示(分数:1.00)A.B.C.D.39.有以下程序:#includestdio.hint b=3

    16、;int fun(int *k)b=*k+b;return(b);main()int a10=1,2,3,4,5,6,7,8,i;for(i=2;i4;i+)b=fun(ai)+b;printf(“%d“,b);printf(“/n“);程序运行后的输出结果是_。A12 14 B12 32 C10 14 D10 20(分数:1.00)A.B.C.D.40.已知函数的调用形式:fread(buffer,size,count,fp);其中 buffer 代表的是_。A一个整型变量,代表要读入的数据项总数B一个文件指针,指向要读的文件C一个指针,是指向的输入数据放在内存中的起始位置D一个存储区,存放

    17、要读的数据项(分数:1.00)A.B.C.D.二、操作题(总题数:0,分数:0.00)三、程序填空题(总题数:1,分数:20.00)给定程序中,函数 fun 的功能是:在形参 ss 所指字符串数组中,将所有串长超过 k 的字符串中右边的字符删除,只保留左边的 k 个字符。ss 所指字符串数组中共有 N 个字符串,且串长小于 M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。注意:源程序存放在考生文件夹下的 BLANK1.C 中。不得增行或删行,也不得更改程序的结构!(分数:20.01)填空项 1:_填空项 1:_填空项 1:_四、程序修改题(总题数:1,分数:20.00

    18、)41.给定程序 MODI1.C 中函数 fun 的功能是:根据以下公式求兀值,并作为函数值返回。例如,给指定精度的变量 eps 输入 0.0005 时,应当输出 Pi=3.141480。请改正程序中的错误,使它能得出正确结果。注意:不要改动 main 函数,不得增行或删行,也不得更改程序的结构。(分数:20.00)填空项 1:_五、程序设计题(总题数:1,分数:20.00)42.假定输入的字符串中只包含字母和*号。请编写函数 fun,它的功能是:使字符串的前导*号不得多于n 个;若多于 n 个,则删除多余的*号:若少于或等于 n 个,则什么也不做,字符串中间和尾部的*号不删除。例如,字符串中

    19、的内容为:*A*BC*DEF*G*,若 n 的值为 4,删除后,字符串中的内容应当是:*A*BC*DEF*G*;若 n 的值为 8,则字符串中的内容仍为:*A*BC*DEF*G*。n 的值在主函数中输入。在编写函数时,不得使用 C 语言提供的字符串函数。注意:部分源程序在文件 PROG1.C 文件中。请勿改动主函数 main 和其他函数中的任何内容,仅在函数 fun 的花括号中填入你编写的若干语句。(分数:20.00)_(A)二级公共基础知识-5 答案解析(总分:100.01,做题时间:90 分钟)一、单项选择题(总题数:40,分数:40.00)1.下列关于栈和队列的描述中,正确的是_。A栈是

    20、先进先出 B队列是先进后出C队列允许在队头删除元素 D栈在栈项删除元素(分数:1.00)A.B.C.D. 解析:解析 栈实际也是线性表,只不过是一种特殊的线性表。栈是只能在表的一端进行插入和删除运算的线性表,通常称插入、删除的这一端为栈顶,另一端为栈底。队列是只允许在一端删除,在另一端插入的顺序表,允许删除的一端叫做队头,允许插入的一端叫做队尾。2.已知二叉树后序遍历序列是 CDABE,中序遍历序列是 CADEB,它的前序遍历序列是_。AABCDE BECABDCEACDB DCDEAB(分数:1.00)A.B.C. D.解析:解析 由于后序遍历的最后一个元素为 E,所以 E 为根结点,所以它

    21、的前序遍历的首个元素为 E,故排除 A 和 D 选项。由于中序遍历中,元素 B 在元素根结点 E 的后面,所以 B 为二叉树的右子树,并且该二叉树右子树只有一个元素,所以前序遍历的最后一个元素应为 B,故选项 C 为正确选项,即该二叉树的前序遍历序列是 EACDB。3.在数据流图中,带有箭头的线段表示的是_。A控制流 B数据流C模块调用 D事件驱动(分数:1.00)A.B. C.D.解析:解析 数据流图中带箭头的线段表示数据流,沿箭头方向传递数据的通道,一般在旁边标注数据流名。4.结构化程序设计的 3 种结构是_。A顺序结构,分支结构,跳转结构B顺序结构,选择结构,循环结构C分支结构,选择结构

    22、,循环结构D分支结构,跳转结构,循环结构(分数:1.00)A.B. C.D.解析:解析 程序设计语言仅仅使用顺序、选择和重复(循环)三种基本控制结构就足以表达出各种其他形式结构的程序设计方法。遵循程序结构化的设计原则,按结构化程序设计方法设计出的程序易于理解、使用和维护;可以提高编程工作的效率,降低软件的开发成本。5.下列方法中,不属于软件调试方法的是_。A回溯法 B强行排错法C集成测试法 D原因排除法(分数:1.00)A.B.C. D.解析:解析 软件调试主要采用以下三种方法:强行排错法:作为传统的调试方法,其过程可概括为设置断点、程序暂停、观察程序状态、继续运行程序。回溯法:该方法适合于小

    23、规模程序的排错、即一旦发现了错误,先分析错误征兆,确定最先发现“症状”的位置。原因排除法:原因排除法是通过演绎和归纳,以及二分法来实现。6.下列选项中,不属于模块间耦合的是_。A内容耦合 B异构耦合C控制耦合 D数据耦合(分数:1.00)A.B. C.D.解析:解析 耦合可以分为下列几种,它们之间的耦合度由高到低排列:内容耦合若一个模块直接访问另一模块的内容,则这两个模块称为内容耦合。公共耦合若一组模块都访问同一全局数据结构,则称为公共耦合。外部耦合若一组模块都访问同一全局数据项,则称为外部耦合。控制耦合若一模块明显地把开关量、名字等信息送入另一模块,控制另一模块的功能,则称为控制耦合。标记耦

    24、合若两个以上的模块都需要其余某一数据结构的子结构时,不使用其余全局变量的方式而全使用记录传递的方式,这样的耦合称为标记耦合。数据耦合若一个模块访问另一个模块,被访问模块的输入和输出都是数据项参数,则这两个模块为数据耦合。非直接耦合若两个模块没有直接关系,它们之间的联系完全是通过程序的控制和调用来实现的,则称这两个模块为非直接耦合,这样的耦合独立性最强。7.下列特征中不是面向对象方法的主要特征的是_。A多态性 B标识惟一性C封装性 D耦合性(分数:1.00)A.B.C.D. 解析:解析 面向对象设计方法与面向过程设计方法有本质的不同,其基本原理是:使用现实世界的概念抽象地思考问题从而自然地解决问

    25、题。其特点包括:标识惟一性、多态性、封装性、模块独立性、继承和多态性好。8.在数据库设计中,将 E-R 图转换成关系数据模型的过程属于_。A需求分析阶段 B概念设计阶段C逻辑设计阶段 D物理设计阶段(分数:1.00)A.B.C. D.解析:解析 逻辑结构设计的任务:概念结构是各种数据模型的共同基础,为了能够用某一 DBMS 实现用户需求,还必须将概念结构进一步转化为相应的数据模型,这正是数据库逻辑结构设计所要完成的任务。它包括从 ER 图向关系模式转换和逻辑模式规范化及调整、实现。9.在一棵二叉树上,第 5 层的结点数最多是_。A8 B9 C15 D16(分数:1.00)A.B.C.D. 解析

    26、:解析 根据二叉树的性质:二叉树第 i(i1)层上至多有 2i-1个结点。得到第 5 层的结点数最多是 16 个。10.下列有关数据库的描述,正确的是_。A数据库设计是指设计数据库管理系统B数据库技术的根本目标是要解决数据共享的问题C数据库是一个独立的系统,不需要操作系统的支持D数据库系统中,数据的物理结构必须与逻辑结构一致(分数:1.00)A.B. C.D.解析:解析 数据库设计的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供

    27、数据与应用程序的独立性,从而减少应用程序的开发和维护代价。11.以下关于 C 语言的叙述中正确的是_。A预处理命令通常位于函数体外面,但也可以位于函数体中间BC 语言中的变量定义须在其他语句之前C在 C 语言程序的书写中,一个语句必须单占一行D一个 C 语言源程序可以由一个或多个源文件组成,每个源文件可由自己的 main 函数(分数:1.00)A. B.C.D.解析:解析 源程序中可以有预处理命令(include 命令仅为其中的一种)。C 语言中的变量可以在使用之前的任何位置进行定义。C 语言程序的书写中,多个语句可以位于一行,但为了增强可读性,一般每行只有一条语句。一个 C 语言源程序可以由

    28、一个或多个源文件组成,但仅可以有一个 main 函数。12.下列叙述中错误的是_。A用户所定义的标识符允许使用关键字B用户所定义的标识符应尽量做到“见名知意”C用户所定义的标识符必须以字母或下划线开头D用户定义的标识符中,大、小写字母代表不同标识(分数:1.00)A. B.C.D.解析:解析 在 C 语言中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须为字母或下划线,凡是要求标识符的地方都必须按此规则命名。在 C 语言的标识符中,大写字母和小写字母被认为是两个不同的字符。在选择标识符时,应注意做到“见名知义”,即选择具有一定含义的英文单词或汉语拼音作为标识符,

    29、以增加程序的可读性。13.下列选项中可作为 C 语言合法常量的是_。A-80 B-080C-8e1.0 D-80.0e(分数:1.00)A. B.C.D.解析:解析 所谓常量是指在程序运行的过程中,其值不能被改变的量。在 C 语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项 B 中是以 0 开头,表示一个八进制数,而八进制数的取值范围是 07,所以“-080”错误;在 C 语言中 e 后面的指数必须是整数,因此选项 C 和 D 也不正确。14.下列定义变量的语句中错误的是_。Aint _int; Bdouble int_:Cchar For; Dfloat US$;(分数:1.0

    30、0)A.B.C.D. 解析:解析 C 语言规定,变量的标识符只能由字母、数字和下划线 3 种字符组成,且首字符必须为字母或下划线。在 C 语言中大写字母和小写字母被认为是两个不同的字符。选项 A 定义的变量标识符 int 和选项 B 定义的变量标识符 int 与 C 语言的关键字 int 是不同的,是正确的变量标识。选项 C 定义的变量标识符 For 与 C 语言中的关键字 for 是两个不同的标识符,所以选项 C 是正确的,而选项 D 包含有特殊字符$,因而其不符合 C 语言的变量命名规定。15.下列关于函数的叙述中正确的是_。A每个函数都可以被其他函数调用(包括 main 函数)B每个函数

    31、都可以被单独编译C每个函数都可以单独运行D在一个函数内部可以定义另一个函数(分数:1.00)A.B. C.D.解析:解析 在 C 语言中,函数定义是平行的,函数不能嵌套定义,即函数之间没有从属关系。虽然函数之间可以相互调用,但 main()函数不能被调用,选项 A 错误;C 程序从 main()函数开始执行,当 main()数执行完毕时,整个程序就结束了。C 程序的执行必须从 main()函数开始,选项 C 选项错误;函数不能嵌套定义,选项 D 错误。16.当 a=1、b=2、c=3、d=4 时,执行下面程序段后,x 的值是_。if(ab)if(cd)x=1;elseif(ac)if(bd)x

    32、=2;else x=3;else x=6;else x=7;A1 B6 C3 D2(分数:1.00)A. B.C.D.解析:解析 本题考查的是 if_else 语句。第一个 if 语句,先判断条件,发现 ab 条件成立,执行下面的语句。第二个 if 语句,先判断条件,发现 cd 条件成立,执行下面的语句 x=1。17.以下程序的输出结果是_。#includestdio.hmain()int a=4,b=3,c=2,d=1;printf(“%d“,ab?a:dc?d:b);A1 B3 C2 D4(分数:1.00)A. B.C.D.解析:解析 条件表达式的格式为:“a?b:c“,它的功能是:当 a

    33、 为真时,表达式的值等于 b 的值;当 a为假时,表达式的值等于 c 的值。因为条件运算符的结合方向为“自右向左”。因此,当表达式中嵌套使用条件表达式时,应先计算右边的条件表达式,再计算左边的条件表达式。题中应先计算“dc?d:b”的“dc”关系表达式的值,因为 d=1c=2 为真,所以取第一个表达式的值,即 d 的值作为整个表达式的值。接着计算“ab?a:d”,a=4b=3 为假,取第二个表达式的值,即 d 的值作为整个表达式的值。18.有以下程序#includestdio.hmain()int b33=0,1,2,0,1,2,0,1,2,i,j,t=0;for(i=0;i3;i+)for(

    34、j=2;j=i;j-)t+=bij;printf(“%d/n“,t);程序运行后的输出结果是_。A4 B3 C8 D9(分数:1.00)A.B.C. D.解析:解析 这道题主要考查的是二维数组的有关知识。在两层 for 循环语句中,累加上三角元素,所以程序执行的过程为 t=b00+b01+b02+b11+b12+b22=8。19.以下程序:#includestdio.hmain()char str10;scanf(“%s“,str);printf(“%s/n“,str);运行上面的程序,输入字符串 how are you,则程序的执行结果是_。Ahow Bhow are youCh Dhowa

    35、reyou(分数:1.00)A. B.C.D.解析:解析 当从键盘输入 how are you 时,由于 scanf 输入函数的特点是遇到空格时结束读入字符,因此,该程序只将 how 这 3 个字符送到了字符数组 str 中,并在其后自动加上结束符“/0”。20.设 x 和 y 都是 int 类型,且 x=1,y=2,则 printf(“%d%d“,x,y,(x,y)的输出结果是_。A1 2 B1 2 2C1,2 D输出值不确定(分数:1.00)A. B.C.D.解析:解析 本题考查 printf 函数的格式和逗号表达式。printf 函数在输出时,是根据格式说明符的个数输出的,如果函数中有多

    36、余的项将不予输出;如果有输出项少于格式说明符,则出错,不能输出正确的结果。本题中逗号表达式(x,y)只返回 y 的值。此时格式说明的个数是 2,而输出项的个数是 3,因此 printf 函数只输出前两项。21.以下程序的输出结果是_。#includestdio.hmain()int a=8,b=6,m=1;switch(a%4)case 0:m+;break;case 1:m+;switch(b%3)default:m+;case 0:m+:break;printf(“%d/n“,m);A1 B2 C3 D4(分数:1.00)A.B. C.D.解析:解析 本题考查 switch 语句。因为 a

    37、=8,a%4=0,所以执行 case 0 后面的语句,将 m 加 1,遇到break 语句跳出 switch。22.定义如下变量和数组:int i,x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是_。for(i=0;i3;i+)printf(“%d“,xi2-i);A159 B147 C357 D369(分数:1.00)A.B.C. D.解析:解析 本题主要考查二维数组的使用。题中利用 for 循环来输出 x 数组中的指定元素:当 i=0时,输出 x02=3;当 i=1 时,输出 x11=5;当 i=2 时,输出 x20=7。23.有下列程序段:typedef struct

    38、NODEint num;struct NODE *next;OLD;下列叙述中正确的是_。A以上的说明形式非法 BNODE 是一个结构体类型COLD 是一个结构体类型 DOLD 是一个结构体变量(分数:1.00)A.B.C. D.解析:解析 C 语言允许用 typedef 说明一种新类型名,其一般形式为:typedef 类型名标识符。typedef 语句的作用仅仅是使“标识符”来代表已存在的“类型名”,并未产生新的数据类型。原有类型名依然有效。此题中,用使 typedef 定义了新的类型 OLD 结构,所以 OLD 为结构体类型。24.下列数组定义中错误的是_。Aint x3=0;Bint x

    39、23=1,2,3,4,5,6;Cint x3=1,2,3,4,5,6;Dint x23=1,2,3,4,5,6;(分数:1.00)A.B. C.D.解析:解析 二维数组的初始化有以下几种形式:分行进行初始化;不分行的初始化;部分数组元素初始化;省略第一维的定义,不省略第二维的定义。在选项 B 中赋值号左边定义了一个 2 行 3 列的二维数组,而右边用 3 行 2 列的数字进行赋初值。所以出现了边界的越界溢出错误。25.以下叙述错误的是_。A变量的作用域取决于变量定义语句的位置B全局变量可以在函数以外的任何部位进行定义C局部变量的作用域可用于其他函数的调用D一个变量说明为 static 存储类型

    40、是为了限制其他编译单元的引用(分数:1.00)A.B.C.D. 解析:解析 本题考查函数调用的变量作用域。全局变量不在任何函数体内定义,作用域为整个文件;局部变量在函数体内定义,作用域仅为本次函数;static 类型是静态变量,为了方便其他编译单元的引用,不能随意改变。一个函数包含两部分:函数首和函数体,函数体包括花括号内的所有语句。26.若定义函数 int *func(),则函数 func 的返回值为_。A一个实数 B一个指向整型变量的指针C一个指向整型函数的指针 D一个整型函数的入口地址(分数:1.00)A.B. C.D.解析:解析 本题考查的是指针函数。指针函数定义的基本格式为:类型说明

    41、符*函数名()。其中,“类型说明符”表示返回的指针值所指向的数据类型。27.若有定义 int a5,*p=a;则正确引用数组元素的是_。A*a5 B*a+2 C*(p+5) D*(a+2)(分数:1.00)A.B.C.D. 解析:解析 本题考查通过指针引用数组元素。用指针引用数组有以下 3 种形式:(p+n)与(a+n)表示数组元素 an的地址;*(p+n)与*(a+n)表示数组元素 an;pn=*(p+n),都表示数组元素 an。选项 A、B 没有这种引用形式;选项 C,*(p+5)是引用数组的第 6 个元素,而数组一共有 5 个元素,出现越界;选项 D,*(a+2)引用数组的第 3 个元素

    42、。28.以下对 C 语言中联合类型数据的正确叙述是_。A定义了联合变量后,即可引用该变量或该变量中的任意成员B一个联合变量中可以同时存放其所有成员C联合中的各个成员使用共同的存储区域D在向联合中的一个成员进行赋值时,联合中其他成员的值不会改变(分数:1.00)A.B.C. D.解析:解析 联合体的几个特点:联合体所占用的内存空间为最长的成员所占用的空间;各个成员分量全部是从低地址方向开始使用内存单元;联合体中的空间在某一时刻只能保存某一个成员的数据;联合体和结构体可以任意嵌套。29.有以下函数定义:int fun(double a,double b)return a*b;若以下选项中所用变量都

    43、已正确定义并赋值,错误的函数调用是_。Aif(fun(x,y) Bz=fun(fun(x,y),fun(x,y);Cz=fun(fun(x,y)x,y); Dfun(x,y);(分数:1.00)A.B.C. D.解析:解析 本题考查函数调用时的参数传递。选项 C 中第一个参数的表达式不正确,因此不能得到正确的结果。30.执行以下语句段后,xy 的值是_。int *pt,xy;xy=200;pt=xy;xy=*pt+30;A200 B170 C260 D230(分数:1.00)A.B.C.D. 解析:解析 本题考查指针的运用。通过 pt=xy,将 pt 指向 xy 所占的内存地址,而*pt 是指

    44、针 pt 所指向内存单元中的内容,即 200,所以最后 xy 的值为 230。31.下述程序的输出结果是_。#includestdio.hvoid main()int a20,*p4;int i,k=0;for(i=0;i20;i+)ai=i;for(i=0;i4;i+)pi=ai*i+1;for(i=0;i4;i+)k=k+*pi;printf(“%d“,k);A10 B18C6 D数组元素引用不合法,输出结果不定(分数:1.00)A.B. C.D.解析:解析 第一个 for 循环,给数组 a 的 20 个元素分别赋值 019;第二个 for 循环,给数组 p 赋值,p0=a1=1,p1=a

    45、2=2,p2=a5=5,p3=a10=10;第三个 for 循环,将数组 p 中元素的值进行累加,k=1+2+5+10=18。32.有以下程序:#includestdio.h#define N 8void fun(int *x,int i)*x=*(x+i)+1;main()int aN=1,2,3,4,5,6,7,8,i;fun(a,2);for(i=0;iN/2;i+)printf(“%d“,ai);printf(“/n“);程序运行后的输出结果是_。A1 3 1 3 B3 2 3 4C4 2 3 4 D1 2 3 4(分数:1.00)A.B.C. D.解析:解析 函数 fun(int *x,int i)的功能是把数组元素 xi的值加 l 赋给 x0。所以在主函数中执行 fun(a,2)后,数组元数 a0的值等于 4。然后在 for 循环语句中,输出数组 a 中的前 4 个元素的值,分别是 4,2,3,4。33.下面程序的输出结果是_。#includestdio.hmain()char a=a,b,c,d,f,g,*p;p=a;printf(“%c/n“,*p+4);Aa Bb Ce Df(分数:1


    注意事项

    本文(【计算机类职业资格】(A)二级公共基础知识-5及答案解析.doc)为本站会员(testyield361)主动上传,麦多课文档分享仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知麦多课文档分享(点击联系客服),我们立即给予删除!




    关于我们 - 网站声明 - 网站地图 - 资源地图 - 友情链接 - 网站客服 - 联系我们

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

    收起
    展开