国家二级(C语言)机试模拟试卷143
选择题
1.下列数据结构中,能够按照“先进后出”原则存取数据的是( )。(A)
A. 栈
B. 循环队列
C. 队列
D. 二叉树
解析:栈是先进后出原则存取数据的;队列是先进先出原则。
2.下列数据结构中,属于非线性结构的是( )。(D)
A. 顺序队列
B. 带链队列
C. 顺序栈
D. 二叉树
解析:二叉树是非线性结构,其他都是线性结构。
3.在循环队列数据结构中,下列叙述中正确的是( )。(C)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针可以大于队尾指针,也可以小于队尾指针
D. 队头指针一定小于队尾指针
解析:循环队列的队头指针和队尾指针均不是固定的,也没有大小之分,所以只有选项C正确。
4.计算机术语中算法的空间复杂度是指( )。(D)
A. 算法在执行过程中所需要的临时工作单元数
B. 算法所处理的数据量
C. 算法程序中的语句或指令条数
D. 算法在执行过程中所需要的计算机存储空间
解析:算法的空间复杂度指的是所需的计算机存储空间,所以只有D正确。
5.计算机软件设计过程中,符合划分模块的准则的选项是( )。(D)
A. 低内聚低耦合
B. 高内聚高耦合
C. 低内聚高耦合
D. 高内聚低耦合
解析:划分模块的目的一般是希望设计的模块能够实现较高的内聚力和较低的耦合性。
6.计算机程序设计过程中,不属于结构化程序设计原则的是( )。(A)
A. 可封装
B. 模块化
C. 自顶向下
D. 逐步求精
解析:结构化程序设计原则有:模块化,自顶向下,逐步求精和尽量不使用跳转语句。
7.软件详细设计生产的图如下图:
(C)
A. N一S图
B. PAD图
C. 程序流程图
D. E一R图
解析:N—S图提出了用方框来代替传统的程序流程图,故A项错。PAD图是问题分析图,是继承了程序流程图和方框图之后又一种主要用于描述软件详细设计的图形表示工具,故B项错误。E—R图是数据库中用于表示E—R模型的图示工具,D项也错误。正确答案为C项。
8.计算机数据库管理系统是( )。(D)
A. 操作系统的一部分
B. 一种操作系统
C. 一种编译系统
D. 在操作系统支持下的系统软件
解析:计算机程序有操作系统和应用软件。数据库管理系统是用来管理数据的系统,不属于操作系统,当然也不是操作系统的一部分,更不是编译系统。
9.在E一R图中,用来表示属性的图形是( )。(A)
A. 椭圆形
B. 矩形
C. 菱形
D. 三角形
解析:在E一R图中,实体集用矩形,属性用椭圆,联系用菱形。
10.有三个关系表R、S和T,其内容如下:
(D)
A. 选择
B. 求差
C. 求交
D. 并
解析:关系T中包含了R和S中的所有元素,所以是并操作。
11.以下关于C程序叙述中正确的是( )。(C)
A. 程序的执行总是从程序的第一个函数开始,在main函数结束
B. 程序的执行总是从main函数开始,在程序的最后一个函数中结束
C. 程序的执行总是从main函数开始
D. 程序的执行总是从程序的第一个函数开始,在程序的最后一个函数中结束
解析:任何一个C语言程序的执行总是从main函数开始,以main的结束而结束。其他函数是通过函数调用来执行的。
12.以下关于结构化程序设计的叙述中正确的是( )。(A)
A. 在C语言中,程序的模块化是利用函数实现的
B. 结构化程序使用goto语句会很便捷
C. 一个结构化程序必须同时由顺序、分支、循环三种结构组成
D. 由三种基本结构构成的程序只能解决小规模的问题
解析:结构化程序设计原则是尽量不使用跳转语句,因此,选项B错误;程序设计中可以有多种结构中的一种或多种,因此,C错;三种基本结构可以解决非常复杂的问题,因此D错。
13.若a是数值类型,则逻辑表达式a==1)‖(a!=1)的值是( )。(B)
A. 0
B. 1
C. 2
D. 不知道a的值,不能确定
解析:仔细分析题目发现‖运算符两边的值是两个相反数,所以不管a的值是多少,结果均为真。所以答案为B。
14.以下定义语句中正确的是( )。(D)
A. int x=y=2;
B. char A=65 b=’b’;
C. float a=1,*b=&a,*c=&b;
D. double a=0.0+1,b=1.1:
解析:A选项中的y值在定义之前不能给变量x赋值;B选项中的分号应该为逗号;C选项中的*b和*c是指针变量,*c=&b不正确;D选项在定义时可以将一个表达式的值同时赋给正在定义的变量。因为赋值操作是先计算赋值符号(=)右边的表达式的值再将其赋给等号左边的变量。
15.以下选项中符合C语言语法的是( )。(B)
A. x+1=y
B. x++,y=x--
C. x=x+10=x+y
D. float(x)/10
解析:A和C选项中,不能给表达式赋值,所以错;D中进行强制类型转换的写法有误。应该是(flaot)x;B选项是一个逗号表达式,其中又包含一个赋值表达式,语法正确。
16.在C程序中已经定义三个整型变量x,y,z,要通过语句:
scanf(’’%d,%d,%d’’,&x,&y,&z);
给x赋值1、给y赋值2、给z赋值3,以下输入形式中错误的是( )。(注:口代表一个空格符)(D)
A. 1,2,3
B. 口口口1,2,3
C. 1,口口口2,口口口3
D. 1口2口3
解析:scanf()的格式中指定了要用逗号分隔输入的数值,所以在输入时必须要有逗号来分隔输入的内容,因此,选项D错误。
17.若要打印出字符A,以下语句不正确的是( )。(注:字符A的ASCⅡ码值为65,字符a的ASCⅡ码值为97)(D)
A. printf(’’%c\n’’,’a’一32);
B. printf(’’%c\n’’,’B’—1);
C. printf(’’%c\n’’,65);
D. printf(’’%d\n’’,’A’);
解析:要打印出A,输出格式应该是%c,所以选项D错误;另外,字符是一种特殊的整型数,对应的是其ASCⅡ码数值,所以选项A,B,C正确。
18.C语言的合法常量是( )。(D)
A. 3,100
B. 2.5E5.
本文档预览:3600字符,共14407字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载