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

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

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

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

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

    1、二级 C 语言笔试-346 及答案解析(总分:102.50,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.表达式0x11 的值是( )。A) 0xFFEE B) 0x71 C) 0x0071 D) 0xFFE1(分数:2.00)A.B.C.D.2.有以下程序:#include stdio.hmain() char a=a, b; printf(“%c,“, +a); printf(1%c/n“, b=a+); 程序运行后的输出结果是( )。A) b,b B) b,c C) a,b D) a,c(分数:1.00)A.B.C.D.3.若有以下定义和语句char c1=b,c

    2、2eprintf(“%d,%c/n“,c2-c1,c2-a+A); 则输出结果 ( )A2,M B3,EC2,E D输出项与对应的格式控制不一致,输出结果不确定(分数:1.00)A.B.C.D.4.设变量 x 和 y 均已正确定义并赋值,以下 if 语句中,在编译时将产生错误信息的是_。(A) if(x+);(B) if(xyy!=0);(C) if(xy)x- else y+;(D) if(y0) ; else x+;(分数:1.00)A.B.C.D.5.以下叙述中正确的是( )。A) 全局变量的作用域一定比局部变量的作用域范围大B) 静态(static)类别变量的生存期贯穿于整个程序的运行

    3、期间C) 函数的形参都属于全局变量D) 未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值(分数:1.00)A.B.C.D.6.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是A) 并 B) 交 C) 投影 D) 笛卡儿乘积(分数:1.00)A.B.C.D.7.以下叙述中正确的是( )。A) break 语句只能用于 switch 语句体中B) continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C) break 语句只能用在循环体内和 switch 语句体内D) 在循环体内使用 break 语句和 continue 语句的作用相同(分数

    4、:1.00)A.B.C.D.8.应用数据库的主要目的是为了 ( )A解决数据的保密问题B解决数据的共享问题C解决数据量大的问题D解决数据的完整性问题(分数:1.00)A.B.C.D.9.如下程序的运行结果是_。#includestdio.hmain()int x=y=3,z=1;printf (“%d%d/n“,(+x,y+),z+2);A) 3 4 B) 4 2 C) 4 3 D) 3 3(分数:1.00)A.B.C.D.10.下列选项中不属于结构化程序设计方法的是_。A) 自顶向下 B) 逐步求精C) 模块化 D) 可复用(分数:2.00)A.B.C.D.11.能将高级语言编写的目标程序转

    5、换为可执行的应用程序的是_。A) 连接程序 B) 解释程序C) 编译程序 D) 编辑程序(分数:1.00)A.B.C.D.12.有以下程序:struct STUchar name10;int num;float TotalScore;void f(struct STU*P)struct STU s2=“SunDan“,20044,550,“Penghua“,20045,537,*q=s;+P;+q;*P=*q;main()struct STU s3=“YangSan“,20041,703),“LiSiGuo“,20042,580;f(s);printf(“%s%d%3.0f/n“,s1.nam

    6、e,s1.num,s1.TotalScore);程序运行后的输出结果是_。A) SunDan 20044 550 B) Penghua 20045 537C) LiSiGuo 20042 580 D) SunDan 20041 703(分数:2.00)A.B.C.D.13.在一个容量为 15 的循环队列中,若头指针 front=6,尾指针 rear=14,则该循环队列中元素个数为( )。A) 8 B) 9 C) 14 D) 15(分数:1.00)A.B.C.D.14.下列叙述中正确的是A) 软件测试的目的是确定程序中错误的位置B) 软件测试的目的是发现程序中的错误C) 软件调试的目的是发现程序

    7、中的错误D) 软件调试后一般不需要再测试(分数:1.00)A.B.C.D.15.当前在数据库管理系统的研究方面,较活跃的是 ( )A关系数据库B网状数据库C空间数据库D层次数据库(分数:1.00)A.B.C.D.16.有以下程序main()int k=5;while(-k) printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。A) 1 B) 2 C) 4 D) 死循环(分数:1.00)A.B.C.D.17.以下程序的输出结果是_。#includesulio.h#defme SQR(x)x*xmain()int a,k=3;a=+SQR(k+1);printf(“

    8、%d/n“,a) ;A) 8 B) 9 C) 17 D) 20(分数:2.00)A.B.C.D.18.若有如下定义:int s3则下面表达式中不能代表数组元素 s1的地址的是 ( )A) ,则下列对赋值语句*p=a;和 p=的正确解释为( )。A) 两个语句都是将变量 a 的值赋予变量 pB) *p=a 是使 p 指向变量 a,而 p=for(i=1;i3;i+)for(j=0;j=i;j+)s+=aij;printf(“%d/n“,s);该程序的输出结果是_。A) 18 B) 19 C) 20 D) 21(分数:2.00)A.B.C.D.27.x,y,z 被定义为 int 型变量,若从键盘给

    9、 x,y,z 输入数据,正确的输入语句是A) INPUTx、y、z; B) scanf(“%d%d%d“,int x,y;x=1.2; y=(x+3.8)/5.0:printf“%d/n“,d*y;A) 3 B) 3.2 C) O D) 3.07(分数:1.00)A.B.C.D.30.下列叙述中正确的是A) 在面向对象的程序设计中,各个对象之间具有密切的联系B) 在面向对象的程序设计中,各个对象都是公用的C) 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D) 上述三种说法都不对(分数:2.00)A.B.C.D.31.下面不属于软件工程的 3 个要素的是( )。A) 工具 B) 过

    10、程 C) 方法 D) 环境(分数:2.00)A.B.C.D.32.运行下面的程序时,从键盘输入字母 H,则输出结果是#include stdio.hmain()char ch;ch=getchar();switch(ch)case H:printf(“Hello!/n“);case G:printf(“Good moming!/n“);default:printf(“Bye_Bye!/n“);A) Hello! B) Hello!Good Moring!C) Hello! Good morning!Bye_Bye!D) Hello!Bye_Bye!(分数:1.00)A.B.C.D.33.下列程

    11、序中函数 son()的功能是对数组 a 中的数据进行由大到小的排序。#includestdio.hvoid sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main()int a10=1,2,3,4,5,6,7,8,9,10,i;sort(for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是( )。A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2,1,C) 1,8,7,6,5,4,3,2,9,10,

    12、D) 1,2,10,9,8,7,6,5,4,3,(分数:2.00)A.B.C.D.34.如下程序的输出结果是_。#includestdio.hmain()int x=1,a=3,b=4;switch(x)case 0:a-;case 1:b-;case 2:a-;b-;printf(“a=%d,b=%d/n“,a,b);A) a=2,b=2 B) a=3,b=3 C) a=1,b=2 D) a=3,b=2(分数:1.00)A.B.C.D.35.阅读如下程序段#include“stdio.h“main()int x,a,b;scanf(“%d“,scanf(“%s%s“,a,b) ;gets(c

    13、) ;printf(“%s%s%s/n“,a,b,c) ;程序运行时从第一列开始输入:This is a cat!则输出结果是( )。A) Thisisacat! B) Thisis aC) Thisis a cat! D) Thisisa cat!(分数:2.00)A.B.C.D.37.以下选项中正确的定义语句是A) double a;b; B) double a=b=7;C) double a=7,b=7; D) double,a,b;(分数:1.00)A.B.C.D.38.在面向对象方法中,一个对象请求另一对象为其服务的方式是通过发送_。A) 调用语句 B) 命令 C) 口令 D) 消息

    14、(分数:1.00)A.B.C.D.39.下面函数的功能是_。exchange(int*ptr1,*ptr2)int*ptr;ptr=-ptr1;ptr1=ptr2;ptr2=ptr;A) 交换*ptr1 和*ptr2 的值B) 无法改变*ptr1 和*ptr2 的值C) 可能造成系统故障,因为使用了空指针D) 交换*ptr1 和*pb2 的地址(分数:1.00)A.B.C.D.40.有以下程序#includestdio.hvoid fun(int n,int*p)int f1,f2;if(n=1|n=2)*p=1;elsefun(n=1, printf(“%d“, x); main() fun

    15、(7); printf(“/n“); A) 1 3 7 B) 7 3 1 C) 7 3 D) 3 7(分数:2.00)A.B.C.D.44.若有下面的说明和定义,则 sizeof(struct aa)的值是_。struct aaint r1;double r2;float r3;union uuchar u15;long u22ua;mya;A) 30 B) 29 C) 24 D) 22(分数:1.00)A.B.C.D.45.有以下程序#define f(x) x*xmain( )int i;i=f(4+4)/f(2+2);printf(“%d/n”,i); 执行后输出结果是( )A)28 B

    16、)22C)16 D)4(分数:1.00)A.B.C.D.46.以下描述中正确的是A) 由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B) do-while 循环由 do 开始,用 while 结束,在 while(表达式)后面不能写分号C) 在 do-while 循环体中,是先执行一次循环,再进行判断D) do-while 循环中,根据情况可以省略 while(分数:1.00)A.B.C.D.47.C 语言结构体类型变量在程序运行期间A) TC 环境在内存中仅仅开辟一个存放结构体变量地址的单元B) 所有的成员一直驻留在内存中C) 只有最开始的成员驻留

    17、在内存中D) 部分成员驻留在内存中(分数:1.00)A.B.C.D.48.下列程序的输出结果是_。main()int a=-1,b=1,k;if(+a0)for(i=1;i5;i+)switch(i)casc 0:case 3:a+=2;case 1:case 2:a+=3;default:a+=5;printf(“%d/n“,a);A) 31 B) 13 C) 10 D) 20(分数:1.00)A.B.C.D.50.下面程序输出的结果是( )。#includestdio.hmain()char *a=“1234“;fun(a);printf(“/n“);fun(char *s)char t;

    18、if(*s)t=*S+;fun(s);else return;if(t!=/0)putchar(t);A) 1234 B) 4321 C) 1324 D) 4231(分数:1.00)A.B.C.D.二、填空题(总题数:20,分数:36.50)51.以下程序运行后的输出结果_。struct NODEint k;struct NODE *link;main()structNODEm5,*p=m,*q=m+4;int i=0;while(p!=q)p-k=+i;p+;q-k=i+;q-;q-k=i;for(i=0;i5;i+)printf(“%d“,mi.k);printf(“/n“);(分数:1.

    19、00)填空项 1:_52.程序测试分为静态分析和动态测试。其中 1 是指不执行程序,而只是对程序文本进行检查,通过阅读和讨论,分析和发现程序中的错误。(分数:2.00)填空项 1:_53.以下程序运行后的输出结果是_。int a=5;fun (int b)static int a=10;a+=b+;printf(“%d “,a);main()int c=20;fun(c);a+=c+;Printf(“%d/n“,a);(分数:1.00)填空项 1:_54.软件需求规格说明书应具有完整性、无歧义性、正确性、可验证性、可修改性等特性,其中最重要的是 1。(分数:2.50)填空项 1:_55.以下程

    20、序用来输出结构体变量 student 所占存储单元的字节数,请填空。struct stchar name20;double score;;main()struct st student;printf(“student size:%d/n“,sizeof(_);(分数:2.00)填空项 1:_56.以下程序运行后的输出结果是_。fun(int a)int b=0;static int c=3;b+;c+;return(a+b+c);main()int i,a=5;for(i=0;i3;i+)printf(“%d%d“,i,fun(a);printf(“/n“);(分数:1.00)填空项 1:_5

    21、7.以下说明语句中,_是结构体类型名。typedef structint n;char ch8;PER;(分数:2.00)填空项 1:_58.求任意一个数(用 16 位二进制码表示)的补码。main( )unsigned int a;_;scanf(“%O“,for(i=0;i3;i+)for(j=i+1;j3;j+) aj i=0;for(i=0;i3;i+)for(j=0;j3;j+) printf(“%d “,aij);printf(“/n“);(分数:1.00)填空项 1:_62.下列程序的输出结果是_。#includestdio.hmain0intx1,y1,a1,b1;switch

    22、(x)case1:switch(y)case 0:a+;break;case 1:b+;break;case2:a+;b+;break;printf(“a%d,b%d/n“,a,B);(分数:2.00)填空项 1:_63.下列程序的功能是将字符串 s 中所有的字符 c 删除。请填空。#includestdio.hmain()char s80;int i,j;gets(S);for(ij0;si!/0;i+)if(si!c)_;sj/0;puts(S);(分数:2.00)填空项 1:_64.若有以下程序main()int a=4,b=3,c=5,t=0;if(ab)t=a;a=b;b=t;if(

    23、ac)t=a;a=c;c=t;pfintf(“%d%d%d/n“,a,b,c) ; 执行后输出结果是_。(分数:1.00)填空项 1:_65.在面向对象方法中,对象之间进行通信的构造称为 1。(分数:2.00)填空项 1:_66.若有定义:int k;,以下程序段的输出结果是_。for(k=2;k6;k+,k+)printf(“#%d“,k);(分数:4.00)填空项 1:_67.数据字典是各类数据描述的集合,它通常包括 5 个部分,即数据项、数据结构、数据流、 1 和处理过程。(分数:2.00)填空项 1:_68.以下程序将数组 a 的 4 个元素和数组 b 的 6 个元素写到名为 lett

    24、.dat 的二进制文件中,请填空。#include stdioh#include stdlibhmain()FILE *fp;char a5=“1234“,b7=“abcedf“;if(fp=fopen(“_“,“wb“)=NULL) exit(0);fwrite(a,sizeof(char),4,fp);fwrite(b,_,1,fp);fclose(fp);(分数:2.00)填空项 1:_69.下列程序的输出结果是_。main()int i,sum;for(i1;i7;i+)sum+i;primf(“%d“,sum);(分数:2.00)填空项 1:_70.以下程序输出的最后一个值是_。in

    25、t ff(int n)static int f=1;f=f*n;return f;main()int i;for(i=1;i5;i+) printf(“%d/n“,ff(i);(分数:2.00)填空项 1:_二级 C 语言笔试-346 答案解析(总分:102.50,做题时间:90 分钟)一、选择题(总题数:50,分数:66.00)1.表达式0x11 的值是( )。A) 0xFFEE B) 0x71 C) 0x0071 D) 0xFFE1(分数:2.00)A. B.C.D.解析:解析 本题主要考查按位求反运算和整型常量的表示:十六进制整型常量的形式是以数字 0x或 0X 开头的十六进制字符串;按

    26、位求反运算的规则是:将二进制表示的运算对象按位取反,即将 1 变0,将 0 变 1。“0x11”即 0000 0000 0001 0001,进行按位求反运算“0x11”后为 1111 1111 1110 1110,即OxFFEE。2.有以下程序:#include stdio.hmain() char a=a, b; printf(“%c,“, +a); printf(1%c/n“, b=a+); 程序运行后的输出结果是( )。A) b,b B) b,c C) a,b D) a,c(分数:1.00)A. B.C.D.解析:解析 本题考核的知识点是运算符+的用法。程序中的第一个输出语句输出表达式+

    27、a 的值,该+a 是在使用 a 之前,先使 a 的值加 1,即 a 加 1 为字符 b,此时 a 的值为 b,所以第一个输出语句输出的值为 b,第二个输出语句中输出的 b 的值,这时 b 的值为表达式 a+的值,a+是在使用 a 之后(此时 a 的值为 b,所以赋给 b 的值为 b),使 a 的值加一,因此第二个输出的值也为 b。所以,4 个选项中选项 A)符合题意。3.若有以下定义和语句char c1=b,c2eprintf(“%d,%c/n“,c2-c1,c2-a+A); 则输出结果 ( )A2,M B3,EC2,E D输出项与对应的格式控制不一致,输出结果不确定(分数:1.00)A.B.

    28、 C.D.解析:4.设变量 x 和 y 均已正确定义并赋值,以下 if 语句中,在编译时将产生错误信息的是_。(A) if(x+);(B) if(xyy!=0);(C) if(xy)x- else y+;(D) if(y0) ; else x+;(分数:1.00)A.B.C. D.解析:5.以下叙述中正确的是( )。A) 全局变量的作用域一定比局部变量的作用域范围大B) 静态(static)类别变量的生存期贯穿于整个程序的运行期间C) 函数的形参都属于全局变量D) 未在定义语句中赋初值的 auto 变量和 static 变量的初值都是随机值(分数:1.00)A.B. C.D.解析:解析 若在函

    29、数中定义与全局变量名字相同局部变量,则全局变量在该函数中将不起作用,因此全局变量的作用域并不一定比局部变量的作用域大,故选项 A 不正确;静态变量一旦定义,将在整个程序的运行期间都存在,故选项 B 正确;函数的形参只在函数调用的时候分配存储空间,在退出函数时收回存储空间,因此是局部的,故选项 C 不正确;没有赋值的 auto 型变量的初值是随机的,没有赋值的 static型变量的初值是 0,故选项 D 不正确。所以,B 选项为所选。6.在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是A) 并 B) 交 C) 投影 D) 笛卡儿乘积(分数:1.00)A.B. C.D.解析:解析 在

    30、关系运算中,“交”的定义如下:设 R1 和 R2 为参加运用算的两个关系,它们具有相同的度 n,且相对应的属性值取自同个域,则 R1R2 为交运算,结果仍为度等于 n 的关系,其中的元组既属于 R1 又属于 R2。根据定义可知,不改变关系表的属性个数但能减少元组个数的是交运算,故本题答案为 B)。7.以下叙述中正确的是( )。A) break 语句只能用于 switch 语句体中B) continue 语句的作用是:使程序的执行流程跳出包含它的所有循环C) break 语句只能用在循环体内和 switch 语句体内D) 在循环体内使用 break 语句和 continue 语句的作用相同(分数

    31、:1.00)A.B.C. D.解析:解析 本题主要考查的知识点是:break 和 continue 语句。break 语句可以用于 switch 或循环体内,作用是跳出 switch 或循环体。continue 语句只能用于循环体内,作用是结束当前循环,进入下次循环。故本题中只有选项 C) 是正确的。8.应用数据库的主要目的是为了 ( )A解决数据的保密问题B解决数据的共享问题C解决数据量大的问题D解决数据的完整性问题(分数:1.00)A.B.C.D. 解析:9.如下程序的运行结果是_。#includestdio.hmain()int x=y=3,z=1;printf (“%d%d/n“,(+

    32、x,y+),z+2);A) 3 4 B) 4 2 C) 4 3 D) 3 3(分数:1.00)A.B.C.D. 解析:10.下列选项中不属于结构化程序设计方法的是_。A) 自顶向下 B) 逐步求精C) 模块化 D) 可复用(分数:2.00)A.B.C.D. 解析:解析 结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化,限制使用goto 语句。11.能将高级语言编写的目标程序转换为可执行的应用程序的是_。A) 连接程序 B) 解释程序C) 编译程序 D) 编辑程序(分数:1.00)A. B.C.D.解析:12.有以下程序:struct STUchar name10;int nu

    33、m;float TotalScore;void f(struct STU*P)struct STU s2=“SunDan“,20044,550,“Penghua“,20045,537,*q=s;+P;+q;*P=*q;main()struct STU s3=“YangSan“,20041,703),“LiSiGuo“,20042,580;f(s);printf(“%s%d%3.0f/n“,s1.name,s1.num,s1.TotalScore);程序运行后的输出结果是_。A) SunDan 20044 550 B) Penghua 20045 537C) LiSiGuo 20042 580

    34、D) SunDan 20041 703(分数:2.00)A.B. C.D.解析:解析 本题将结构体数组 s 的首地址传给了结构体指针变量 p,并在函数 f 中改变了指针变量 p所指向的第二个结构体中的成员变量,这一改变,也就改变了主函数中 s1的成员变量。13.在一个容量为 15 的循环队列中,若头指针 front=6,尾指针 rear=14,则该循环队列中元素个数为( )。A) 8 B) 9 C) 14 D) 15(分数:1.00)A. B.C.D.解析:解析 设循环队列的容量为 m,如果 rearfront,则循环队列中的元素个数为 rear-front;如果 rearfront,则循环队

    35、列中的元素个数为 m+(rear-front)。根据题意,本题中,front=6,rear=14,即 rearfront,因此,循环队列中的元素个数为 rear-front=14 -6=8。本题的正确答案为 8。14.下列叙述中正确的是A) 软件测试的目的是确定程序中错误的位置B) 软件测试的目的是发现程序中的错误C) 软件调试的目的是发现程序中的错误D) 软件调试后一般不需要再测试(分数:1.00)A.B. C.D.解析:解析 软件测试的目的是为了发现程序中的错误,而软件调试的任务是诊断和改正程序中的错误,改正以后还需要再测试。15.当前在数据库管理系统的研究方面,较活跃的是 ( )A关系数

    36、据库B网状数据库C空间数据库D层次数据库(分数:1.00)A.B.C. D.解析:16.有以下程序main()int k=5;while(-k) printf(“%d“,k-=3);printf(“/n“);执行后的输出结果是_。A) 1 B) 2 C) 4 D) 死循环(分数:1.00)A. B.C.D.解析:评析:此题中首先给 k 赋初值 5,执行 while 语句:中的表达式“-k”,k 先自行减 1 结果为 4,满足 while 执行条件输出:k=k-3=4-3=1;此时输出结果为 1。返回执行 while 语句,重复上面的操作,while 后的表达式为 0,退出循环,所以最后的输出结

    37、果为 1。17.以下程序的输出结果是_。#includesulio.h#defme SQR(x)x*xmain()int a,k=3;a=+SQR(k+1);printf(“%d/n“,a) ;A) 8 B) 9 C) 17 D) 20(分数:2.00)A.B. C.D.解析:解析 本题宏替换中遇到形参 x 以实参 k+l 代替,其他字符不变。SQR(k+1)展开后应为字符串k+l*k+l。18.若有如下定义:int s3则下面表达式中不能代表数组元素 s1的地址的是 ( )A) ,则下列对赋值语句*p=a;和 p=的正确解释为( )。A) 两个语句都是将变量 a 的值赋予变量 pB) *p=

    38、a 是使 p 指向变量 a,而 p=for(i=1;i3;i+)for(j=0;j=i;j+)s+=aij;printf(“%d/n“,s);该程序的输出结果是_。A) 18 B) 19 C) 20 D) 21(分数:2.00)A. B.C.D.解析:解析 题中的外循环只执行了 2 次:第 1 次:a10=3,a11=4,所以 s=7;第 2 次:a20=5,a21=6,a22=0,所以 s=7+5+6+0=18。27.x,y,z 被定义为 int 型变量,若从键盘给 x,y,z 输入数据,正确的输入语句是A) INPUTx、y、z; B) scanf(“%d%d%d“,int x,y;x=1

    39、.2; y=(x+3.8)/5.0:printf“%d/n“,d*y;A) 3 B) 3.2 C) O D) 3.07(分数:1.00)A.B.C. D.解析:解析 考查复合的赋值表达式。本题中,程序先执行语句 x=12;,根据赋值运算的类型转换规则,先将 double 型的常量 12 转换为 int 型,即取整为 1,然后将 1 赋值给变量 x。接下来执行语句 y=(x+3.8) /5.0;,根据运算符的优先级,先计算小括号内,再计算除法,最后执行赋值运算。小括号内的运算过程:先将整型变量 x 的值 1 转换为 double 型 1.0,然后与 3.8 进行加法运算,得到中间结果 4.8。接

    40、着进行除法运算 4.8/5.0,其结果小于 1.0,这里没有必要计算出精确值,因为接着进行赋值运算,赋值号左边变量 y 的类型为整型,于是对这个小于 1.0 的中间结果进行取整,结果为 0,于是变量 y 的值为 0,d*y 的也为 0。故本题应选择 C) 。30.下列叙述中正确的是A) 在面向对象的程序设计中,各个对象之间具有密切的联系B) 在面向对象的程序设计中,各个对象都是公用的C) 在面向对象的程序设计中,各个对象之间相对独立,相互依赖性小D) 上述三种说法都不对(分数:2.00)A.B.C. D.解析:解析 本题考查了面向对象的基本概念。解题要点 在面向对象程序设计中所使用的对象,其数

    41、据和操作是作为平等伙伴出现的。因此,对象具有很强的自含性,此外,对象所固有的封装性,使得对象的内部实现与外界隔离,具有较强的独立性。考点链接 对象的定义。31.下面不属于软件工程的 3 个要素的是( )。A) 工具 B) 过程 C) 方法 D) 环境(分数:2.00)A.B.C.D. 解析:解析 软件工程包括 3 个要素,即方法、工具和过程。32.运行下面的程序时,从键盘输入字母 H,则输出结果是#include stdio.hmain()char ch;ch=getchar();switch(ch)case H:printf(“Hello!/n“);case G:printf(“Good m

    42、oming!/n“);default:printf(“Bye_Bye!/n“);A) Hello! B) Hello!Good Moring!C) Hello! Good morning!Bye_Bye!D) Hello!Bye_Bye!(分数:1.00)A.B.C. D.解析:解析 本题主要对 switch 语句进行了考查。switch 语句的执行过程为:进入 switch 结构后,对条件表达式进行运算,然后从上至下寻找与条件表达式值相匹配的 case,以此作为入口,执行 switch 结构中后面的各语句,直到遇到 break 语句,则跳出 switch 语句,如果各 case 都不匹配时,

    43、则执行default 后面的语句。本题中 ch 为字符H,所以 caseH条件中的语句将被执行,由于没有 break 语句,所以 caseG后的语句也被执行,由于同样没有 break 语句,所以 default 后的语句也被执行了。33.下列程序中函数 son()的功能是对数组 a 中的数据进行由大到小的排序。#includestdio.hvoid sort(int a,int n)int i,j,t;for(i=0;in-1;i+)for(j=i+1;jn;j+)if(aiaj)t=ai;ai=aj;aj=t;main()int a10=1,2,3,4,5,6,7,8,9,10,i;sort

    44、(for(i=0;i10;i+)printf(“%d,“,ai);程序运行后的输出结果是( )。A) 1,2,3,4,5,6,7,8,9,10, B) 10,9,8,7,6,5,4,3,2,1,C) 1,8,7,6,5,4,3,2,9,10, D) 1,2,10,9,8,7,6,5,4,3,(分数:2.00)A.B.C. D.解析:解析 本程序中的函数 sort(int a,int n)实现的功能是将数组 a 中的前 n 个数进行从大到小排序。sort(&a1,7)是将数组中从 a1到 a7这 7 个数进行从大到小排序,其他数不变。34.如下程序的输出结果是_。#includestdio.hmain()int x=1,a=3,b=4;switch(x)case 0:a-;case 1:b-;case 2:a-;b-;printf(“a=%d,b=%d/n“,a,b);A) a=2,b=2 B) a=3,b=3 C) a=1,b=2 D) a=3,b=2(分数:1.00)A. B.C.D.


    注意事项

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




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

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

    收起
    展开