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

    【计算机类职业资格】二级C语言分类模拟题555及答案解析.doc

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

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

    【计算机类职业资格】二级C语言分类模拟题555及答案解析.doc

    1、二级 C语言分类模拟题 555及答案解析(总分:61.50,做题时间:90 分钟)一、选择题(总题数:40,分数:61.50)1.C语言中的标识符只能由字母、数字和下划线 3种字符组成,且第一个字符_。(分数:1.00)A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中的任意一种2.设有定义: int a=1,b=2,c=3; 以下语句中执行效果与其他三个不同的是_。(分数:2.00)A.if(ab)c=a;a=b;b=c;B.if(ab)c=a,a=b,b=c;C.if(ab)c=a,a=b,b=c;D.if(ab)c=a;a=b;b=c;3.有以下程序 #i

    2、ncludestdio.h main() int x, y, z; x=y=1; z=x+, y+, +y; printf(“%d, %d, %d/n“, x, y, z); 程序运行后的输出结果是_。(分数:2.50)A.2, 3, 1B.2, 3, 2C.2, 3, 3D.2, 2, 14.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据C.只能在栈底插入数据D.不能删除数据5.在一棵二叉树上,第 5层的结点数最多是_。(分数:2.50)A.8B.9C.15D.166.以下叙述中正确的是_。(分数:1.00)A.任何情况下都不能用函数名

    3、作为实参B.函数既可以直接调用自己,也可以间接调用自己C.函数的递归调用不需要额外开销,所以效率很高D.简单递归不需要明确的结束递归的条件7.下面属于黑盒测试方法的是_。(分数:1.00)A.错误推测法B.基本路径测试C.判定覆盖D.条件覆盖8.下述程序的输出结果是_。 #includestdio.h void main() int a20,*p4; int i,k=0; for(i=0;i20;i+)ai=i; for(i=0;i4;i+)pi= for(i=0;i4;i+)k=k+*pi; printf(“%d“,k); (分数:2.00)A.10B.18C.6D.输出结果不定9.下面结构

    4、体的定义语句中,错误的是_。(分数:2.00)A.struct ordint x; int y; int z;struct ord a;B.struct ord(int x; int y; int z;struct ord a;C.struct ordint x; int y;int z;a;D.structint x; int y; int z;a;10.设有定义:char s81; int i=0;,以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。(分数:2.00)A.gets(s);B.while(si+=getchar()!=“/n“); si=“/0“

    5、;C.scanf(“%s“, s);D.do scanf(“%c“, while(si+!=“/n“); si=“/0“;11.以下程序的主函数中调用了在其面前定义的 fun函数 # include stdio.h main() double a15,k; k=fun(a); (分数:1.00)A.double fun(double a15)B.double fun(double *a)C.double fun(double a)D.double fun(double a)12.有以下程序: #include stdio.h main( ) int a=-2,b=0; while(a+ pri

    6、ntf(“%d,%d/n“, a,b); 程序运行后输出的结果是_。(分数:1.00)A.0,2B.0,3C.1,3D.1,213.有以下程序: #includestdio.h main() FILE *fp; int k, n, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2. dat“, “w“); fprintf(fp, “%d%d%d% d/n“, a0, a1, a2); fprintf(fp, “%d%d% d/n“, a3, a4, a5); fclose(fp); fp=fopen(“d2.dat“, “r“); fscanf(fp, “%d%d“, k,

    7、n); printf(“%d%d/n“, k, n); fclose(fp); 程序运行后的输出结果是( )。(分数:1.00)A.1B.12 4C.123 4D.123 45614.设变量均已正确定义并赋值,以下与其他三组输出结果不同的一组语句是_。(分数:1.00)A.x+; printf(“%d/n“, x);B.n=+x; printf(“%d/n“, n);C.+x; printf(“%d/n“, x);D.n=x+; printf(“%d/n“, n);15.有以下程序: #includestdio.h int k=5; void f(int *s) s= *s=k; main()

    8、 int m=3; f( printf(“%d,%d/n“,m,k); 程序运行后的输出结果是_。(分数:1.00)A.3,3B.5,5C.3,5D.5,316.以下选项中,能用作用户标识符的是_。(分数:1.00)A._0_B.8_8C.voidD.unsigned17.下列二维数组初始化语句中,正确且与语句 int a3=1,2,3,4,5等价的是_。(分数:2.50)A.int a2=1,2,3,4,5;B.int a3=1,2,3,4,5,0;C.int a3=1,0,2,0,3,0;D.int a2=1,2,3),4,5,6;18.有以下程序: #includestdio.h mai

    9、n() int i,j,m=55; for(i=1;i=3;i+) for(j=3;j=i;j+)m=m%j; printf(“%d/n“,m); 程序运行后的输出结果是_。(分数:1.00)A.0BlC.2D.319.下列叙述中正确的是_。(分数:1.00)A.存储空间连续的数据结构一定是线性结构B.存储空间不连续的数据结构一定是非线性结构C.没有根节点的非空数据结构一定是线性结构D.具有两个根节点的数据结构一定是非线性结构20.以下错误的定义语句是_。(分数:1.00)A.int x4=1,2,3,1,2,3,1,2,3,1,2,3;B.int x43=1,2,3,1,2,3,(1,2,3

    10、,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;21.程序设计方法要求在程序设计过程中( )。(分数:1.00)A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释C.先画出流程图,再根据流程图编制出程序,最后经调试使程序运行结果正确后再在程序中的适当位置处加注释D.以上三种说法都不对22.若二维数组 a有 m列,则在 aij前的元素个数为_。(分数:2.00)A.j*m+iB.i*m+jC.j*m+i+1D.i*m+j+l23.有以下程序 #includestdio.h m

    11、ain() int i=1; i=ii; printf(“%d/n“, i); 程序运行后的输出结果是_。(分数:2.00)A.7B.-1C.1D.024.有以下程序 #includestdio.h main() int i; for(i=1; i=40; i+) if(i+%5=0) if(+i%8=0)printf(“%d“, i); printf(“/n“); 执行后的输出结果是_。(分数:2.00)A.32B.24C.5D.4025.交换两个变量的值,不允许用临时变量,应该使用_位运算符。(分数:2.00)A. 其中含有的实参个数和是_。(分数:1.00)A.1B.2C.4D.529.

    12、定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是_。(分数:1.00)A.-369B.369C.0.369D.整数集合1,2,3,4,530.若要求从键盘读入含有空格字符的字符串,应使用函数_。(分数:2.00)A.getchar()B.getc()C.gets()D.scanf()31.若有以下程序段 char str412=“aa“,“bbb“,“ccccc“,“d“,*strp4; int i; for(i=0;i4;i+)strpi=stri; 不能正确引用字符串的选项是_。(分数:2.00)A.strpB.str0C.strp3D.*strp32.下面描述中,不属于

    13、软件危机的表现的是_。(分数:1.00)A.软件过程不规范B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高33.以下程序的输出结果是_。 #includestdio.h main() int a=1,b=3; if(+a0) else printf(“%d,%d/n“,b,a); (分数:2.50)A.2,2B.1,3C.3,2D.3,134.下述关于数据库系统的叙述中正确的是_。(分数:1.00)A.数据库系统减少了数据冗余B.数据库系统避免了一切冗余C.数据库系统中数据的一致性是指数据类型的一致D.数据库系统比文件系统能管理更多的数据35.有以下程序 #includestdio

    14、.h main() int x=1,y=0; if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“%d/n“,y); 程序运行后的输出结果是_。(分数:2.50)A.0B.2C.1D.336.有三个关系 R、S 和 T如下: RA B C a l 2 b 2 1 c 3 1 SA D c 4 TA B C D c 3 1 4 则由关系 R和 S得到关系 T的操作是_。(分数:1.00)A.自然连接B交C.投影D并37.有以下程序 #include stdio.h #include string.h main() char p20=“a“,“

    15、b“,“c“,“d“,q=“abc“,r=“abcde“; strcat(p,r); strcpy(p+strlen(q),q); printf(“%d/n“,strlen(p); 程序运行后的输出结果是_。(分数:1.00)A.6B.9C.11D.738.有以下程序: #include stdio.h int sub(double a, double b) return (int)(a - b -1.3); main( ) printf(“%d/n“, sub(3.2,4.1); 程序运行后的输出结果是_。(分数:1.00)A.-2B.1.7C.-3D.2.039.计算机能直接执行的程序是_

    16、。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序40.下列不属于软件工程的 3个要素的是 _ 。(分数:2.00)A.工具B.过程C.方法D.环境二级 C语言分类模拟题 555答案解析(总分:61.50,做题时间:90 分钟)一、选择题(总题数:40,分数:61.50)1.C语言中的标识符只能由字母、数字和下划线 3种字符组成,且第一个字符_。(分数:1.00)A.必须为字母B.必须为下划线C.必须为字母或下划线 D.可以是字母、数字和下划线中的任意一种解析:2.设有定义: int a=1,b=2,c=3; 以下语句中执行效果与其他三个不同的是_。(分数:2.00)A.if

    17、(ab)c=a;a=b;b=c;B.if(ab)c=a,a=b,b=c;C.if(ab)c=a,a=b,b=c;D.if(ab)c=a;a=b;b=c; 解析:3.有以下程序 #includestdio.h main() int x, y, z; x=y=1; z=x+, y+, +y; printf(“%d, %d, %d/n“, x, y, z); 程序运行后的输出结果是_。(分数:2.50)A.2, 3, 1 B.2, 3, 2C.2, 3, 3D.2, 2, 1解析:解析 对于表达式“z=x+,y+,+y;”,因为赋值运算符的优先级高于逗号运算符的优先级,所以可以将上式改成“(x=x+

    18、),(y+),(+y)”。然后从左向右先计算表达式 z=x+,因为 x+先使用后自增,所以 z的值为 1,x 的值为 2。再计算逗号表达式第二个表达式 y+,此时 y的值为 1,y+的值为2。最后计算第三个表达式+y,y 的值为 3。故本题答案为 A。4.下列关于栈的叙述正确的是_。(分数:2.00)A.栈按“先进先出”组织数据B.栈按“先进后出”组织数据 C.只能在栈底插入数据D.不能删除数据解析:解析 栈是按“先进后出”的原则组织数据的,数据的插入和删除都在栈顶进行操作。5.在一棵二叉树上,第 5层的结点数最多是_。(分数:2.50)A.8B.9C.15D.16 解析:解析 根据二叉树的性

    19、质:二叉树第 i(i1)层上至多有 2 i-1 个结点。得到第 5层的结点数最多是 16个。6.以下叙述中正确的是_。(分数:1.00)A.任何情况下都不能用函数名作为实参B.函数既可以直接调用自己,也可以间接调用自己 C.函数的递归调用不需要额外开销,所以效率很高D.简单递归不需要明确的结束递归的条件解析:解析 在某些情况下,函数名可以作为实参传递,所以 A选项错误。函数递归调用使用栈区来递归,需要额外开销,并且效率不高,C 选项错误。递归调用需要明确指出递归结束条件,否则就陷入死循环了,D 选项错误。7.下面属于黑盒测试方法的是_。(分数:1.00)A.错误推测法 B.基本路径测试C.判定

    20、覆盖D.条件覆盖解析:解析 黑盒测试方法也称为功能测试或数据驱动测试。黑盒测试是对软件已经实现的功能是否满足需求进行测试和验证。黑盒测试方法主要有等价类划分法、边界值分析法、错误推测法和因果图等。白盒测试方法主要有逻辑覆盖测试(语句覆盖、路径覆盖、判断覆盖、条件覆盖)、基本路径测试等。故本题答案为 A选项。8.下述程序的输出结果是_。 #includestdio.h void main() int a20,*p4; int i,k=0; for(i=0;i20;i+)ai=i; for(i=0;i4;i+)pi= for(i=0;i4;i+)k=k+*pi; printf(“%d“,k); (

    21、分数:2.00)A.10B.18 C.6D.输出结果不定解析:9.下面结构体的定义语句中,错误的是_。(分数:2.00)A.struct ordint x; int y; int z;struct ord a; B.struct ord(int x; int y; int z;struct ord a;C.struct ordint x; int y;int z;a;D.structint x; int y; int z;a;解析:解析 A 选项 struct ord int x; int y; int z;struct ord a;错误,不能在定义结构体的同时,又用结构体类型名定义变量,应该

    22、写成 B选项或者 D选项的格式。10.设有定义:char s81; int i=0;,以下不能将一行(不超过 80个字符)带有空格的字符串正确读入的语句或语句组是_。(分数:2.00)A.gets(s);B.while(si+=getchar()!=“/n“); si=“/0“;C.scanf(“%s“, s); D.do scanf(“%c“, while(si+!=“/n“); si=“/0“;解析:解析 字符串的输入不能使用 scanf(“%s“, s);而应该使用 gets(s)。11.以下程序的主函数中调用了在其面前定义的 fun函数 # include stdio.h main()

    23、 double a15,k; k=fun(a); (分数:1.00)A.double fun(double a15) B.double fun(double *a)C.double fun(double a)D.double fun(double a)解析:解析 由题可知 fun的参数为变量,而 a15为常量,所以答案为 A。12.有以下程序: #include stdio.h main( ) int a=-2,b=0; while(a+ printf(“%d,%d/n“, a,b); 程序运行后输出的结果是_。(分数:1.00)A.0,2B.0,3C.1,3D.1,2 解析:解析 本题重点考

    24、查 while语句,变量 a和 b分别赋初值为-2 和 0,while 语句的语义是:计算表达式的值,当值为真(非 0)时,执行循环体语句。a+即 a参与运算后,a 的值再自增 1。+b 即 b自增1后再参与其他运算。当表达式的值为 0时,退出循环,最后输出 a和 b的值为 1和 2。因此 D选项正确。13.有以下程序: #includestdio.h main() FILE *fp; int k, n, a6=1, 2, 3, 4, 5, 6; fp=fopen(“d2. dat“, “w“); fprintf(fp, “%d%d%d% d/n“, a0, a1, a2); fprintf(

    25、fp, “%d%d% d/n“, a3, a4, a5); fclose(fp); fp=fopen(“d2.dat“, “r“); fscanf(fp, “%d%d“, k, n); printf(“%d%d/n“, k, n); fclose(fp); 程序运行后的输出结果是( )。(分数:1.00)A.1B.12 4C.123 4D.123 456 解析:解析 将有 6个元素的整型数组分两行输出到一个文件中,因为输出的都是数字并且每行都没有分隔符,所以当再对其进行读取操作时,每一行都会被认为是一个完整的数,而换行符则作为它们的分隔符。14.设变量均已正确定义并赋值,以下与其他三组输出结果

    26、不同的一组语句是_。(分数:1.00)A.x+; printf(“%d/n“, x);B.n=+x; printf(“%d/n“, n);C.+x; printf(“%d/n“, x);D.n=x+; printf(“%d/n“, n); 解析:解析 本题考查+运算操作符,当+在变量前面时,是先加 1再赋值,当+在变量后面时,是先赋值再加 1,所以答案选择 D。15.有以下程序: #includestdio.h int k=5; void f(int *s) s= *s=k; main() int m=3; f( printf(“%d,%d/n“,m,k); 程序运行后的输出结果是_。(分数:

    27、1.00)A.3,3B.5,5C.3,5 D.5,3解析:解析 函数 f()的功能是:定义一个临时的整型指针变量 s,指向全局变量 k,然后用 k的值对 s指向的内存地址进行赋值,结果当然是 k的值不变;在 main函数中,调用 f()函数,虽然使用 m的地址初始化 s,但是 s在 f函数内部又被指向 k的地址,所以 s的后续操作对 m没有任何影响,因此最后输出为 3,5,答案为 C选项。16.以下选项中,能用作用户标识符的是_。(分数:1.00)A._0_ B.8_8C.voidD.unsigned解析:解析 C 语言中标识符由字母、下划线或数字组成,且开头必须是字母或下划线。另外,关键字不

    28、能作为标识符。B 选项中以数字 8开头,所以错误。C 与 D中用的是关键字 void与 unsigned,因此错误。故本题答案为 A。17.下列二维数组初始化语句中,正确且与语句 int a3=1,2,3,4,5等价的是_。(分数:2.50)A.int a2=1,2,3,4,5;B.int a3=1,2,3,4,5,0; C.int a3=1,0,2,0,3,0;D.int a2=1,2,3),4,5,6;解析:18.有以下程序: #includestdio.h main() int i,j,m=55; for(i=1;i=3;i+) for(j=3;j=i;j+)m=m%j; printf(

    29、“%d/n“,m); 程序运行后的输出结果是_。(分数:1.00)A.0Bl C.2D.3解析:解析 第一次执行外循环 i的值为 1,满足条件,判断第一次内循环,j 的值为 3,不满足条件,跳出内循环。第二次执行外循环 i的值为 2,同理也不满足内循环条件,跳出内循环。第三次执行外循环i的值为 3,此时进入内循环判断条件时,条件成立,执行 m=m%j,m 的值为 1,跳出内循环,跳出外循环打印 m的值。19.下列叙述中正确的是_。(分数:1.00)A.存储空间连续的数据结构一定是线性结构B.存储空间不连续的数据结构一定是非线性结构C.没有根节点的非空数据结构一定是线性结构D.具有两个根节点的数

    30、据结构一定是非线性结构 解析:解析 一个非空的数据结构如果满足以下两个条件:有且只有一个根节点;每一个节点最多有一个前件,也最多有一个后件,称为线性结构,也称为线性表,可以采用顺序存储和链式存储,其中顺序存储的空间连续而链式存储空间不连续。非线性结构是指不满足以上两个条件的数据结构,非线性结构主要是指树形结构和网状结构。数据结构线性与否与存储空间是否连续没有直接关系,如二叉树可以用一片连续的空间来存储,但其为非线性结构,A 选项错误。线性表的链式存储结构可以用不连续的空间来存储,但其为线性结构,B 选项错误。没有根节点的非空数据结构一定不是线性结构,C 选项错误。具有两个根节点的结构一定是非线

    31、性结构,故 D选项正确。20.以下错误的定义语句是_。(分数:1.00)A.int x4=1,2,3,1,2,3,1,2,3,1,2,3; B.int x43=1,2,3,1,2,3,(1,2,3,1,2,3;C.int x3=0,1,1,2,3;D.int x3=1,2,3,4;解析:解析 二维数组定义行数可以省略,列数不能省略,所以答案选择 A。21.程序设计方法要求在程序设计过程中( )。(分数:1.00)A.先编制出程序,经调试使程序运行结果正确后再画出程序的流程图B.先编制出程序,经调试使程序运行结果正确后再在程序中的适当位置处加注释C.先画出流程图,再根据流程图编制出程序,最后经调

    32、试使程序运行结果正确后再在程序中的适当位置处加注释D.以上三种说法都不对 解析:解析 程序设计的过程应是先画出流程图,然后根据流程图编制出程序,所以选项 A错误。程序中的注释是为了提高程序的可读性,使程序易于理解、易于维护,注释:必须在编制程序的同时加入,所以,选项 B和选项 C错误。综上所述,本题的正确答案为选项 D。22.若二维数组 a有 m列,则在 aij前的元素个数为_。(分数:2.00)A.j*m+iB.i*m+j C.j*m+i+1D.i*m+j+l解析:23.有以下程序 #includestdio.h main() int i=1; i=ii; printf(“%d/n“, i)

    33、; 程序运行后的输出结果是_。(分数:2.00)A.7B.-1C.1D.0 解析:解析 是按位异或,11 结果为 0,答案选择 D。24.有以下程序 #includestdio.h main() int i; for(i=1; i=40; i+) if(i+%5=0) if(+i%8=0)printf(“%d“, i); printf(“/n“); 执行后的输出结果是_。(分数:2.00)A.32 B.24C.5D.40解析:解析 本题考查了白增运算符。自增运算符“+”分为前缀和后缀两种形式。两种形式的作用效果是一样的,都是使运算分量的值加 1,但是它们的表达式的值不一样,前缀形式表达式的值为

    34、运算分量加 1之后的值,而后缀形式表达式的值为运算分量加 1之前的值。题目中使用了一个 for循环,循环变量i从 1递增到 40。在循环体中有两条嵌套的 if吾句,首先判断 i+%5=0,即判断 i+的值(i 加 1之前的值)是否能被 5整除(判断后 i被加 1),然后再判断+i 的值(i 加 1之后的值)是否能被 8整除(判断后 i被加 1),若两个条件都满足了,就输出 i的值,只有 i=30时,满足 i+%5=0,此时 i=31,+i%8=0 成立,此时 i=32。25.交换两个变量的值,不允许用临时变量,应该使用_位运算符。(分数:2.00)A. 其中含有的实参个数和是_。(分数:1.0

    35、0)A.1B.2 C.4D.5解析:解析 在调用函数时,实参可以是表达式,若有两个以上的实参时,实参之间用逗号隔开。在以上调用语句中,(exp1, exp2)和(exp3, exp4, exp5)是两个用括号括起来的逗号表达式,它们之间用逗号隔开,因此,该函数调用语句中含有两个实参。总结:本题要求读者正确掌握前面学过的逗号表达式,这样才能理解本题函数调用语句中实参的个数。29.定义无符号整数类为 UInt,下面可以作为类 UInt实例化值的是_。(分数:1.00)A.-369B.369 C.0.369D.整数集合1,2,3,4,5解析:解析 其中 A选项是有符号的,C 选项是小数,D 选项是结

    36、合并不是类的实例化对象,只有 B选项完全符合。30.若要求从键盘读入含有空格字符的字符串,应使用函数_。(分数:2.00)A.getchar()B.getc()C.gets() D.scanf()解析:解析 scanf()语句中用“空格”间隔不同的字符串,空格将被全部忽略掉,所以用 scanf()函数不能输入空格;getchar()函数用于输入字符,其调用格式为:ch=getchar(),getchar()函数从终端读入一个字符作为函数值,把读入的字符赋给变量 ch。在输入时,空格、回车符都将作为字符读入,而且只有在用户敲入回车键时,读入才开始执行。gets()函数的调用形式为:gets(st

    37、r_adr),其中 str_adr。是存放输入字符串的起始地址,可以是字符数组名、字符数组元素的地址或字符指针变量。gets 函数用来从终端键盘读入字符串(包括空格符),直到读入一个换行符为止。getc()函数的调用形式为:ch=getc(pf),其中 pf是文件指针,函数的功能是从 pf指定的文件中读入一个字符,并把它作为函数值返回。因此 C选项正确。31.若有以下程序段 char str412=“aa“,“bbb“,“ccccc“,“d“,*strp4; int i; for(i=0;i4;i+)strpi=stri; 不能正确引用字符串的选项是_。(分数:2.00)A.strp B.st

    38、r0C.strp3D.*strp解析:解析 strp 是字符串指针数组,不能作为字符串的引用。32.下面描述中,不属于软件危机的表现的是_。(分数:1.00)A.软件过程不规范 B.软件开发生产率低C.软件质量难以控制D.软件成本不断提高解析:解析 软件危机的表现:对软件开发的进度和费用估计不准确;用户对已完成的软件系统不满意的现象时常发生;软件产品的质量往往靠不住;软件常常是不可维护的;软件通常没有适当的文档;软件成本在计算机系统总成本中所占的比例逐年上升;软件开发生产率提高的速度,远远跟不上计算机应用迅速普及、深入的趋势。33.以下程序的输出结果是_。 #includestdio.h ma

    39、in() int a=1,b=3; if(+a0) else printf(“%d,%d/n“,b,a); (分数:2.50)A.2,2B.1,3C.3,2 D.3,1解析:解析 解答本题的关键在于 if语句条件中的表达式。初始时 a=1,b=3,所以“+a=20”,因此“+a0”为假;因为是进行逻辑与( if(!x)y+; else if(x=0) if(x)y+=2; else y+=3; printf(“%d/n“,y); 程序运行后的输出结果是_。(分数:2.50)A.0 B.2C.1D.3解析:解析 (!x)为假,然后判断(x=0),为假,最后就执行输出语句,y 的值仍为初始值,答案

    40、选择A。36.有三个关系 R、S 和 T如下: RA B C a l 2 b 2 1 c 3 1 SA D c 4 TA B C D c 3 1 4 则由关系 R和 S得到关系 T的操作是_。(分数:1.00)A.自然连接 B交C.投影D并解析:解析 自然连接是一种特殊的等值连接,它要求两个关系中进行比较的分量必须是相同的属性组,并且在结果中把重复的属性列去掉,所以根据 T中元素可以判断 R和 S做的是自然连接操作。37.有以下程序 #include stdio.h #include string.h main() char p20=“a“,“b“,“c“,“d“,q=“abc“,r=“abc

    41、de“; strcat(p,r); strcpy(p+strlen(q),q); printf(“%d/n“,strlen(p); 程序运行后的输出结果是_。(分数:1.00)A.6 B.9C.11D.7解析:解析 本题首先定义了 3个字符数组 p、q、r,并分别被初始化。数组 p指定的大小为 20,初始化列表为a,b,c,d,即只指定了前 4个元素的内容,根据 C语言的规定,初始化列表不足时,其余元素均自动初始化为 0。然后通过 strcat()函数,将字符串 r连接到字符串 p之后,即执行后 p中的内容为“123d123de”。因为“strlen(q)”表示求字符串 q的长度,很明显为 3

    42、,所以语句“strcpy(p+strlen(q),q);”的作用就是:将字符串 q复制到数组 p的第 4个元素位置处。38.有以下程序: #include stdio.h int sub(double a, double b) return (int)(a - b -1.3); main( ) printf(“%d/n“, sub(3.2,4.1); 程序运行后的输出结果是_。(分数:1.00)A.-2 B.1.7C.-3D.2.0解析:解析 sub()函数输出(int)(a-b-1.3)将结果强制转化为整型,因此可以排除 B、D 选项,(a-b-1.3)=-2.2,(int)(-2.2)=-2,sub)(32,41)=-2,故答案为 A选项。39.计算机能直接执行的程序是_。(分数:2.00)A.源程序B.目标程序C.汇编程序D.可执行程序 解析:解析 计算机能直接执行的程序是二进制的可执行程序,扩展名为.exe。所以选择 D选项。40.下列不属于软件工程的 3个要素的是 _ 。(分数:2.00)A.工具B.过程C.方法D.环境 解析:解析 软件工程包括 3个要素,即方法、工具和过程。方法是完成软件工程项目的技术手段:工具支持软件的开发、管理和文档生成:过程支持软件开发的各个环节的控制、管理。


    注意事项

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




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

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

    收起
    展开