2017年9月计算机二级C语言单选专项复习题【五套】

2017-08-01 10:02 来源:网络综合
计算机等级网权威发布2017年9月计算机二级C语言单选专项复习题【五套】,更多2017年9月计算机二级C语言单选专项复习题【五套】相关信息请访问计算机等级考试网。

导语:为了使广大学员在备战2017下半年计算机二级考试时更快的掌握相应知识点,无忧考网在此精选了计算机二级C语言的练习题供学员参考,大家要抓紧时间备考,祝大家备考愉快,梦想成真。


2017年9月计算机二级C语言单选专项复习题一


1). 数据库设计包括两个方面的设计内容,它们是

A.概念设计和逻辑设计

B.模式设计和内模式设计

C.内模式设计和物理设计

D.结构特性设计和行为特性设计

正确答案:A

答案解析:数据库设计包括数据库概念设计和数据库逻辑设计两个方面的内容。

2). 以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)( )

A.printf (″%c \n″, ′a′-32);

B.printf (″%d \n″, ′A′);

C.printf (″%c \n″, 65);

D.printf (″%c \n″, ′B′-1);

正确答案:B

答案解析:在选项B的输出函数中,大写字符′A′以整型数据的形式输出。

3). 下列描述中正确的是( )

A.程序就是软件

B.软件开发不受计算机系统的限制

C.软件既是逻辑实体,又是物理实体

D.软件是程序、数据与相关文档的集合

正确答案:D

答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。

4). 以下不合法的用户标识符是( )。

A.804zhang

B._ hh

C.yy614

D.If

正确答案:A

答案解析:C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线。

5). 以下说法正确的是( )。

A.宏定义是C语句,要在行末加分号

B.可以使用# undefine提前结束宏名的使用

C.在进行宏定义时,宏定义不能嵌套

D.双引号中出现的宏名也要进行替换

正确答案:B

答案解析:本题考查宏的使用规则:①字符替换格式:#define标识符字符串,行末不加分号;②双引号中出现的宏名不替换;③如果提前结束宏名的使用,程序中可以使用#undefine;④在进行宏定义时,宏定义能层层置换,能够嵌套。

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

A.int *p=(float)x;

B.float *p=&x;

C.float p=&x;

D.float *p=1024;

正确答案:B

答案解析:定义指针变量的一般形式为:类型名 *指针变量名1,*指针变量名2,……;。对一个指针变量赋值要通过求地址运算符(&)获得变量的地址值,然后把此地址值赋给指针变量。因而在选项A的表达式中,赋值号的左边表示定义了指针变量p,而右边表示求变量x的地址值。

2017年9月计算机二级C语言单选专项复习题二

(1). 若变量已正确定义并赋值,以下符合C语言语法的表达式是

A.a:=b+1

B.a=b=c+2

C.int 18.5%3

D.a=a+7=c+b

正确答案:B

答案解析:选项A中包含一个不合法的运算符":=";选项C应改为(int)18.5%3;选项D可理解为两个表达式:a+7=c+b和a=a+7,其中第一个是错的,因为C语言规定赋值号的左边只能是单个变量,不能是表达式或常量等。因此,正确答案是选项B,它实际上相当于a=(b=c+2),进而可分解为两个表达式:b=c+2和a=b。

2). 结构化程序设计的基本原则不包括( )

A.多元性

B.自顶向下

C.模块化

D.逐步求精

正确答案:A

答案解析:结构化程序设计方法的主要原则可以概括为:自顶向下,逐步求精,模块化和限制使用GOTO语句,其中不包括多态性。

3). 下面选项中关于位运算的叙述正确的是( )

A.位运算符都需要两个操作数

B.左移运算的结果总是原操作数据2倍

C.右移运算时,高位总是补0

D.位运算的对象只能是整型或字符型数据

正确答案:D

答案解析:位运算则是以位(bit)一级进行的运算,位运算符中除″~″以外,均为二元运算符,即要求两侧各有一个运算量,运算量只能是整型或字符型的数据,不能为实型数据。其中右移时,右端(低位)移出的二进制数舍弃,左端(高位)移入的二进制数分两种情况:对于无符号整数和正整数,高位补0;对于负整数,高位补1。而左移运算在没有溢出的前提下每移动一位,相当于原数据的2倍。

4). 定义无符号整数类为UInt,下面可以作为类UInt实例化值的是( )

A.-369

B.369

C.0.369

D.整数集合{1,2,3,4,5}

正确答案:B

答案解析:UInt表示的是无符号整数类,所以它的每个实例都是一个无符号整数,所以排除选项A和选项C,选项D是整数集合,所以也排除。

5). 下列关于类、对象、属性和方法的叙述中,错误的是( )。

A.类是对一类具有相同的属性和方法对象的描述

B.属性用于描述对象的状态

C.方法用于表示对象的行为

D.基于同一个类产生的两个对象不可以分别设置自己的属性值

