2018年3月计算机二级考试C语言考前特训习题1

  2018年计算机等级考试开考在即,小编在这里为考生们整理了2018年3月计算机二级考试C语言考前特训习题,希望能帮到大家,想了解更多资讯,请关注出国留学网的及时更新哦。

  2018年3月计算机二级考试C语言考前特训习题1

  1、有以下程序:

image.png

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

  A.12 7

  B.12 12

  C.11 11

  D.11 7

  参考答案:D

  参考解析:本题考查宏定义的用法,宏定义只是做个简单的替换,所以本题中执行f(2)=(2*N+1)=11,执行f(1+1)=(1+1*N+1)=7。选项D正确。

  2、设栈的存储空间为S(1:50),初始状态为top=51。现经过一系列正常的人栈与退栈操作后,top=50,则栈中的元素个数为(??)

  A.1

  B.0

  C.50

  D.49

  答案:A

  答案解析:栈是一种特殊的线性表,它所有的插入与删除都限定在表的同一端进行。入栈运算即在栈顶位置插人一个新元素,退栈运算即取出栈顶元素赋予指定变量。栈为空时,栈顶指针top=0,经过入栈和退栈运算,指针始终指向栈顶元素。初始状态为top=51,当top=50时,则栈中S(50:51)存储着元素,51-50=1.元素个数为l。故本题答案为A选项。

  3、以下选项中,当X为大于1的奇数时,值为0的表达式是(  ):

  A.x%2==0

  B.x/2

  C.x%2!=0

  D.x%2==1

  答案:D

  参考解析: 算术运算符的优先级高于关系运算符的优先级,所以当X为大于1的奇数时,A选项的值为假,即0。B选项的值为不定值,但绝对不是0。C选项的值为真,即1。D选项的值为真,即1。

  4、若有定义语句:

  int a[2][3],*p[3];

  则以下语句中正确的是( )。

  A.p=a;

  B.p[0]=8;

  C.p[0]=&a[1][2];

  D.p[1]=&a;

  参考答案:C

  参考解析: A选项错误,因为p是指向一个指针数组,作为数组名,不能指向别的地方。B选项错误,因为p[0]是一个int指针,也就是int*;而a是一个指向指针的指针int**。C选项正确,因为p[0]是一个int*a[1][2]是int,&a[1][2]是int*,类型吻合。D选项错误,因为a作为数组名,不能取地址。即使能取,P[1]是int*,&a是int***,类型不对。因此C选项正确。

  5、以下不合法的字符常量是( )。

  A.'\\'

  B.'\"'

  C.'\018'

  D.'\xcc'

  参考答案:C

  参考解析: 转义字符中,八进制的表示形式为\ddd,但是八进制中不能包含数字8,所以C选项不合法。

  6、以下选项中能正确定义二维数组的选项是(  )。

  A.double a[][3]={2*3};

  B.double a[][3];

  C.double a[][3]={};

  D.double a[2][3]={{1.0},{2.0},{3.0,4.0}};

  参考答案:A

  参考解析: 如果第一维的长度没有指定.则定义的同时需要完成初始化,否则不知道分配多大的内存空间给它,所以选项B、C错误;二维数组a[2][3]中只有两个元素,都是一维数组,一维下标最大只能是a[1],所以选项D错误;若完成初始化的二维数组,第一维的长度没有指定,则第一维的大小按如下规则确定:若初值个数能被第二维大小整除,所得的商就是第一维的大小;若不能整除,则所得的商加l作为第一维的大小,所以选项A相当于:double a[1][3]={6};其中a[0][0]=6,其他元素赋值0,故选项A正确,答案为A。

  7、以下叙述中正确的是(  )。

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

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

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

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

  参考答案:A

  参考解析: 文件一旦使用完毕,应该使用关闭文件函数把文件关闭,以避免出现文件数据丢失等错误,所以选项A正确;若使用fopen打开文件函数打开文件时,指定打开方式为 ‘a’,则可以向文件追加信息,而不是覆盖原文件内容,故B选项错误;在文件被打开后,使用文件定位函数rewind或fseek函数,可以将文件指针移到文件的任何位置,所以在写操作完成后,可以直接将文件指针定位到文件首,接着读数据,而不需要先关闭文件,再打开读取,故C选项错误;使用文件定位函数可以随机读写文件,故D选项错误。所以本题答案为A。

  8、关于程序模块化,以下叙述错误的是(  )。

  A.程序模块化可以提高程序运行的效率

  B.程序模块化可以提高程序编制的效率

  C.程序模块化可以提高程序代码复用率

  D.程序模块化可以提高调试程序的效率

  参考答案:A

  参考解析: 程序模块化的目的是为了降低程序的复杂度,使程序设计、调试和维护等操作简单化,降低程序的复杂度可以提高程序的编制效率和调试效率,每个模块可以复用,提高了程序代码的复用率,故选项B、C、D正确;程序的运行效率与程序的算法、实现有关,与程序模块化无关,故答案选A。

  9、若要通过位运算使整型变量a中的各位数字全部清零,以下选项正确的是(  )。

  A.a=a&0;

  B.a=a10;

  C.a=a^0;

  D.a=!a;

  参考答案:A

  参考解析: 本题考查位运算符和位运算。“I”运算符,l|0=1,0|0=0,所以选项B中a变量的各位数字保持不变,故B错误;“”’运算符,l^0=1,O^0=1,所以选项C中a变量的各位数字中,1保持不变,0变成1,故C错误;“!”运算符,!1=0,! 0=1,所以选项D中a变量的个位数字中,1变成0,0变成1,故D错误;“&”运算符,l&0=0,0&0=0,所以选项A中各位数字全部清零,故答案为A。

  10、程序调试的任务是( ),

  A.设计测试用例

  B.验证程序的正确性

  C.发现程序中的错误

  D.诊断和改正程序中的错误

  参考答案:D

  参考解析: 程序调试的任务是诊断和改正程序中的错误。

  推荐阅读:

  2018年3月计算机一级考试MSOffice考前特训习题1

  2018年3月计算机二级考试C++习题答案(1)

  2018年3月计算机二级考试C++习题答案(2)

  出国留学网计算机等级考试 栏目推荐

  2018年计算机等级考试计划

  2018年计算机等级考试时间

  计算机等级考试动态

  计算机等级考试报名时间

  计算机等级考试时间

  计算机等级考试准考证打印时间

  计算机等级考试成绩查询时间

  计算机等级考试试题及答案

分享

热门关注

计算机二级考试时间一年几次呢

关于计算机二级

计算机二级考试时间分配

关于计算机二级

计算机二级考试内容考些什么

考试内容

计算机二级什么时候出成绩呢

计算机成绩

计算机二级考试主要考哪些内容

计算机二级考试内容

计算机二级考试c语言难不难

计算机二级考试

计算机二级考试难不难

计算机二级考试

计算机二级考试内容难不难?有关计算机二级的考试内容

计算机二级考试内容难不难

计算机二级考试时间多长

关于计算机二级

计算机二级考试考些什么

计算机二级考试考什么