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

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

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

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

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

    1、二级 C 语言笔试-426 及答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.下列叙述中正确的是_。A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构(分数:1.00)A.B.C.D.2.下面的描述中,符合结构化程序设计风格的是( )。A) 使用顺序、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B) 模块只有一个入口,可以有多个出口C) 注重提高程序的执行效率D) 不使用 goto 语句(分数:1.00)A.B.C.D.3.设计程序时,应

    2、采纳的原则之一是( )。A) 程序的结构应有助于读者的理解 B) 限制 GOTO 语句的使用C) 减少或取消注释行 D) 程序越短越好(分数:2.00)A.B.C.D.4.下列关于线性表的叙述中,不正确的是( )。 A) 线性表可以是空表 B) 线性表是一种线性结构 C) 线性表的所有结点有且仅有一个前件和后件 D) 线性表是由 n 个元素组成的一个有限序列(分数:2.00)A.B.C.D.5.下列叙述中,不属于软件需求规格说明书的作用的是_。A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需

    3、求分析(分数:2.00)A.B.C.D.6.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的是_。A) 提高耦合性降低内聚性有利于提高模块的独立性B) 降低耦合性提高内聚性有利于提高模块的独立性C) 耦合性是指个模块内部各个元素间彼此结合的紧密程度D) 内聚性是指模块间互相连接的紧密程度(分数:2.00)A.B.C.D.7.需求分析阶段的任务是( )。A) 软件开发方法 B) 软件开发工具C) 软件开发费用 D) 软件系统功能(分数:2.00)A.B.C.D.8.以下叙述中错误的是_。A) 用户所定义的标识符允许使用关键字B) 用户所定义的标识符应尽量做到“见名知意”C) 用户所定

    4、义的标识符必须以字母或下划线开头D) 用户所定义的标识符中,大、小写字母代表不同标识(分数:2.00)A.B.C.D.9.下列方法中,属于白盒法设计测试用例的方法的是( )。 A) 错误推测 B) 因果图 C) 基本路径测试 D) 边界值分析(分数:2.00)A.B.C.D.10.下列叙述中错误的是_。(A) 在数据库系统中,数据的物理结构必须与逻辑结构一致(B) 数据库技术的根本目标是要解决数据的共享问题(C) 数据库设计是指在已有数据库管理系统的基础上建立数据库(D) 数据库系统需要操作系统的支持(分数:2.00)A.B.C.D.11.下列叙述中错误的是_。(A) 一个 C 语言程序只能实

    5、现一种算法(B) C 程序可以由多个程序文件组成(C) C 程序可以由一个或多个函数组成(D) 一个 C 函数可以单独作为一个 C 程序文件存在(分数:1.00)A.B.C.D.12.设在 C 语言中,float 类型数据占 4 个字节,则 double 类型数据占( )个字节。A) 1 B) 2 C) 8 D) 4(分数:2.00)A.B.C.D.13.若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是( )。w2,x3,y4,z5;m(wx)?w:x;m(mz)?m:z;m(my)?m:y;A) 2 B) 3 C) 5 D) 4(分数:1.00)A.B.C.D.1

    6、4.下列程序的执行结果是( )。#includestdio.hmain()int a,b,c;a=b=2;c=(a+)-1;printf(“%d,%d“,a,c);c+=-a+(+b);printf(“%d,%d“,a,c);A) 3,14,1 B) 3,14,2 C) 2,04,1 D) 2,14,1(分数:2.00)A.B.C.D.15.若有定义 int a=5, b=7;,则表达式 a%=(b%2)运算后,a 的值为( )。A) 0 B) 1 C) 11 D) 3(分数:1.00)A.B.C.D.16.已知 i、j、k 为 int 型变量,若要从键盘输入 2、3、4CR,使 I、j、k

    7、的值分别为 2、3、4,下列正确的输入语句是( )。A) scanf(“%3d,%3d,%3d“,float printF;printf(“请输入 2 个数:“);scanf(“%d %f“,printf(“%d%f/n“,Case,printF);以下说法正确的是( )。A) 定义浯句出错,Case 是关键字,不能用作用户自定义标识符,printF 不能用作用户自定义标识符B) 定义语句出错,Int 无法被识别C) 定义语句无错,scanf 不能作为输入函数使用D) 定义语句无错,printf 不能输出 Case 的值(分数:1.00)A.B.C.D.18.以下程序的运行结果是int k=0

    8、;void fun(int m)m+=k;k+=m;printf(“m=%d k=%d“,m,k+);main()int i=4;fun(i+); printf(“i=%d k=%d/n“,i,k);A) m=4 k=5 i=5 k=5 B) m=4 k=4 i=5 k=5C) m=4 k=4 i=4 k=5 D) m=4 k=5 i=4 k=5(分数:1.00)A.B.C.D.19.有以下程序:#include stdio, hmain ( )int k=5,n =0;while ( k0)switch (k)default: break;case 1 : n+ =k;case 2 :cas

    9、e3 : n+ =k;k-;printf( “% d /n“ ,n);程序运行后的输出结果是( )。A) 0 B) 4 C) 6 D) 7(分数:1.00)A.B.C.D.20.有以下程序main()int k=5,n=0;while(k0)switch(k)default: break;case 1: n+=k;case 2:case 3: n+=k;k-;printf(“%d/n“,n);程序运行后的输出结果是_。(A) 0(B) 4(C) 6(D) 7(分数:1.00)A.B.C.D.21.有以下程序#includemain()int i,j;for(i=3;i=1;i-)for(j=1

    10、;j=2;j+) printf(“%d “,i+j);printf(“/n“);程序运行的结果是_。(A) 2 3 4 3 4 5(B) 4 3 2 5 4 3(C) 2 3 3 4 4 5(D) 4 5 3 4 2 3(分数:2.00)A.B.C.D.22.下列程序的运行结果是( )。#includestdio.hmain()int x=5,a=1,b=2,c=5,d=0;if(aB) if(b!=3)if(!C) x=1;elseif(D) x=1;else x=-1;printf(“%d“,x);A) -1 B) 0C) 1 D) 不确定的值(分数:2.00)A.B.C.D.23.以下程

    11、序段中的变量已正确定义:for(i=0;i4;i+,i+)for(k=1;k3;k+);printf(“*“);程序段的输出结果是_。A) * B) * C) * D) *(分数:2.00)A.B.C.D.24.以下程序段的输出结果是 _。main()char s110,s210,s310;scanf(“%s“,s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);输入数据如下: (此处CR代表回车符)aaaCRbbbCRA) aaabbbB) aaabbbC) aaa/0bbb/0D) aaabbb(分数:2.00)A.B.C.D.25.以下选项中

    12、值为 1 的表达式是_。(A) 1-0(B) 1-/0(C) 1-0(D) /0-0(分数:2.00)A.B.C.D.26.当把以下四个表达式用做 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。A) k%2 B) k%2=1 C) (K%2)!=0 D) !k%2=1(分数:1.00)A.B.C.D.27.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,9;则下面语句的输出结果是( )。for(i=0; i3; i+)printf(“%d“,xi2-i);A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9(分数

    13、:2.00)A.B.C.D.28.有以下程序:#includestdio.hmain()int a=1,2,3,4,y,*p=a3;-p;y=*p;printf(“y=%d/n“,y);程序的运行结果是_。A) y=0 B) y=1 C) y=2 D) y=3(分数:2.00)A.B.C.D.29.设有定义:int a=2,b=3,c=4;,则下列选项中值为 0 的表达式是( )。A) (!a=1)p=for(i=0;i9;i+)pi=i;for(i=0;i3;i+)printf(“%d“,a1i);程序运行后的输出结果是_。A) 0 1 2 B) 1 2 3 C) 2 3 4 D) 3 4

    14、5(分数:1.00)A.B.C.D.32.有以下程序:int f1(int x, int y) return xy? x:y; int f2(int x, int y) return xy? y:x; main()int a=4, b=3, c=5, d=2, e, f, g;e=f2(f1(a, b), f1(c, d); f=f1(f2(a, b) , f2(c, d);g=a+b+c+d-e-f;printf(“% d, %d, %d/n“, e, f, g);程序运行后的输出结果是_。A) 4, 3, 7 B) 3, 4, 7 C) 5, 2, 7 D) 2, 5, 7(分数:2.00

    15、)A.B.C.D.33.执行以下语句段后,xy 的值是( )。 int*pt,xy; xy=200; pt= strcpy(p+strlen(q),q);printf(“%d /n“,sizeof(p);程序运行后的输出结果是_。(A) 9(B) 6(C) 11(D) 7(分数:2.00)A.B.C.D.36.有以下程序#include stdiohint f(int x)int y;if(x=0|x=1) return(3);y=x*x-f(x-2);return y;main()int z;z=f(3); printf(“%d/n“,z);程序的运行结果是A) 0 B) 9 C) 6 D)

    16、 8(分数:2.00)A.B.C.D.37.若有结构体定义:struct stuint num;char sex;int age;al,a2;则下列语句中错误的是( )。A) printf(“%d,%C,%d“,a1); B) a2.agea1.age;C) a1.age+; D) a1.num5;(分数:2.00)A.B.C.D.38.有以下程序:#includestdio.hstruct ttint x;struct tt *y; *p;struct tt a4=20,a+1,15,a+2,30,a+3,17,amain()int i;p=a;for(i=1;i=2;i+)printf(“

    17、%d“,p-x);p=p-y;程序的运行结果是_。A) 20,30, B) 30,17C) 15,30 D) 20,15(分数:2.00)A.B.C.D.39.有以下程序void fun(int *a, int i, int j)int t;if(ij)t=ai; ai=aj; aj=t;i+ ; j- ;fun(a,i,j);main()int x=2,6,1,8,i;fun(x,0,3);for(i=0;i4; i+)printf(“%2d“,xi);程序运行后的输出结果是_。A) 1 2 6 8 B) 8 6 2 1 C) 8 1 6 2 D) 8 6 1 2(分数:1.00)A.B.C

    18、.D.40.已知函数的调用形式:fread(buf,size,count,fp),参数 buf 的含义是( )。A) 一个整型变量,代表要读入的数据项总数B) 一个文件指针,指向要读的文件C) 一个指针,指向要读入数据的存放地址D) 一个存储区,存放要读的数据项(分数:2.00)A.B.C.D.二、填空题(总题数:15,分数:37.50)41.如果一个工人可管理多个设施,而一个设施只可被一个工人管理,则实体“工人”与实体“设备”之间存在U /U联系。(分数:2.00)填空项 1:_42.软件开发过程主要分为需求分析、设计、编码与测试四个阶段,其中 1 阶段产生“软件需求规格说明书”。(分数:4

    19、.00)填空项 1:_43.设 Y 是 int 型变量,请写出判断 Y 为奇数的关系表达式U /U。(分数:2.00)填空项 1:_44.以下程序中,函数 SumColumMin 的功能是:求出 M 行 N 列二维数组每列元素中的最小值,并计算它们的和值,和值通过形参传回主函数输出。请填空,#include stdio.h#define M 2#define N 4void SumColumMin ( int a M N ,int* sum)int i,j,k,s=0;for(i =0;iN;i + )k=O;for(j=1 ;j M;j + )if(aki aji) k=j;s+:U /U;

    20、U /U=s;main( )int xM N=3,2,5,1,4,1,8,3,s;SumColumMin(U /U);printf( “%d /n“ ,s);(分数:2.00)填空项 1:_45.改变量已正确定义为整型,则表达式 n=i=2,+i,i+的值为U /U。(分数:1.50)填空项 1:_46.以下程序运行后的输出结果是_。 main() int a=3,b=4,c=5,t=79; if(ba break;case 1:b+; break;case2: a+: b+; break;printf(“a=%d,b=%d/n“,a,b);(分数:4.00)填空项 1:_48.以下程序运行后

    21、的输出结果是_。 #includestdio.h main() int i, n=0, 0, 0, 0, 0; for(i=1; i=4; i+) ni=ni-1 *3+1; printf(“%d“, ni); (分数:2.00)填空项 1:_49.函数调用语句:“fgets(buf,n,fp);”从 fp 指向的文件中读入,n 个字符放到 buf 字符数组中,函数返回值为 1。(分数:2.00)填空项 1:_50.以下程序的功能是:求出数组 x 中各相邻两个元素的和依次存放到 a 数组中,然后输出。请填空。main( )int x10,a9,i;for(i=0;i10;i+) scanf(“

    22、%d“,xi);for( 11 ;i10;i+)ai-1=xi+ 12 ;for(i=0;i9;i+) printf(“%d“,ai);printf(“);(分数:4.00)填空项 1:_51.以下程序中,fun 函数的功能是求 3 行 4 列二维数组每行元素中的最大值。请填空。#include stdio, hvoid fun(int,int,int( * )4 ,int* );main ( )int a3 4 = 12,41,36,28, 19,33,15,27, 3,27,19,1 ,b3 ,i;fun(3,4,a,b);for(i =0;i 3;i + ) printf( “%4d“

    23、,bi );prinff(“ /n“ );void fun(int m,int n,int ar 4 ,int* br)int i,j,x;for(i =0;i m;i + )x = ari 0 ;for(j = 0;j n;j + ) if(x ari j ) x = ari j;U /U=x;(分数:2.00)填空项 1:_52.以下程序的输出结果是U /U。#include stdioh#deftne JFT(x)x*xmain()int a,k=3;a=+JFT(k+1);printf(“%d“,a);(分数:2.00)填空项 1:_53.执行以下程序的输出结果是_。#includes

    24、tdio.h#define M 5#define N M+Mmain()int k;k=N*N*5;printf(“%d/n“,k);(分数:2.00)填空项 1:_54.设有下列的程序段;char str=“Hello“;char *ptr;ptr=str;执行上面的程序段后,*(ptr+5)的值为_。(分数:2.00)填空项 1:_55.有以下程序:#includestdio.hfun(int x)if(x/20)fun(x/B);printf(“%d“,x);main()fun(6);printf(“/n“);程序运行后的输出结果是_。(分数:4.00)填空项 1:_二级 C 语言笔试-

    25、426 答案解析(总分:103.50,做题时间:90 分钟)一、选择题(总题数:40,分数:66.00)1.下列叙述中正确的是_。A) 有一个以上根结点的数据结构不一定是非线性结构B) 只有一个根结点的数据结构不一定是线性结构C) 循环链表是非线性结构D) 双向链表是非线性结构(分数:1.00)A.B. C.D.解析:解析 本题考查的知识点是数据结构。线性表的链式存储结构称为线性链表,是线性结构,而循环链表和双向链表都是在线性链表的基础上演化而来的,因此,选项 C、D 错误。线性结构必须有且只有一个根结点,因此,选项 A 错误。2.下面的描述中,符合结构化程序设计风格的是( )。A) 使用顺序

    26、、选择和重复(循环)三种基本控制结构表示程序的控制逻辑B) 模块只有一个入口,可以有多个出口C) 注重提高程序的执行效率D) 不使用 goto 语句(分数:1.00)A. B.C.D.解析:解析 结构化程序设计方法的四条原则是:自顶向下;逐步求精;模块化;限制使用 goto 语句。“自顶向下”是指在程序设计时,先考虑总体,后考虑细节,先考虑全局目标,后考虑局部目标;“逐步求精”是指对复杂问题应设计一些子目标作过渡,逐步细节化;“模块化”是指一个复杂问题由若干稍简单的问题构成,解决这个复杂问题的程序也应由若干稍简单问题的小程序组成。3.设计程序时,应采纳的原则之一是( )。A) 程序的结构应有助

    27、于读者的理解 B) 限制 GOTO 语句的使用C) 减少或取消注释行 D) 程序越短越好(分数:2.00)A. B.C.D.解析:解析 程序设计的风格主要强调程序的简单、清晰和可理解性,以便读者理解。程序滥用 GOTO 语句将使程序流程无规律,可读性差;添加注释行有利于对程序的理解,不应减少或取消,程序的长短要依据实际的需要而定,并不是越短越好。4.下列关于线性表的叙述中,不正确的是( )。 A) 线性表可以是空表 B) 线性表是一种线性结构 C) 线性表的所有结点有且仅有一个前件和后件 D) 线性表是由 n 个元素组成的一个有限序列(分数:2.00)A.B.C. D.解析:解析 线性表是一种

    28、线性结构,由 n(n0)个元素组成,所以线性表可以是空表。但是在线性表中,第一个结点没有前件,最后一个结点没有后件,其他结点有且只有一个前件和后件。所以选项 C)是错误的。5.下列叙述中,不属于软件需求规格说明书的作用的是_。A) 便于用户、开发人员进行理解和交流B) 反映出用户问题的结构,可以作为软件开发工作的基础和依据C) 作为确认测试和验收的依据D) 便于开发人员进行需求分析(分数:2.00)A.B.C.D. 解析:评析 软件需求规格说明书是需求分析阶段的最后成果,是软件开发中的重要文档之一。它不能方便开发人员进行需求分析。6.耦合性和内聚性是对模块独立性度量的两个标准。下列叙述中正确的

    29、是_。A) 提高耦合性降低内聚性有利于提高模块的独立性B) 降低耦合性提高内聚性有利于提高模块的独立性C) 耦合性是指个模块内部各个元素间彼此结合的紧密程度D) 内聚性是指模块间互相连接的紧密程度(分数:2.00)A.B. C.D.解析:知识点 软件设计的基本原理评析 (1)内聚性:内聚性是个模块内部各个元素间彼此结合的紧密程度的度量。(2)耦合性;耦合性是模块间互相连接的紧密程度的度量。因此选项 c、D 是错误的。在程序结构中,各模块的内聚性越强,则耦合性越弱。般较优秀的软件设计,应尽量做到内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性,因此选项 A 是错误

    30、的;应该降低耦合性提高内聚性,所以选项 B是正确的。7.需求分析阶段的任务是( )。A) 软件开发方法 B) 软件开发工具C) 软件开发费用 D) 软件系统功能(分数:2.00)A.B.C.D. 解析:解析 需求分析是软件定义时期的最后一个阶段,它的基本任务就是详细调查现实世界要处理的对象,充分了解原系统的工作概况,明确用户的各种需求,然后在这些基础上确定新系统的功能。8.以下叙述中错误的是_。A) 用户所定义的标识符允许使用关键字B) 用户所定义的标识符应尽量做到“见名知意”C) 用户所定义的标识符必须以字母或下划线开头D) 用户所定义的标识符中,大、小写字母代表不同标识(分数:2.00)A

    31、. B.C.D.解析:解析 在 C 语言中,用户所定义的标识符不能使用关键字。9.下列方法中,属于白盒法设计测试用例的方法的是( )。 A) 错误推测 B) 因果图 C) 基本路径测试 D) 边界值分析(分数:2.00)A.B.C. D.解析:解析 白盒测试方法也称为结构测试或逻辑测试,主要方法有逻辑覆盖测试、基本路径测试等。10.下列叙述中错误的是_。(A) 在数据库系统中,数据的物理结构必须与逻辑结构一致(B) 数据库技术的根本目标是要解决数据的共享问题(C) 数据库设计是指在已有数据库管理系统的基础上建立数据库(D) 数据库系统需要操作系统的支持(分数:2.00)A. B.C.D.解析:

    32、11.下列叙述中错误的是_。(A) 一个 C 语言程序只能实现一种算法(B) C 程序可以由多个程序文件组成(C) C 程序可以由一个或多个函数组成(D) 一个 C 函数可以单独作为一个 C 程序文件存在(分数:1.00)A. B.C.D.解析:12.设在 C 语言中,float 类型数据占 4 个字节,则 double 类型数据占( )个字节。A) 1 B) 2 C) 8 D) 4(分数:2.00)A.B.C. D.解析:解析 在 C 语言中各种数据类型在内存中所占的字节数和机器的指令周期有关,若 int 类型占 2个字节,则 float 类型数据占 4 个字节,double 类型数据占 8

    33、 个字节。13.若 w、x、y、z、m 均为 int 型变量,则执行下列的语句后 m 的值是( )。w2,x3,y4,z5;m(wx)?w:x;m(mz)?m:z;m(my)?m:y;A) 2 B) 3 C) 5 D) 4(分数:1.00)A. B.C.D.解析:解析 条件表达式“a?b:c”的含义是:当 a 为真时,其值等于表达式 b 的值;当 a 为假时,其值等于表达式 c 的值。表达式运算过程:第 1 个表达式:w2x3 为真,所以返回 w 的值,即 mw2;第 2 个表达式:m2z5 为真,所以返回 m 的值,即 m2;第 3 个表达式:w2y4 为真,所以返回 m 的值,即m2。14

    34、.下列程序的执行结果是( )。#includestdio.hmain()int a,b,c;a=b=2;c=(a+)-1;printf(“%d,%d“,a,c);c+=-a+(+b);printf(“%d,%d“,a,c);A) 3,14,1 B) 3,14,2 C) 2,04,1 D) 2,14,1(分数:2.00)A. B.C.D.解析:解析 本题主要考查自加运算符(+、-)的使用。前缀变量“+i、-i”,在使用 i 之前,先使 i 的值加 1 或者减 1,再使用此时的表达式的值参与运算;后缀变量“i+、i-”,先使用此时的表达式的值参与运算,在使用 i 之后,再使 i 的值加 1 或者减

    35、 1。本题中计算表达式 c=(a+)-1 时先使用 a 的值进行计算,结果为 c=2-1=1,然后将 a 的值加 1,即执行完此语句后 a 的值是 3;表达式 c+=-a+(+b)等价于 c=c(-a+)+(+b),c=1+(-3)+3=1,此时 a=4,b=3。15.若有定义 int a=5, b=7;,则表达式 a%=(b%2)运算后,a 的值为( )。A) 0 B) 1 C) 11 D) 3(分数:1.00)A. B.C.D.解析:解析 本题考查“%”运算符的使用。运算符“%”要求两个运算对象都为整型,其结果是整数除法的余数。本题中表达式 a%=(b%2)等价于 a=a%(b%2)=5%

    36、(7%2)=5%1=0。16.已知 i、j、k 为 int 型变量,若要从键盘输入 2、3、4CR,使 I、j、k 的值分别为 2、3、4,下列正确的输入语句是( )。A) scanf(“%3d,%3d,%3d“,float printF;printf(“请输入 2 个数:“);scanf(“%d %f“,printf(“%d%f/n“,Case,printF);以下说法正确的是( )。A) 定义浯句出错,Case 是关键字,不能用作用户自定义标识符,printF 不能用作用户自定义标识符B) 定义语句出错,Int 无法被识别C) 定义语句无错,scanf 不能作为输入函数使用D) 定义语句无

    37、错,printf 不能输出 Case 的值(分数:1.00)A.B. C.D.解析:解析 C 语亩足一种大小写敏感的语言,因此 Int 应为 int,而 Case printF 则可以使用。18.以下程序的运行结果是int k=0;void fun(int m)m+=k;k+=m;printf(“m=%d k=%d“,m,k+);main()int i=4;fun(i+); printf(“i=%d k=%d/n“,i,k);A) m=4 k=5 i=5 k=5 B) m=4 k=4 i=5 k=5C) m=4 k=4 i=4 k=5 D) m=4 k=5 i=4 k=5(分数:1.00)A.

    38、B. C.D.解析:解析 由于在 main()函数中,变量 i=4,所以就调用 fun(4),则输出“m=4k=4”。然后变量 k 增1 等于 5,变量 i 增 1 等于 5,所以 main()函数的“pdntf(“i=%d k=%d/ n“,i,k);”语句输出“i=5 k=5”。19.有以下程序:#include stdio, hmain ( )int k=5,n =0;while ( k0)switch (k)default: break;case 1 : n+ =k;case 2 :case3 : n+ =k;k-;printf( “% d /n“ ,n);程序运行后的输出结果是( )

    39、。A) 0 B) 4 C) 6 D) 7(分数:1.00)A.B.C.D. 解析:解析 在程序中,当 L 的值为 5 和 4 时,case 都没有与其匹配的值,所以执行 default 语句;当k=3 时,执行 n+=k;得 n=3;当 L=2 时,执行 case 2:然后顺序执行 case 3:n+ =k;得 n =5;当 k=1 时,执行 case 1:n+=k;得 n=6,然后顺序执行 case 2:和 case 3:n+=k;使得 n=7。20.有以下程序main()int k=5,n=0;while(k0)switch(k)default: break;case 1: n+=k;ca

    40、se 2:case 3: n+=k;k-;printf(“%d/n“,n);程序运行后的输出结果是_。(A) 0(B) 4(C) 6(D) 7(分数:1.00)A.B.C.D. 解析:21.有以下程序#includemain()int i,j;for(i=3;i=1;i-)for(j=1;j=2;j+) printf(“%d “,i+j);printf(“/n“);程序运行的结果是_。(A) 2 3 4 3 4 5(B) 4 3 2 5 4 3(C) 2 3 3 4 4 5(D) 4 5 3 4 2 3(分数:2.00)A.B.C.D. 解析:22.下列程序的运行结果是( )。#include

    41、stdio.hmain()int x=5,a=1,b=2,c=5,d=0;if(aB) if(b!=3)if(!C) x=1;elseif(D) x=1;else x=-1;printf(“%d“,x);A) -1 B) 0C) 1 D) 不确定的值(分数:2.00)A. B.C.D.解析:解析 本题考查 if else 语句。第 1 个 if 语句,先判断条件,发现 ab 条件成立,执行下列的语句;第 2 个 if 语句,先判断条件,发现 b!=3 条件成立,执行下列的语句:第 3 个 if 语句,先判断条件,c=5,则!c 条件不成立,执行与其配对的 else 语句:第 4 个 if 语句

    42、,先判断条件,d=0,条件不成立,则 x=-1,结束循环。23.以下程序段中的变量已正确定义:for(i=0;i4;i+,i+)for(k=1;k3;k+);printf(“*“);程序段的输出结果是_。A) * B) * C) * D) *(分数:2.00)A.B.C.D. 解析:解析 本题考杏 for 循环语句中嵌套 for 循环语句的情况。由于第一个 for 语句没有具体的执行语句,故当 i0 时,k1 时,执行一次语句 printf(“*”);,程序便会跳出整个循环,故运行结果为一个星号。24.以下程序段的输出结果是 _。main()char s110,s210,s310;scanf(

    43、“%s“,s1);gets(s2);gets(s3);puts(s1);puts(s2);puts(s3);输入数据如下: (此处CR代表回车符)aaaCRbbbCRA) aaabbbB) aaabbbC) aaa/0bbb/0D) aaabbb(分数:2.00)A.B. C.D.解析:评析 scanf 是标准输入函数,在输入字符串 aaa 时,实际的内容为“aaa/0”,“/0”是由系统自动加入的;gets 的功能是从终端读入一行字符,即一直读到换行符为止,并由系统自动以“/0”代替换行符。25.以下选项中值为 1 的表达式是_。(A) 1-0(B) 1-/0(C) 1-0(D) /0-0(

    44、分数:2.00)A.B. C.D.解析:26.当把以下四个表达式用做 if 语句的控制表达式时,有一个选项与其他三个选项含义不同,这个选项是( )。A) k%2 B) k%2=1 C) (K%2)!=0 D) !k%2=1(分数:1.00)A.B.C.D. 解析:解析 本题选项 A)、B)、C)中表达式用做 if 语句控制表达式时,其值一致,即判断 k 的值是否为奇数,若为奇数,其表达式为真,否则为假;而选项 D)的表达式! k%2=1 相当于 (! k)%2=1,只要 k的值不为 0,则此表达式的值均为假。27.定义如下变量和数组:int i;int x33=1,2,3,4,5,6,7,8,

    45、9;则下面语句的输出结果是( )。for(i=0; i3; i+)printf(“%d“,xi2-i);A) 1 5 9 B) 1 4 7 C) 3 5 7 D) 3 6 9(分数:2.00)A.B.C. D.解析:命题目的 考查二维数组元素的引用方法。解题要点 题中通过二维数组的行、列下标来定位元素的位置,从而实现元素的引用。考点链接 二维数组和数组元素的值。28.有以下程序:#includestdio.hmain()int a=1,2,3,4,y,*p=a3;-p;y=*p;printf(“y=%d/n“,y);程序的运行结果是_。A) y=0 B) y=1 C) y=2 D) y=3(分

    46、数:2.00)A.B.C.D. 解析:解析 本题主要考查一维数组及数组元素的地址。程序中定义数组 a 后知,a0=1,a1=2,a2=3,a3=4;在定义指针 p 时给其赋值为 a3的地址。执行-p;语句后,p 指向数组元素 a2;然后执行 y=*p;语句,y 的值为指针 p 所指向的变量的值为 3。29.设有定义:int a=2,b=3,c=4;,则下列选项中值为 0 的表达式是( )。A) (!a=1)p=for(i=0;i9;i+)pi=i;for(i=0;i3;i+)printf(“%d“,a1i);程序运行后的输出结果是_。A) 0 1 2 B) 1 2 3 C) 2 3 4 D) 3 4 5(分数:1.00)A.B.C.D. 解析:解析 本题考查二维数组在内存中的排列形式。在 C 语言中,二维数组或多维数组在内存中的排列是连续线性存放的。它们的排列规则是:第一维下标变化最慢,最右边的下标变化最快。如题中的二维数组 a33,其 9 个元素在内存中的排列顺序是:a00,a01,a02,a10,a11,a12,a20,a21,a22。在主函数中,定义了一个整型指


    注意事项

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




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

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

    收起
    展开