正确答案:D

答案解析:类是对一类具有相同的属性和方法对象的描述,属性用于描述对象的状态,方法用于表示对象的行为,基于同一个类产生的两个对象是可以分别设置自己的属性值。

6). 下列描述中正确的是( )

A.软件交付使用后还需要再进行维护

B.软件工具交付使用就不需要再进行维护

C.软件交付使用后其生命周期就结束

D.软件维护是指修复程序中被破坏的指令

正确答案:A

答案解析:通常将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。已交付的软件投入运行后,应在运行使用中不断地维护,根据新提出的需要进行必要而且可能的扩充和删改。

2017年9月计算机二级C语言单选专项复习题三


1). 对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为( )

A.9

B.10

C.45

D.90

正确答案:C

答案解析:线性表的长度为n,最坏情况下冒泡排序需要比较的次数为n(n -1)/2。

2). 以下叙述中错误的是( )

A.gets函数用于从终端读入字符串

B.getchar函数用于从磁盘文件读入字符

C.fputs函数用于把字符串输出到文件

D.fwrite函数用于以二进制形式输出数据到文件

正确答案:B

答案解析:本题考查的是输入输出函数的使用,gets和 getchar函数用于从标准输入设备终端读入字符串和字符,并非从磁盘文件读入,fputs用于把字符串输出到文件,fwrite用于以二进制形式输出数据到文件。

3). 设有说明int(*ptr)[M];其中的标识符ptr是( )。

A.M个指向整型变量的指针

B.指向M个整型变量的函数指针

C.一个指向具有M个整型元素的一维数组的指针

D.具有M个指针元素的一维指针数组,每个元素都只能指向整型变量

正确答案:C

答案解析:根据C语言的语法规则可知,int(*ptr)[M]中的标识符ptr是一个指向具有M个整型元素的一维数组指针。

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

A.结构体变量的地址不能作为实参传给函数

B.结构体数组名不能作为实参传给函数

C.即使是同类型的结构体变量,也不能进行整体赋值

D.结构体中可以含有指向本结构体的指针成员

正确答案:D

答案解析:一个结构体变量包含若干成员,这些成员可以是数值类型、字符类型、数组类型,也可以是指针类型,甚至可以是正在定义的结构体类型指针。用结构体变量作实参时,采取的是″值传递″的方式,将结构体变量所占的内存单元的内容全部顺序传递给形参。形参也必须是同类型的结构体变量。结构体数组作为参数时,采取了″地址传递″的方式,形参须为同类型的结构指针或者形参结构数组。

5). 以下选项中与 if(a==1)a=b; else a++; 语句功能不同的switch语句是( )

A.switch(a==1) {case 0:a=b;break; case 1:a++; }

B.switch(A {case 1:a=b;break; default : a++; }

C.switch(A {default:a++;break; case 1:a=b; }

D.switch(a==1) {case 1:a=b;break; case 0:a++; }

正确答案:A

答案解析:if else语句的含义是,如果变量a的值等于1,则把变量b的值赋给变量a,否则,变量a的值加1。在本题的4个选项中,与其含义不同的是选项A,表示如果变量a的值等于1,则把变量a的值加1,否则,把变量b的值赋给变量a。

6). 设树T的深度为4,其中度为1,2,3,4的结点个数分别为4,2,1,1。则T中的叶子结点数为( )

A.8

B.7

C.6

D.5

正确答案:B

答案解析:深度为m二叉树其总结点数为2m -1=24-1=15。总结点数减去度为1,2,3,4的结点个数就是叶子结点数。15-4-2-1-1=7。

2017年9月计算机二级C语言单选专项复习题四


1). 若变量均已正确定义并赋值,以下合法的C语言赋值语句是( )。

A.x=y==5;

B.x=n%2.5;

C.x+n=I;

D.x=5=4+1;

正确答案:A

答案解析:选项A的含义是把关系表达式y==5的值赋给变量x。所以这是一条正确的赋值语句。因为赋值运算符左侧的操作数必须是一个变量,而不能是表达式或者常量,所以选项C和D是错误的。因为求余运算符″%″两侧的运算对象都应当是整型数据,所以选项B是错误的。

2). 下列数据结构中,属于非线性结构的是( )

A.循环队列

B.带链队列

C.二叉树

D.带链栈

正确答案:C

答案解析:根据数据结构中各数据元素之间的前后件关系的复杂程度,一般将数据结构分为两大类:线性结构和非线性结构。循环队列、带链队列和带链栈都是线性结构,而二叉树是非线性结构。

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

A.一个算法的空间复杂度大,则其时间复杂度也必定大

B.一个算法的空间复杂度大,则其时间复杂度必定小

C.一个算法的时间复杂度大,则其空间复杂度必定小

D.算法的时间复杂度与空间复杂度没有直接关系

正确答案:D

