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

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

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

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

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

    1、二级 C语言分类模拟题 523及答案解析(总分:53.00,做题时间:90 分钟)一、选择题(总题数:35,分数:53.00)1.设有定义:“long x=123450L;”,则以下能够正确输出变量 x的是 _ 。(分数:1.00)A.printf(“x=%d/n“,x);B.printf(“x=%id/a“,x);C.printf(“x=%dL/n”,x);D.printf(“x=%ld/n“,x);2.以下选项中,当 x为大于 1的奇数时,值为 0的表达式为_。(分数:2.50)A.x%2=1B.x/2C.x%2=0D.x%2=03.下列关于栈叙述正确的是_。(分数:2.50)A.栈顶元素

    2、最先能被删除B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除4.以下函数值的类型是_。 fun(double x) foat y; y=3*x-4; return y; )(分数:2.00)A.intB.不确定C.voidD.float5.有以下程序片段: y=-1; if(x!=0) if(x0) y=1; else y=0; 其能正确表示的数学函数关系是 A B C D (分数:2.00)A.B.C.D.6.有以下程序 #include stdio.h void f(int *p,int *q); main() int m=1,n=2,*r= f(r, prin

    3、tf(“%d,%d“, m,n); void f(int *p,int *q) p=p+1; *q=*q+1; 程序运行后的输出结果是_。(分数:1.00)A.1,3B.2,3C.1,4D.1,27.关系数据库规范化主要为克服数据库逻辑结构中的插入异常、删除异常以及_。(分数:1.00)A.数据丢失的问题B.结构不合理的问题C.数据不一致的问题D.冗余度大的问题8.有以下程序: #includestdio.h main() int i=1; i=ii; printf(“%d/n“,i); 程序运行后的输出结果是_。(分数:1.00)A.1B.-1C.0D.79.有以下程序(strcpy 为字符

    4、串复制函数,strcat 为字符串连接函数): # include stdio.h # include string.h main() char a10=“abc“,b10=“012“,c10=“xyz“; strcpy(a+1,b+2); puts(strcat(a,c+1); 程序运行后的输出结果是_。(分数:1.00)A.a12xyzB.12yzC.a2yzD.bc2yz10.已知 int类型的变量占 4个字节有下面的程序段: main() int a3=1,2,3, 4,5, 6, (8; printf(“% d“, sizeof(9); 则程序段的输出结果是_。(分数:1.00)A.

    5、12B.24C.48D.6411.以下叙述中正确的是_。(分数:1.00)A.在 C语言中,逻辑真值和假值分别对应 1和 0B.关系运算符两边的运算对象可以是 C语言中任意合法的表达式C.对于浮点变量 x和 y,表达式 x=y是非法的,会出编译错误D.分支结构是根据算术表达式的结果来判断流程走向的12.软件需求规格说明书的作用不包括_。(分数:1.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据13.深度为 7的完全二叉树中共有 125个节点,则该完全二叉树中的叶子节点数为_。(分数:1.00)A.62B.63C.64D.6514.若

    6、有定义语句:“int k1=10, k2=20;”,执行表达式(k1=k1k2) for(i=1; i10; i+) if(!(i%2) printf(“%d/n“, s); (分数:2.50)A.4B.39C.45D.619.为了建立如下图所示的存储结构(即每个节点含两个域,data 是数据域,next 是指向节点的指针域),则在( )处应填入的选项是_。 Struct link char data;_ node; (分数:2.00)A.link next;B.struct link * next;C.link *next;D.struct link next;20.有以下程序: #incl

    7、udestdio.h main() int k=-3; if(k=0) printf(“*/n“) else printf(“ 程序的输出结果是(分数:2.00)A.输出#B.输出 s=f(a+1);t=f(a+1); printf(“%d,%d/n“,s,t); 程序运行后的输出结果是_。(分数:1.00)A.10,64B.10,10C.64,10D.64,6424.有以下程序段 int i, n; for(i=0; i8; i+) n=rand()%5; switch(n) case 1: case 3:printf(“%d/n“, n); break; case 2: case 4:pr

    8、intf(“%d/n“, n); continue; case 0:exit(0); printf(“%d/n“, n); 以下关于程序段执行情况的叙述,正确的是_。(分数:2.00)A.当产生的随机数 n为 4时结束循环操作B.当产生的随机数 n为 0时结束程序运行C.当产生的随机数 n为 1和 2时不做任何操作D.for循环语句固定执行 8次25.现有如下程序段 #include“stdio.h“ #include“string.h“ main() char a=“acfijk“; /*这里是有序的字符序列*/ char b=“befijklqswz“; /*这里是有序的字符序列*/ ch

    9、ar c80,*p; int i=0,j=0,k=0; while(ai!=“/0“ for(i=0;iN;i+) y+=a0i+aN-1i; for(i=1;iN-1;i+) y+=ai0+aiN-1; return y; main() int y,xNN=1,2,3,4, 2,1,4,3, 3,4,1,2, 4,3,2,1; y=fun(x); printf(“%d“,y); 程序执行后的输出结果是_。(分数:1.00)A.40B.35C.30D.3229.下列叙述中错误的是_。(分数:2.00)A.C程序对预处理命令行的处理是在程序执行过程中进行的B.预处理命令行的最后不能以分号表示结束

    10、C.#define MAX是合法的宏定义命令行D.在程序中,凡是以“#”开始的语句行都是预处理命令行30.有以下程序 #includestdio.h main() int x=8; for(; x0; x-) if(x%3) printf(“%d,“, x-); continue; printf(“%d,“, -x); 程序的运行结果是_。(分数:2.00)A.8, 5, 4, 2,B.8, 7, 5, 2,C.9, 7, 6, 4,D.7, 4, 2,31.若有定义:double a=22; int i=0, k=18;,则不符合 C语言规定的赋值语句是_。(分数:2.00)A.i=(a+k

    11、)=(i+k);B.i=a%11;C.a=a+, i+;D.i=!a;32.执行以下程序段后,s 的值为_。 int a =1,2,3,4,5,6,7,8,9,s=0,k; for(k=0;k8;k+=2)S+=*(a+k);(分数:1.00)A.13B.16C.17D.4533.若有定义: double a=22;int i=0,k=18; 则不符合 C语言规定的赋值语句是_。(分数:1.00)A.i=a%11;B.i=(a+k)=(i+k);C.ama+,i+;D.i=!a;34.有以下程序: # include stdio.h # define N 3 void fun(int aN,i

    12、nt b) int i,j; for(i=0;iN;i+) bi=ai0; for(j=i;jN;j+) if(biaij) bi=aij; main() int XNN=1,2,3,4,5,6,7,8,9, yN,i; fun(x,y); for(i=0;iN;i+) printf(“%d,“,yi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.2,4,8,B.3,6,9,C.3,5,7,D.1,3,5,35.下列程序段的输出结果是_。 inti,x33=9,8,7,6,5,4,3,2,1,*p= for(i=0;i4;i+=2)printf(“%d“,*(

    13、P+i);(分数:2.00)A.5 2B.5 1C.5 3D.9 7二级 C语言分类模拟题 523答案解析(总分:53.00,做题时间:90 分钟)一、选择题(总题数:35,分数:53.00)1.设有定义:“long x=123450L;”,则以下能够正确输出变量 x的是 _ 。(分数:1.00)A.printf(“x=%d/n“,x);B.printf(“x=%id/a“,x);C.printf(“x=%dL/n”,x);D.printf(“x=%ld/n“,x); 解析:解析 C 语言规定,输出 long型数值的格式符为%1d。2.以下选项中,当 x为大于 1的奇数时,值为 0的表达式为_

    14、。(分数:2.50)A.x%2=1B.x/2C.x%2=0D.x%2=0 解析:3.下列关于栈叙述正确的是_。(分数:2.50)A.栈顶元素最先能被删除 B.栈顶元素最后才能被删除C.栈底元素永远不能被删除D.栈底元素最先能被删除解析:解析 栈是先进后出的数据结构,因此栈顶元素最后入栈却最先被删除,栈底元素最先入栈却最后被删除,所以本题答案为 A。4.以下函数值的类型是_。 fun(double x) foat y; y=3*x-4; return y; )(分数:2.00)A.int B.不确定C.voidD.float解析:5.有以下程序片段: y=-1; if(x!=0) if(x0)

    15、y=1; else y=0; 其能正确表示的数学函数关系是 A B C D (分数:2.00)A.B.C. D.解析:6.有以下程序 #include stdio.h void f(int *p,int *q); main() int m=1,n=2,*r= f(r, printf(“%d,%d“, m,n); void f(int *p,int *q) p=p+1; *q=*q+1; 程序运行后的输出结果是_。(分数:1.00)A.1,3 B.2,3C.1,4D.1,2解析:解析 f 函数功能使第二个指针指向的元素增 1,第一个指针指向的元素不变,所以答案选择 A。7.关系数据库规范化主要为

    16、克服数据库逻辑结构中的插入异常、删除异常以及_。(分数:1.00)A.数据丢失的问题B.结构不合理的问题C.数据不一致的问题D.冗余度大的问题 解析:解析 规范化主要为克服数据库逻辑结构中的插入异常、删除异常、数据冗余以及修改异常。故本题答案为 D选项。8.有以下程序: #includestdio.h main() int i=1; i=ii; printf(“%d/n“,i); 程序运行后的输出结果是_。(分数:1.00)A.1B.-1C.0 D.7解析:解析 本题考查位运算中按位异或运算符,异或运算只有在两个比较的位不同时其结果是 1,否则结果为 0,ii 运算符两边相同,所以结果为 0,

    17、选项 C正确。9.有以下程序(strcpy 为字符串复制函数,strcat 为字符串连接函数): # include stdio.h # include string.h main() char a10=“abc“,b10=“012“,c10=“xyz“; strcpy(a+1,b+2); puts(strcat(a,c+1); 程序运行后的输出结果是_。(分数:1.00)A.a12xyzB.12yzC.a2yz D.bc2yz解析:解析 第一次执行字符串的复制函数 a的值是 a2,第二次执行的是字符串的连接函数,所以运行结果为 a2yz。10.已知 int类型的变量占 4个字节有下面的程序段

    18、: main() int a3=1,2,3, 4,5, 6, (8; printf(“% d“, sizeof(9); 则程序段的输出结果是_。(分数:1.00)A.12B.24C.48 D.64解析:解析 程序通过赋初值的方式定义了 4行 3列的数组,则大小为 12,而一个 int变量占 4个字节,所以程序输出 48。11.以下叙述中正确的是_。(分数:1.00)A.在 C语言中,逻辑真值和假值分别对应 1和 0B.关系运算符两边的运算对象可以是 C语言中任意合法的表达式 C.对于浮点变量 x和 y,表达式 x=y是非法的,会出编译错误D.分支结构是根据算术表达式的结果来判断流程走向的解析:

    19、解析 A 选项错误,在 C语言中,逻辑真值对应非 0;C 选项中,表达式 x=y是合法的;D 选项中,分支结构的流程走向是根据表达式的值,并不仅仅是算数表达式的值,因此 B选项正确。12.软件需求规格说明书的作用不包括_。(分数:1.00)A.软件验收的依据B.用户与开发人员对软件要做什么的共同理解C.软件设计的依据D.软件可行性研究的依据 解析:解析 软件需求规格说明书是需求分析阶段的最后成果,是软件开发的重要文档之一。软件需求规格说明书有以下几个方面的作用:作为确认测试和验收的依据,A 选项正确;便于用户、开发人员进行理解和交流,B 选项正确;反映出用户问题的结构,可以作为软件开发工作的基

    20、础和依据,C 选项正确。13.深度为 7的完全二叉树中共有 125个节点,则该完全二叉树中的叶子节点数为_。(分数:1.00)A.62B.63 C.64D.65解析:解析 在树结构中,定义一棵树的根节点所在的层次为 1,其他节点所在的层次等于它的父节点所在的层次加 1,树的最大层次称为树的深度。完全二叉树指除最后一层外,每一层上的节点数均达到最大值,在最后一层上只缺少右边的若干节点。深度为 6的满二叉树,节点个数为 2 6 -1=63,则第 7层共有 125-63=62个叶子节点,分别挂在第 6层的左边 62个节点上,加上第 6层的最后 1个叶子节点,该完全二叉树共有 63个叶子节点,故 B选

    21、项正确。14.若有定义语句:“int k1=10, k2=20;”,执行表达式(k1=k1k2) for(i=1; i10; i+) if(!(i%2) printf(“%d/n“, s); (分数:2.50)A.4B.39C.45D.6 解析:解析 if 语句的条件是当 i既是 3的倍数又是 2的倍数时成立,所以此程序实现的功能是将 10以内既是 3的倍数又是 2的倍数的数相加。19.为了建立如下图所示的存储结构(即每个节点含两个域,data 是数据域,next 是指向节点的指针域),则在( )处应填入的选项是_。 Struct link char data;_ node; (分数:2.00

    22、)A.link next;B.struct link * next; C.link *next;D.struct link next;解析:解析 本题主要考查链表中节点的概念,属于基础知识,其中指针域应该是指向下个节点,所以答案为 B。20.有以下程序: #includestdio.h main() int k=-3; if(k=0) printf(“*/n“) else printf(“ 程序的输出结果是(分数:2.00)A.输出#B.输出 s=f(a+1);t=f(a+1); printf(“%d,%d/n“,s,t); 程序运行后的输出结果是_。(分数:1.00)A.10,64 B.10

    23、,10C.64,10D.64,64解析:解析 本题考查带参数的宏定义。第一次函数调用求 s的值,x=a+1,所以 x*x*x应写成a+1*a+1*a+1,没有括号优先级,结果为 10,第二次函数调用 x*x*x可写成(a+1)*(a+1)*(a+1),所以结果为 64。24.有以下程序段 int i, n; for(i=0; i8; i+) n=rand()%5; switch(n) case 1: case 3:printf(“%d/n“, n); break; case 2: case 4:printf(“%d/n“, n); continue; case 0:exit(0); print

    24、f(“%d/n“, n); 以下关于程序段执行情况的叙述,正确的是_。(分数:2.00)A.当产生的随机数 n为 4时结束循环操作B.当产生的随机数 n为 0时结束程序运行 C.当产生的随机数 n为 1和 2时不做任何操作D.for循环语句固定执行 8次解析:解析 n 为 0时执行 exit(0);函数结束,所以产生的随机数为 0时,函数结束。答案选择 B。25.现有如下程序段 #include“stdio.h“ #include“string.h“ main() char a=“acfijk“; /*这里是有序的字符序列*/ char b=“befijklqswz“; /*这里是有序的字符序

    25、列*/ char c80,*p; int i=0,j=0,k=0; while(ai!=“/0“ for(i=0;iN;i+) y+=a0i+aN-1i; for(i=1;iN-1;i+) y+=ai0+aiN-1; return y; main() int y,xNN=1,2,3,4, 2,1,4,3, 3,4,1,2, 4,3,2,1; y=fun(x); printf(“%d“,y); 程序执行后的输出结果是_。(分数:1.00)A.40B.35C.30 D.32解析:解析 main()函数首先定义一个二维数组 x,它是 N行 N列整型数组,然后调用 fun函数,传入数组 x;fun 函

    26、数中第一个 for循环将二维数组 a的行下标为 0(第一行)的所有元素与行下标为 N-1(最后一行)的所有元素累加赋给 y;第二个 for循环将二维数组 a的列下标为 0(第一列)且行下标为 1、2 的元素与列下标为 N-1(最后一列)且行下标为 1、2 的所有元素累加再次赋给 y,最后将 y返回。所以 main()函数调用完 fun()函数后,y 的值等价于:1+2+3+4+4+3+2+l+2+3+3+2,结果为 30。故本题答案为 C选项。29.下列叙述中错误的是_。(分数:2.00)A.C程序对预处理命令行的处理是在程序执行过程中进行的 B.预处理命令行的最后不能以分号表示结束C.#de

    27、fine MAX是合法的宏定义命令行D.在程序中,凡是以“#”开始的语句行都是预处理命令行解析:解析 本题考查预处理命令行。预处理是在程序编译之前进行的,所以 A选项错误。30.有以下程序 #includestdio.h main() int x=8; for(; x0; x-) if(x%3) printf(“%d,“, x-); continue; printf(“%d,“, -x); 程序的运行结果是_。(分数:2.00)A.8, 5, 4, 2, B.8, 7, 5, 2,C.9, 7, 6, 4,D.7, 4, 2,解析:解析 第一次 x为 8,输出 8,第二次 x为 6,输出 5,

    28、第三次 x为 4,输出 4,第四次 x为 2,输出 2,循环结束,所以答案选择 A。31.若有定义:double a=22; int i=0, k=18;,则不符合 C语言规定的赋值语句是_。(分数:2.00)A.i=(a+k)=(i+k);B.i=a%11; C.a=a+, i+;D.i=!a;解析:解析 取模运算符“%”为二元运算符,具有左结合性,参与运算的量均为整型。选项 B中的 a变量是 double实型,所以 B不符合规定。32.执行以下程序段后,s 的值为_。 int a =1,2,3,4,5,6,7,8,9,s=0,k; for(k=0;k8;k+=2)S+=*(a+k);(分数

    29、:1.00)A.13B.16 C.17D.45解析:解析 数组 a中的元素为:a0=1,a1=2,a8=9。k=0 时,s=s+*(a+0)=0+1=1;k=2 时,s=1+*(a+2)=1+3=4;k=4 时,s=4+5=9;k=6 时,s=9+7=16。33.若有定义: double a=22;int i=0,k=18; 则不符合 C语言规定的赋值语句是_。(分数:1.00)A.i=a%11; B.i=(a+k)=(i+k);C.ama+,i+;D.i=!a;解析:解析 取模运算符“%”为二元运算符,具有左结合性,参与运算的量应均为整型,选项 A中的变量 a是 double型,所以选项 A

    30、不符合规定。34.有以下程序: # include stdio.h # define N 3 void fun(int aN,int b) int i,j; for(i=0;iN;i+) bi=ai0; for(j=i;jN;j+) if(biaij) bi=aij; main() int XNN=1,2,3,4,5,6,7,8,9, yN,i; fun(x,y); for(i=0;iN;i+) printf(“%d,“,yi); printf(“/n“); 程序运行后的输出结果是_。(分数:1.00)A.2,4,8,B.3,6,9, C.3,5,7,D.1,3,5,解析:解析 fun 函数功能是把数组 a的每一行的最大值赋给 b,a 的第一行的最大值是 3,第二行的最大值是 6,第三行的最大值是 9,所以答案是 3,6,9。35.下列程序段的输出结果是_。 inti,x33=9,8,7,6,5,4,3,2,1,*p= for(i=0;i4;i+=2)printf(“%d“,*(P+i);(分数:2.00)A.5 2B.5 1C.5 3 D.9 7解析:


    注意事项

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




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

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

    收起
    展开