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

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

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

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

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

    1、二级 C语言笔试-415 及答案解析(总分:101.50,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.下列叙述中正确的是_。(A) 算法的效率只与问题的规模有关,而与数据的存储结构无关(B) 算法的时间复杂度是指执行算法所需要的计算工作量(C) 数据的逻辑结构与存储结构是一一对应的(D) 算法的时间复杂度与空间复杂度一定相关(分数:2.00)A.B.C.D.2.下列对于线性链表的描述中正确的是_。A) 存储空间不一定是连续,且各元素的存储顺序是任意的B) 存储空间不一定是连续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前

    2、面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A.B.C.D.3.下列工具中为需求分析常用工具的是( )。A) PAD B) PFD C) N-S D) DFD(分数:1.00)A.B.C.D.4.设有如下关系表:(分数:1.00)A.B.C.D.5.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2.00)A.B.C.D.6.两个或两个以上模块之间联系的紧密程度称为( )A) 耦合性 B) 内聚性 C) 复杂性 D) 数据传输特性(分数:2.00)A.B.C.D.7.下列叙述中,不属于软件需求规格说明书的作用的是( )。A) 便于用户、开发人员相互理解和交流B

    3、) 反映用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析(分数:1.00)A.B.C.D.8.结构化分析方法是面向( )的自顶向下逐步求精进行需求分析的方法。A) 对象 B) 数据结构 C) 数据流 D) 目标(分数:2.00)A.B.C.D.9.冒泡排序在最坏的情况下的比较次数是A) n(n+1)/2 B) nlog2n C) n(n-1)/2 D) n/2(分数:2.00)A.B.C.D.10.单个用户使用的数据视图的描述称为( )。A) 外模式 B) 概念模式 C) 内模式 D) 存储模式(分数:1.00)A.B.C.D.11.

    4、有 3个关系 R、S 和 T如下:(分数:2.00)A.B.C.D.12.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33被放到第( )个位置。A) 3 B) 5 C) 7 D) 9(分数:2.00)A.B.C.D.13.下列选项中属于面向对象设计方法主要特征的是( )。A)继承 B)自顶向下 C)模块化 D)逐步求精(分数:2.00)A.B.C.D.14.以下不正确的叙述是A) 在 C程序中,逗号运算符的优先级最低B) 在 C程序中,APH 和 aph是两个不同的变

    5、量C) 若 a和 b类型相同,在计算了赋值表达式 a=b后 b中的值将放入 a中,而 b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(分数:1.00)A.B.C.D.15.下列不合法的用户标识符是( )。A) j2_KEY B) Double C) 4d D) _8_(分数:1.00)A.B.C.D.16.下列叙述中正确的是_。A) C程序中注释部分可以出现在程序中任何合适的地方B) 花括号“”和“”只能作为函数体的定界符C) 构成 C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是 C语句之间的分隔符,不是语句的部分(分数:2.0

    6、0)A.B.C.D.17.若变量 a、i 已正确定义,且 i已正确赋值,下面合法的语句是A) a=1 B) +i; C) a=a+=5; D) a=int(i);(分数:1.00)A.B.C.D.18.已有定义:char c;,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的表达式是A) isupper(c) B) A=c=ZC) A=ci4;i+,i+)for(k=1;k3;k+);printf(“*“)程序段的输出结果是_。A) * B) * C) * D) *(分数:2.00)A.B.C.D.24.下列程序的运行结果是( )。#includestdi

    7、o.hmain()int a=0,b=4,c=0,d=10,x;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(“%d/n“,d);A) 5 B) 3 C) 20 D) 10(分数:2.00)A.B.C.D.25.下列不构成无限循环的语句或语句组是( )。A) n=0; do +n; while (n=0);B) n=0;while (1) n+;C) n=10; While (n); n-;D) for(n=0, i=1; ;i+)n+=i(分数:2.00)A.B.C.D.26.有以下程序:#includestdio.hmain()char

    8、c1,c2,c3,c4,c5,c6;scanf(“%c%c%c%c“, scanf(“%1f“,p);(B) *p=a; scanf(“%f“,p);(C) p=a; scanf(“%1f“,*p);(D) p=a; scanf(“%1f“,p);(分数:2.00)A.B.C.D.29.以下对 C语言函数的有关描述中,正确的是( )。A) 在 C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) 函数必须有返回值,返回值类型不定(分数:1.00)A.B.C.D.30.下面程序段的运行结果是char

    9、 str=“ABC“,*p=str;printf(“%d/n“,*(p+3);A) 67 B) 0 C) 字符C的地址 D) 字符C(分数:2.00)A.B.C.D.31.下列程序是用来判断数组中特定元素的位置所在的。#includeconio.h#includestdio.hint fun(int *s,int t,int *k)int i;*k=0;for(i=0;it;i+)if(s*ksi)*k=i;returns*k;main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,int i,k=0,n=0;fp=fo

    10、pen(“d1.dat“,“w“);for(i=1;i4;i+) fprintf(fp,“%d“,i);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);fclose(fp);执行后的输出结果是( )。A) 1 2 B) 123 0 C) 1 23 D) 0 0(分数:1.00)A.B.C.D.35.以下程序运行后的输出结果是#includestdio.h#includestdlib.hint fun(int n)int *p;p=(int*)malloe( sized ( int );* p=n;

    11、return * p;main( )int a;a=fun(10);printf(“%d/n“,a+fun(10);A) 0 B) 10 C) 20 D) 出错(分数:2.00)A.B.C.D.36.有以下程序#includestdio.hint f(int m)static int n=0;n+=m;return n;main()int n=0;printf(“%d,“,f(+n);printf(“%d/n“,f(n+);程序运行后的输出结果是( )。A)1,2 B)1,1 C)2,3 D)3,3(分数:2.00)A.B.C.D.37.设定义下列结构体,结构体变量 p的出生年份赋值正确的语句

    12、是( )。stmct stint x;int y;int z;struct workerchar name20;char sex;struct st birth;p;A) x=1987 B) birth.x=1987; C) p.birth.x=1987; D) p.x=1987;(分数:1.00)A.B.C.D.38.假定 int类型变量占用两个字节,若有定义:int x100,2,4;,则数组 x在内存中所占字节数是_。A) 3 B) 6 C) 10 D) 20(分数:2.00)A.B.C.D.39.有以下程序#includestdio.hstruct Sint a, b;) data2=

    13、10, 100, 20, 200;main()struct S p=data1;printf(“%d/n“, +(p.a);程序运行后的输出结果是_。A) 10 B) 11 C) 20 D) 21(分数:1.00)A.B.C.D.40.有以下程序#include stdio.hvoid WriteStr(char *fn,char *str)FILE *fp;fp=fopen(fn,“w“);fputs(str,fp);fclose(fp);main()WriteStr(“t1.dat“,“start“);WriteStr(“t1.dat“,“end“);程序运行后,文件 t1.dat中的内容

    14、是_。A) start B) end C) startend D) endrt(分数:1.00)A.B.C.D.二、填空题(总题数:15,分数:39.50)41.在深度为 7的满二叉树中,度为 2的结点个数为 1。(分数:2.00)填空项 1:_42.在树形结构中,没有前件的结点是_。(分数:2.00)填空项 1:_43.某二叉树中度为 2的结点有 18个,则该二叉树中有 1 个叶子结点。(分数:4.00)填空项 1:_44.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:4.00)填空项 1:_45.下面程序的输出是U /U。m

    15、ain()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(1;i4;i+)k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_46.设变量 a和 b已正确定义并赋初值。请写出与 a=a+b等价的赋值表达式U /U。(分数:2.00)填空项 1:_47.以下程序运行后的输出结果是U /U。main()int x=1,y=0,a=0,b=0;switch (x)case1:switch (y)case0:a+;break;case1:b+;break;case2:a+;b+;break;printf(“% d%d/n“,a,b)

    16、;(分数:2.00)填空项 1:_48.当调用函数时,实参是一个数组名,则向函数传递的是 1。(分数:2.00)填空项 1:_49.下列程序的输出结果是U /U。#include stdio.hvoid swap(int *a, int *B) int *t;t=a;a=b;b=t;main()int i=3,j=5,*p=swap(p,q);printf(“%d %d/n“,*p,*q);(分数:1.50)填空项 1:_50.函数 delete(s,i,n)的作用是从字符串 s中删除从第 i个字符开始的 n个字符,请填空。void delete(char s,int i,int n)int

    17、j,k,length=0;while(slength)U /U;-i;j=i;If(U /U)k=i+n;if(i+n=length)while(klength)sj+=sk+;sj=/0;(分数:4.00)填空项 1:_51.若定义#define PI 3.14159,则执行完下列程序后输出结果是_。#define PI 3.14159;printf(“PI=%f“,PI);(分数:2.00)填空项 1:_52.下面的程序可对指定字符串中的字符串进行从大到小排序,请将程序填完整。 (注:程序采用了冒泡排序法)#includestdio.h#includestring.hmain()char*

    18、str=“ABCDabcd“,temp;int n,i;n=strlen(str);while(n-1)for(i=0;in;i+)if(stristri+l)temp=U /U;stri=stri+l;U /U=temp;printf(U /U);(分数:6.00)填空项 1:_53.以下程序用以删除字符串中所有的空格,请填空。#include stdiohmain()char s100=“our teacher teach c language!”;int i,j;for(i=j=0;si!=/0;i+)if(si!=) sj=si;j+;sj=_;printf(“%s/n“,s);(分数

    19、:2.00)填空项 1:_54.以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。#includestdio.hmain()int a10, *p, *s;for(P=a; p-a10; p+) scanf(“%d“, p);for(P=a, s=a; p-a10; p+) if(*p*s) s=_;printf(“index=%d/n“, s-a);(分数:2.00)填空项 1:_55.以下程序的运行结果是U /U。#include stdio.h#include string.htypcdef struct studentchar name10;long sno

    20、;float score;STU;main()STU a=“Zhangsan“,2001,95,b=“Shangxian“,2002,90,c=“Anhua“,2003,95,d,*p=d=a;if(strcmp(a.name,b.name)0) d=b;if(strcmp(c. name, d. name)0)d=c;printf(“%1d%s/n“,d.sno,p-name);(分数:2.00)填空项 1:_二级 C语言笔试-415 答案解析(总分:101.50,做题时间:90 分钟)一、选择题(总题数:40,分数:62.00)1.下列叙述中正确的是_。(A) 算法的效率只与问题的规模有关

    21、,而与数据的存储结构无关(B) 算法的时间复杂度是指执行算法所需要的计算工作量(C) 数据的逻辑结构与存储结构是一一对应的(D) 算法的时间复杂度与空间复杂度一定相关(分数:2.00)A.B. C.D.解析:2.下列对于线性链表的描述中正确的是_。A) 存储空间不一定是连续,且各元素的存储顺序是任意的B) 存储空间不一定是连续,且前件元素一定存储在后件元素的前面C) 存储空间必须连续,且各前件元素一定存储在后件元素的前面D) 存储空间必须连续,且各元素的存储顺序是任意的(分数:2.00)A. B.C.D.解析:解析 线性表的链式存储结构称为线性链表,是一种物理存储单元上非连续、非顺序的存储结构

    22、,数据元素的逻辑顺序是通过链表中的指针链接来实现的。3.下列工具中为需求分析常用工具的是( )。A) PAD B) PFD C) N-S D) DFD(分数:1.00)A.B.C.D. 解析:解析 需求分析常用的工具有数据流图(DFD) 、数据字典(DD) 、判定树和判定表。PAD(问题分析图)、PFD(程序流程图)、 N-S(盒式图)都是详细设计的常用工具,不是需求分析的工具。4.设有如下关系表:(分数:1.00)A.B. C.D.解析:解析 由图可知,关系 T是关系 R和关系 S的简单合并,而合并的符号为,所以答案为 T=RS。5.有下列二叉树,对此二叉树中序遍历的结果为( )。(分数:2

    23、.00)A.B. C.D.解析:解析 对二叉树的中序遍历是指:首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,注意依旧按照“左子树一根结点一右子树”的顺序。6.两个或两个以上模块之间联系的紧密程度称为( )A) 耦合性 B) 内聚性 C) 复杂性 D) 数据传输特性(分数:2.00)A. B.C.D.解析:解析 耦合性是模块间互相连接的紧密程度的度量,取决于各个模块之间接口的复杂度、调用方式以及哪些信息通过接口。7.下列叙述中,不属于软件需求规格说明书的作用的是( )。A) 便于用户、开发人员相互理解和交流B) 反映用户问题的结构,可以作为软件开发工作的基础和依据C) 作为

    24、确认测试和验收的依据D) 便于开发人员进行需求分析(分数:1.00)A.B.C.D. 解析:解析 软件需求规格说明书(SRS,Software Requirement Specification)是需求分析阶段的最后成果,是软件开发中的重要文档之一。它有以下几个方面的作用:便于用户、开发人员相互理解和交流。反映用户问题的结构,可以作为软件开发工作的基础和依据。作为确认测试和验收的依据。8.结构化分析方法是面向( )的自顶向下逐步求精进行需求分析的方法。A) 对象 B) 数据结构 C) 数据流 D) 目标(分数:2.00)A.B.C. D.解析:解析 结构化分析方法是面向数据流进行需求分析的方法

    25、,采用自顶向下、逐层分解,建立系统的处理流程,以数据流图和数据字典为主要工具,建立系统的逻辑模型。9.冒泡排序在最坏的情况下的比较次数是A) n(n+1)/2 B) nlog2n C) n(n-1)/2 D) n/2(分数:2.00)A.B.C. D.解析:解析 冒泡排序的基本思想是对当前未排序的全部结点自上而下地依次进行比较和调整,让键值较大的结点下沉,键值较小的结点往上冒。也就是说,每当比较两个相邻结点后发现它们的排列与排序要求相反,就要将它们互换。对 n个结点的线性表采用冒泡排序,冒泡排序的外循环最多执行 n-1遍。第一遍最多执行 n-1次比较,第二遍最多执行 n-2次比较,以此类推,第

    26、 n-1遍最多执行 1次比较。因此,整个排序过程最多执行 n(n-1)/2次比较。10.单个用户使用的数据视图的描述称为( )。A) 外模式 B) 概念模式 C) 内模式 D) 存储模式(分数:1.00)A. B.C.D.解析:解析 选项 A)正确,外模式是用户的数据视图,也就是用户所见到的数据模式;选项 B)不正确,全局数据视图的描述称为概念模式,即数据库中全部数据的整体逻辑结构的描述;选项 C)不正确,物理存储数据视图的描述称为内模式,即数据库在物理存储方面的描述;选项 D)不正确,存储模式即为内模式。11.有 3个关系 R、S 和 T如下:(分数:2.00)A.B.C.D. 解析:解析

    27、在关系运算中,交的定义如下:设 R1和 R2为参加运算的两个关系,它们具有相同的度n,且相对应的属性值取自同一个域,则 R1R2 为交运算,结果仍为度等于 n的关系,其中,交运算的结果既属于 R1又属于 R2。12.待排序的关键码序列为(33,18,9,25,67,82,53,95,12,70),要按关键码值递增的顺序排序,采取以第一个关键码为基准元素的快速排序法,第一趟排序后关键码 33被放到第( )个位置。A) 3 B) 5 C) 7 D) 9(分数:2.00)A.B. C.D.解析:解析 快速排序的基本思想是;从表中选取一个元素(如本题中的 33),将表中小于此元素的移到前面,大于此元素

    28、的移到后面结果把线性表分割成两部分(两个子表),此元素插入到其分界线的位置处。然后分别对两个子表再次分割本题中 33作为分割的中界线,第一趟排序后排在比它小的18、9、25、12 后面。13.下列选项中属于面向对象设计方法主要特征的是( )。A)继承 B)自顶向下 C)模块化 D)逐步求精(分数:2.00)A. B.C.D.解析:解析 面向对象设计方法的主要特征有封装性、继承性和多态性。而结构化程序设计方法的主要原则有自顶向下,逐步求精,模块化,限制使用 goto语句。14.以下不正确的叙述是A) 在 C程序中,逗号运算符的优先级最低B) 在 C程序中,APH 和 aph是两个不同的变量C)

    29、若 a和 b类型相同,在计算了赋值表达式 a=b后 b中的值将放入 a中,而 b中的值不变D) 当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值(分数:1.00)A.B.C.D. 解析:解析 在 C语言所有的运算符中,逗号运算符的优先级最低。C 语言中区分大小写,所以 APH和aph是两个不同的变量。赋值表达式 a=b表示将 b的值付给 a,而 b本身的值保持不变;通过键盘可以向计算机输入允许的任何类型的数据。选项 D)中当从键盘输入数据时,对于整型变量可以输入整型数值和字符,对于实型变量可以输入实型数值和整型数值等。15.下列不合法的用户标识符是( )。A) j

    30、2_KEY B) Double C) 4d D) _8_(分数:1.00)A.B.C. D.解析:解析 在 C语言程序中,合法标识符的命名规则是:标识符可以由字母、数字和下划线组成,并且第一个字符必须是字母或下划线。16.下列叙述中正确的是_。A) C程序中注释部分可以出现在程序中任何合适的地方B) 花括号“”和“”只能作为函数体的定界符C) 构成 C程序的基本单位是函数,所有函数名都可以由用户命名D) 分号是 C语句之间的分隔符,不是语句的部分(分数:2.00)A. B.C.D.解析:评析 C 程序中注释部分用“/*”和“*/”括起来,可以出现在程序中任何合适的地方;花括号“”和“”不仅可作

    31、为函数体的定界符,也可作为复合语句的定界符;构成 C程序的基本单位是函数;个语句必须在最后出现分号,分号是 C 语句中不可缺少的部分。17.若变量 a、i 已正确定义,且 i已正确赋值,下面合法的语句是A) a=1 B) +i; C) a=a+=5; D) a=int(i);(分数:1.00)A.B. C.D.解析:解析 选项 A中缺少分号,不是语句,只是一个表达式;选项 C中包含一个不合法的运算符“+=”;对于选项 D,强制类型转换运算的括号位置错,应为 a=(int)i;。18.已有定义:char c;,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的

    32、表达式是A) isupper(c) B) A=c=ZC) A=ci4;i+,i+)for(k=1;k3;k+);printf(“*“)程序段的输出结果是_。A) * B) * C) * D) *(分数:2.00)A.B.C.D. 解析:评析 本题考查的是 for循环语句的使用以及分号“;”的使用,第一层 for循环由于 i两次自增运算故执行两次,每执行一次第一层 for循环,第二条 for循环语句执行三次,但由于语句后面加了分号,因此这一条空循环语句,结果当第一层的 for语句执行完,跳出整个循环语句后,执行 printf语句,因此执行一次 printf语句,选项 D是正确的。24.下列程序的

    33、运行结果是( )。#includestdio.hmain()int a=0,b=4,c=0,d=10,x;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;printf(“%d/n“,d);A) 5 B) 3 C) 20 D) 10(分数:2.00)A.B.C.D. 解析:解析 本题考查 if else语句。第 1个 if语句,先判断条件,发现 a=0条件不成立,则执行与其配对的 else语句;第 2个 if语句,先判断条件,发现 b=4,则!b 条件不成立,又没有与其配对的 else语句,所以执行 printf语句,输出 d。25.下列不构成无限循环的语句或

    34、语句组是( )。A) n=0; do +n; while (n=0);B) n=0;while (1) n+;C) n=10; While (n); n-;D) for(n=0, i=1; ;i+)n+=i(分数:2.00)A. B.C.D.解析:解析 选项 B)中 while(1)永远为真所以进入死循环,选项 C)中 while(n=10)同理,选项 D)中 for循环没有循环限定条件也将进入无限循环,只有选项 A)中 while(n=0)循环判定成立,循环将不进入无限循环。26.有以下程序:#includestdio.hmain()char c1,c2,c3,c4,c5,c6;scanf(

    35、“%c%c%c%c“, scanf(“%1f“,p);(B) *p=a; scanf(“%f“,p);(C) p=a; scanf(“%1f“,*p);(D) p=a; scanf(“%1f“,p);(分数:2.00)A.B.C.D. 解析:29.以下对 C语言函数的有关描述中,正确的是( )。A) 在 C语言中调用函数时,只能把实参的值传给形参,形参的值不能传送给实参B) C函数既可以嵌套定义又可以递归调用C) 函数必须有返回值,否则不能使用函数D) 函数必须有返回值,返回值类型不定(分数:1.00)A. B.C.D.解析:解析 C 语言中的函数可以进行递归调用,但不能在函数中定义函数,即函

    36、数不能嵌套定义。函数可以没有返回值,若有返回值,则返回值类型必须确定。30.下面程序段的运行结果是char str=“ABC“,*p=str;printf(“%d/n“,*(p+3);A) 67 B) 0 C) 字符C的地址 D) 字符C(分数:2.00)A.B. C.D.解析:解析 考查指向字符串的指针变量。在该题中,指针变量 p指向的应该是该字符串中的首地址,p+3指向的是字符串结束标志/0的地址,因而*(p+3)的值为 0。31.下列程序是用来判断数组中特定元素的位置所在的。#includeconio.h#includestdio.hint fun(int *s,int t,int *k

    37、)int i;*k=0;for(i=0;it;i+)if(s*ksi)*k=i;returns*k;main()int a10=876,675,896,101,301,401,980,431,451,777,k;fun(a,10,int i,k=0,n=0;fp=fopen(“d1.dat“,“w“);for(i=1;i4;i+) fprintf(fp,“%d“,i);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d%d“,printf(“%d%d/n“,k,n);fclose(fp);执行后的输出结果是( )。A) 1 2 B) 123 0 C)

    38、 1 23 D) 0 0(分数:1.00)A.B. C.D.解析:解析 fprintf、fscanf 函数与 printf、scanf 函数作用相仿,都足格式化读写函数,其区别在于:fprintf 和 fscanf函数的读写对象不是终端而是磁盘文件。这两个函数的一般调用方式为:fprintf(文件指针,格式字符串,输出表列);fscanf(文件指针,格式字符串,输入表列);程序首先将 123写入 d1.dat文件中,再从该文件中将数据读给变量 k和 n。由于文件 d1.dat中的数据是123,按格式“%d%d”读数据时将 123读给 k,n 没有得到读入的数据,保持初始值 0。35.以下程序运

    39、行后的输出结果是#includestdio.h#includestdlib.hint fun(int n)int *p;p=(int*)malloe( sized ( int );* p=n; return * p;main( )int a;a=fun(10);printf(“%d/n“,a+fun(10);A) 0 B) 10 C) 20 D) 出错(分数:2.00)A.B.C. D.解析:解析 fun 函数中,p 是一个可以指向基类型为 int的指针变量,函数带 10返回。因此,输出10+10的结果 20。36.有以下程序#includestdio.hint f(int m)static

    40、int n=0;n+=m;return n;main()int n=0;printf(“%d,“,f(+n);printf(“%d/n“,f(n+);程序运行后的输出结果是( )。A)1,2 B)1,1 C)2,3 D)3,3(分数:2.00)A. B.C.D.解析:解析 由于在函数 f中,变量 n为静态局部变量,所以在主函数中第一次调用函数 f后,变量 n的值等于 1,当第二调用函数 f时,在函数 f的内部静态局部变量 n的值仍然保留等于 1,所以返回函数值等于 2。37.设定义下列结构体,结构体变量 p的出生年份赋值正确的语句是( )。stmct stint x;int y;int z;s

    41、truct workerchar name20;char sex;struct st birth;p;A) x=1987 B) birth.x=1987; C) p.birth.x=1987; D) p.x=1987;(分数:1.00)A.B.C. D.解析:解析 本题主要考查怎样为嵌套定义的结构中的成员赋值:由于 worker中的 birth是一个 st型的结构,在给 birth赋值时,不能将 birth 作为一个整体,要用“”运算再深入一层访问到最基本的成员 x、y/z。38.假定 int类型变量占用两个字节,若有定义:int x100,2,4;,则数组 x在内存中所占字节数是_。A) 3

    42、 B) 6 C) 10 D) 20(分数:2.00)A.B.C.D. 解析:评析 当数组定义后,系统就为其分配内存空间,而不论其中有没有内容。因此,本题中数组x10不论是否为其元素初始化,它所分配的存储空间仍为 2*10=20个字节。39.有以下程序#includestdio.hstruct Sint a, b;) data2=10, 100, 20, 200;main()struct S p=data1;printf(“%d/n“, +(p.a);程序运行后的输出结果是_。A) 10 B) 11 C) 20 D) 21(分数:1.00)A.B.C.D. 解析:解析 题中定义了一个结构体数组,

    43、其中 data0.a=10,data0.b=100,data1.a=20, data1.b=200。指针 p指向结构体数组的第 2个元素,那么 p.a的值为 20,p.b 的值为 200,所以输出结果为 21。40.有以下程序#include stdio.hvoid WriteStr(char *fn,char *str)FILE *fp;fp=fopen(fn,“w“);fputs(str,fp);fclose(fp);main()WriteStr(“t1.dat“,“start“);WriteStr(“t1.dat“,“end“);程序运行后,文件 t1.dat中的内容是_。A) star

    44、t B) end C) startend D) endrt(分数:1.00)A.B. C.D.解析:解析 本题考查打开文件函数 fopen()。本题中,fopen(fn,“w“)的第一个参数是需要打开的文件名,第二个参数指定文件打开的方式。“w“表示为写而打开一个文本文件,如果文件不存在,则新建一个文件,否则将清空原文件。fputs(str,fp)是将 str的内容写入文件。fclose()是关闭文件。在主函数中两次调用写文件函数,但因为写入的是同一个文件,所以只有最后一次的写入才有效。所以选项 B正确。二、填空题(总题数:15,分数:39.50)41.在深度为 7的满二叉树中,度为 2的结点

    45、个数为 1。(分数:2.00)填空项 1:_ (正确答案:63)解析:解析 根据二叉树的性质,一棵深度为 k的满二叉树有 2k-1个结点,所以深度为 7的满二叉树有27-1=127个结点;又因为在任意一棵二叉树中,若终端结点的个数为加,度为 2的结点数为 n2,则n0=n2+1,即所以总结点数为 n0+n2=2n2+1=127,所以 n2=63,即度为 2的结点个数为 63。42.在树形结构中,没有前件的结点是_。(分数:2.00)填空项 1:_ (正确答案:根结点)解析:解析 树型结构具有如下特点: 每个结点只有一个前件,称为父结点,没有前件的结点只有一个,称为树的根结点,简称为树的根; 每

    46、一个结点可以有多个后件,它们都称为该结点的子结点。没有后件的结点称为叶子结点; 一个结点所拥有的后件个数称为树的结点度; 树的最大层次称为树的深度。43.某二叉树中度为 2的结点有 18个,则该二叉树中有 1 个叶子结点。(分数:4.00)填空项 1:_ (正确答案:19)解析:解析 在任意一棵二叉捌中,度数为 0的结点(即叶子结点)总比度为 2的结点多一个因此该二叉树中叶子结点为 18+1=19。44.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为 1。(分数:4.00)填空项 1:_ (正确答案:多对多)解析:解析 每个“学生”有多个“可选课程”可对应,每个“可选课程”有多个“学生”可对应。45.下面程序的输出是U /U。main()int arr10,i,k=0;for(i=0;i10;i+)arri=i;for(1;i4;i+)k+=arri+i;printf(“%d/n“,k);(分数:2.00)填空项 1:_ (正确答案:12)解析:评析 本题通过第个 for循环将数组 arr0-arr9分别赋值为 0-9,通过第二个 for循环的三次循环累加,求出结果为 12,具体分析如下:i+1:k=0+arr1+1 即 k=2;i=2:k=2


    注意事项

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




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

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

    收起
    展开