答案解析:算法的复杂度主要包括时间复杂度和空间复杂度。算法的时间复杂度是指执行算法所需要的计算工作量,算法的工作量用算法所执行的基本运算次数来度量,而算法所执行的基本运算次数是问题规模的函数,即算法的工作量=f(n),其中n是问题的规模;算法的空间复杂度,一般是指执行这个算法所需要的内存空间。一个算法所占用的存储空间包括算法程序所占用的空间、输入的初始数据所占的存储空间以及算法执行过程中所需要的额外空间。根据各自的定义可知,算法的时间复杂度与空间复杂度并不相关。

4). 下列描述中正确的是( )

A.程序就是软件

B.软件开发不受计算机系统的限制

C.软件既是逻辑实体,又是物理实体

D.软件是程序、数据与相关文档的集合

正确答案:D

答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。

5). 对于循环队列,下列叙述中正确的是( )

A.队头指针是固定不变的

B.队头指针一定大于队尾指针

C.队头指针一定小于队尾指针

D.队头指针可以大于队尾指针,也可以小于队尾指针

正确答案:D

答案解析:所谓循环队列,就是将队列存储空间的最后一个位置绕到第一个位置,形成逻辑上的环状空间,供队列循环使用。在循环队列中,用队尾指针rear指向队列中的队尾元素,用队头指针front指向队头元素的前一个位置。循环队列的主要操作是:入队运算和退队运算。每进行入队运算,队尾指针就进一。每进行退队运算,队头指针就进一。当rear或front等于队列的长度加1时,就把rear或front值置为1。所以在循环队列中,队头指针可以大于队尾指针,也可以小于队尾指针。

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

A.sizeof(p)

B.sizeof(char)

C.sizeof(*q)

D.sizeof(p[0])

正确答案:A

答案解析:选项A计算的是p[ ]字符数组首地址所占的内存字节数,返回值数组中所有元素占有的空间。*q和p[0]分别表示数组p中下标为0的字符元素,选项B和D都可以计算char型数据占有的字节数。

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

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

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

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

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

正确答案:D

答案解析:在C语言中,有两种对文件的存取方式;顺序存取和直接存取;如果以″a″的方式对一个已打开的文件进行写操作后,则原有文件中内容将保存,新的数据写在原有内容之后。如果以″a+″的方式为读和写而打开一个文件,则既可以对文件进行读,也可以对文件进行写,而且在读和写操作之间不必关闭文件,可以从头开始读。当对文件的读(写)操作完成之后,必须将它关闭。

2017年9月计算机二级C语言单选专项复习题五


1). 以下选项中不合法的标识符是( )

A.FOR

B.&a

C.print

D._00

正确答案:B

答案解析:合法的标识符要满足组成字符为a~z以及A~Z,数字字符0到9和下划线,其中数字不开头,不能是关键字。选项B中,&不属于组成字符,是错误的。

2). 下列描述中正确的是( )

A.程序就是软件

B.软件开发不受计算机系统的限制

C.软件既是逻辑实体,又是物理实体

D.软件是程序、数据与相关文档的集合

正确答案:D

答案解析:计算机软件与硬件是计算机系统中相互依存的两部分。计算机软件是包括程序、数据及相关文档的完整集合。软件由两部分组成:一部分是机器可执行的程序和数据;二是机器不可执行的,与软件开发、运行、维护、使用等有关的文档。软件具有以下六个特点:①软件是一种逻辑实体,而不是物理实体,具有抽象性。②软件的生产与硬件不同,它没有明显的制作过程。③软件在运行、使用期间不存在磨损、老化问题。④软件的开发、运行对计算机系统具有依赖性,受计算机系统的限制,这导致了软件移值的问题。⑤软件复杂性高,成本昂贵。⑥软件的开发涉及诸多社会因素。

3). 变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是

A.a^b

B.a|b

C.a&b

D.a<<4

正确答案:A

答案解析:本题考查的是位运算的知识,对于任何二进制数,和1进行异或运算会让其取反,而和0进行异或运算不会产生任何变化,故本题选A。

4). 下列关于栈叙述正确的是( )

A.栈顶元素最先能被删除

B.栈顶元素最后才能被删除

C.栈底元素永远不能被删除

D.以上三种说法都不对

正确答案:A

答案解析:栈是先进后出的线性表,栈顶的元素最先被删除,栈底的元素最后被删除。

5). 已知 int a=1,b=3则a^b的值为

A.3

B.1

C.2

D.4

正确答案:C

答案解析:^是按位异或运算,如果对应位不同则结果为1,相同则为0。

6). 按条件f对关系R进行选择,其关系代数表达式为( )

A.R|X|R

B.R|X|Rf

C.бf(R)

D.∏f(R)

正确答案:C

7). 信息隐蔽的概念与下述哪一种概念直接相关( )

A.软件结构定义

B.模块独立性

C.模块类型划分

D.模拟耦合度

正确答案:B