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

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

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

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

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

    1、二级 C 语言笔试-253 及答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:#includestdio.hmain()int s12=1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2,3,c5=0, i;for(i=0; i12; i+)csi+;for(i=1; i5; i+)printtf(“%d“, ci);printf(“/n“);程序的运行结果是( )。(分数:2.00)A.1232B.4344C.4332D.11232.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( )。(分数:

    2、2.00)A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性D.激活机制和控制方法3.(2S)若有定义语句:int a23,*p3;,则以下语句中正确的是( )。(分数:2.00)A.p=a;B.p0=a;C.p0=a12;D.p1=a;4.有以下程序:void sum(int *(分数:2.00)A.int i, j;for (i=0; in-1; i+)for(j=i+1; jn; j+)if(strcmp(pi, pj)0)strcpy(t, pi);strcpypi, pj;strcpy(pj, t);main()char p510=“abc“, “aabdfg“, “abbd“,

    3、 “dcdbe“, “cd”;f(p, 5);printf(“%d/n“, strlen(p0);(分数:2.00)A.2B.4C.6D.36.以下关于 long、inc 和 short 类型数据占用内存大小的叙述中正确的是( )。(分数:2.00)A.均占 4 个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由 C 语言编译系统决定7.下列对于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且备元素的存储顺序是任意的B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连

    4、续,且各元素的存储顺序是任意的8.以下能正确定义二维数组的是( )。(分数:2.00)A.int a3;B.int a3=2+3;C.int a3=;D.int a23=1, 2, 3,4;9.用树形结构来表示实体之间联系的模型称为( )。(分数:2.00)A.关系模型B.层次模型C.网状模型D.数据模型10.有以下程序:main()int k=5, n=0;doswitch(k)case 1: case 3: n+1; k-break;default: n=0; k-;case 2: case 4: n+=2; k-; break;printtf(“%d“, n);while (k0n5);

    5、程序运行后的输出结果是( )。(分数:2.00)A.235B.0235C.02356D.235611.计算机能直接执行的程序是( )。(分数:1.00)A.源程序B.目标程序C.汇编程序D.可执行程序12.有以下程序:main()char s=“abcde“;s+=2;printf“%d/n“, s0;执行后的结果是( )。(分数:1.00)A.输出字符 a 的 ASCII 码B.输出字符 C 的 ASCII 码C.输出字符 CD.程序出错13.假定已建立以下链表结构,且指针 p 和 q 已指向如下图所示的结点:(分数:1.00)A.(*p). next=(*q)next: free(p);B

    6、.p=q-next; free(q);C.p=q; free(q);D.p-next=q-next; free(q);14.以下符合 C 语言语法的实型常量是( )。(分数:1.00)A.1.2E0.5B.3.14159EC.5E-3D.E1515.以下叙述中正确的是( )(分数:1.00)A.static 型局部变量,只能在编译时赋予值,程序运行期间不能更改B.static 型局部变量,可以在程序运行期间更改其值C.全局变量说明为 static 存储类,其作用域将被扩大D.形参可以使用的存储类说明符与局部变量完全相同16.数据处理的最小单位是( )。(分数:1.00)A.数据B.数据元素C.

    7、数据项D.数据结构17.有以下程序:void fint n, int *rint r1=0;if (n%3=0)r1=n/3;else if (n%5=0)r1=n/5;else f(-n, r1);*r=rl;main()int m=7, r;f(m, r); printf(“%d/n“, r);程序运行后的输出结果是( )。(分数:1.00)A.2B.1C.3D.018.在一个 C 源程序文件中所定义的全局变量,其作用域为( )。(分数:1.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern 说明来决定范围19.有以下程序:#incl

    8、udestdio.hvoid fun (int *a, int n)/ *fun 函数的功能是将 a 所指数组元素从大到小排序*/int t, i, j;for(i=0; in-1; i+)for(j=i+1; jn; j+)if(aiaj) t=ai; ai=aj; aj=t;main()int c10=(1, 2, 3, 4, 5, 6, 7, 8, 9, 0),i;fun(c+4, 6);fori=0; i10; i+) printf(“%d, “, ci);printf(“/n“);程序的运行结果是( )。(分数:1.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 0,

    9、B.0, 9, 8, 7, 6, 5, 1, 2, 3, 4,C.0, 9, 8, 7, 6, 5, 4, 3, 2, 1,D.1, 2, 3, 4, 9, 8, 7, 6, 5, 0,20.把实体一联系模型转换为关系模型时,实体之间多对多联系在模型中是通过( )。(分数:1.00)A.建立新的属性来实现B.建立新的关键字来实现C.建立新的关系来实现D.建立新的实体来实现21.有以下程序段:int k=0, a=1, b=2, c=3;k=ab?b:a;k=kc?c:k;执行该程序段后,k 的值是( )。(分数:2.00)A.3B.2C.1D.022.有以下程序:main()char str1

    10、0=“China“, “Beijing“, *p=str;printf(“%s/n“, p+10);程序运行后的输出结果是( )。(分数:2.00)A.ChinaB.BeijingC.nqD.ing23.表达式 3.6-5/2+1.2+5%2 的值是( )。(分数:2.00)A.43B.4BC.3.3D.3.824.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )。(分数:2.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题,D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去

    11、思考25.按条件 f 对关系 R 进行选择,其关系代数表达式为( )。(分数:2.00)A.R|RB.R|RfC. f(R)D. f(R)26.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针27.当运行以下程序时,从键盘输入 AhaMA(空格)AhaCR,则下面程序的运行结果是( )。#includestdio.hmain()char s80, c=a;int i=0;scanf(“%s“, s);while(si!=/0)if(si=c)si=si-32;else if(si)=c

    12、-32)si=si+32;i+;puts(s);(分数:2.00)A.ahAMaB.AbAMaC.AhAMa 空格 ahAD.ahAMa 空格 ahA28.有以下程序:#include stdio.hmain()char a=4;printf(“%d/n“, a=a1);程序的运行结果是( )。(分数:2.00)A.40B.16C.8D.429.以下选项中不属于字符常量的是( )。(分数:2.00)A.CB.“C“C./xCCD./07230.在软件测试设计中,软件测试的主要目的是( )。(分数:2.00)A.实验性运行软件B.证明软件正确C.找出软件中全部错误D.尽可能多地发现软件中的错误3

    13、1.设函数 fun 的定义形式为:void funlchar ch, float x)则以下对函数 fun 的调用语句中,正确的是( )。(分数:2.00)A.fun (“abc“, 30);B.t=fun(D, 16.5);C.fun(65, 2.8);D.fun(32, 32);32.设有定义:int k=1,m=2;float f=7;,则以下选项中错误的表达式是( )。(分数:2.00)A.k=k=kB.-k+C.k%int(f)D.k=f=m33.下面程序段的运行结果是( )。char *p=“ abcdefgh“;p+=3;printf(“%d/n“, strlen(strcpy(

    14、p, “ABCD“);(分数:2.00)A.8B.12C.4D.734.设有如下说明:typedef struct STlong a; int b; char c2; NEW;则下面叙述中正确的是( )。(分数:2.00)A.以上的说明形式非法B.ST 是一个结构体类型C.NEW 是一个结构体类型D.NEW 是一个结构体变量35.下列叙述中错误的是( )。(分数:2.00)A.一个 C 语言程序只能实现一种算法B.C 程序可以由多个程序文件组成C.C 程序可以由一个或多个函数组成D.一个 C 函数可以单独作为一个 C 程序文件存在36.当用户要求输入的字符串中含有空格时,应使用的输入函数是(

    15、)。(分数:2.00)A.getchar()B.scanf()C.gets()D.getc()37.以下叙述中错误的是( )。(分数:2.00)A.用户所定义的标识符允许使用关键字B.用户所定义的标识符应尽量做到“见名知意”C.用户所定义的标识符必须以字母或下划线开头D.用户定义的标识符中,大、小写字母代表不同标识38.当把以下四个表达式用作 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。(分数:2.00)A.k%2B.k%2=1C.(k%2)!=0D.!k%2=139.有以下程序:main()int m=3, n=4, x;x=-m+;x=x+8/+n;pri

    16、ntf(“%d/n“, x);程序运行后的输出结果是( )。(分数:2.00)A.3B.5C.-1D.-240.软件是指( )。(分数:2.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据与相关文档的完整集合二、填空题(总题数:14,分数:28.00)41.当循环队列非空且队尾指针等于队头指针时,说明循环队列已满,不能进行入队运算。这种情况称为 1。(分数:2.00)填空项 1:_42.冒泡排序在最坏情况下的比较次数是 1。(分数:2.00)填空项 1:_43.对下列二叉树进行中序遍历的结果为_。(分数:2.00)填空项 1:_44.Jackson 结构化程序设计方法是英国的 M.

    17、Jackson 提出的,它是一种面向 1 的设计方法。(分数:2.00)填空项 1:_45. 1 是数据库设计的核心。(分数:2.00)填空项 1:_46.以下程序运行后的输出结果是_。main()int x=0210;printf(“%X/n“, x);(分数:2.00)填空项 1:_47.已知字符 A 的 ASCII 码值为 65,以下语句的输出结果是_。char ch=B;printf(“%c%d/n“, ch, ch);(分数:2.00)填空项 1:_48.已定义 char ch=$; int i=1, j;,执行 j=! chi+以后,i 的值为 1。(分数:2.00)填空项 1:_

    18、49.以下程序的输出结果是_。#include string.hmain()printf“%d/n“, strlen(“IBM/n012/1/“);(分数:2.00)填空项 1:_以下程序的功能是:删去一维数组中所有相同的数,使之只剩一个。数组中的数已按由小到大的顺序排列,函数返回删除后数组中数据的个数。例如,若一维数组中的数据是:2 2 2 3 4 4 5 6 6 6 6 7 7 8 9 9 10 10 10删除后,数组中的内容应该是:2 3 4 5 6 7 8 9 10。请填空。#include stdio.h#define N 80int fun (int a, int n)int i,

    19、j=1;for(i=1; in; i+)if(aj-1 (10) ai)aj+=ai;(11) main()(int aN=(2, 2, 2, 3, 4, 4, 5, 6, 6, 6, 6, 7, 7, 8, 9, 9, 10, 10, 10, i, n=19;printf(“The original data: /n“);for(i=0; in; i+)printf(“%3d“, ai);n=fun(a,n);printf(“/nThe data after deleted: /n“);fori=0; in; i+printf(“%3d“, ai); printf(“/n/n“);(分数:2

    20、.00)填空项 1:_填空项 1:_50.以下程序运行后的输出结果是_。main ()char a=“Language“, b=“Programe“;char *p1, *p2;int k;p1=a; p2=b;for(k=0; k=7; k+)if(*p1+k)=*(p2+k)printf(“%c“, *(p1+k);(分数:2.00)填空项 1:_51.现有如下程序段:#include “stdio.h“main()(int a56=23, 3, 65, 21, 6, 78, 28, 5, 67, 25, 435, 76, 8, 22, 45, 7, 8, 34, 6, 78, 32, 4

    21、, 5, 67, 4, 21, 1; int i=0,j=5;printf“%d/n“, *(a00+2*i+j-2);则程序的输出结果为_。(分数:2.00)填空项 1:_52.有以下程序:#includestdio.hmain()int i, j, m=55;for(i=1;i=3;i+)for(j=3; j=i; j+)m=m%j;printf(“%d/n“, m);程序的运行结果是_。(分数:2.00)填空项 1:_53.下面程序的输出结果是_。main()(int a10=1, 2, 3, 4, 5, 6, 7, 8, 9, 10), *P=a;printf “%d/n“, *(p+

    22、2);(分数:2.00)填空项 1:_二级 C 语言笔试-253 答案解析(总分:98.00,做题时间:90 分钟)一、选择题(总题数:40,分数:70.00)1.有以下程序:#includestdio.hmain()int s12=1, 2, 3, 4, 4, 3, 2, 1, 1, 1, 2,3,c5=0, i;for(i=0; i12; i+)csi+;for(i=1; i5; i+)printtf(“%d“, ci);printf(“/n“);程序的运行结果是( )。(分数:2.00)A.1232B.4344C.4332 D.1123解析:解析 在 for(i=0;i12;i+)ci+

    23、中,数组元素 si的值作为数组 c 的下标,当退出循环时,数组 c 的 4 个元素的值分别为 4、3、3、2。2.模块独立性是软件模块化所提出的要求,衡量模块独立性的度量标准则是模块的( )。(分数:2.00)A.抽象和信息隐蔽B.局部化和封装化C.内聚性和耦合性 D.激活机制和控制方法解析:解析 模块的独立程序是评价设计好坏的重要度量标准。衡量软件的模块独立性使用耦合性和内聚性两个定性的度量标准。一般较优秀的软件设计,应尽量做到高内聚,低耦合。3.(2S)若有定义语句:int a23,*p3;,则以下语句中正确的是( )。(分数:2.00)A.p=a;B.p0=a;C.p0=a12; D.p

    24、1=a;解析:解析 本题考查的知识点是:二维数组和指针数组。无论一个数组有多少维或者是否含指针类型,该数组最终都可以被看作一个比较特殊的一维数组。例如本题中的 inc a23可以看作元素为 int3(即包含 3 个 int 型元素的一维数组),包含 2 个这样元素的一维数组;而 int*p3则可以看作元素为 int *,包含 3 个这样元素的一维数组。选项 A)中,p 为数组名,其值是不能被改变的,故非法;选项 B)中,p0的类型是 int*,而 a 是二维数组名(类型为 int3),两者无法赋值,故非法;选项 C)中,D0为int 型指针,a12为元素 a12的地址,所以选项 C)符合题意。

    25、4.有以下程序:void sum(int *(分数:2.00)A.int i, j;for (i=0; in-1; i+)for(j=i+1; jn; j+)if(strcmp(pi, pj)0)strcpy(t, pi);strcpypi, pj;strcpy(pj, t);main()char p510=“abc“, “aabdfg“, “abbd“, “dcdbe“, “cd”;f(p, 5);printf(“%d/n“, strlen(p0);(分数:2.00)A.2B.4C.6 D.3解析:解析 题目中已告知函数 f()的作用是将字符串从小到大排序,因此主函数中调用完 f(p,5);

    26、后,二维数组 p 中的内容为“aabdfg“, “abbd“, “abc“, “cd“, “dcdbe“)。输出的结果是 strlen(p0),即p 中第 1 个字符串的长度,所以结果是 6。故本题应该选择 C)。6.以下关于 long、inc 和 short 类型数据占用内存大小的叙述中正确的是( )。(分数:2.00)A.均占 4 个字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由 C 语言编译系统决定 解析:解析 在 ANSI 标准中,lonq、int 和 short 分别占用 4 个字节、2 个字节和 2 个字节。但实际上对于某些 C 编译系统,int 和 shor

    27、c 都占用 4 个字节,所以说各种类型数据占用内存大小是由选择何种 C编译系统决定的。7.下列对于线性链表的描述中正确的是( )。(分数:2.00)A.存储空间不一定连续,且备元素的存储顺序是任意的 B.存储空间不一定连续,且前件元素一定存储在后件元素的前面C.存储空间必须连续,且前件元素一定存储在后件元素的前面D.存储空间必须连续,且各元素的存储顺序是任意的解析:解析 本题考查的是线性单链表、双向链表与循环链表的结构及其基本运算。在链式存储结构中,存储数据结构的存储空间可以不连续,各数据结点的存储顺序与数据元素之间的逻辑关系可以不一致,而数据元素之间的逻辑关系是由指针域来确定的。故本题答案为

    28、 A)。8.以下能正确定义二维数组的是( )。(分数:2.00)A.int a3;B.int a3=2+3; C.int a3=;D.int a23=1, 2, 3,4;解析:解析 本题考核的知识点是二维数组的定义。选项 A)中省略了第一维的长度,在 C 语言中是不允许的,故选项 A)错误;选项 C)也是省略第一维的长度;选项 D)中定义了一个 2 行 3 列的数组,而在赋值的时候却赋了一个 3 行的值给它,显然不正确,故选项 D)错误,所以,4 个选项中选项 B)符合题意。9.用树形结构来表示实体之间联系的模型称为( )。(分数:2.00)A.关系模型B.层次模型 C.网状模型D.数据模型解

    29、析:解析 层次模型是最早发展出来的数据库模型。它的基本结构是树形结构,这种结构方式在现实世界中很普遍,如家族结构、行政组织机构,它们自顶向下、层次分明。10.有以下程序:main()int k=5, n=0;doswitch(k)case 1: case 3: n+1; k-break;default: n=0; k-;case 2: case 4: n+=2; k-; break;printtf(“%d“, n);while (k0n5);程序运行后的输出结果是( )。(分数:2.00)A.235 B.0235C.02356D.2356解析:解析 本题主要考查的知识点是 switch 语句。

    30、因为变量的初始值分别为“k=5,n=0”,所以程序第一次进入循环时,执行 default 语句,这时 k=4,执行“case 4: ”这个分支,结果是“n=2,k=3”,打印出 2;程序然后进行第二次循环,这时“n=2,k=3”,执行“case 3:”这个分支,结果是“n=3,k=2”,打印出 3;程序进行第三次循环,这时“n=3,k=2”,执行“case 2:case 4:”这两个分支,结果是“n=5,k=1”,打印出 5,这时因为 n=5 不满足 n5 的循环条件,因此退出循环,程序运行结束,故输出结果为 235。11.计算机能直接执行的程序是( )。(分数:1.00)A.源程序B.目标程

    31、序C.汇编程序D.可执行程序 解析:解析 本题考查的是 C 程序的基本概念。C 语言是一种高级语言,C 语言源程序经过 C 语言编译程序编译之后,生成一个后缀为.obj 的二进制文件(称为目标程序),最后还要由称为“连接程序”(Link)的软件,把此.obj 文件与 C 语言提供的各种库函数连接在一起,生成一个后缀.exe 的可执行程序。显然C 语言源程序不能立即执行,故选项 A)错误。根据以上定义,选项 B)和选项 C)错误。故本题应该选择 D)。12.有以下程序:main()char s=“abcde“;s+=2;printf“%d/n“, s0;执行后的结果是( )。(分数:1.00)A

    32、.输出字符 a 的 ASCII 码B.输出字符 C 的 ASCII 码C.输出字符 CD.程序出错 解析:解析 本题考查了数组名的概念。在 C 语言中,数组名类似于一个指向数组首地址的指针常量,一旦定义就不能修改其内容。所以本题中的 s+=2;语句让数组名 s 的内容加 2 是错误的,编译无法通过。故应该选择 D)。13.假定已建立以下链表结构,且指针 p 和 q 已指向如下图所示的结点:(分数:1.00)A.(*p). next=(*q)next: free(p);B.p=q-next; free(q);C.p=q; free(q);D.p-next=q-next; free(q); 解析:

    33、解析 本题考查的是在链表中删除结点的操作。在本题中指针 D 指向结点 a,q 指向结点 b。要把结点 b 删除,就应该首先让结点 a 的指针域指向结点 c,即 pnext=qnext,也可以写成(*p).nexc=(*q).next,然后释放结点 b,即 free(q)。所以,4 个选项中,只有 D)满足题意。14.以下符合 C 语言语法的实型常量是( )。(分数:1.00)A.1.2E0.5B.3.14159EC.5E-3 D.E15解析:解析 本题考核的知识点是宴型常量和指数形式表示数的书写格式。实型常量只能用十进制形式表示,不能用八进制或十六进制形式表示,实型常量可以用小数形式或指数形式

    34、表示,在 C 语言中,可以用指数形式将实型常量表示为数值和指数两部分,数值部分不能为空,指数部分只能为整数表示。选项 A)中0.5 不是整数,故选项 A)不正确;选项 B)中缺少指数部分,故选项 B)不正确;选项 D)中数值部分不能为空,故选项 D)也不正确。所以,4 个选项中选项 C)符合题意。15.以下叙述中正确的是( )(分数:1.00)A.static 型局部变量,只能在编译时赋予值,程序运行期间不能更改B.static 型局部变量,可以在程序运行期间更改其值 C.全局变量说明为 static 存储类,其作用域将被扩大D.形参可以使用的存储类说明符与局部变量完全相同解析:解析 本题考查

    35、的知识点是:局部变量的作用域。stafic 说明全局变量时,此变量可称为静态全局变量,静态全局变量只限于本编译单位使用,不能被其他单位所引用,静态局部变量在编译时赋初值,在程序执行期间不能赋初值,而非不能更改,故本题选 B)。16.数据处理的最小单位是( )。(分数:1.00)A.数据B.数据元素C.数据项 D.数据结构解析:解析 数据处理的最小单位是数据项;由若干数据项组成数据元素;数据是指能够被计算机识别、存储和加工处理的信息载体;数据结构是指数据之间的相互关系和数据运算。17.有以下程序:void fint n, int *rint r1=0;if (n%3=0)r1=n/3;else

    36、if (n%5=0)r1=n/5;else f(-n, r1);*r=rl;main()int m=7, r;f(m, r); printf(“%d/n“, r);程序运行后的输出结果是( )。(分数:1.00)A.2 B.1C.3D.0解析:解析 本题主要考查了函数参数的传递方式和递归函数。参数的传递方式有两种:传值和传地址。它们的区别主要在于:在函数体内对形参的改变,会不会同时也改变实参。本题的 f()函数,第 1 个参数是传值(不会改变实参);第 2 个参数传递的是指针,即传地址(会改变实参)。主函数中调用 f()时 m 为7,由于 7 既不能被 3 整除,也不能被 5 整除,所以执行最

    37、后一条 else 子句再次调用 f()函数,此时 n 被减 1,传入的第 1 个参数值为 6,6 能被 3 整除,故 r1=6/3=2。函数返回,并使第 2 个参数所指内容为2,故本题输出的结果是 2,应该选择 A)。18.在一个 C 源程序文件中所定义的全局变量,其作用域为( )。(分数:1.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern 说明来决定范围 解析:解析 本题考查的知识点是全局变量的作用域。全局变量的有效范围是从定义变量的位置开始到本源文件结束。如果需要在其他源文件中使用该全局变量,则可以在其他源文件中使用 exfem

    38、关键字来声明该全局变量,这样该全局变量的作用域就被扩展到以 exfern 声明了该全局变量的位置开始到此源文件结束。故本题的正确答案为 D)。19.有以下程序:#includestdio.hvoid fun (int *a, int n)/ *fun 函数的功能是将 a 所指数组元素从大到小排序*/int t, i, j;for(i=0; in-1; i+)for(j=i+1; jn; j+)if(aiaj) t=ai; ai=aj; aj=t;main()int c10=(1, 2, 3, 4, 5, 6, 7, 8, 9, 0),i;fun(c+4, 6);fori=0; i10; i+)

    39、 printf(“%d, “, ci);printf(“/n“);程序的运行结果是( )。(分数:1.00)A.1, 2, 3, 4, 5, 6, 7, 8, 9, 0,B.0, 9, 8, 7, 6, 5, 1, 2, 3, 4,C.0, 9, 8, 7, 6, 5, 4, 3, 2, 1,D.1, 2, 3, 4, 9, 8, 7, 6, 5, 0, 解析:解析 在本题中,主函数在调用 fun()函数进行排序时,传递的参数是 c+4 和 6,fun()函数实现的功能是将数组 c 的第 5 个元素开始的 6 个元素依次进行从大到小的顺序排列。排序之后,数组 c 的内容变为1, 2, 3, 4

    40、, 9, 8, 7,6, 5.0。20.把实体一联系模型转换为关系模型时,实体之间多对多联系在模型中是通过( )。(分数:1.00)A.建立新的属性来实现B.建立新的关键字来实现C.建立新的关系来实现 D.建立新的实体来实现解析:解析 ER 图向关系模型的转换原则:一个实体型转换为一个关系模型,实体的属性就是关系的属性,实体的键就是关系的键;一个联系转换为一个关系模式,与该联系相连的每个实体型的键以及联系的属性都转换为关系的属性。这个关系的键分为以下三种不同的情况:若联系为 1:1,则相连的每个实体型的键均是该关系模式的候选键。若联系为 1:n,则联系对应的关系模式的键取 n 端实体型的键。若

    41、联系为 m:n,则联系对应的关系模式的键为参加联系的诸实体型的键的组合。21.有以下程序段:int k=0, a=1, b=2, c=3;k=ab?b:a;k=kc?c:k;执行该程序段后,k 的值是( )。(分数:2.00)A.3B.2 C.1D.0解析:解析 本题考查的知识点是条件表达式。条件运算符?:是 C 语言中唯一的三目运算符,它的规则是先计算左边运算分量,如果为“真”(非 0),则返回中间运算分量的值,否则返回右边运算分量的值。本题中因为 ab 为“真”,所以第 1 个条件表达式的值为 b 的值 2,所以 k=2。然后又因为 kc 为“假”,所以第 2 个表达式的值为 k 的值 2

    42、。所以本题应该选择 B)。22.有以下程序:main()char str10=“China“, “Beijing“, *p=str;printf(“%s/n“, p+10);程序运行后的输出结果是( )。(分数:2.00)A.ChinaB.Beijing C.nqD.ing解析:解析 本题考核的知识点是二维数组的定义、初始化和指针的应用。本题中首先定义了一个字符串数组并初始化,初始化后使得 str0=“Chma“, str1=“Beijinq“,然后定义一个指针变量 p 并让其指向 str,而在该二维数组中定义每个字符串的长度为 10 所以 p+10 将指向 sfr1因此最后输出*(p+10)

    43、的值为 Beijjnq。所以,4 个选项中选项 B)符合题意。23.表达式 3.6-5/2+1.2+5%2 的值是( )。(分数:2.00)A.43B.4BC.3.3D.3.8 解析:解析 本题考查的知识点是算术表达式的运算。算术表达式是由+、-、*、/和%五种算术运算符所组成的表达式,其中*、/和%的优先级要高于+和-,同级别的运算符从左至右运算。所以本题首先计算5/2 和 5%2,虽然我们都知道 5/2 的结果应该是 25,但 C 语言中规定了两个整数相除的结果为整数,而且是截尾取整,所以 5/2 的结果是 2;5%2 表示的是 5 除以 2 所得的余数,其结果为 1。计算完后,表达式变为

    44、 36-2+1.2+1,从左至右计算不难得出结果为 3.8,故应该选择 D)。24.面向对象的设计方法与传统的的面向过程的方法有本质不同,它的基本原理是( )。(分数:2.00)A.模拟现实世界中不同事物之间的联系B.强调模拟现实世界中的算法而不强调概念C.使用现实世界的概念抽象地思考问题从而自然地解决问题, D.鼓励开发者在软件开发的绝大部分中都用实际领域的概念去思考解析:解析 面向对象的设计方法与传统的面向过程的方法有本质不同,它的基本原理是,使用现实世界的概念抽象地思考问题从而自然地解决问题。它强调模拟现实世界中的概念而不强调算法,它鼓励开发者在软件开发的绝大部分中都用应用领域的概念去思

    45、考。本题答案为 C)。25.按条件 f 对关系 R 进行选择,其关系代数表达式为( )。(分数:2.00)A.R|RB.R|RfC. f(R) D. f(R)解析:解析 选择运算是一个一元运算,关系 R 通过选择运算(并由该运算给出所选择的逻辑条件)后仍为一个关系。这个关系是由 R 中那些满足逻辑条件的元组所组成。如果关系的逻辑条件为 f,则 R 满足 f的选择运算可以写成: f(R)。本题答案为 C)。26.下列关于栈的描述中错误的是( )。(分数:2.00)A.栈是先进后出的线性表B.栈只能顺序存储 C.栈具有记忆作用D.对栈的插入与删除操作中,不需要改变栈底指针解析:解析 本题考查的是栈

    46、和队列。栈是一种特殊的线性表,线性表可以顺序存储,也可以链式存储,而栈是一种线性表,也可以采用链式存储结构。故本题答案为 B)。27.当运行以下程序时,从键盘输入 AhaMA(空格)AhaCR,则下面程序的运行结果是( )。#includestdio.hmain()char s80, c=a;int i=0;scanf(“%s“, s);while(si!=/0)if(si=c)si=si-32;else if(si)=c-32)si=si+32;i+;puts(s);(分数:2.00)A.ahAMa B.AbAMaC.AhAMa 空格 ahAD.ahAMa 空格 ahA解析:解析 本题主要考

    47、查的知识点是大写字母比它对应的小写字母 ASCII 码值小 32,并且字符可以看作整数进行算术运算等操作。28.有以下程序:#include stdio.hmain()char a=4;printf(“%d/n“, a=a1);程序的运行结果是( )。(分数:2.00)A.40B.16C.8 D.4解析:解析 本题考查的是左移运算。因为计算机中的数据都是以二进制形式存放,而位移运算其实质就是将这些二进制左移或右移若干位,如果不考虑溢出的话,每左移 1 位其实就等价于对原数乘以 2,右移 1 位就等价于对原数除以 2。这就好像在现实的十进制中,如果我们将 100 左移 1 位,结果是 1000,是不是大了 10 倍?将 100 右移 1 位,结果是 10,结果等于十分之一了。所以,本题中 aL


    注意事项

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




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

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

    收起
    展开