考试首页 | 考试用书 | 培训课程 | 模拟考场 | 考试论坛  
全国  |             |          |          |          |          |         
  当前位置:计算机等级 > 二级考试 > C++语言程序设计 > C++模拟试题 > 文章内容
  

全国计算机二级C++语言程序设计考试精选选择题(5)

中华IT学院   【 】  [ 2017年6月3日 ]

  21.C。【解析】数组的下标是从零开始的。一维数组的一般定义方式为数型说明符数组名[常置表达式]

  其中“[]”中的内容可以是整型数量,也可以是整型表达式。选项C中,m[0]=5,m[m[o]]=m[5],数组下标越界。

  22.A。【解析】逗号表达式及实参的形式,在逗号表达式中,取最后一个表达式的值,结合fune的调用形式,可以知道实参的个数只有3个。

  23.B。【解析】选项B中x[5]数组下标越界,数组的下标是从0开始的。

  24.A。【解析】C语言中strlen()函数的功能是返回字符串的长度,其中’\0’是一个转义字符,它占存储空间,但不计入字符串的长度。所以选项A正确。

  25.B。【解析】本题考查telurn语句,return语句有以下几个特点:用户定义的函数中可以没有返回语句;一个函数体内可以有多个返回语句,不论执行哪一个,函数都可以结束,回到主函数;但是调用一次只能有一个返回值。为了保证函数不返回任何值,C语言规定,可以定义无类型函数,其形式为void函数名(参数表)。当函数中不需要指明返回值时,可以写成return。

  26.C。【解析】本题考查宏的相关知识点。宏名没有大小写限制;宏定义可以放在程序中的任何位置,其有效范围是从定义开始到文件结束;宏替换可以代替任何数据类型,不受数据类型的限制;函数影响运行时间,宏调用影响编译时间。

  27.D。【解析】本题考查for循环使用。

  当i=3时,j可以取1和2,i+j分别是4和5,执行printf("\n")换行,i--为2。

  当i=2时,j可以取1和2,i+j分别是3和4,执行printf("\n")换行,i--为1。

  当i=1时,J可以取1和2,i+j分别是2和3,执行printf("\n")换行,i--为0,不符合循环,退出。

  28.D。【解析】C语言中规定,else与离它最近的if相匹配。

  x=1,y=2,z=3,所以第一个if的条件(x>y)不成立,直接执行printf("%d\n",x+1);语句,输出x的值1,再把x加1。

  29.A。【解析】本题考查d0…while循环,先执行循环体,再判断条件是否成立,函数实现的功能是找出满足一个数,它除3时余1,除5时余2,然后打印“*”和这个数从5开始,等于7时恰好符合条件,输出,最后循环结束。

  30.B。【解析】本题考查递归函数的使用。fun(4,2)->fun(2,o),由于b等于0,故返回值为2。反之,fun(4,2)=2。

  31.C。【解析】本题考查指针与函数的调用。a+fun(10)相当于fun(10)+fun(10),故结果为20。两次调用fun()函数,返回值指向不同的内存单元,不会存在内存冲突的问题,也就不会走错。

  32.A。【解析】在程序中实参向形参传递数据的方式是“值传递”,如果实参传递给形参是变量的值,就是数值传递,并不能改变实参的值,所以数组c[10]的值不变。

  33.c。【解析】data[2]是两个结构体组成的数组,p指向结构体数组的首地址,p->y访问第一个结构体的第二个元素;(++p)x访问第二个结构体的第一个元素。所以输出为10,2。

  34.D。【解析】在程序中,fun(k,5)的功能是将数组k的k[0]、k[1]分别与k[3]、k[4]交换,for循环从k[2]到k[8]输出,所以输出结果为321678。

  35.B。【解析】本题考查数组的初始化,在对二维数组元素赋初值时,如果只对部分元素赋初值,那未赋初值的元素自动取0。fun函数是将二维数组a中主对角线上的元素

  赋给数组b,所以y[4]=(1,0,7,0)。

  36.C。【解析】在程序中fun函数的功能在于求取三维数组S中1至n行中每行第k个元素中的最大者。注意:i=0时为第一行,故fun(a,4,O)在于求取11、21、31中的最大值,显然为31。

  37.D。【解析】对于两个结构体,b=a;表示将a的每一个元素都赋给b,所以会输出a中的内蓉。

  38.D。【解析】在以下4项中,根据链表插入与删除的原则,选项A中,*P是P所指向的元素.所以这样调用是错误的;选项B是将P指向的结点作为q的后继结点;而选项C则是将指针q指向P指向的结点;选项D将指向q的后继点的指针赋给指向P后继点的指针,并将q指向结点所占的内存。所以选项D正确。

  39.C。【解析】本题考查位操作,将4转化成二进制为0100,左移一位后为1000,转成十进制为8,所以输出8。

  40.B。【解析】本题考查fwrite的调用形式。

  其格式为“fwrite(buffer,size,count,fp);”。

  fwritie函数的功能是对fp所指向的文件存入count次,每次存入一个大小为size的数据块。将存入的数据块存到buffer指向的内存区,如果buffer内存区有数据则将其覆盖。

  本题中第一次调用fwrite函数,向文件中写入s2的值“Beijing”,第二次调用fwrite函数,向文件中写入S1的值“China”,并将之前“Beijing”的前几个字符覆盖,得到Chi-nang。

首页 1 2 3 4 5 6 尾页
分享到:
本文纠错】【告诉好友】【打印此文】【返回顶部
将考试网添加到收藏夹 | 每次上网自动访问考试网 | 复制本页地址,传给QQ/MSN上的好友 | 申请链接 | 意见留言 TOP
关于本站  网站声明  广告服务  联系方式  站内导航  考试论坛
Copyright © 2007-2013 中华考试网(Examw.com) All Rights Reserved