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

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

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

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

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

    1、二级 C 语言笔试-6 及答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针2.设有定义:int a=1,b=2,e=3;,以下语句中执行效果与其他 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=e;

    2、3.设有定义:char *c;,以下选项中能够使字符型指针 c 正确指向一个字符串的是(分数:2.00)A.char str=“string“; c=str;B.scanf(“%s“, c);C.c=getchar();D.*c=“string“;4.以下程序运行后的输出结果是 #include void fun(int P) int d=2; P=d+; printf(“%d“, P); main() int a=1; fun(a); printf(“%d/n, a); (分数:2.00)A.32B.12C.21D.225.在 E-R 图中,用来表示实体联系的图形是(分数:2.00)A.椭圆

    3、形B.矩形C.菱形D.三角形6.有以下定义语句,编译时会出现编译错误的是(分数:2.00)A.char a=a;B.char a=/n;C.char a=aa;D.char a=/x2d;7.下面结构体的定义语句中,错误的是(分数:2.00)A.struct ordint x; int y; int z; struct ord a;B.struct ordint 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;8.下列有关 C 语言字符数组的叙述中,错

    4、误的是(分数:2.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串9.以下程序运行后的输出结果是 #include main() int m=1, n=2, *P= r=P; p=q; q=r; printf(“%d, %d, %d, %d/n“, m, n, *p, *q); (分数:2.00)A.1,2,1,2B.1,2,2,1C.2,1,2,1D.2,1,1,210.软件设计中划分模块的一个准则是(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合C.低内聚、高耦合D.高内聚、高耦合1

    5、1.数据库管理系统是(分数:1.00)A.操作系统的一部分B.在操作系统支持下的系统软件C.一种编译系统D.一种操作系统12.软件详细设计产生的图如图所示,该图是 (分数:1.00)A.N-S 图B.PAD 图C.程序流程图D.E-R 图13.下列叙述中正确的是(分数:1.00)A.程序设计的任务就是编写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上 3 种说法都不完整14.以下程序运行后的输出结果是 #includestdio.h main() int c=0, k; for(k=1; k3; k+) switch(k) default:

    6、c+=k; case 2: c+; break; case 4: c+=2; break; printf(“%d/n“, c); (分数:1.00)A.3B.5C.7D.915.算法的空间复杂度是指(分数:1.00)A.算法在执行过程中所需要的计算机存储空间B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数16.以下程序运行后的输出结果是 #includestdio.h main() char s=“012xy“; int i, n=0; for(i=0; si!=0; i+) if(si=a printf(“%d/n“, n); (分数:1.00)

    7、A.0B.2C.3D.517.以下程序运行后的输出结果是 #includestdio.h main() int a=2, 3, 5, 4, i; for(i=0; i4; i+) switch(i%2) case 0: switch(ai%2) case 0:ai+: break; case 1: ai-; break; case i: ai=0; for(i=0; i4; i+) printf(“%d“, ai); printf(“/n“); (分数:1.00)A.3 3 4 4B.2 0 5 0C.3 0 4 0D.0 3 0 418.以下程序段的输出结果是 int r=8; printf

    8、(“%d/n“, r 1);(分数:1.00)A.16B.8C.4D.219.若有定义语句:int x=10;,则表达式 x-=x+x 的值为(分数:1.00)A.-20B.-10C.0D.1020.下列选择项中不属于结构化程序设计原则的是(分数:1.00)A.可封装B.自顶向下C.模块化D.逐步求精21.已知字母 A 的 ASCII 码为 65,以下程序运行后的输出结果是 #includestdio.h main() char c1, c2; c1=A+8-4; c2=A+8-5; printf(“%c, %d/n“, c1, c2); (分数:2.00)A.E,68B.D,69C.E,DD

    9、.输出无定值22.以下程序运行后的输出结果是 #includestdio.h #includestring.h struct A int a; char b10; double c; ; struct A f(struct A t); main() struct A a=1001, “ZhangDa“, 1098.0; a=f(a); printf(“%d, %s, %6.1f/n“, a.a, a.b, a.c); struct A f(struct A t) t.a=1002; strcpy(t.b, “ChangRong“); t.c=1202.0; return t; (分数:2.00

    10、)A.1001, ZhangDa, 1098.0B.1002, ZhangDa, 1202.0C.1001, ChangRong, 1098.0D.1002, ChangRong, 1202.023.以下程序运行后的输出结果是 #includestdio.h #includestring.h main() char a10=“abed“; printf(“%d, %d/n“, strlen(a), sizeof(a); (分数:2.00)A.7,4B.4,10C.8,8D.10,1024.以下程序段中,与语句 k=ab? (be? 1:0):0;功能相同的是(分数:2.00)A.if(ab)

    11、else k=0;B.if(ab)|(be) k=1; else k=0;C.if(a=b) k=0; else if(b=c) k=1;D.if(ab) k=1; else if(bc) k=1; else k=0;25.下列函数的功能是 fun(char *a, char *b) while(*b=*a)!=/0) a+; b+; (分数:2.00)A.将 a 所指字符串赋给 b 所指空间B.使指针 b 指向 a 所指字符串C.将 a 所指字符串和 b 所指字符串进行比较D.检查 a 和 b 所指字符串中是否有/026.有 3 个关系 R、S 和 T 如下: (分数:2.00)A.选择B.

    12、投影C.交D.并27.若有定义语句:int a410,*p, *q4;且 0i4,则错误的赋值是(分数:2.00)A.P=aB.qi=aiC.P=aiD.P= pf=fun;B.viod *pf(); pf=fun;C.void *pf(); *pf=fun;D.void(*pf)(int, char); pf=29.以下程序运行后的输出结果是 #includestdio.h main() int n=2, k=0; while(k+ printf(“%d %d/n“, k, n); (分数:2.00)A.0 2B.1 3C.5 7D.1 230.以下选项中,能用作用户标识符的是(分数:2.0

    13、0)A.voidB.8_8C._0_D.unsigned31.以下程序运行后的输出结果是 #includestdio.h #define f(x) x*x*x main() int a=3, s, t; s=f(a+1); t=f(a+1); printf(“%d, %d/n“, s, t); (分数:2.00)A.10,64B.10,10C.64,10D.64,6432.以下程序运行后的输出结果是 #include #include main() char str20=One * World“, “One * Dream!“, *p=str1; printf(“%d,“, strlen(p)

    14、; printf(“%s/n“, p); (分数:2.00)A.9,One * WorldB.9,One * DreamC.10,One * Dream!D.10,One * World33.下列关于 C 语言文件的叙述中,正确的是(分数:2.00)A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件D.文件由字符序列组成,其类型只能是文本文件34.表达式:(int)(double)9/2)-(9)%2 的值是(分数:2.00)A.0B.3C.4D.535.以下函数 findmax 拟实现在

    15、数组中查找最大值并作为函数值返回,但程序中有错导致不能实现预定功能,造成错误的原因是 #define MIN -2147483647 int findmax (int X, int n) int i, max; for(i=0; in; i+) max=MIN; if(maxxi) max=xi; return max; (分数:2.00)A.定义语句 int i, max; 中 max 未赋初值B.赋值语句 max=MIN;中,不应给 max 赋 MIN 值C.语句 if(maxxi) max=xi;中判断条件设置错误D.赋值语句 max=MIN;放错了位置36.下列数据结构中,能够按照“先

    16、进后出”原则存取数据的是(分数:2.00)A.循环队列B.栈C.队列D.二叉树37.以下程序运行后的输出结果是 #includestdio.h main() int a=1, b=0; print(“%d,“, b=a+b); printf(“%d/n“, a=2*b); (分数:2.00)A.0,0B.1,0C.3,2D.1,238.阅读以下程序 #includestdio.h main() int case; float printF; printf(“请输入 2 个数:“); scanf(“%d %f“, printf(“%d %f/n“, case, printF); 该程序编译时产生

    17、错误,其出错原因是(分数:2.00)A.定义语句出错,case 是关键字,不能用作用户自定义标识符B.定义语句出错,printF 不能用作用户自定义标识符C.定义语句无错,scanf 不能作为输入函数使用D.定义语句无错,printf 不能输出 case 的值39.下列数据结构中,属于非线性结构的是(分数:2.00)A.循环队列B.带链队列C.二叉树D.带链栈40.以下程序运行后的输出结果是 #includestdio.h int f(int n); main() int a=3, s; s=f(a); s=s+f(a); printf(“%d/n“, s); int f(int n) sta

    18、tic int a=1; n+=a+; return n; (分数:2.00)A.7B.8C.9D.10二、B填空题/B(总题数:15,分数:30.00)41.某二叉树有 5 个度为 2 的结点及 3 个度为 1 的结点,则该二叉树中共有 1 个点。(分数:2.00)填空项 1:_42.程序流程图中的菱形框表示的是 1。(分数:2.00)填空项 1:_43.软件开发过程主要分为需求分析、设计、编码和测试 4 个阶段,其中 1 阶段产生“软件需求规格说明书”。(分数:2.00)填空项 1:_44.在数据库技术中,实体集之间的联系可以是一对一或一对多或多对多的,那么“学生”和“可选课程”的联系为

    19、1。(分数:2.00)填空项 1:_45.人员基本信息一般包括:身份证号、姓名、性别、年龄等。其中可以作为主关键字的是 1。(分数:2.00)填空项 1:_46.若有定义语句:int a=5;,则表达式 a+的值是 1。(分数:2.00)填空项 1:_47.若有语句 double x=17; int y;,当执行 y=(int)(x/5)%2;之后 y 的值为 1。(分数:2.00)填空项 1:_48.以下程序运行后的输出结果是_。 #includestdio.h main() int x=20; printf(“%d“, 0x20); printf(“%d/n“, 0x (分数:2.00)填

    20、空项 1:_49.以下程序运行后的输出结果是_。 #includestdio.h main() int a=1, b=7; do b=b/2; a+=b; while(b1); printf(“%d/n“, a); (分数:2.00)填空项 1:_50.以下程序运行后的输出结果是_。 #includestdio.h main() int f, f1, f2, i; f1=0; f2=1; printf(“%d %d“, f1, f2); for(i=3; i=5; i+) f=f1+f2; printf(“%d“, f); f1=f2; f2=f; printf(“/n“); (分数:2.00

    21、)填空项 1:_51.以下程序运行后的输出结果是_。 #includestdio.h int a=5; void fun(int b) int a=10; a+=b; printf(“%d“, a); main() int c=20; fun(c); a+=c; printf(“%d/n“, a); (分数:2.00)填空项 1:_52.设有定义: struct person int ID; char name12; P; 请将 scanf(“%d“, _);语句补充完整,使其能够为结构体变量 P 的成员 ID 正确读入数据。(分数:2.00)填空项 1:_53.以下程序运行时从键盘输入:Ho

    22、w are you? 回车,则输出结果为_。 #includestdio.h main() char a20=“How are you?“,b20; scanf(“%s“, b); printf(“%s %s/n“, a, b); (分数:2.00)填空项 1:_54.以下程序运行后的输出结果是_。 #includestdio.h typedef struct int num; double s;REC; void fun1(REC x)x.num=23; x.s=88.5; main() REC a=16, 90.0; fun1(a); printf(“%d/n“, a.num); (分数:

    23、2.00)填空项 1:_55.以下程序运行后的输出结果是_。 #includestdio.h fun(int x) if(x/20) fun(x/2); printf(“%d“, x); main() fun(6); printf(“/n“); (分数:2.00)填空项 1:_二级 C 语言笔试-6 答案解析(总分:100.00,做题时间:90 分钟)一、B选择题/B(总题数:40,分数:70.00)1.对于循环队列,下列叙述中正确的是(分数:2.00)A.队头指针是固定不变的B.队头指针一定大于队尾指针C.队头指针一定小于队尾指针D.队头指针可以大于队尾指针,也可以小于队尾指针 解析:解析

    24、循环队列是将顺序队列首尾相连形成的,随着插入元素或删除元素的进行,其队头指针及队尾指针是在不断变化的,有时可能会出现队头指针大于队尾指针的情况,也可能是队尾指针大于队头指针。2.设有定义:int a=1,b=2,e=3;,以下语句中执行效果与其他 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=e;解析:解析 选项 A,if 子句是一个逗号表达式,其效果与选项 B 和 D 相同,即当 ab 成立时,执行c=a; a=b; b=c;

    25、语句,否则不执行。选项 C 中,当 ab 成立时,执行 c=a;后,再顺序地执行 a=b; b=c;,与选项 A、B、D 相同;但当 ab 不成立时,仍要执行 a=b; b=c; 语句,与选项 A、B、D 不同。3.设有定义:char *c;,以下选项中能够使字符型指针 c 正确指向一个字符串的是(分数:2.00)A.char str=“string“; c=str; B.scanf(“%s“, c);C.c=getchar();D.*c=“string“;解析:解析 对于选项 B,C 没有指向,编译会报警告错。对于选项 C,c 只能被地址赋值,不能被getchar 读取的字符赋值。对于选项

    26、D,赋值错误,应该改为 c=“string“;。4.以下程序运行后的输出结果是 #include void fun(int P) int d=2; P=d+; printf(“%d“, P); main() int a=1; fun(a); printf(“%d/n, a); (分数:2.00)A.32B.12C.21 D.22解析:解析 调用函数 fun 时将变量 a 的值 1 传给形参变量 p,p=d+将 2 赋给 p,再执行 d+;在函数fun 中,printf(“%“, p);输出 p 的值 2,main 函数中输出 a 的值 1。程序的输出结果为 21。5.在 E-R 图中,用来表示

    27、实体联系的图形是(分数:2.00)A.椭圆形B.矩形C.菱形 D.三角形解析:解析 E-R 图中用矩形表示实体(等同于表),用椭圆形表示实体的属性(等同于表中的字段),用菱形表示实体关系(等同于外键)。6.有以下定义语句,编译时会出现编译错误的是(分数:2.00)A.char a=a;B.char a=/n;C.char a=aa; D.char a=/x2d;解析:解析 字符变量只能存放一个字符,字符常量可以用来给字符变量赋值。C 语言规定字符常量是用一对单撇号“”括起来的单个字符。在选项 C 中,单撇号中有两个字符。7.下面结构体的定义语句中,错误的是(分数:2.00)A.struct o

    28、rdint x; int y; int z; struct ord a;B.struct ordint 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;解析:解析 对于选项 B,结构体类型声明和定义分开时,在声明后应有分号“;”。8.下列有关 C 语言字符数组的叙述中,错误的是(分数:2.00)A.不可以用赋值语句给字符数组名赋字符串B.可以用输入语句把字符串整体输入给字符数组C.字符数组中的内容不一定是字符串D.字符数组只能存放字符串 解析:解析

    29、数组名是地址常量,所以不能用赋值语句给字符数组名赋字符串;可以用输入语句把字符串以整体输入方式给字符数组赋值;字符数组中的内容不一定是字符串,可以是整型数。9.以下程序运行后的输出结果是 #include main() int m=1, n=2, *P= r=P; p=q; q=r; printf(“%d, %d, %d, %d/n“, m, n, *p, *q); (分数:2.00)A.1,2,1,2B.1,2,2,1 C.2,1,2,1D.2,1,1,2解析:解析 执行语句 r=p; p=q; q=r;后,改变了 p、q 的指向,即 p 指向了 n,q 指向了 m,m 和 n 的值没有改变

    30、,分别仍为 1 和 2。10.软件设计中划分模块的一个准则是(分数:2.00)A.低内聚、低耦合B.高内聚、低耦合 C.低内聚、高耦合D.高内聚、高耦合解析:解析 模块划分应考虑的因素包括模块之间的耦合和内聚。一般来说,要求模块之间的耦合尽可能低,即模块尽可能独立;要求模块的内聚程度尽可能高,即遵循高内聚、低耦合的原则。11.数据库管理系统是(分数:1.00)A.操作系统的一部分B.在操作系统支持下的系统软件 C.一种编译系统D.一种操作系统解析:解析 数据库管理系统是指位于用户与操作系统之间的数据管理软件。数据库管理系统是为数据库建立、使用和维护而配置的软件。12.软件详细设计产生的图如图所

    31、示,该图是 (分数:1.00)A.N-S 图B.PAD 图C.程序流程图 D.E-R 图解析:解析 N-S 图是由若干基本框图构成的流程图,其特点是没有流程线;PAD(问题分析图,Problem Analysis Diagram)是一种由左往右展开的二维树状结构;程序流程图用于描述问题解决的过程和步骤,其中方框表示处理步骤,菱形框表示逻辑判断,箭头表示控制流向;E-R 图即实体一联系图(Entity Relationship Diagram),用来描述现实世界的概念模型,构成元素有实体、属性和联系,分别用矩形、椭圆形和菱形表示。13.下列叙述中正确的是(分数:1.00)A.程序设计的任务就是编

    32、写程序代码并上机调试B.程序设计的任务就是确定所用数据结构C.程序设计的任务就是确定所用算法D.以上 3 种说法都不完整 解析:解析 选项 A、B、C 的说法都不完整。程序设计应根据计算机要完成的任务进行数据结构和算法的设计,并且编写其程序代码,然后进行调试,直到得出正确结果。14.以下程序运行后的输出结果是 #includestdio.h main() int c=0, k; for(k=1; k3; k+) switch(k) default: c+=k; case 2: c+; break; case 4: c+=2; break; printf(“%d/n“, c); (分数:1.00

    33、)A.3 B.5C.7D.9解析:解析 for 循环 2 次:当循环变量 k=1 时,从 default 入口,执行 c+=k;,再顺序执行c+;,break 跳出 switch 结构,此时 c 的值为 2;当循环变量 k=2 时,从 case 2 入口,执行c+;,break 跳出 switch 结构,此时 c 的值为 3;退出循环结构,输出 c 值 3。15.算法的空间复杂度是指(分数:1.00)A.算法在执行过程中所需要的计算机存储空间 B.算法所处理的数据量C.算法程序中的语句或指令条数D.算法在执行过程中所需要的临时工作单元数解析:解析 算法的空间复杂度是指算法执行过程中所需的存储空

    34、间。一个算法所占用的存储空间包括算法程序所占的空间、输入的初始数据所占的存储空间及算法执行过程中所需要的额外空间。16.以下程序运行后的输出结果是 #includestdio.h main() char s=“012xy“; int i, n=0; for(i=0; si!=0; i+) if(si=a printf(“%d/n“, n); (分数:1.00)A.0B.2 C.3D.5解析:解析 程序的功能是统计字符串“012xy”中小写字母的个数。所以程序的运行结果为 2。17.以下程序运行后的输出结果是 #includestdio.h main() int a=2, 3, 5, 4, i;

    35、 for(i=0; i4; i+) switch(i%2) case 0: switch(ai%2) case 0:ai+: break; case 1: ai-; break; case i: ai=0; for(i=0; i4; i+) printf(“%d“, ai); printf(“/n“); (分数:1.00)A.3 3 4 4B.2 0 5 0C.3 0 4 0 D.0 3 0 4解析:解析 程序执行过程及其取值参见下表。 18.以下程序段的输出结果是 int r=8; printf(“%d/n“, r 1);(分数:1.00)A.16B.8C.4 D.2解析:解析 变量 r 的

    36、值为 8,其二进制为 00001000,右移 1 位后为 00000100,即十进制数 4,所以输出结果为 4。19.若有定义语句:int x=10;,则表达式 x-=x+x 的值为(分数:1.00)A.-20B.-10 C.0D.10解析:解析 表达式 x-=x+x 等价于 x=x-(x+x)=10-20=-10。20.下列选择项中不属于结构化程序设计原则的是(分数:1.00)A.可封装 B.自顶向下C.模块化D.逐步求精解析:解析 模块化、自顶向下、逐步求精都是结构化程序设计的原则;可封装是面向对象程序设计原则。21.已知字母 A 的 ASCII 码为 65,以下程序运行后的输出结果是 #

    37、includestdio.h main() char c1, c2; c1=A+8-4; c2=A+8-5; printf(“%c, %d/n“, c1, c2); (分数:2.00)A.E,68 B.D,69C.E,DD.输出无定值解析:解析 c1=A+8-4=A+4=E, c2=A+8-5=A+3=D(ASCII 码为 68),所以程序运行结果为 E,68。22.以下程序运行后的输出结果是 #includestdio.h #includestring.h struct A int a; char b10; double c; ; struct A f(struct A t); main()

    38、 struct A a=1001, “ZhangDa“, 1098.0; a=f(a); printf(“%d, %s, %6.1f/n“, a.a, a.b, a.c); struct A f(struct A t) t.a=1002; strcpy(t.b, “ChangRong“); t.c=1202.0; return t; (分数:2.00)A.1001, ZhangDa, 1098.0B.1002, ZhangDa, 1202.0C.1001, ChangRong, 1098.0D.1002, ChangRong, 1202.0 解析:解析 函数调用 f(a)将结构体变量 a 的值

    39、传给 f 函数的形参 t,在函数 f 中改变了 t 的值,通过return 语句返回后,在 main 函数中,因为 a=f(a);,a 也被改变,所以最后输出的是改变后的结果。23.以下程序运行后的输出结果是 #includestdio.h #includestring.h main() char a10=“abed“; printf(“%d, %d/n“, strlen(a), sizeof(a); (分数:2.00)A.7,4B.4,10 C.8,8D.10,10解析:解析 strlen 是求 a 数组中字符串的实际长度(不含串结束符),结果为 4;sizeof 是求 a 数组的定义长度(

    40、加上/0所占的一个字节),结果为 10。24.以下程序段中,与语句 k=ab? (be? 1:0):0;功能相同的是(分数:2.00)A.if(ab) else k=0; B.if(ab)|(be) k=1; else k=0;C.if(a=b) k=0; else if(b=c) k=1;D.if(ab) k=1; else if(bc) k=1; else k=0;解析:解析 语句 k=ab? (bc? 1:0):0;的功能是:当 ab 条件成立时,k 的值由(bc? 1:0)确定,即当 ab 与 bc 同时成立时,k 值为 1,否则为 0;当 ab 条件不成立时,k 的值为 0。选项 A

    41、 与语句符合。对于选项 B、D,当 ab 或 bc,k 值为 1,与语句不符合。对于选项 c,当 b=c 时,k 值为 1,与语句不符合。25.下列函数的功能是 fun(char *a, char *b) while(*b=*a)!=/0) a+; b+; (分数:2.00)A.将 a 所指字符串赋给 b 所指空间 B.使指针 b 指向 a 所指字符串C.将 a 所指字符串和 b 所指字符串进行比较D.检查 a 和 b 所指字符串中是否有/0解析:解析 (*b=*a)!=/0是将 a 所指空间的字符赋给 b 所指空间,所以,while(*b=*a)!=/0) a+, b+;是将 a 所指字符串

    42、中的字符逐个赋给 b 所指空间,直到串结束符为止。26.有 3 个关系 R、S 和 T 如下: (分数:2.00)A.选择B.投影C.交D.并 解析:解析 两个相同结构的关系的并是由属于这两个关系的元组组成的集合。27.若有定义语句:int a410,*p, *q4;且 0i4,则错误的赋值是(分数:2.00)A.P=a B.qi=aiC.P=aiD.P= pf=fun; B.viod *pf(); pf=fun;C.void *pf(); *pf=fun;D.void(*pf)(int, char); pf=解析:解析 选项 B、C 中的 pf 定义的不是可指向函数的指针。对于选项 D,赋值

    43、时 fun 前不应有 while(k+ printf(“%d %d/n“, k, n); (分数:2.00)A.0 2B.1 3C.5 7D.1 2 解析:解析 while 循环条件是 k+ s=f(a+1); t=f(a+1); printf(“%d, %d/n“, s, t); (分数:2.00)A.10,64 B.10,10C.64,10D.64,64解析:解析 s=f(a+1)=a+1*a+1*a+1=3+1*3+1*3+1=10 t=f(a+1)=(a+1)*(a+1)*(a+1)= =(3+1)*(3+1)*(3+1)=6432.以下程序运行后的输出结果是 #include #in

    44、clude main() char str20=One * World“, “One * Dream!“, *p=str1; printf(“%d,“, strlen(p); printf(“%s/n“, p); (分数:2.00)A.9,One * WorldB.9,One * DreamC.10,One * Dream! D.10,One * World解析:解析 初始化*p=str1使指针变量 p 指向第二个字符串“One * Dream!“,输出长度为 10。语句printf(“%s/n“, p);输出字符串“One * Dream!“。33.下列关于 C 语言文件的叙述中,正确的是(

    45、分数:2.00)A.文件由一系列数据依次排列组成,只能构成二进制文件B.文件由结构序列组成,可以构成二进制文件或文本文件C.文件由数据序列组成,可以构成二进制文件或文本文件 D.文件由字符序列组成,其类型只能是文本文件解析:解析 文件由数据序列组成,可以构成二进制文件或文本文件。34.表达式:(int)(double)9/2)-(9)%2 的值是(分数:2.00)A.0B.3 C.4D.5解析:解析 (int)(double)9/2)=4,(9)%2=1,所以(int)(double)9/2)-(9)%2=4-1=3。35.以下函数 findmax 拟实现在数组中查找最大值并作为函数值返回,但

    46、程序中有错导致不能实现预定功能,造成错误的原因是 #define MIN -2147483647 int findmax (int X, int n) int i, max; for(i=0; in; i+) max=MIN; if(maxxi) max=xi; return max; (分数:2.00)A.定义语句 int i, max; 中 max 未赋初值B.赋值语句 max=MIN;中,不应给 max 赋 MIN 值C.语句 if(maxxi) max=xi;中判断条件设置错误D.赋值语句 max=MIN;放错了位置 解析:解析 程序中 max=MIN;应该放在 for 循环语句之前,否则每次循环都要将 MIN 的值重新赋给max,这样不能实现求最大值的算法思想。36.下列数据结构中,能够按照“先进后出”原则存取数据的是(分数:2.00)A.循环队列B.栈 C.队列D.二叉树解析:解析 栈是限定只在一端进行插入与删除的线性表,


    注意事项

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




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

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

    收起
    展开