计算机二级C语言考试练习题(七)

发布于 2018-01-23 19:26  编辑:盘子
0
计算机等级考试题库 扫码微信刷题

2786001_191026181001_2.jpg


1. 以下不合法的字符常量是( )。

A.'\\'

B.'\"'

C.'\018'

D.'\xcc'

参考答案:C

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


2. 若要求定义具有10个int型元素的一维数组a,则以下定义语句中错误的是(  )。

A.int a[5+5];

B.int n=10,a[n];

C.#define n 5 int a[2*n];

D.#define N 10int a[N];

参考答案:B

参考解析:一维数组的定义方式为:类型说明符数组名[常量表达式];注意定义数组时,元素个数不能是变量。因此应该选B选项。


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

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。


4. 以下叙述中正确的是(  )。

A.当对文件的读(写)操作完成之后,必须将它关闭,否则可能导致数据丢失B)打开一个已存在的文件并进行了写操作后,原有文件中的全部数据必定被覆盖

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

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

参考答案:A

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


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

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

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

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

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

参考答案:A

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


6. 以下程序段中,与语句:

k=a>b?(b>c?1:0):0;

功能相同的是( )。

A.if((a>b)||(b>c))k=1;else k=0;

B.if((a>b)&&(b>c))k=1;else k=0;

C.if(a<=b)k=0;else if(b<=c)k=1;

D.if(a>b)k=1;else if(b>c)k=1;else k=0;

参考答案:B

参考解析:条件表达式的含义是,如果表达式1成立,结果为表达式2的值,如果不成立为表达式3的值。所以题于中k的值这样取值:如果a>b且b>c,k值结果为1,如果a>b,且bb与b>c中只要有一个条件不成立,k的值就为0,所以选择B选项。


7. 在以下给出的表达式中,与while(E)中的(E)不等价的表达式是( )。

A.(E>0||E<0)

B.(E==0)

C.(!E==0)

D.(E!=0)

参考答案:B

参考解析:while语句中条件表达式E的值不为0即为真,认为满足条件,所以与B选项中表达式的含义正好相反,选择B选项。


8. 以下选项中关于C语言常量的叙述错误的是( )。

A.经常被使用的变量可以定义成常量

B.常量分为整型常量、实型常量、字符常量和字符串常量

C.常量可分为数值型常量和非数值型常量

D.所谓常量,是指在程序运行过程中,其值不能被改变的量

参考答案:A

参考解析:C语言中。常量是指在程序运行过程中其值不能被改变的量,变量是指运行过程中其值可以改变的量,二者不能混淆,所以A选项错误。


9. 若函数调用时的实参为变量时,以下关于函数形参和实参的叙述中正确的是(  )。

A.函数的形参和实参分别占用不同的存储单元

B.形参只是形式上的存在,不占用具体存储单元

C.同名的实参和形参占同一存储单元

D.函数的实参和其对应的形参共占同一存储单元

参考答案:A

参考解析:本题重点考察的是函数的形参和实参。在定义函数时函数名后面括弧中的变量名称为“形式参数”(简称形参),在主调函数中调用一个函数时,函数名后面括弧中的参数(可以是一个表达式)称为“实际参数”(简称实参)。C语言规定,实参变量对形参变量的数据传递是“值传递”,即单向传递,只由实参传给形参,而不能由形参传回来给实参。在内存中,实参单元与形参单元是不同的单元。因此A选项正确。


10. 下列叙述中正确的是( )。

A.有一个以上根结点的数据结构不一定是非线性结构

B.只有一个根结点的数据结构不一定是线性结构

C.循环链表是非线性结构

D.双向链表是非线性结构

参考答案:B

参考解析:线性结构应满足:有且只有一个根结点与每个结点最多有一个前件,也最多有一个后件,所以B正确。所以有一个以上根结点的数据结构一定是非线性结构,所以A错误。循环链表和双向链表都是线性结构的数据结构。




考无忧小编推荐:

更多计算机等级考试真题及答案>>>点击查看

想知道更多关于计算机等级报考指南、考试时间和考试信息的最新资讯在这里>>>点击查看


本文网址:http://www.k51.com.cn/info/jsjdjks/1801/2323116.html
选择分享到: