国家二级(C语言)机试模拟试卷460
选择题
1.以下叙述中正确的是( )。(C)
A. 语句char a[2]={\\
B. 语句int a[]={0};是不合法的,遗漏了数组的大小
C. 语句int a[8]={0};是合法的
D. 语句char a[3];a=\\
解析:考查一维数组以及字符数组的初始化。初始化的时候可以只给数组的前面一部分元素设定初值,故C正确。字符数组中的每个元素为一个字符,需要用单引号,选项A错。若对数组全部元素赋初值时,可以不指定数组元素的个数,选项B错。定义字符数组时可以将字符串直接赋给该字符数组,其他情况则不可以,选项D错。答案选C。
2.对于循环队列,下列叙述中正确的是( )。(D)
A. 队头指针是固定不变的
B. 队头指针一定大于队尾指针
C. 队头指针一定小于队尾指针
D. 队头指针可以大于队尾指针,也可以小于队尾指针
解析:在循环队列中,用队尾指针(rear)指向队列中的队尾元素,用队头指针(front)指向队头元素的前一个位置。在循环队列中,一般情况下rear>front,当存储空间的最后一个位置被使用,而新元素要入队时,如果存储空间的第一个位置空闲,便可将元素插入到第一个位置,此时存储空间的第一个位置作为队尾,便有front>rear。
3.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(B)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:实体间的联系有如下情况:
①一对一(1:1);
②一对多(1:m);
③多对多(m:n)。
本题中,一间宿舍对应多个学生,那么宿舍和学生之间的联系是一对多,学生和宿舍的联系是多对一。
4.有以下程序:
#include<stdio.h>
#define N 4
void fun(int a[][N],int b[])
{
int i;
for(i=0;i<N;i++)
b[0]=a[i][i];
}
main()
{
int x[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
fun(x,y);
for(i=0;i<N;i++)
printf(\\(B)
A. 1 2 3 4
B. 1 0 7 0
C. 1 4 5 9
D. 3 4 8 0
解析:数组x有4列。fun函数中for循环的作用是将二维数组前4行的对角线元素分别赋给b[0],b[1],b[2],b[3]。在主函数中,二维数组初始化为{1,2,3},{4},{5,6,7,8},{9,10},所以可以看出对角线元素为1 0 7 0。
5.假设有语句sizeof(double),则它是( )。(A)
A. —个整型表达式
B. —个双精度浮点型表达式
C. —种函数调用
D. —种函数定义
解析:sizeof(double)是C语言内部规定的一个计算参数( double)在计算机的内存中所占用的字节数量的函数,它返回一个整数值。
6.若有定义int x,y;并已正确给变量赋值,则以下选项中与表达式(x-y)?(x++):(y++)中的条件表达式(x-y)等价的是( )。(A)
A. (x-y<0‖x-y>0)
B. (x-y<0)
C. (x-y>0)
D. (x-y==0)
解析:条件表达式:x=表达式1?表达式2:表达式3,其含义是先求解表达式1,若其值为非0(真),则求解表达式2,将表达式2的值赋给x;若表达式1的值为0(假),则求解表达式3,将表达式3的值赋给x。与表达式(x-y)等价的是(x-y<0‖x-y>0)。
7.有以下程序:
#include<stdio.h>
int m1(int x,int y)
{returnx<=y?x:y;}
int m2(int x,int y)
{returnx<=y?y:x;}
im fun(int a,int b)
{return a+b;}
main()
{
int x=2,y=3,z=1;
printf(\\(A)
A. 5
B. 6
C. 4
D. 3
解析:函数m1()返回两个参数中较小的数值,函数m2()返回两个参数中较大的数值,函数fun()返回两个参数之和,所以fun(m1(x,y),m2(y,z))=fun(m1(2,3),m2(3,1))=fun(2,3)=5,答案选A。
8.一般情况下,当对关系R和S进行自然连接时,要求R和S含有一个或者多个共有的( )。(C)
A. 记录
B. 行
C. 属性
D. 元组
解析:自然连接是一种特殊的等值连接,它满足下面的条件:①两关系间有公共域;②通过公共域的等值进行连接,故C选项正确。
9.下列数据结构中,属于非线性结构的是( )。(C)
A. 循环队列
B. 带链队列
C. 二叉树
D. 带链栈
解析:线性结构的特点:①有且只有一个根结点;②每一个结点最多有一个前驱,也最多有一个后继。不满足线性结构条件的称为非线性结构,二叉树的非叶子结点最多可以用两个后继结点,属于非线性结构。
10.软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和( )。(B)
A. 阶段性报告
B. 需求分析
C. 需求总结
D. 都不正确
解析:软件需求分析阶段的工作,可以概括为四个方面:需求获取、需求分析、编写需求规格说明书和需求评审。需求获取的目的是确定对目标系统的各方面需求。涉及到的主要任务是建立获取用户需求的方法框架,并支持和监控获取的过程。需求分析是对获取的需求进行分析和综合,最终给出系统的解决方案和目标系统的逻辑模型。编写需求规格说明书作为需求分析的阶段成果,可以为用户、分析人员和设计人员之间的交流提供方便,可以直接支持目标软件系统的确认,又可以作为控制软件开发进程的依据。需求评审是对需求分析阶段的工作进行复审,验证需求文档的一致性、可行性、完整性和有效性。
11.设有如下关系表:
(C)
A. T=R/S
B. T=R×S
C. T=R∩S
D. T=RUS
解析:T就是关系R中有的,同时S中也有的有序组(4、5、6),即交运算(n)。
12.下列说法不正确的是( )。(D )
A. int*ptr;//指针指向整形数据
B. char*ptr;//指针的类型是字符型指针
C. int**ptr;//指针的类型是双重指针
D. int(*ptr)[3
本文档预览:3600字符,共15247字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载