2017年计算机二级c语言真题_2017年计算机二级C语言考前模拟试题及答案8

副标题:2017年计算机二级C语言考前模拟试题及答案8

时间:2023-08-20 19:23:01 阅读: 最新文章 文档下载
说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

  2016年计算机二级C语言考前30天必做题(4)

  程序段的输出结果是(  )。

  (22)有以下程序段:

  2016年计算机二级C语言考前30天必做题(4)

  以下关于程序段执行情况的叙述,正确的是(  )。

  A.for循环语句固定执行8次

  B.当产生的随机数n为4时结束循环操作

  C.当产生的随机数n为1和2时不做任何操作

  D.当产生的随机数n为0时结束程序运行

  (23)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(  )。

  A.8

  B.2

  C.4

  D.1

  (24)以下叙述中错误的是(  )。

  A.可以给指针变量赋一个整数作为地址值

  B.函数可以返回地址值

  C.改变函数形参的值,不会改变对应实参的值

  D.当在程序的开头包含头文件stdi0.h时,可以给指针变量赋NULL、、、

  (25)设已有定义:float x;,则以下对指针变量P进行定义且赋初值的语句中正确的是(  )。

  2016年计算机二级C语言考前30天必做题(4)

  (26)以下数组定义中错误的是(  )。

  2016年计算机二级C语言考前30天必做题(4)

  (27)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(  )O

  A.321678

  B.876543

  C.1098765

  D.345678

  (28)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(  )。

  A.一3,一l,1,3,

  B.B.一12,一3,0,0,

  C.C.0,1,2,3,

  D.D.一3,一3,一3,一3,

  (29)设有定义:char s[81];int i=0;,以下不能将一行(不超过80个字符)带有空格的字符串正确读入的语句或语句组是(  )。

  2016年计算机二级C语言考前30天必做题(4)

  (30)设有定义:char p E]={’1’,‘2’,’3’},*q=p;,以下不能计算出一个char型数据所占字节数的表达式是(  )。

  A.sizeof(p)

  B.sizeof(char)

  C.sizeof(*q)

  D.sizeof(p[0])

  (31)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序执行后的输出结果是(   )。

  A.321,cba

  B.abc,l23

  C.123,abc

  D.lbe,a23

  (32)有以下函数:

  2016年计算机二级C语言考前30天必做题(4)

  函数的功能是(   )。

  A)将Y所指字符串赋给x所指存储空间

  B.查找x和y所指字符串中是否有

  C.统计x和y所指字符串中最前面连续相同的字符个数

  D.统计x和Y所指字符串中相同的字符个数

  (33)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(   )。

  A)Lo

  B.30

  C.0

  D.64

  (34)在一个C源程序文件中所定义的全局变量,其作用域为(   )。

  A.由具体定义位置和extem说明来决定范围

  B.所在程序的全部范围

  C.所在函数的全部范围

  D.所在文件的全部范围

  (35)以下叙述中错误的是(   )。

  A.可以通过typedef增加新的类型

  B.可以用typedef将已存在的类型用一个新的名字来代表

  C.用typedef定义新的类型名后,原有类型名仍有效

  D.用typedef可以为各种类型起别名,但不能为变量起别名

  (36)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(   )。

  A.10

  B.11

  C.20

  D.21

  (37)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(   )。

  A.7.5

  B.31.5

  C.程序有错无输出结果

  D.14.0

  (38)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(   )。

  A.3

  B.4

  C.5

  D.6

  (39)有以下程序:

  2016年计算机二级C语言考前30天必做题(4)

  程序运行后的输出结果是(   )。

  A.1.1.3

  B.2,2,3

  C.1,2,3

  D.3,3,3

  (40)以下叙述中正确的是(   )。;

  A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失

  B.打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

  C.在一个程序中当对文件进行了写操作后,必须先关闭该文件然后再打开,才能读到第1个数据

  D.c语言中的文件是流式文件,因此只能顺序存取数据.

 

 

  (21)C【解析】由于内层循环for(k=1;k<3;k++)后面直接跟了空语句“;”所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“t”,选择c。

  (22)D【解析】Case常量表达式只是起语句标号作用,并不是该处进行条件判断。在执行switch语句时,根据switch的表达式,找到与之匹配的ease语句,就从此cafle子旬执行下去,不再进行判断,直到碰到break或函数结束为止。简单的说break是结束整个循环体,而continue是结束单次循环。B选项中当产生的随机数n为4时要执行打印操作。c选项中当产生的随机数为l和2时分别执行cage3与case4后面语句的内容。由于存在break语句所以for循环不是固定执行8次,执行次数与产生的随机数n有关系。

  (23)A【解析】第一次调用Ill=f(f(f(1))),第二次为m

  =f(f(2)),第三次为m=f(4),即返回值为8。

  (24)A【勰析l不能将一个整数直接赋给指针变量作为地址,所以A是错误的。函数的返回值可以是地址,即指针。函数调用中形参值的变化不会传递给实参。

  (25)B【解析】指针是用来存放地址的变量,用(类型名+指针变量名)的形式定义。赋值时应将某个变量地址即8Ⅸ赋给指针变量,所以选择8。

  (26)D【解析】D选项中x[2][3]定义的是一个两行三列的二维数组,而在给数组元素赋值时却赋成了三行,所以错误。

  (27)A【解析】本题中的函数fun()的功能是将数组k中前5个元素倒序,所以返回后数组k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印输出k[2]到k[7]元素的值,即321678,所以选择A。

  (28)A【解析】本题中由fun函数可知,b[O]=a[o][0]一a[0][3]=1—4=一3,b[1]=a[1][1]一[1][2]=6—7=一1,b[2]=a[Z][2]一[2][1]=11一10=1,b[3]=8[3][3]一[3][1]=16—13=3。所以主函数中打印Y数组元素的值为A选项。

  (29)C【解析】字符串的输入不能使用scanf(”%s”,s);而应该使用9ets(s)。

  (30)A【解析】根据题目中的定义可以知道sizeof(p),计算的是数组P中所有元素所占用的字节数,而不是ch”型数据所占字节数。

  (31)D【解析】字符串是一个特殊的数组,所以按照数组的规则,sl应该指向的是数组的首地址,即“abc”的第一个字符的地址。s2指向的是“123”的第一个字符的地址。调用swap函数之后交换的是两个字符串的第一个字符‘a’和‘1’的内容,所以打印输出为D)。

  (32)C【解析】本题中由循环条件可知遇到‘\0’或x与y所指的字符的值不等中的一个条件时就结束,所以功能是统计x和Y所指字符串中最前面连续相同的字符个数。

  (33)D【解析】本题目中静态局部变量x,在静态存储区内分配存储单元。在程序整个运行期间都不释放。所以第一次循环s的值为2,第二次循环中,返回的x的值为4,所以s的值为8,第三次循环,返回的x的值为8,所以S的值为64.

  (34)A【解析】全局变量的作用域是从声明处到文件的结束。所以选择A)。

  (35)A【解析】关键字typedef的作用只是将C语言中的已有的数据类型作了置换,并不是增加新的类型,所以A错误。

  (36)D【解析】声明data是结构S数组。初始化data『0].a=10;data[0].b=100;data[1].a=20;data[1].b=200。主函数中P=data[1];即P.a=data[1].a;P.b=data[1].b;执行语句prinff(”%d\n”,++(P.a));打印输出时p.a先增l再打印。P.a=data[1].a=20,先增1等于21。

  (37)C【解析】宏定义不是C语句,末尾不需要有分号。所以语句printf(”%4.1f\n”,S(8+b));展开后为parintf(”%4.1f\n”,3.5;*a+b}a+b;);所以程序会出现语法错误。

  (38)B【解析】&按位与,如果两个相应的二进制位都为l,则该位的结果值为1,否则为0。l按位或,两个相应的二1进制位中只要有一个为l,该位的结果值为l。2的二进制为1 00000010,4的二进制为00000100,所以做或运算结果为1 00000110,该数与5即00000101做与操作结果为00000100,1即4。

  (39)D【解析】maUoc函数动态分配一个整型的内存空间,然后把函数返回的地址用(int{)强制类型转换为整型指针,再把它赋给a,b,c,即让指针变量a,b,c都指向刚申请的内存空间。所以只有最后一个赋值语句+C=3的值保留在了该空间内,因为a、b、C三个指针变量均指向该空间,所以打印该空间内的数值为3。

  (40)A【解析】B选项中打开一个已存在的文件并进行了写操作后,原有文件中的全部数据不一定被覆盖,也可以对源文件进行追加操作等。C选项中在一个程序中当对文件进行了写操作后,不用先关闭该文件然后再打开,才能读到第l个数据,可以用fseek()函数进行重新定位即可。D选项中,C语言中的文件可以进行随机读写。

2017年计算机二级C语言考前模拟试题及答案8.doc

本文来源:https://www.wddqw.com/dZvn.html

微信扫码分享

下载全文
搜索大全
下载文档