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

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

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

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

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

    1、二级 C 语言-28 及答案解析(总分:75.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.冒泡排序在最坏的情况下的比较次数是 A. n(n+1)/2 B. nlog2n C. n(n-1)/2 D. n/2(分数:2.00)A.B.C.D.2.以下叙述中错误的是_。 A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中 D.C 语言源程序经编译后生成后缀为.obj 的目标程

    2、序(分数:2.00)A.B.C.D.3.模块本身的内聚是模块独立性的重要性度量因素之一。在 7 类内聚中,具有最强内聚的类是_。 A. 顺序性内聚 B. 过程性内聚 C. 逻辑性内聚 D. 功能性内聚(分数:2.00)A.B.C.D.4.以下合法的 C 语言赋值语句是( )。 A. a=b=58 B. k=int(a-b): C. a=58,b=20 D. +i;(分数:1.00)A.B.C.D.5.设有定义:char s81;int i=0;以下不能将一行(不超过 80 个字符)带有空格的字符串正确读入的语句或语句组是_。 A.scanf(“%s“,s); B.while(si+=getch

    3、ar()!=/n);si=/0; C.gets(s); D.doscanf(“%c“,si);while(si+!=/n);si=/0;(分数:2.00)A.B.C.D.6.有下列二叉树,对此二叉树前序遍历的结果为U /U。(分数:2.00)A.B.C.D.7.有以下程序:main()char s=“159“,*p;p=s;printf(“%c“,*p+);printf(“%c“,*p+);程序运行后的输出结果是 _。 A.15 B.16 C.12 D.59 (分数:1.00)A.B.C.D.8.有以下程序main() char*s=“BBC“,“CNN“,“NDS“,*p;p=s1;prin

    4、tf(“%c,%s/n“,*(p+1),p);执行后输出结果是_。 A. C,BBC B. N,BBC C. C,CNN D. N,CNN(分数:1.00)A.B.C.D.9.以下程序的输出结果是( )。#include stdio.h#includestring.hmam() char b18=“abcdefg“,b28,*pb=b1+3;while(-pb=b1) strcpy(b2,pB) ;printf(“%d/n“,strlen(b2); A. 8 B. 3 C. 1 D. 7(分数:2.00)A.B.C.D.10.下面程序段中的循环体的执行次数是( )。for(i=4;i0;i-)

    5、for(j=1;j=4;j+)sum=sum+j; A. 4 B. 0 C. 12 D. 16(分数:1.00)A.B.C.D.11.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 A. p=1; B. *q=2; C. q=p; D. *p=5;(分数:1.00)A.B.C.D.12.以下程序运行后的输出结果是#include stdio.hvoid fun(int a, int n) int i,t;for(i=0;in/2;i+) t=ai;ai=an-1-i;an-1-i=t;mainU /U int k10=1,2,3,4,5,6,7,8,9,10,i;fun(k,

    6、5);for(i=2;i8;i+) printf(“%d“,k);printf(“/n“); A. 345678 B. 876543 C. 1098765 D. 321678(分数:2.00)A.B.C.D.13.下列不属于软件工程的 3 个要素的是U /U。 A. 32 具 B. 过程 C. 方法 D. 环境(分数:2.00)A.B.C.D.14.以下正确的数组定义语句是_。 A. int y14=1,2,3,4,5; B. float x2=1,2),3; C. long s23=1,1,2,1,2,3; D. double t3=0;(分数:1.00)A.B.C.D.15.在设计程序时,

    7、应采纳的原则之一是_。 A. 程序结构应有助于读者理解 B. 不限制 goto 语句的使用 C. 减少或取消注解行 D. 程序越短越好(分数:1.00)A.B.C.D.16.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是_。 A. k+ B. k+=1 C. +k D. k+1(分数:2.00)A.B.C.D.17.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是 A. c=(c-A)%26+a B. c=c+32 C. c=c-A+a D. a=(A+c)%26

    8、-a(分数:1.00)A.B.C.D.18.以下不合法的字符常量是( )。 A. /018 B. /“ C. / D. /xcc(分数:1.00)A.B.C.D.19.有以下程序#includestring.hmain() char p=a,b,c,q10=a,b,c;printf(“%d%d/n“,strlen(p),strlen(q);以下叙述中正确的是 A. 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3 B. 由于 p 数组中没有字符串结束符,长度不能确定,但 q 数组中字符串长度为 3 C. 由于 q 数组中没有字符串结束符,长度不能确定,但 p 数

    9、组中字符串长度为 3 D. 由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定(分数:2.00)A.B.C.D.20.数字字符0的 ASCII 值为 48, 若有以下程序:#include stdio.hmain( )char a=1,b =2;printf( “% c,“,b + + );printf(“ % d /n“ ,b - a);程序运行后的输出结果是U /U。 A. 3,2 B. 50,2 C. 2,2 D. 2,50(分数:1.00)A.B.C.D.21.有以下程序:#includestdiohunion pw int i;char ch2;a;main() a.ch0

    10、=13;a.ch1=0;printf(“%d/n“,ai);程序的输出结果是U /U。 A. 13 B. 14 C. 208 D. 209(分数:1.00)A.B.C.D.22.若有下列语句:char a=“xyz“;char b=x,y,z;则下列叙述正确的是_。 A. 数组 a 和数组 b 不等价 B. 数组 a 和数组 b 的长度相同 C. 数组 a 占用空间大小等于数组 b 占用空间大小 D. 数组 a 占用空间大小大于数组 b 占用空间大小(分数:1.00)A.B.C.D.23.下列数组定义中错误的是U /U。 A. int x3=0; B. int x23=1,2,3,4,5,6;

    11、 C. int x3=1,2,3,4,5,6; D. int x23=1,2,3,4,5,6;(分数:2.00)A.B.C.D.24.数据库系统的核心是_。 A. 数据模型 B. 数据库管理系统 C. 数据库 D. 数据库管理员(分数:2.00)A.B.C.D.25.已知 p 为指针变量,a 为数组名,i 为整型变量,下列语句中,不正确的是_。 A. p= B. p=a; C. p= D. p=10;(分数:1.00)A.B.C.D.26.以下程序的功能是:按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下。main()int n,k;float score;s

    12、um,ave;sum=0.0;for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“, sum+=score;ave=sum/4.0;printf(NO%d: %f/n“,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A. sum=0.0; B. sum+=score; C. ave=sun/4.0; D. printf(“NO%d:%f/n“,n,ave);(分数:1.00)A.B.C.D.27.fgetc 函数的作用是从指定文件读入一个个字符,该文件的打开方式必须是_。 A. 只读 B. 追加 C.

    13、 读或读写 D. 以上均正确(分数:2.00)A.B.C.D.28.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。 A. 自顶向下 B. 由外向内 C. 由内向外 D. 自底向上(分数:2.00)A.B.C.D.29.下面程序段的运行结果是( )。char a=“abcdefgh“;char *p=a;p+=3;printf(“%d/n“,strlen(strcpy(p,“ABCD“); A. 8 B. 12 C. 4 D. 7(分数:1.00)A.B.C.D.30.当说明一个结构体变量时系统分配给它的内存是U /U。 A. 各成员所需要内存量的总和 B. 结构中第一个成员所需的内

    14、存量 C. 成员中占内存最大者所需的容量 D. 结构中最后一个成员所需要的内存量(分数:1.00)A.B.C.D.31.有以下程序(说明:字母 A 的 ASCII 码值是 65):#includestdio.hvoid fun(char*s) while(*s) if(*s%2)printf(“%c“,*s);s+;main() char a()=“BYTE“;fun(a);printf(“/n“);程序运行后的输出结果是_。 A.BT B.YE C.YT D.BY(分数:1.00)A.B.C.D.32.有以下程序#includemain() int i,j;for(i=3;i=1;i-)fo

    15、r(j=1;j=2;j+) printf(“%d “,i+j);printf(“/n“);程序运行的结果是_。 A. 2 3 4 3 4 5 B. 4 3 2 5 4 3 C. 2 3 3 4 4 5 D. 4 5 3 4 2 3(分数:1.00)A.B.C.D.33.以下程序的输出结果是U /U。 int x;int*y;*p; int dt4=1,2,3,4; struct st aa4=2, struct node *next;) *NODE;NODE p;以下叙述中正确的是_。 A. P 是指向 struct node 结构变量的指针的指针 B. NODE p;语句出错 C. P 是指

    16、向 struct node 结构变量的指针 D. P 是 struct node 结构变量(分数:2.00)A.B.C.D.二、B填空题/B(总题数:15,分数:24.50)36.下面程序的功能是:计算 110 之间的奇数之和与偶数之和,请填空。 #includestdio.h main() int a,b,c,i; ac0; for(i0;i10;i+2) a+=i; U U /U /U; c+=b; printf(“偶数之和=%d/n“,a); printf(“奇数之和=%d/n“,c-11);(分数:1.00)填空项 1:_37.以下程序运行后的输出结果是_。 main() int a4

    17、4=1,2,3,4,5,6,7,8,11,12,13,14,15,16,17,18; int i=0,j=0,s=0, while(i+4) if(i=2 | i=4) continue ; J=0; do(s+=aij; j+; )while (j4); printf(“%d/n“,s); (分数:2.00)填空项 1:_38.若想通过以下输入语句使 a 中存放字符串 1234,b 中存放字符 5,则输入数据的形式应该是U U/U/U。 char a10,b;scanf(“a%s b%c“,a,str=“I love China!“; printf(“%s“,str); (分数:2.00)填

    18、空项 1:_42.下列程序的运行结果是U U /U /U。 main() union EXAMPLE struct int x;int y;in; int a; int b; e: e.a=1;e.b=2; e.in.x=e.a*e.b; e.in.y=e.a+e.b; printf(“%d,%d/n“,e.in.x,e.in.y); (分数:1.00)填空项 1:_43.数据流图的类型有 1 和事务型。(分数:1.50)填空项 1:_44.测试的目的是暴露错误,评价程序的可靠性;而 1 的目的是发现错误的位置并改正错误。(分数:2.00)填空项 1:_45.以下程序运行后的输出结果是U U

    19、/U /U。 #include stdio.h main() int p=30; printf(“%d/n“,(p/30 ? p/10:p%3); (分数:2.00)填空项 1:_46.下面程序是把从终端读入的 20 个字符作为字符串放在字符数组中,然后利用指针变量输出上述字符串,请填空。 #includestdio.h main() int i;char s21,*p; for(i=0;i20;i+) si=getchar(); si=U U /U /U; p=U U /U /U; while(*p) putchar(U U /U /U); (分数:2.00)填空项 1:_47.以下程序运行

    20、后的输出结果是U U /U /U。 fun(int a) int b=0;static int c=3; b+;c+; return(a+b+c) ; main() int i,a=5; for(i=0;i3;i+)printf(“%d%d“,i,fun(a) ); prind(“/n“); (分数:1.00)填空项 1:_48.队列是限定在表的一端进行插入和在另一端进行删除操作的线性表。允许插入的一端称作。(分数:2.00)填空项 1:_49.以下程序通过函数指针 p 调用函数 fun,请在填空栏内写出定义变量 p 的语句。 void fun(int x,int * y) main() in

    21、t a10,b20; U U /U /U; *定义变量 p* p=fun;p( (分数:1.00)填空项 1:_50.以下程序的输出结果是U U /U /U。 #include stdio.h main() int i; for(i-a; if; i+,i+) printf(“%c“,i-a+A); printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言-28 答案解析(总分:75.50,做题时间:90 分钟)一、B选择题/B(总题数:35,分数:51.00)1.冒泡排序在最坏的情况下的比较次数是 A. n(n+1)/2 B. nlog2n C. n(n-1)/2 D. n

    22、/2(分数:2.00)A.B.C. D.解析:解析 冒泡排序的基本思想是对当前未排序的全部结点自上而下地依次进行比较和调整,让键值较大的结点下沉,键值较小的结点往上冒。也就是说,每当比较两个相邻结点后发现它们的排列与排序要求相反,就要将它们互换。 对 n 个结点的线性表采用冒泡排序,冒泡排序的外循环最多执行 n-1 遍。第一遍最多执行 n-1 次比较,第二遍最多执行 n-2 次比较,以此类推,第 n-1 遍最多执行 1 次比较。因此,整个排序过程最多执行 n(n-1)/2 次比较。2.以下叙述中错误的是_。 A.C 语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令 B.C 程

    23、序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件 C.用 C 语言编写的程序称为源程序,它以 ASCII 代码形式存放在一个文本文件中 D.C 语言源程序经编译后生成后缀为.obj 的目标程序(分数:2.00)A. B.C.D.解析:解析 C 语言中的非执行语句不会被编译,不会生成二进制的机器指令,因此 A 选项错误。由 C语言构成的指令序列称为 C 源程序,C 源程序经过 C 语言编译程序编译之后生成一个后缀为.obj 的二进制文件(称为目标文件);最后要由”连接程序”把此.obj 文件与 C 语言提供的各种库函数连接起来生成一个后缀为.exe 的可执行文件。根据上述分析可

    24、知,A 选项叙述错误。3.模块本身的内聚是模块独立性的重要性度量因素之一。在 7 类内聚中,具有最强内聚的类是_。 A. 顺序性内聚 B. 过程性内聚 C. 逻辑性内聚 D. 功能性内聚(分数:2.00)A.B.C.D. 解析:解析 内聚性是一个模块内部各元素间彼此结合的紧密程度的度量。内聚共有 7 类,它们之间的内聚性由弱至强排列顺序为:偶然内聚、逻辑内聚、时间内聚、过程内聚、通信内聚、顺芋内聚和功能内聚。4.以下合法的 C 语言赋值语句是( )。 A. a=b=58 B. k=int(a-b): C. a=58,b=20 D. +i;(分数:1.00)A.B.C.D. 解析:解析 选项 A

    25、 和选项 C 中都没有以“;”结束,故选项 A 和选项 C 都不是正确的赋值语句;选项 B中强制转换类型符 int 应用括号括起来,故选项 B 不正确,只有选项 D 是合法的 C 语言赋值语句。5.设有定义:char s81;int i=0;以下不能将一行(不超过 80 个字符)带有空格的字符串正确读入的语句或语句组是_。 A.scanf(“%s“,s); B.while(si+=getchar()!=/n);si=/0; C.gets(s); D.doscanf(“%c“,si);while(si+!=/n);si=/0;(分数:2.00)A. B.C.D.解析:解析 字符串的输入不能使用“

    26、scanf(“%s“,s);”,而应该使用“gets(s)”,因此选择 A。6.有下列二叉树,对此二叉树前序遍历的结果为U /U。(分数:2.00)A.B. C.D.解析:解析 对二叉树的前序遍历是指先访问根结点,然后访问左子树,最后访问右子树,并且,在访问左、右子树时,先访问根结点,再依次访问其左、右子树。7.有以下程序:main()char s=“159“,*p;p=s;printf(“%c“,*p+);printf(“%c“,*p+);程序运行后的输出结果是 _。 A.15 B.16 C.12 D.59 (分数:1.00)A. B.C.D.解析:解析 本题通过“p=s”将指针变量 p 指

    27、向字符数组 s,在第一次输出时,由于+和*为同一优先级,“*p+”相于“*(p+)”。 p 指向 s1,输出为 s1的值。8.有以下程序main() char*s=“BBC“,“CNN“,“NDS“,*p;p=s1;printf(“%c,%s/n“,*(p+1),p);执行后输出结果是_。 A. C,BBC B. N,BBC C. C,CNN D. N,CNN(分数:1.00)A.B.C.D. 解析:9.以下程序的输出结果是( )。#include stdio.h#includestring.hmam() char b18=“abcdefg“,b28,*pb=b1+3;while(-pb=b1

    28、) strcpy(b2,pB) ;printf(“%d/n“,strlen(b2); A. 8 B. 3 C. 1 D. 7(分数:2.00)A.B.C.D. 解析:首先定义了两个字符数组 b1 和 b2,并用一个字符串给 b1 赋初值,然后定义了一个字符型指针变量 pb,通过赋初值使它指向 b13。接着执行 while 循环,该循环执行了 3 次:第一次判断条件“-pb=b1”,使 pb 的值为“b1+2”,执行“strepy(b2,pB) ;”后,b2 中的内容为“cdefg”:第二次判断条件“-pb=b1”,使 pb 的值为“b1+1”,执行“strcpy(b2,pB) ;”后 b2 的

    29、内容为“bedefg”第三次判断条件“-pb=b1”使 pb 的值为“b1”,执行“strcpy(b2,pB) :”后 b2 的内容为“abcdefg”。最后输出 b2 数组巾存放的字符串长度,显然是 7。(这里还有一个关键点:就是每当执行次 while 循环判断条件,就执行一次“-pb”,他使得指针 pb 自减 1,即前移一位)所以,4 个选项中D 为所选。10.下面程序段中的循环体的执行次数是( )。for(i=4;i0;i-)for(j=1;j=4;j+)sum=sum+j; A. 4 B. 0 C. 12 D. 16(分数:1.00)A.B. C.D.解析:解析 本题是一个双重循环,而

    30、外循环的循环条件 iO 在刚开始的时候就不满足(i 的初值为 4),所以循环体一次也不会执行。故应该选择 B。11.设有定义:int n=0,*p=,则以下选项中,正确的赋值语句是 A. p=1; B. *q=2; C. q=p; D. *p=5;(分数:1.00)A.B.C.D. 解析:解析 本题考核的知识点是指针变量定义和赋值语句的基本应用。在使用一个指针变量之前,先要用声明语句对其进行定义,在定义了一个指针变量之后,系统就为这个指针变量分配了一个存储单元,用它来存放地址。在 C 语言中有两个有关指针的运算符: B. float x2=1,2),3; C. long s23=1,1,2,1

    31、,2,3; D. double t3=0;(分数:1.00)A.B.C.D. 解析:解析 A、B、C 项均存在行或列上赋初值越界问题,所以都不正确。15.在设计程序时,应采纳的原则之一是_。 A. 程序结构应有助于读者理解 B. 不限制 goto 语句的使用 C. 减少或取消注解行 D. 程序越短越好(分数:1.00)A. B.C.D.解析:解析 滥用 goto 语句将使程序流程无规律,可读性差;添加的注解行有利于对程序的理解,不应减少或取消;程序的长短要依照实际需要而定,并不是越短越好。16.设有定义:int k=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是_。 A. k+ B

    32、. k+=1 C. +k D. k+1(分数:2.00)A. B.C.D.解析:解析 凡是表达式都有一个值,即运算结果。k+的表达式值为 0,k 再进行增 1 运算;k+=1 是赋值表达式,其作用是取 k 中的值加 1 后再放到 k 变量中,即表达式的值为 1;+k 是先进行 k 增 1 运算,表达式的值为 1;k+1=0+1,其运算的结果为 1。所以选项 A 中表达式的值与其他三个表达式不同。17.已知大写字母 A 的 ASCII 码是 65,小写字母 a 的 ASCII 码是 97。以下不能将变量 c 中的大写字母转换为对应小写字母的语句是 A. c=(c-A)%26+a B. c=c+3

    33、2 C. c=c-A+a D. a=(A+c)%26-a(分数:1.00)A.B.C.D. 解析:解析 C 语言中,字符数据参加运算时,实际上是其 ASCII 码参与运算。大写字母的 ASCII 码比其对应的小写字母的 ASCII 码小 32。因此大写字母转化为小写字母只需将其加上 32 即可。所以选项 B)、C)都符合条件,因为变量 c 中存储的是大写字母,所以“c-A”的值一定小于 26,故选项 A)与选项 C)的含义相同。18.以下不合法的字符常量是( )。 A. /018 B. /“ C. / D. /xcc(分数:1.00)A. B.C.D.解析:解析 本题考查的知识点是字符常量中的

    34、转义字符。转义字符是以一个“/”开头的字符序列,它只代表一个字符。在选项 A)中,“/”后跟着三个数字,是表示一个 ASCII 码值等于这三位数字所组成的八进制数数值的字符,但是八进制数只能是由 07 这八个数字表示,而选项 A)中出现了数字 8 所以是不合法的。选项 B)是表示一个双引号的转义字符表示方法;选项 C)表示的是一个反斜杆;选项 D)表示一个ASCII 值为十六进制值 cc 的字符。故应该选择 A)。19.有以下程序#includestring.hmain() char p=a,b,c,q10=a,b,c;printf(“%d%d/n“,strlen(p),strlen(q);以

    35、下叙述中正确的是 A. 在给 p 和 q 数组置初值时,系统会自动添加字符串结束符,故输出的长度都为 3 B. 由于 p 数组中没有字符串结束符,长度不能确定,但 q 数组中字符串长度为 3 C. 由于 q 数组中没有字符串结束符,长度不能确定,但 p 数组中字符串长度为 3 D. 由于 p 和 q 数组中都没有字符串结束符,故长度都不能确定(分数:2.00)A. B.C.D.解析:解析 在给 p 和 q 数组赋初值时,系统会自动添加字符串结束符,从题目中可以看出数组 p 和 q都有 3 个字符,所以长度均为 3。20.数字字符0的 ASCII 值为 48, 若有以下程序:#include s

    36、tdio.hmain( )char a=1,b =2;printf( “% c,“,b + + );printf(“ % d /n“ ,b - a);程序运行后的输出结果是U /U。 A. 3,2 B. 50,2 C. 2,2 D. 2,50(分数:1.00)A.B.C. D.解析:解析 变量 a,b 定义为字符型,执行 printf(“%c,“b+);时,首先输出字符变量 b 的值 2和逗号,然后 b 的值加 1,b 的值变成3;再执行 printf(“%d/n“,b-a);输出3-1,即数字 2。所以程序运行后的输出结果为选项 C)。21.有以下程序:#includestdiohunion

    37、 pw int i;char ch2;a;main() a.ch0=13;a.ch1=0;printf(“%d/n“,ai);程序的输出结果是U /U。 A. 13 B. 14 C. 208 D. 209(分数:1.00)A. B.C.D.解析:解析 在本题中,首先定义了一个共用体 pw,其中有两个域:整型变量 i 和字符数组 ch。因为共用体中的域是共享内存空间的,数组元素由低到高存储:ch0在低字节;ch1在高字节;整型变量 i 占两个字节,高位与 ch1共用存储空间,低位与 ch0共用存储空间,而高位 ch1的值为 0,所以输出的成员变量 i 的值就是 ch0的值 13。22.若有下列语

    38、句:char a=“xyz“;char b=x,y,z;则下列叙述正确的是_。 A. 数组 a 和数组 b 不等价 B. 数组 a 和数组 b 的长度相同 C. 数组 a 占用空间大小等于数组 b 占用空间大小 D. 数组 a 占用空间大小大于数组 b 占用空间大小(分数:1.00)A.B.C.D. 解析:解析 数组 a 的存储空间占 4 个字节(结束符/0占一字节),数组 a 的存储空间占 3 个字节。23.下列数组定义中错误的是U /U。 A. int x3=0; B. int x23=1,2,3,4,5,6; C. int x3=1,2,3,4,5,6; D. int x23=1,2,3

    39、,4,5,6;(分数:2.00)A.B. C.D.解析:解析 二维数组的初始化有以下几种形式:分行进行初始化;不分行的初始化:部分数组元素初始化;省略第一维的定义,不省略第二维的定义。在选项 B)中赋值号左边定义了一个 2 行 3 列的二维数组,而右边用 3 行 2 列的数字进行赋初值。所以出现了边界的越界溢出错误。24.数据库系统的核心是_。 A. 数据模型 B. 数据库管理系统 C. 数据库 D. 数据库管理员(分数:2.00)A.B. C.D.解析:解析 数据库管理系统是负责数据库中的数据组织和数据操纵数据维护、控制及保护的数据服务。它是一种系统软件,是数据库系统的核心。25.已知 p

    40、为指针变量,a 为数组名,i 为整型变量,下列语句中,不正确的是_。 A. p= B. p=a; C. p= D. p=10;(分数:1.00)A.B.C.D. 解析:解析 不能把一个整数赋给指针变量,只能将变量已分配的地址赋给指针变量。26.以下程序的功能是:按顺序读入 10 名学生 4 门课程的成绩,计算出每位学生的平均分并输出,程序如下。main()int n,k;float score;sum,ave;sum=0.0;for(n=1;n=10;n+) for(k=1;k=4;k+) scanf(“%f“, sum+=score;ave=sum/4.0;printf(NO%d: %f/n

    41、“,n,ave);上述程序运行后结果不正确,调试中发现有一条语句出现在程序中的位置不正确。这条语句是( )。 A. sum=0.0; B. sum+=score; C. ave=sun/4.0; D. printf(“NO%d:%f/n“,n,ave);(分数:1.00)A. B.C.D.解析:解析 本题程序中使用了两层 for 循环,外层循环的作用是控制人数,循环一次是求一个人的成绩和,然后除以 4 得到平均成绩。每个人的成绩总和一开始时都必须清 0,否则就会出现后面人的总成绩越来越大。“sum=O.O;”应在外层循环中。选项 A 正确。27.fgetc 函数的作用是从指定文件读入一个个字符

    42、,该文件的打开方式必须是_。 A. 只读 B. 追加 C. 读或读写 D. 以上均正确(分数:2.00)A.B.C.D. 解析:解析 fgetc 函数是指从指定的文件读入一个字符,该文件必须是以读或读写方式打开的。fgetc函数的调用形式为: ch=fgetc(fp);。28.视图设计一般有 3 种设计次序,下列不属于视图设计的是_。 A. 自顶向下 B. 由外向内 C. 由内向外 D. 自底向上(分数:2.00)A.B. C.D.解析:解析 视图设计一般有 3 种设计次序,它们分别是自顶向下、自底向上和由内向外,它们又为视图设计提供了具体的操作方法,设计者可根据实际情况灵活掌握,可以单独使用

    43、也可混合使用。29.下面程序段的运行结果是( )。char a=“abcdefgh“;char *p=a;p+=3;printf(“%d/n“,strlen(strcpy(p,“ABCD“); A. 8 B. 12 C. 4 D. 7(分数:1.00)A.B.C. D.解析:解析 p 被定义为指针型变量,指向字符数组 a 的首地址。执行 p+=3;指针后移 3 位,指向d。strcpy(p,“ABCD“)将字符串 “ABCD“(连同/0)复制到 p 所指向的地址单元中,strlen()函数计算 p 所指向的字符串的长度,返回字符串中字符的个数(不计/0),返回值为字符串“ABCD“中字符的个数 4。30.当说明一个结构体变量时系统分配给它的内存是U /U。 A. 各成员所需要内存量的总和 B. 结构中第一个成员所需的内存量 C. 成员中占内存最大者所需的容量 D. 结构中最后一个成员所需要的内存量(分数:1.00)A. B.C.D.解析:解析 本题主要考查结构体的内存使用:对结构体而言,结构中不同的成员分别使用不同的内存空间,一个结构所占内存空间的大小是结构中每个成员所占内存空间大小的总和,结构中每个成员相互独立。31.有以下程序(说明:字母


    注意事项

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




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

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

    收起
    展开