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

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

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

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

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

    1、二级 C 语言笔试-2 及答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:64.00)1.在深度为 5 的满二叉树中,叶子结点的个数为U /U。 A.32 B.31 C.16 D.15(分数:1.00)A.B.C.D.2.下列叙述中正确的是U /U。 A.一个算法的空间复杂度大,则其时间复杂度必定大 B.一个算法的空间复杂度大,则其时间复杂度必定小 C.一个算法的时间复杂度大,则其空间复杂度必定小 D.上述三种说法都不对(分数:2.00)A.B.C.D.3.按照“先进后出”原则组织数据的数据结构是U /U。 A.队列 B.栈 C.双向链表 D.二叉树(分

    2、数:2.00)A.B.C.D.4.在软件开发中,需求分析阶段产生的主要文档是_。 A.可行性分析报告 B.软件需求规格说明书 C.概要设计说明书 D.集成测试计划(分数:2.00)A.B.C.D.5.对关系 S 和关系 R 进行集合运算,结果中既包含关系 S 中的所有元组也包含关系 R 中的所有元组,这样的集合运算称为U /U。 A.并运算 B.交运算 C.差运算 D.除运算(分数:2.00)A.B.C.D.6.数据库技术的根本目标是要解决数据的 A.存储问题 B.共享问题 C.安全问题 D.保护问题(分数:2.00)A.B.C.D.7.结构化程序设计的 3 种基本结构是U /U。 A.过程、

    3、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D.调用、返回和转移(分数:2.00)A.B.C.D.8.下列叙述中错误的是 A.一个 C 语言程序只能实现一种算法 B.C 程序可以由多个程序文件组成 C.C 程序可以由一个或多个函数组成 D.一个 C 函数可以单独作为一个 C 程序文件存在(分数:1.00)A.B.C.D.9.下列叙述中正确的是 A.C 语言编译时不检查语法 B.C 语言的子程序有过程和函数两种 C.C 语言的函数可以嵌套定义 D.C 语言的函数可以嵌套调用(分数:1.00)A.B.C.D.10.有以下程序段int j; float y; char name50;

    4、scanf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 777abc 后,y 的值为_。 A.55566.0 B.566.0 C.7777.0 D.566777.0(分数:2.00)A.B.C.D.11.下列选项中,不能用做标识符的是_。 A._1234_ B._1_2 C.int_2_ D.2_int_(分数:1.00)A.B.C.D.12.设变量 a 是 int 型,f 是 float 型,i 是 double 型,则表达式 10+a+i*f 值的数据类型为U /U。 A.int B.float C.double D.不确定(分数:1.00)A.B.

    5、C.D.13.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2)if(ab) a=b; c=a;if(c!=a) c=b;printf(“%d,%d,%d/n“,a,b,c);其输出结果是_。 A.程序段有语法错 B.3,5,3 C.3,5,5 D.3,5,7(分数:1.00)A.B.C.D.15.若执行下列程序时从键盘上输入 2,则输出结果是U /U。#includestdio.hmain() int a;scanf(“%d“,int y=0;while(x7x+;printf(“%d,%d“,y,x);程序的输出结果是U /U。 A.0,7 B.7,7 C.0,6

    6、 D.1,6(分数:2.00)A.B.C.D.21.以下程序#includestdio.h#includestring.hmain() char*pl=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2.strcat(p1,p2);printf(“%s/n,str);的输出是_。 A.xyzabcABC B.zabcABC C.yzabcABC D.xyabcABC(分数:2.00)A.B.C.D.22.以下程序的输出结果是#includestdio.hvoid prt(int *x,int *y,int*z)printf(“%d,%d,%d/n“,+*x,+*y

    7、,*(z+);main()int a=10,b=40,c=20;prt( B.#define N 100int numN; C.int num0100; D.int N=100;int numN;(分数:2.00)A.B.C.D.25.下列函数值的类型是U /U。fun(doublex) float y;y=3*x-4;return y; A.int B.不确定 C.void D.float(分数:2.00)A.B.C.D.26.算法具有五个特性,以下选项中不属于算法特性的是U /U。 A.有穷性 B.简洁性 C.可行性 D.确定性(分数:1.00)A.B.C.D.27.若有定义语句:int

    8、a23,*p3;,则以下语句中正确的是_。 A.p=a; B.p0=a; C.p0=a12; D.p1=a;(分数:2.00)A.B.C.D.28.若有以下定义和语句:char s10=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);则输出结果是U /U。 A.5 5 B.10 5 C.10 7 D.5 8(分数:1.00)A.B.C.D.29.下列字符数组初始化语句中,不正确的是U /U。 A) char c=goodmorning; B) char c20=“goodmorning“; C) char c=a,b,c,d

    9、;D) char c=“goodmorning“;(分数:2.00)A.B.C.D.30.有以下程序 #include stdio.h void fun(int *a,int n)/*fun 函数的功能是将 a 所指数组元素从大到小排序*/ int t,i,j; for(i=0;in-1;j+) 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); for(i=0;i10;i+) printf(“%d,“,ci); printf(“/n“); 程序的运行结果是

    10、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,(分数:2.00)A.B.C.D.31.若输入 bcdefgh、m、abcdefg,以下程序的输出结果为U /U。#includestdio.h#includestring.hmain() int i;char string20,str320;for(i=0;i3;i+)gets(stri);if(strcmp(str0,str1)0)strcpy(string,str0);else strcpy(string,s

    11、tr1);if(strcmp(str2,string)0)strcpy(string,str2);printf(“%s“,string); A.bcdefgh B.m C.abcdefg D.bcdefgh 或 abcdefg(分数:2.00)A.B.C.D.32.有以下程序:main() int a=1,b=3,c=5,*p;int *p1=y=3*x-4;return y; A.int B.不确定 C.void D.float(分数:2.00)A.B.C.D.39.有以下程序:#includestdio.hmain()FTLE*fp;int a10=1,2,3,i,n;fp=fopen(“

    12、d1.dat“,“w“;for(i=0;i3;i+)fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。 A.12300 B.123 C.1 D.321(分数:2.00)A.B.C.D.40.有以下程序:#include stdio.h#include strine.hstruct STU char name10;int hum;void f(char * name,iht num) struc

    13、t STU s2 = “SunDan“ ,20044 , “ Penghua“ ,20045;num= s0. nnm;strepy(name,s0, name);main( ) struct STU s2 = “YangSan“ ,20041 , “LiSiGao“ ,20042, * P;p = f(p-name,p-hum);printf(“% s %d /n“ ,p- name,p-num);程序运行后的输出结果是( )。 A.SunDan 20042 B.SunDan 20044 C.LiSiGuo 20042 D.YangSan 20041(分数:1.00)A.B.C.D.二、B填

    14、空题/B(总题数:15,分数:34.00)41.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_43.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_44.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接碟块,其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_45.若按功能划分,软件测试的方法通常分为白盒测试方

    15、法和 1 测试方法。(分数:2.00)填空项 1:_46.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中, 1 负责数据的模式定义与数据的物理存取构建。(分数:4.00)填空项 1:_47.Jackson 方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_48.若 a 是 int 型变量,则下列表达式的值为_。 (a=2*3,a*2),a+4(分数:2.00)填空项 1:_49.以下程序的输出结果是_。 #includestdio.h void swap(int*a,int*b) int*t; t=a;a=b;b=c; main() int i=3,j=5,*

    16、p= int i=0,j =0,s =0; while(i + 4) if(i =2 i =4) continue; j=0; do s+ = aij; j+; while(j4); pdnff(“ % d/n“ ,s);(分数:2.00)填空项 1:_53./13在内存中占 1 个字节,“/12“在内存中占 1 个字节。(分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。 int f(int a,int n) if(n=1)return f(a,n-1)+an-1;else return 0; main() int aa5=1,2,3,4,5),s; s=f(aa,5);pr

    17、intf(“%d/n“,s); (分数:2.00)填空项 1:_55.设有下列程序: #includestdio.h #includestring.h main() int i; char s10,t10; gets(t); for(i=0;i2;i+) gets(s); if(strcmp(t,s)0)strcpy(t,s); print f(“%s/n“,t); 程序运行后,从键盘上输入(CR代表回车符): DEFCRBADEFCRQTHRGCR,则程序的输出结果是_。(分数:2.00)填空项 1:_二级 C 语言笔试-2 答案解析(总分:98.00,做题时间:90 分钟)一、B选择题/B

    18、(总题数:40,分数:64.00)1.在深度为 5 的满二叉树中,叶子结点的个数为U /U。 A.32 B.31 C.16 D.15(分数:1.00)A.B.C. D.解析:解析 所谓满二叉树是指这样的一种二叉树:除最后一层外,每一层上的所有结点都有两个子结点。这就是说,在满二叉树中,每层上的结点数都达到最大值,即在满二叉树的第 k 层上有 2k-1个结点,且深度为 m 的满二叉树有 2m-1个结点。由此可知,本题中叶子结点的个数为 25-1=16。2.下列叙述中正确的是U /U。 A.一个算法的空间复杂度大,则其时间复杂度必定大 B.一个算法的空间复杂度大,则其时间复杂度必定小 C.一个算法

    19、的时间复杂度大,则其空间复杂度必定小 D.上述三种说法都不对(分数:2.00)A.B.C.D. 解析:解析 算法的时间复杂度和算法的空间复杂度是从不同的角度来衡量算法的执行情况,它们之间没有内在联系。3.按照“先进后出”原则组织数据的数据结构是U /U。 A.队列 B.栈 C.双向链表 D.二叉树(分数:2.00)A.B. C.D.解析:解析 栈是一种特殊的线性表,其插入和删除运算都只在线性表的一端进行,而另一端是封闭的。进行插入、删除的一端称为栈顶,封闭的一端称为栈底。栈顶元素是最后被插入的元素,不是最后被删除的,是按先进后出的原则组织数据的。4.在软件开发中,需求分析阶段产生的主要文档是_

    20、。 A.可行性分析报告 B.软件需求规格说明书 C.概要设计说明书 D.集成测试计划(分数:2.00)A.B. C.D.解析:解析 软件需求规格说明书是需求分析阶段最后的成果,它是作为需求解析的一部分而制定的可交付文档。在概要设计阶段,需要编写的文档有:概要设计说明书、数据库说明书、集成测试计划等。5.对关系 S 和关系 R 进行集合运算,结果中既包含关系 S 中的所有元组也包含关系 R 中的所有元组,这样的集合运算称为U /U。 A.并运算 B.交运算 C.差运算 D.除运算(分数:2.00)A. B.C.D.解析:解析 关系的并运算是指,由结构相同的两个关系合并,形成一个新的关系,其中包含

    21、两个关系中的所有元组。6.数据库技术的根本目标是要解决数据的 A.存储问题 B.共享问题 C.安全问题 D.保护问题(分数:2.00)A.B. C.D.解析:解析 数据库产生的背景就是计算机的应用范围越来越广泛,数据量急剧增加,对数据共享的要求越来越高。共享的含义是多个用户、多种语言、多个应用程序相互覆盖地使用一些公用的数据集合。在这样的背景下,为了满足多用户、多应用共享数据的要求,就出现了数据库技术,以便对数据库进行管理。因此,数据库技术的根本目标就是解决数据的共享问题。7.结构化程序设计的 3 种基本结构是U /U。 A.过程、子程序和分程序 B.顺序、选择和重复 C.递归、堆栈和队列 D

    22、.调用、返回和转移(分数:2.00)A.B. C.D.解析:解析 程序的 3 种基本控制结构包括顺序、选择和重复(循环),这 3 种结构就足以表达出各种其他形式的结构。8.下列叙述中错误的是 A.一个 C 语言程序只能实现一种算法 B.C 程序可以由多个程序文件组成 C.C 程序可以由一个或多个函数组成 D.一个 C 函数可以单独作为一个 C 程序文件存在(分数:1.00)A. B.C.D.解析:解析 一个 C 程序可以有一个或多个程序文件,也可以有一个或多个函数,所以一个 C 语言程序可以实现多种算法。9.下列叙述中正确的是 A.C 语言编译时不检查语法 B.C 语言的子程序有过程和函数两种

    23、 C.C 语言的函数可以嵌套定义 D.C 语言的函数可以嵌套调用(分数:1.00)A.B.C.D. 解析:解析 C 语言相对其他高级语言来说,放宽了语法检查,但并不是不检查语法。C 语言的程序是由函数构成的。函数不能嵌套定义,但可以嵌套调用。10.有以下程序段int j; float y; char name50;scanf(“%2d%f%s“,j,y,name);当执行上述程序段,从键盘上输入 55566 777abc 后,y 的值为_。 A.55566.0 B.566.0 C.7777.0 D.566777.0(分数:2.00)A.B. C.D.解析:解析 本题考查的重点是 scanf 函

    24、数的用法。程序中第一个格式化字符串“%2d”表示读入一个两位的整数,因此就将键盘输入的前两位数赋到第一个变量 j 中,即 j 的值为 55;后一个格式化字符串为“%f”,再将后续读入的数字赋给浮点变量 y,因此 y 的值为 566.0,即到读到空格时结束。11.下列选项中,不能用做标识符的是_。 A._1234_ B._1_2 C.int_2_ D.2_int_(分数:1.00)A.B.C.D. 解析:解析 合法标识符的命名规则是:标识符可以由字母、数字、下画线三种字符组成,并且第一个字符必须为字母或者是下画线,同时,标识符不可以与任意一个关键字同名。在选项 D 中,以数字 2 开头,不符合标

    25、识符的命名规则。12.设变量 a 是 int 型,f 是 float 型,i 是 double 型,则表达式 10+a+i*f 值的数据类型为U /U。 A.int B.float C.double D.不确定(分数:1.00)A.B.C. D.解析:解析 根据混合运算规则,如果有一个数据是 double 型,则其他数据类型先转化为 double 型,运算的结果最终也是 double 型。13.若有定义语句:int k1=10,k2=20;,执行表达式(k1=k1k2)if(ab) a=b; c=a;if(c!=a) c=b;printf(“%d,%d,%d/n“,a,b,c);其输出结果是_

    26、。 A.程序段有语法错 B.3,5,3 C.3,5,5 D.3,5,7(分数:1.00)A.B. C.D.解析:15.若执行下列程序时从键盘上输入 2,则输出结果是U /U。#includestdio.hmain() int a;scanf(“%d“,int y=0;while(x7x+;printf(“%d,%d“,y,x);程序的输出结果是U /U。 A.0,7 B.7,7 C.0,6 D.1,6(分数:2.00)A. B.C.D.解析:解析 本题考查 while 循环。y 的值在 while 循环的控制表达式中加 1,在循环体内减 1,所以总的 y 值不变,且控制条件+y 永远非零。当

    27、x 加到 7 时不满足循环条件,结束循环。21.以下程序#includestdio.h#includestring.hmain() char*pl=“abc“,*p2=“ABC“,str50=“xyz“;strcpy(str+2.strcat(p1,p2);printf(“%s/n,str);的输出是_。 A.xyzabcABC B.zabcABC C.yzabcABC D.xyabcABC(分数:2.00)A.B.C.D. 解析:评析 strcat(p1,P2)将字符串 abcABC 放到了*pl 所指向的存储单元中;strcpy 在本题将 abcABC复制到 str+2 所指向的存储单元中

    28、,即覆盖原 str 数组中的字符 z 及其后的所有字符,故 str 的值为“xyabcABC”。22.以下程序的输出结果是#includestdio.hvoid prt(int *x,int *y,int*z)printf(“%d,%d,%d/n“,+*x,+*y,*(z+);main()int a=10,b=40,c=20;prt( B.#define N 100int numN; C.int num0100; D.int N=100;int numN;(分数:2.00)A.B. C.D.解析:解析 C 语言不允许对数组进行动态定义,选项 D 错误;选项 A 没有指定数组元素的个数;选项C

    29、中定义格式错误;正确答案为选项 B,其中 N 是符号常量。25.下列函数值的类型是U /U。fun(doublex) float y;y=3*x-4;return y; A.int B.不确定 C.void D.float(分数:2.00)A. B.C.D.解析:解析 本题考查默认函数的函数值的类型。在函数调用时,尽管 y 的类型是 float,x 的类型是double,但是因为函数定义时省去类型说明,系统默认函数值的类型为血型,所以计算后的 y 的类型是int 型。26.算法具有五个特性,以下选项中不属于算法特性的是U /U。 A.有穷性 B.简洁性 C.可行性 D.确定性(分数:1.00)

    30、A.B. C.D.解析:解析 有穷性、确定性、有零个或多个输入、有一个或多个输出、可行性是算法的五大特性。选项 B)错误。27.若有定义语句:int a23,*p3;,则以下语句中正确的是_。 A.p=a; B.p0=a; C.p0=a12; D.p1=a;(分数:2.00)A.B. C.D.解析:解析 本题考查的重点是指针数组与二维数组的关系。因为*p3定义成指针数组,从而指针数组中的任何元素都是一个地址,因此,选项 B 是正确的。28.若有以下定义和语句:char s10=“abcd!“,*s2=“/n123/“;printf(“%d%d/n“,strlen(s1),strlen(s2);

    31、则输出结果是U /U。 A.5 5 B.10 5 C.10 7 D.5 8(分数:1.00)A. B.C.D.解析:解析 /n 和/分别为转义字符,各占据一个字符的位置。29.下列字符数组初始化语句中,不正确的是U /U。 A) char c=goodmorning; B) char c20=“goodmorning“; C) char c=a,b,c,d;D) char c=“goodmorning“;(分数:2.00)A. B.C.D.解析:解析 本题考查两个概念。用单引号括起来的一个字符常量只能存放一个字符;C 语言中没有字符串变量,只能用字符数组来存储字符串。选项 A)中一个单引号内存

    32、放了若干个字符,是错误的;选项 B)和选项 D)中将一个字符串赋值给一个字符数组是允许的。30.有以下程序 #include stdio.h void fun(int *a,int n)/*fun 函数的功能是将 a 所指数组元素从大到小排序*/ int t,i,j; for(i=0;in-1;j+) 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); for(i=0;i10;i+) printf(“%d,“,ci); printf(“/n“); 程序的运行结

    33、果是 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,(分数:2.00)A.B.C.D. 解析:解析 在本题中,主函数在调用 fun( )函数进行排序时,传递的参数是 c+4 和 6,fun( )函数实现的功能是将数组 c 的第 5 个元素开始的 6 个元素依次进行从大到小的顺序排列。排序之后,数组 c 的内容变为1,2,3,4,9,8,7,6,5,0。31.若输入 bcdefgh、m、abcdefg,以下程序的输出结果为U /U。#includestdio.h

    34、#includestring.hmain() int i;char string20,str320;for(i=0;i3;i+)gets(stri);if(strcmp(str0,str1)0)strcpy(string,str0);else strcpy(string,str1);if(strcmp(str2,string)0)strcpy(string,str2);printf(“%s“,string); A.bcdefgh B.m C.abcdefg D.bcdefgh 或 abcdefg(分数:2.00)A.B. C.D.解析:解析 本题考查字符比较函数和字符复制函数:strcmp(s

    35、1,s2);函数功能:比较字符串 str1 和str2 比较的是字符的 ASCII 码的值当 str1str2 时,返回值为负数:当 str1=str2 时,返回 0;当str1str2,返回值为正数。32.有以下程序:main() int a=1,b=3,c=5,*p;int *p1=y=3*x-4;return y; A.int B.不确定 C.void D.float(分数:2.00)A. B.C.D.解析:解析 C 语言规定函数定义时若不声明函数值的类型,则默认为是整型。39.有以下程序:#includestdio.hmain()FTLE*fp;int a10=1,2,3,i,n;fp

    36、=fopen(“d1.dat“,“w“;for(i=0;i3;i+)fprintf(fp,“%d“,ai);fprintf(fp,“/n“);fclose(fp);fp=fopen(“d1.dat“,“r“);fscanf(fp,“%d“,n);fclose(fp);printf(“%d/n“,n);程序的运行结果是_。 A.12300 B.123 C.1 D.321(分数:2.00)A.B. C.D.解析:解析 本题考查的是 C 语言对文件的操作。语句 fopen(“d1.dat“, “wv);用于打开文件 d1.dat,若文件不存在则建立一个新的文件,然后语句 for(i=0;j3;i+)

    37、fprintf(fp,“%d“,ai);向文件中写入数据 123/n。fp=fopen(“d1.dat“,“r“);以只读方式打开 d1.dat 文件,fscanf(fp, “%d“, n);用于将文件中的数据读入到变量 n 中,最后输出 n 的值为 123。40.有以下程序:#include stdio.h#include strine.hstruct STU char name10;int hum;void f(char * name,iht num) struct STU s2 = “SunDan“ ,20044 , “ Penghua“ ,20045;num= s0. nnm;stre

    38、py(name,s0, name);main( ) struct STU s2 = “YangSan“ ,20041 , “LiSiGao“ ,20042, * P;p = f(p-name,p-hum);printf(“% s %d /n“ ,p- name,p-num);程序运行后的输出结果是( )。 A.SunDan 20042 B.SunDan 20044 C.LiSiGuo 20042 D.YangSan 20041(分数:1.00)A. B.C.D.解析:解析 main 函数中将定义的结构体类型指针变量 p 指向结构体类型数组 s1,通过调用函数 f 改变了指针变量 p 所指向的结

    39、构体中成员变量 name 的值,但并未改变其 num 的值。这是因为函数 f 中的形参 name 是一个字符型指针变量,它指向了 main 函数中指针变量 p 所指向的结构体的成员变量 name,所以对函数 f 中的形参*name 的改变也就对 main 函数中 p-name 的改变,而函数 f 中对形参 num 的改变不会影响 main 函数中 p-?num 的值,因为此时传递给 num 的是一个值,而不是地址。二、B填空题/B(总题数:15,分数:34.00)41.在算法的 4 个特性中,算法必须能在执行有限个步骤之后终止指的是算法的 1 特性。(分数:2.00)填空项 1:_ (正确答案

    40、:有穷性)解析:解析 算法的 4 个基本特性:可靠性、确定性、有穷性和拥有足够的情报。其中,算法的有穷性指的是算法必须在有限的时间内完成,即算法必须在执行有限个步骤之后终止。42.按照逻辑结构分类,结构可以分为线性结构和非线性结构,栈属于 1。(分数:2.00)填空项 1:_ (正确答案:线性结构)解析:解析 数据的逻辑结构是指数据元素之间的逻辑关系,分为线性结构和非线性结构。常见的线性结构有线性表、栈和队列等,常见的非线性结构有树、二叉树等。43.在面向对象方法中,类之间共享属性和方法的机制称为 1。(分数:2.00)填空项 1:_ (正确答案:继承)解析:解析 在面向对象的程序设计方法中,

    41、某些属性和方法是可以共享的,由子类从父类中继承而来,这样提高了软件的可重用性。44.在进行模块测试时,要为每个被测试的模块另外设计两类模块:驱动模块和承接碟块,其中 1 的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果。(分数:2.00)填空项 1:_ (正确答案:驱动模块)解析:解析 由于模块通常不是独立的程序,自己不能运行,而需要其他模块调用或驱动,同时被测试模块还要去调用其他模块,前者称为驱动模块,后者称为承接模块。其中驱动模块的作用是将测试数据传送给被测试的模块,并显示被测试模块所产生的结果;承接模块的作用是代替被测模块,调用其他模块。45.若按功能划分,软件测试的方

    42、法通常分为白盒测试方法和 1 测试方法。(分数:2.00)填空项 1:_ (正确答案:黑盒)解析:解析 软件测试的方法和技术是多种多样的,对于软件测试方法和技术,可以从不同角度加以分类。若从是否需要执行被测试软件的角度划分,可分为静态测试和动态测试,若从功能划分,可以分为白盒测试和黑盒测试。46.在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中, 1 负责数据的模式定义与数据的物理存取构建。(分数:4.00)填空项 1:_ (正确答案:数据定义语言)解析:解析 在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,数据定义语言负责数据的模式定义与数据的物理存取构建。

    43、47.Jackson 方法是一种面向 1 的结构化方法。(分数:2.00)填空项 1:_ (正确答案:数据结构)解析:解析 Jackson 方法是一种结构化分析方法,它是一种面向数据结构的结构化方法。48.若 a 是 int 型变量,则下列表达式的值为_。 (a=2*3,a*2),a+4(分数:2.00)填空项 1:_ (正确答案:10)解析:解析 此题考查逗号表达式。逗号表达式的值是最后一个表达式的值,所以本题的返回值是a+4。前面已经给 a 赋值 6,所以返回值 a+4=6+4=10。49.以下程序的输出结果是_。 #includestdio.h void swap(int*a,int*b

    44、) int*t; t=a;a=b;b=c; main() int i=3,j=5,*p=&i,*q=&j; swap(p,q);printf(“%d %d/n“,*p,*q);(分数:2.00)填空项 1:_ (正确答案:3 5)解析:解析 本题考查函数中形参和实参的传递。在 C 语言函数中实参和形参传递具有不可逆性,参数只能由实参传向形参,而不能由形参传向实参,虽然 swap 函数的功能是实现两个数的交换,但由于没有返回值,故最终的输出结果为 3 5。50.设有下列宏定义: #define A 2 #define B(A+3) 则执行赋值语句“k=B*20;”(k 为 int 型变量)后,k 的值是_。(分数:4.00)填空项 1:_ (正确答案:100)解析:解析 本题考查带参数的宏定义括号优先级的相关运算。运算过程为:k=B*20=(A+3)*20=(2+3)*20=100。51.以下


    注意事项

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




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

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

    收起
    展开