C语言

计算机二级C语言考前30天攻关测试题

时间:2024-10-19 07:38:42 C语言 我要投稿
  • 相关推荐

计算机二级C语言考前30天攻关测试题

  下面是应届毕业生考试网小编整理的2017年3月计算机二级C语言考前30天攻关测试题,希望大家好好利用,祝大家考试顺利。

计算机二级C语言考前30天攻关测试题

  一、选择题

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

  A.预处理命令行的最后不能以分号表示结束

  B.C程序对预处理命令行的处理是在程序执行的过程中进行的

  C.#define MAX 是合法的宏定义命令行

  D.在程序中凡是以″#″开始的语句行都是预处理命令行

  正确答案:B

  答案解析:预处理命令行是以″#″开始的语句,预处理命令行的最后不能以分号表示结束,预处理命令行。其中宏定义的字符替换的定义格式为:# define 标识符 字符串,预处理命令行是在系统对源程序进行编译之前进行处理的,不是在程序执行的过程中。

  2). 按照″后进先出″原则组织数据的数据结构是( )

  A.队列

  B.栈

  C.双向链表

  D.二叉树

  正确答案:B

  答案解析:栈是限定在一端进行插入与删除的线性表。在栈中,允许插入与删除的一端称为栈顶,不允许插入与删除的另一端称为栈底。栈顶元素总是最后插入的元素,也是最先被删除的元素;栈底元素总是最先插入的元素,也是最后才能被删除的元素。即栈是按照″后进先出″(Last In First Out,简称LIFO)或″先进后出″(First In Last Out,简称FILO)的原则组织数据的。因此,栈也称为″后进先出表″或″先进后出″表。

  3). 以下程序段完全正确的是( )

  A.int k, *p=&k; scanf(″%d″, p);

  B.int *p; scanf(″%d″, p);

  C.int *p; scanf(″%d″, &p);

  D.int k, *p; *p=&k; scanf(″%d″, p);

  正确答案:A

  答案解析:选项B没有对指针进行初始化,无效指针。选项C错在没有对指针进行初始化,无效指针,并且在scanf(″%d″,&p)中无需再进行取地址操作。选项D,语句*p=&k;的左端*p是指针所指内存空间的值,&k是地址,应为p=&k。

  4). 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  正确答案:B

  答案解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。

  5). 软件设计中划分模块的一个准则是( )

  A.低内聚低耦合

  B.高内聚低耦合

  C.低内聚高耦合

  D.高内聚高耦合

  正确答案:B

  答案解析:耦合性与内聚性是模块独立性的两个定性标准。一般一个较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

  6). 当把4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。

  A.k%2

  B.k%2==1

  C.(k%2) !=0

  D.!k%2==1

  正确答案:A

  答案解析:整数k对2求余数的两个结果只能是0和1,所以选项A表示k除以2的余数,其结果是0或1。在选项B、C和D中包括算术求余运算符″%″,关系等于运算符 ″==″和关系不等于运算符″!=″以及逻辑非运算符″!″。而逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑″非″)、算术运算符、关系运算符、&&(逻辑″与″)、||(逻辑″或″)、赋值运算符。选项B含义是判断表达式k%2的结果是否等于1、选项C的含义是判断表达式k%2的结果是否不等于0,选项D含义是判断表达式!k%2的结果是否等于1,所以选项B、C和D的含义相同。

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

  A.调用printf( )函数时,必须要有输出项

  B.使用put )函数时,必须在之前包含头文件stdio.h

  C.在C语言中,整数可以以二进制、八进制或十六进制的形式输出

  D.调节get )函数读入字符时,可以从键盘上输入字符所对应的ASCII码

  正确答案:B

  答案解析:选项A,若printf函数没有输出项,且格式字符串中不含格式信息,则输出的是格式字符串本身,若格式字符串含有格式信息,运行时则出现错误提示;选项C,在C语言中,整数可以十进制、八进制或十六进制的形式输出;选项D,getchar函数是从标准输入设备读取一个字符。

  2). 以下结构体类型说明和变量定义中正确的是( )

  A.typedef struct { int n; char c; } REC; REC t1,t2;

  B.struct REC ; { int n; char c; }; REC t1,t2;

  C.typedef struct REC; { int n=0; char c=′A′; } t1,t2;

  D.struct { int n; char c; } REC; REC t1,t2;

  正确答案:A

  答案解析:定义结构体类型的一般形式为:struct 结构体名 {成员列表};struct 结构体名后不能加″;″号,所以选项B、C)错误,选项D中定义无名称的结构体类型同时定义结构体变量形式应为struct t1,t2;选项A为用户自定义类型,其为正确的定义形式。

  3). 若实体A和B是一对多的联系,实体B和C是一对一的联系,则实体A和C的联系是( )

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  正确答案:B

  答案解析:由于B和C有一一对应的联系,而A和B只间有一对多的联系,则通过关系之间的传递,则A和C之间也是一对多的联系。

  4). 一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )

  A.一对一

  B.一对多

  C.多对一

  D.多对多

  正确答案:B

  答案解析:两个实体集间的联系可以有下面几种:一对一的联系、一对多或多对一的联系和多对多的联系。由于一个宿舍可以住多个学生,所以它们的联系是一对多联系。

  5). 软件设计中划分模块的一个准则是( )

  A.低内聚低耦合

  B.高内聚低耦合

  C.低内聚高耦合

  D.高内聚高耦合

  正确答案:B

  答案解析:耦合性与内聚性是模块独立性的两个定性标准。一般一个较优秀的软件设计,应尽量做到高内聚,低耦合,即减弱模块之间的耦合性和提高模块内的内聚性,有利于提高模块的独立性。

  6). 当把4个表达式用作if语句的控制表达式时,有一个选项与其他3个选项含义不同,这个选项是( )。

  A.k%2

  B.k%2==1

  C.(k%2) !=0

  D.!k%2==1

  正确答案:A

  答案解析:整数k对2求余数的两个结果只能是0和1,所以选项A表示k除以2的余数,其结果是0或1。在选项B、C和D中包括算术求余运算符″%″,关系等于运算符 ″==″和关系不等于运算符″!=″以及逻辑非运算符″!″。而逻辑运算符与赋值运算符、算术运算符、关系运算符之间从高到低的运算优先次序是:!(逻辑″非″)、算术运算符、关系运算符、&&(逻辑″与″)、||(逻辑″或″)、赋值运算符。选项B含义是判断表达式k%2的结果是否等于1、选项C的含义是判断表达式k%2的结果是否不等于0,选项D含义是判断表达式!k%2的结果是否等于1,所以选项B、C和D的含义相同。

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

  A.关系运算符两边的运算对象可以是C语言中任意合法的表达式

  B.在C语言中,逻辑真值和假值分别对应1和0

  C.对于浮点变量x和y,表达式:x==y 是非法的,会出编译错误

  D.分支结构是根据算术表达式的结果来判断流程走向的

  正确答案:A

  答案解析:C语言中没有逻辑类型,用非零表示逻辑真。0表示逻辑假,选项B错误,无法判断两个浮点变量是否相等,但是x==y不会出现编译错误,选项C错误,分支结构根据表达式的值,不一定为算术表达式,选项D错误。

  2). 在软件生命周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是( )。

  A.需求分析

  B.详细设计

  C.软件设计

  D.概要设计

  正确答案:A

  答案解析:软件生命周期的主要活动阶段为:可行性研究和计划制定、需求分析、软件设计、软件实现、软件测试、运行和维护。其中需求分析是对开发软件提出的需求进行分析并给出详细定义,即准确地确定软件系统的功能,编写软件规格说明书及初步的用户手册,提交评审。

  3). 设文件指针fp已定义,执行语句fp=fopen(″file″,″w″);后,以下针对文本文件file操作叙述的选项中正确的是( )

  A.写操作结束后可以从头开始读

  B.可以在原有内容后追加写

  C.可以随意读和写

  D.只能写不能读

  正确答案:D

  答案解析:在题目中函数fopen以″只写″方式打开文件file。

  4). 以下关于C语言的叙述中正确的是( )。

  A.预处理命令通常位于函数体外面,但也可以位于函数体中间

  B.C语言中的变量定义须在其他语句之前

  C.在C语言程序的书写中,一个语句必须单占一行

  D.一个C语言源程序可以由一个或多个源文件组成,每个源文件可由自己的main函数

  正确答案:A

  答案解析:源程序中可以有预处理命令(include命令仅为其中的一种)。C语言中的变量可以在使用之前的任何位置进行定义。C语言程序的书写中,多个语句可以位于一行,但为了增强可读性,一般每行只有一条语句。一个C语言源程序可以由一个或多个源文件组成,但仅可以有一个mam函数.

  5). 下列选项中可作为C语言合法常量的是( )。

  A.-80

  B.-080

  C.-8e1.0

  D.-80.Oe

  正确答案:A

  答案解析:所谓常量是指在程序运行的过程中,其值不能被改变的量。在C语言中,有整型常量、实型常量、字符常量和字符串常量等类型。选项B中是以0开头,表示一个八进制数,而八进制数的取值范围是0~7,所以“-080”错误;在C语言巾e后面的指数必须是整数,因此选项C和D也不正确。

  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。

【计算机二级C语言考前30天攻关测试题】相关文章:

计算机二级C语言考前必做题08-23

计算机二级C语言预测试题08-14

2017计算机二级C语言测试题及答案08-09

2023计算机二级C语言测试题及答案10-23

计算机二级《C语言》测试题及答案202411-02

2016计算机二级《C语言》测试题及答案08-23

计算机二级《C语言》测试题与答案解析10-30

计算机二级C语言测试题及答案解析07-11

计算机二级C语言预测试题及答案10-30

计算机二级C语言测试题及答案201610-09