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

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

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

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

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

    1、二级 C语言笔试-224 及答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.有以下程序#includestdio.h#includestring.hvoid fun(char s10,int n)char t;int i,j;for(i=0;in-1;i+)for(j=i+1,jn;j+)/*比较字符串的首字符大小,并交换字符串的首字符*/if(s0)sj0t=si0; si0=sj0;sj0=t;main()char ss510=“bcc“,“bbcc“,“xy“,“aaaaec“,“aabcc“fun(ss,5);printf(“%s,%

    2、s“,ss0,ss4);程序运行结果是( )。(分数:1.00)A.xy,aaaaccB.aaaacc,xyC.XCC,aabccD.acc,xabcc2.有以下计算公式(分数:1.00)A.B.C.D.3.有以下程序#includestdio.hvoid 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;

    3、i+)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,4.有以下函数int aaa(char*s)char*t=s;while(*t+);t-;return(t-s);以下关于 aaa函数的功能叙述正确的是( )。(分数:1.00)A.求字符串 s的长度B.比较两个串的大小C.将串 s复制到串 tD.求字符串 s所占字节数5.有以下程序#includestdio.hv

    4、oid fun(int n,int*p)int f1,f2;if(n=1|n=2)*p=1;elsefun(n=1, p!=NULL;p=)if(p-datadatam)m=p-data;return m;(分数:2.50)填空项 1:_二级 C语言笔试-224 答案解析(总分:100.00,做题时间:90 分钟)一、选择题(总题数:50,分数:50.00)1.有以下程序#includestdio.h#includestring.hvoid fun(char s10,int n)char t;int i,j;for(i=0;in-1;i+)for(j=i+1,jn;j+)/*比较字符串的首字符

    5、大小,并交换字符串的首字符*/if(s0)sj0t=si0; si0=sj0;sj0=t;main()char ss510=“bcc“,“bbcc“,“xy“,“aaaaec“,“aabcc“fun(ss,5);printf(“%s,%s“,ss0,ss4);程序运行结果是( )。(分数:1.00)A.xy,aaaaccB.aaaacc,xyC.XCC,aabccD.acc,xabcc 解析:解析 函数fun(char s10,int n)比较二维字符数组 s10的每个字符串的首字符大小,如果前一个字符串首字符大于后一个字符串的首字符,则交换这两个字符串的首字符。2.有以下计算公式(分数:1.

    6、00)A.B. C.D.解析:解析 选项 A、C、D 分别用一个 if else语句、两个 if语句和条件表达式表达了计算公式的含义。3.有以下程序#includestdio.hvoid 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“);程序

    7、运行的结果是( )。(分数: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()函数的功能是对数组 a的元素从大到小进行排序。4.有以下函数int aaa(char*s)char*t=s;while(*t+);t-;return(t-s);以下关于 aaa函数的功能叙述正确的是( )。(分数:1.00)A.求字符串 s的长度 B.比较两个串的大小C.将串 s复制到串 tD.求字符串 s所占字节数解析:解析 在 while循环开始前,指针

    8、t和 s都指向字符串的起始位置。while 循环的判断条件中,判断 t所指位置是否为字符串的结束标志,同时让 t右移一位。当 while循环结束时,t 自减 1,此时 t指向的位置是字符串的结束标志,故 t-s的值是字符串的长度。5.有以下程序#includestdio.hvoid fun(int n,int*p)int f1,f2;if(n=1|n=2)*p=1;elsefun(n=1,&f1);fun(n-2,&f2);*p=f1+f2;main()int s;fun(3,&,s);printf(“%d“,s);程序的运行结果是( )。(分数:1.00)A.2 B.3C.4D.E解析:解析

    9、 在函数 fun中对参数 n的值进行判断,如果其值等于 1或 2,则*p=1,否则,函数 fun进行递归调用 fun(n.1,&f1);fun(n.2,&f2);*p=n+f2;在主函数调用 fun函数时传递给参数 n的值为3,fun 函数又递归用了两次自身 fun(2,&n);fun(1,&f1);所以 n和 f2的值都为 1,通过指针 p的引用,变量 s的值为 2。6.有以下程序#includestdio.hmain()int a=1,b=2,c=3,x;x=(ab)&c;printf(“%d“,x);程序的运行结果是( )。(分数:1.00)A.0B.1C.2D.3 解析:解析 首先计算

    10、 1与 2的或运算,再将其结果与 3进行“与”运算,结果为 00000011,即十进制数 3。7.有以下程序#includestdio.hvoid fun(char*p)+p;printf(“%s“,*p);main()char*a=“Morning“,“Afternoon“,“Evening“,“Night“);fun(a):程序的运行结果是( )。(分数:1.00)A.Afternoon B.fternoonC.MorningD.orning解析:解析 执行 fun(a)语句时,p 指向的是字符串数组 a的第一个字符串”Morning”,p 自加 1之后,p指向字符串数组 a的第 2个字符

    11、串“Afternoon”。8.设有定义:char p=1,2,3,*q=p;,以下不能计算出一个 char型数据所占字节数的表达式是( )。(分数:1.00)A.sizeof(p) B.sizeof(char)C.sizeof(*q)D.sizeof(p0)解析:解析 选项 A计算的是 p字符数组首地址所占的内存字节数。选项 B、C 和 D都能计算出一个字符型数据所占的字节数。9.有以下程序#includestdio.hmain()FILE*fp;int a10=1,2,3,0,0),i;fp=fopen(“d2.dat,“wb“);fwrite(a,sizeof(int),5,fp);fwr

    12、ite(a,sizeof(int),5,fp);fclose(fp);fp=fopen(“d2.dat“,“rb“);fread(a,sizeof(int),10,fp);fclose(fp);for(i=0;i10;i+)printf(“%d“,ai);程序的运行结果是( )。(分数:1.00)A.1,2,3,0,0,0,0,0,0,0,B.1,2,3,1,2,3,0,0,0,0,C.123,0,0,0,0,123,0,0,0,0,D.1,2,3,0,0,1,2,3,0,0, 解析:解析 本题程序首先用函数 fopen()以“wb”的方式开打文件“d2.dat”,然后调用两次 fwrite函

    13、数将数组 a的 5个元素,依次输出到文件 fp中,共 10字节,关闭文件。再次打开文件,使用文件指针指向文件的开头,调用 head函数从文件印中读取这 10字节的数据到数组 a中。10.以下叙述中错误的是( )。(分数:1.00)A.改变函数形参的值,不会改变对应实参的值B.函数可以返回地址值C.可以给指针变量赋一个整数作为地址值 D.当在程序的开头包含文件 stdio.h时,可以给指针变量赋 NULL解析:解析 指针变量的值只能是存储单元地址,而不能是一个整数,故选项 C错误。11.软件是指( )。(分数:1.00)A.程序B.程序和文档C.算法加数据结构D.程序、数据和相关文档的集合 解析

    14、:解析 计算机系统由硬件和软件两部分组成。其中,计算机软件包括程序、数据与相关文档的完整集合。12.有以下程序#includestdio.h#includestring.htypedef structchar name9;char sex;float score2;)STU;STU f(STU a)STU b=“Zhao“,in,85.0,90.0);int i;strcpy(a.name,b.name);a.sex=b.sex;for(i=0;i2;i+) a.scorei=b.scorei;return a;main()STU c=“Qian“,f,95.0,92.0,d;d=f(c);p

    15、rintf(“%s,%c,%2.0f,%2.0f“,d.name,d.sex,d.score0,d.score1);程序的运行结果是( )。(分数:1.00)A.qian,f,95,92B.qian,m,85,90C.ZhaO,m,85,90 D.Zhao,f,95,92解析:解析 f()函数的功能是对形参 a的各个成员用结构体变量 b的各个成员进行赋值后,返回变量a。13.以下叙述中正确的是( )。(分数:1.00)A.C语言程序将从源程序中第一个函数开始执行B.可以在程序中由用户指定任意一个函数作为主函数,程序将从此开始执行C.C语言规定必须用 main作为主函数名,程序将从此开始执行,在

    16、此结束 D.main可作为用户标识符,用以命名任意一个函数作为主函数解析:解析 C 语言规定必须以 main作为主函数名。程序要从 main()函数开始执行,最后在 main()函数中结束。14.有以下程序#includestdio.hStruct ttint x;struct tt*y;*p;struct tt a4=20,a+1,15,a+2,30,a+3,17,a;main()int i;p=a:for(i=1;i=2;i+)printf(“%d,“,p-x);p=p-y;程序的运行结果是( )。(分数:1.00)A.20,30,B.30,17,C.15,30,D.20,15, 解析:解

    17、析 程序的结构体数组 a的元素形成了一个单向的循环链表,每个元素的指针成员都指向下一个元素的地址。15.读取二进制文件的函数调用形式为“fread(buffer,size,count,fp);”,其中 buffer代表的是( )。(分数:1.00)A.一个文件指针,指向待读取的文件B.一个整型变量,代表待读取的数据的字节数C.一个内存块的首地址,代表读入数据存放的地址 D.一个内存块的字节数解析:解析 head 函数中的参数 buffer是内存块的首地址,输入的数据存入此内存块中。16.有以下程序#includestdio.hint a=1:int f(int c)static int a=2

    18、;c=c+1:return(a+)+c;main()int i,k=0;for(i=0;i2;i+)(int a=3;k+=f(a);k+=a;printf(“%d/n“,k);程序运行结果是( )。(分数:1.00)A.14 B.15C.16D.17解析:解析 在主函数中,k 的初值为 0,首先调用函数 f(3),返回值为 6,k 的值变为 6,而函数 int fun(int c)中的局部静态变量 a等于 3。第二次调用函数 f(3)时,返回值为 7,所以 k=6+7=13。退出循环语句,k 再加上全局变量 a的值 1,其最终的值为 14。17.以下关于字符串的叙述中正确的是( )。(分数:

    19、1.00)A.C语言中有字符串类型的常量和变量B.两个字符串中的字符个数相同时才能进行字符串大小的比较C.可以用关系运算符对字符串的大小进行比较D.空串一定比空格打头的字符串小 解析:解析 字符串常量是由双引号括起来的一串字符,所以 A选项错误。任意两个字符串的大小比较要调用字符串比较函数 strcrop(s1,s2)来进行,所以选项 B和 C错误。18.已有定义“char c;”,程序前面已在命令行中包含 ctype.h文件,不能用于判断 c中的字符是否为大写字母的表达式是( )。(分数:1.00)A.isupper(c)B.A-c=Z C.A=c&c=ZD.c=(z-32)&(a-32)=

    20、c解析:解析 选项 B先计算关系表达式“A=c”的值是 0还是 1,再比较该值与字符z之间的大小关系,不能实现题目所要求的功能。19.若在定义语句“int a,b,c,*p=&c;”之后,接着执行以下选项中的语句,则能正确执行的语句是( )。(分数:1.00)A.scanf(“%d“,a,b,c);B.scanf(“%d%d%d“,a,b,c);C.scanf(“%d“,p); D.scanf(“%d“,&p);解析:解析 题中整型指针变量 p存放的是变量 c的地址。所以本题答案为 C。20.软件调试的目的是( )。(分数:1.00)A.发现错误B.改正错误 C.改善软件的性能D.验证软件的正

    21、确性解析:解析 软件调试的任务是诊断和改正程序中的错误。21.若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是( )。(分数:1.00)A.函数的实参和其对应的形参共占同一存储单元B.形参只是形式上的存在,不占用具体存储单元C.同名的实参和形参占同一存储单元D.函数的形参和实参分别占用不同的存储单元 解析:解析 在 C语言中,函数的实参单元与形参单元在内存中分配不同的存储单元。22.以下关于 long、int 和 short类型数据占用内存大小的叙述中正确的是( )。(分数:1.00)A.均占 4字节B.根据数据的大小来决定所占内存的字节数C.由用户自己定义D.由 C语言编译

    22、系统决定 解析:解析 几类整型数所占用的字节数因编译系统或计算机系统的规定不同而有所差异。23.有以下程序段int j;float y;char name50;scanf(“%2d%f%s“,%j,&y,name);当执行上述程序段,从键盘上输入 55566 7777abc后,y 的值为( )。(分数:1.00)A.55566.0B.566.0 C.7777.0D.566777.0解析:解析 变量 j只接收输入数据的前两位,从第三位开始直到空格之间的输入整数都会被保存到浮点型变量 y中。24.有以下程序#includestdio.hint fun(char s)int n=0:while(*s

    23、=9&*s=0)n=10*n+*s-0;s+;return(n):main()char s10=6,1,*,4,*,9,*,0,*;printf(“%d“,fun(s);程序运行的结果是( )。(分数:1.00)A.9B.61490C.61 D.5解析:解析 在 fun函数中,while 循环的功能是逐个取字符数组 s的字符判断其是否是数字,若是则将这些数字组成一个数保存到变量 n中,并返回变量 n的值。25.设有条件表达式:(EXP)?i+;j-,则以下表达式中(EXP)完全等价的是( )。(分数:1.00)A.(EXP=0)B.(EXP!=0) C.(EXP=1)D.(EXP!=1)解析:

    24、解析 本题中,当表达式 EXP不等于 0时条件成立,执行语句“i+;”,当 EXP等于 0时,执行语句“j-;”,等同于条件表达式“(EXP!=0)?i+:j-;”。26.若有定义语句:int a23,*p3;,则以下语句中正确的是( )。(分数:1.00)A.p=a;B.p0=a; C.p0=&a12;D.p1=&a;解析:解析 选项 B表示把整型数组 a0的指针赋给 p0。27.C语言源程序名的后缀是( )。(分数:1.00)AexeBc CobjDcpp解析:解析 由 C语言构成的指令序列称为 C源程序,源程序文件的后缀为.c。28.以下选项中,合法的一组 C语言数值常量是( )。(分数

    25、:1.00)A.028.5e-3-0xfB.12.0Xa234.5e0 C1774c1.50abcD.0x8A10.0003.e5解析:解析 C 语言中,八进制数其开头必须是数字“0”,其数字包括 07,因此选项 A错误。浮点数据的指数形式表示中,字母 e或 E之后的指数必须为整数,所以选项 C错误。选项 D中,整型数据10,000 的表示形式是错误的。29.有以下程序#includestdio.hmain()int i,j,m=55;for(i=1;i=3;i+)for(j=3;j=i;j+)m=m%j;printf(“%d“,m);程序的运行结果是( )。(分数:1.00)A.0B.1 C

    26、.2D.3解析:解析 内层循环条件要求“j=i”,因此只有当 i和 j都等于 3时循环才会执行一次。因此 m的值为 55对 3求余,结果为 1。30.一棵二叉树中共有 70个叶子结点与 80个度为 1的结点,则该二叉树中的总结点数为( )。(分数:1.00)A.219 B.221C.229D.231解析:解析 在任意一棵二叉树中,设度为 0的结点(即叶子结点)数为 n0,度为 2的结点数为 n2,则有n0=n2+1,本题中叶子结点的个数为 70,所以度为 2的结点个数为 69,故总结点数=叶子结点数+度为 1的结点数+度为 2的结点数=70+80+69=219。31.以下关于 typedef的

    27、叙述错误的是( )。(分数:1.00)A.用 typedef可以增加新类型 B.typedef只是将已存在的类型用一个新的名字来代表C.用 typedef可以为各种类型说明一个新名,但不能用来为变量说明一个新名D.用 typedef为类型说明一个新名,通常可以增加程序的可读性解析:解析 typedef 语句的作用仅仅是用“标识符”来表示已存在的“类型名”,并未产生新的数据类型。32.已知字符A的 ASCII代码值是 65,字符变量 c1的值是A,c2 的值是D。执行语句printf(“%d,%d“,c1,c2-2);后,输出结果是( )。(分数:1.00)A.A,BB.A,68C.65,66

    28、D.65,68解析:解析 在 C语言中,用整型格式输出字符时,输出的是其 ASCII码值。33.下列叙述中正确的是( )。(分数:1.00)A.数据库系统是一个独立的系统,不需要操作系统的支持B.数据库技术的根本目标是要解决数据的共享问题 C.数据库管理系统就是数据库系统D.以上三种说法都不对解析:解析 数据库、数据库管理系统、数据库管理员、硬件平台、软件平台这 5部分共同构成了一个以数据库为核心的完整的运行宾体,称为数据库系统。数据库技术的根本目的是要解决数据的共享问题。数据库管理系统是一种系统软件,负责数据库中的数据组织、数据操作、数据维护、控制及保护和数据服务等,是数据库系统的核心,它是

    29、数据库系统的一部分,二者不能等同。34.下列叙述中正确的是( )。(分数:1.00)A.数据的逻辑结构与存储结构必定是一一对应的B.由于计算机存储空间是向量式的存储结构,因此,数据的存储结构一定是线性结构C.程序设计语言中的数组一般是顺序存储结构因此,利用数组只能处理线性结构D.以上三种说法都不对 解析:解析 数据的逻辑结构是指反映数据元素之间逻辑关系的数据结构。数据的存储结构(也称数据的物理结构)是指数据的逻辑结构在计算机存储空间中的存放形式。通常一种数据的逻辑结构根据需要可以表示成多种存储结构。35.有以下程序#includestdio.hmain()int y=9;for(y0;y-)i

    30、f(y%3=0)printf(“%d“,-y);程序的运行结果是( )。(分数:1.00)A.741B.963C.852 D.875421解析:解析 在 for循环中,当 y的值为 9、6 或 3时,执行输出语句,输出表达式-y 的值。y 先自减1,然后再输出 y的值。36.在面向对象方法中,实现信息隐蔽是依靠( )。(分数:1.00)A.对象的继承B.对象的多态C.对象的封装 D.对象的分类解析:解析 对象的封装性是指从外部看只能看到对象的外部特征,即只需知道数据的取值范围和可以对该数据施加的操作,而不需要知道数据的具体结构以及实现操作的算法。37.下列叙述中,不符合良好程序设计风格的是(

    31、)。(分数:1.00)A.程序的效率第一,清晰第二 B.程序的可读性好C.程序中有必要的注释D.输入数据前要有提示信息解析:解析 一般来讲,程序设计风格首先应该简单和清晰,其次程序必须是可以理解的,可以概括为“清晰第一,效率第二”。38.有以下程序#includestdio.hvoid fun(char*t,char*s)while(*t!=0)t+;while(*t+=*s+)!=0);main()char ss10=“ace“,aa10=“bbxxyy“;fun(ss,aa);printf(“%s,%s“,ss,aa);程序运行结果是( )。(分数:1.00)A.acexyy,bbxxyy

    32、B.ace,bbxxyyC.accxxyy,bbxxyyD.accbbxxyy,bbxxyy 解析:解析 主函数中语句 fun(ss,aa)的功能是将字符串 aa连接到字符串 ss的末尾。39.可在 C程序中用做用户标识符的一组标识符是( )。(分数:1.00)A.and_2007 B.Datey-m-dC.HiDr.TomD.caseBigl解析:解析 在 C语言中,合法的标识符可以由字母、数字和下画线组成,且第一个字符必须为字母或下画线。40.若变量均已正确定义并赋值,以下合法的 C语言赋值语句是( )。(分数:1.00)A.x=y=5; B.x=n%2.5;C.x+n=i:D.x=5=4

    33、+1;解析:解析 求余运算符“%”两侧的运算对象都应当是整型数据,所以选项 B错误。因为赋值运算符左侧的操作数必须是一个变量,所以选项 C和 D是错误的。41.若变量已正确定义,有以下程序段i=0;do printf(“%d,“,i);while(i+);printf(“%d“,i)其输出结果是( )。(分数:1.00)A.0,0B.0,1 C.1,1D.程序进入无限循环解析:解析 本题中,变量 i的初始值等于 0,执行循环体中的语句后,输出 i的值为 0。while 后面括号中表达式 i+的值为 0,循环结束。此时变量 i自加 1,所以再次加“1”。42.冒泡排序在最坏情况下的比较次数是(

    34、)。(分数:1.00)A.n(n+1)/2B.nlog2nC.n(n-1)/2 D.n/2解析:解析 对 n个结点的线性表采用冒泡排序,在最坏情况下,需要经过 n/2次的从前往后的扫描和n/2次的从后往前的扫描,需要的比较次数为 n(n-1)/2。43.下列叙述中正确的是( )。(分数:1.00)A.程序执行的效率与数据的存储结构密切相关 B.程序执行的效率只取决于程序的控制结构C.程序执行的效率只取决于所处理的数据量D.以上三种说法都不对解析:解析 数据的存储结构、程序处理的数据量、程序的算法等都会影响程序执行效率。44.在一个 C语言源程序文件中所定义的全局变量,其作用域为( )。(分数:

    35、1.00)A.所在文件的全部范围B.所在程序的全部范围C.所在函数的全部范围D.由具体定义位置和 extern说明来决定范围 解析:解析 全局变量是在函数外部任意位置上定义的变量,它的作用域是从变量定义的位置开始到整个源文件结束止。当全局变量定义在后,引用它的函数在前时,应该在引用它的函数中用 extern对此全局变量进行说明,以便通知编译程序该变量是一个已在外部定义了的全局变量,这时全局变量的作用域从 extern说明处起,延伸到该函数末尾。45.以下正确的字符串常量是( )。(分数:1.00)A.“/“B.abcC.Olympic GamesD.“ 解析:解析 选项 A中“/”为转义字符,

    36、故选项 A错误,选项 B和 C显然不是字符串常量。选项 D是一个字符串常量,称为空串。46.若有定义语句“int a36;”,按在内存中的存放顺序,a 数组的第 10个元素是( )。(分数:1.00)A.a04B.a13 C.a03D.a14解析:解析 在 C语言中数组的下标是从 0开始,且二维数组元素的存储是按行存放的。47.下列叙述中正确的是( )。(分数:1.00)A.为了建立一个关系,首先要构造数据的逻辑关系 B.表示关系的二维表中各元组的每一个分量还可以分成若干数据项C.一个关系的属性名表称为关系模式D.一个关系可以包括多个二维表解析:解析 元组分量的原子性要求二维表中元组的分量是不

    37、可分割的基本数据项。关系的框架称为关系模式。一个称为关系的二维表必须同时满足关系的 7个性质。48.若程序中有宏定义行“#define N 100”,则以下叙述中正确的是( )。(分数:1.00)A.宏定义行中定义了标识符 N的值为整数 100B.在编译程序对 C源程序进行预处理时用 100替换标识符 N C.对 C源程序进行编译时用 100替换标识符 ND.在运行时用 100替换标识符 N解析:解析 C 语言中,凡是以“#”号开头的行,都称为“编译预处理”。对 C源程序进行编译前,由编译预处理程序对这些编译预处理命令进行处理。49.设有以下定义union data(int d1;float

    38、d2;)demo;则下面叙述中错误的是( )。(分数:1.00)A.变量 demo与成员 d2所占的内存字节数相同B.变量 demo中各成员的地址相同C.变量 demo和各成员的地址相同D.若给 demo.d1赋 99后,demo.d2 中的值是 99.0 解析:解析 共用体变量中的所有成员共享一段公共存储区,所有成员的首地址相同。在每一个时刻所有的成员中只有一个有效,即只有最后一个被赋值的成员有效,其余的成员无效。50.当用户要求输入的字符串中含有空格时,应使用的输入函数是( )。(分数:1.00)A.scanf()B.getchar()C.gets() D.getc()解析:解析 gets

    39、()函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。二、填空题(总题数:16,分数:50.00)51.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是 1。(分数:2.50)填空项 1:_ (正确答案:无歧义性)解析:解析 软件需求规格说明书是需求分析阶段的最后成果,其最重要的特性是无歧义性,即需求规格说明书应该是精确的、无二义的。52.在两种基本测试方法中, 1 测试的原则之一是保证所测模块中每一个独立路径至少要执行一次。(分数:2.50)填空项 1:_ (正确答案:白盒或白箱)解析:解析 白盒测试的基本原则是:保证所测模块中每一

    40、个独立路径至少执行一次;保证所测模块所有判断的每一个分支至少执行一次;保证所测模块每一条循环都在边界条件和一般条件下至少各执行一次;验证所有内部数据结构的有效性。53.线性表的存储结构主要分为顺序存储结构和链式存储结构。队列是一种特殊的线性表,循环队列是队列的 1 存储结构。(分数:2.50)填空项 1:_ (正确答案:顺序)解析:解析 所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。它通常采用顺序存储结构。54.对下列二叉树进行中序遍历的结果为_。(分数:2.50)填空项 1:_ (正确答案:ACBDFEHGP)解析:解析 中序遍历是指在遍

    41、历过程中,首先遍历左子树,然后访问根结点,最后遍历右子树。在遍历左、右子树时,仍然按照这样的顺序遍历。55.在 E-R图中,矩形表示 1。(分数:2.50)填空项 1:_ (正确答案:实体)解析:解析 在 E-R图中,矩形表示实体,椭圆形表示属性,菱形表示联系。56.执行以下程序时,输入 1234567,则输出结果是_。#includestdio.hmain()int a=1,b;scanf(“%2d%2d“,&a&b);printf(“%d%d“,a,b);(分数:2.50)填空项 1:_ (正确答案:1 2 34)解析:解析 当输入 1234567时,其前面的 4个字符被分别赋给 a和 b

    42、,其余的字符丢失。57.以下程序的功能是:输出 a、b、c 三个变量中的最小值。请填空。#includestdio.hmain()int a,b,c,t1,t2;scanf(“%d%d%d“,&a,&b,&c);t1=ab?_;t2=ct1?_;printf(“%d/n“,t2);(分数:5.00)填空项 1:_ (正确答案:a:b c:t1)解析:解析 本题的结果是 t2存放 a、b、c 中的最小值。58.以下程序的输出结果是_。#includestdio.hmain()int n=12345,d;while(n!=0)d=n%10;printf(“%d“,d);n/=10;(分数:2.50

    43、)填空项 1:_ (正确答案:54321)解析:解析 本题中第 1次 while循环输出数字 5,第 2次 while循环输出数字 4,第 3次 while循环输出数字 3,第 4次 while循环输出数字 2,第 5次 while循环输出数字 1,需要注意的是,每次输出之间没有换行或分隔符。59.有以下程序段,且变量已正确定义和赋值for(s=1.0,k=1;k=n;k+) s=s+1.0/(k*(k+1);printf(“s=%f“,s);请填空,使下面程序段的功能为完全相同s=1.0;k=1;while(_)s=s+1.0/(k*(k+1);_;printf(“s=%f“,s);(分数:

    44、5.00)填空项 1:_ (正确答案:k=n k+)解析:解析 用 while循环来实现 for循环时,循环终止执行的判断条件不变,在循环体中增加改变循环控制变量 k的数值的语句“k+”。60.以下程序的输出结果是_。#includestdio.hmain()int i;for(i=a;if;i+,i+)printf(“%c“,i-a+A);printf(“/n“);(分数:2.50)填空项 1:_ (正确答案:A C E)解析:解析 表达式“i-a+A”的功能是将 i对应的小写字母转换为其对应的大写字母。本题中执行第 1次循环后输出字母A,同时,变量 i的值为c;第 2次循环后输出字母C,同时,变量 i的值为e;第 3次循环后输出字母E,同时,变量 i的值为g,此时循环终止。61.以下程序的输出结果是_。#includestdio.h#includestring.hchar*fun(char*t)char*p=t;return(p+strlen(t)/2);


    注意事项

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




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

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

    收起
    展开