国家二级C语言机试(选择题)模拟试卷363
选择题
1.下列叙述中正确的是(B)
A. 有一个以上根结点的数据结构不一定是非线性结构
B. 只有一个根结点的数据结构不一定是线性结构
C. 循环链表是非线性结构
D. 双向链表是非线性结构
解析:在数据结构中,树这类的的数据结构只有一个根结点,但它不是线性结构。
2.设变量m和n均已正确定义并赋值,以下if语句中,在编译时将产生错误信息的是( )。
A
解析:选项B)和C)在条件判断语句的后面是空语句,什么都不做;在选项D)中,在if语句后面是一个复合空语句;在选项A)中,在m–后面少了一个分号,所以程序段在编译时,会出现语法错误。
3.以下定义语句中正确的是(A)
A. char A=65+1’b=’b’:
B. int a=b=0;
C. float a=1,*b=&a,*c=&b;
D. double a=0.0;b=1.1;
解析:本题考查的是数据类型的定义并赋值,选项B中对变量声明类型Ⅱ赋值的情况是不允许出现的,必须单独定义且赋值。选项C中对于指针变量c的赋值须为同型指针,而&b为二级指针。选项D中C语言允许在一个类型说明符后说明多个相同类型的变量,各变量之间要用逗号(,)隔开,而不是用分号(;)隔开;在计算机存储字符时将字符相应的ASCII码以其对应的二进制进行存放,选项A中的定义是合法的。
4.以下关于简单程序设计的步骤和顺序的说法中正确的是(B)
A. 确定算法后,整理并写出文档,最后进行编码和上机调试
B. 首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档
C. 先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档
D. 先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构
解析:本题考查简单程序设计的步骤,基本步骤是首先确定数据结构,然后确定使用的算法,再编码程序并上机调试,最后整理文档。
5.度为3的一棵树共有30个结点,其中度为3、1的结点个数分别为3、4。则该树中的叶子结点数为(B)
A. 14
B. 15
C. 16
D. 不可能有这样的树
解析:根据题目可知本树中还有度为2的结点。树的总结点=(度1*个数+度2*个数…)+1,这里我们设度为2的结点数为x,那么30=3*3+2*x+1*4+1=2*x+14,由此可计算出x=8。树的叶子结点数等于总结点减去所有度不为0的结点,也就是30-3-8-4=15。
6.软件是指(D)
A. 程序
B. 程序和文档
C. 算法加数据结构
D. 程序、数据与相关文档的完整集合
解析:计算机软件是计算机系统中与硬件相互依存的另一部分,是包括程序、数据与相关文档的完整集合。软件由两部分组成:一是机器可执行的程序和数据;二是机器不可执行的-与软件开发、运行、维护、使用等有关的文档。
7.结构化程序所要求的基本结构不包括( )。(C)
A. 顺序结构
B. .选择(分支)结构
C. GOTO跳转结构
D. 重复(循环)结构
解析:结构化程序的基本结构有:顺序结构、选择结构和循环结构,没有GOTO跳转结构。
8.有两个关系R和T如下图所示:
(D)
A. 并
B. 交
C. 选择
D. 投影
解析:从关系模式中指定若干属性组成新的关系称为投影。对关系R进行投影运算的结果记为πA(R),其中,A为R中的属性列。本题中关系T中的两列与关系R中的两列相同,故为投影运算。
9.软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于(B)
A. 定义阶段
B. 开发阶段
C. 维护阶段
D. 上述三个阶段
解析:本题考查软件生命周期的相关概念。通常,将软件产品从提出、实现、使用维护到停止使用退役的过程称为软件生命周期。也就是说,软件产品从考虑其概念开始,到该软件产品不能使用为止的整个时期都属于软件生命周期。一般包括可行性研究与需求分析、设计、实现、测试、交付使用以及维护等活动。还可以将软件生命周期分为软件定义、软件开发及软件运行维护三个阶段。
10.软件生命周期中的活动不包括(A)
A. 市场调研
B. 需求分析
C. 软件测试
D. 软件维护
解析:软件的生命周期描述了软件从产生到最终消亡的全过程,生命周期中的活动包括需求分析、软件设计(分为概要设汁利详细改计。)、软件实现、软件测试和软件维护,不包括市场调研。
11.以下程序段完全正确的是(A)
A. int k,*p=&k;scanf(\\
B. int*p;scanf(\\
C. int*p;scanf(\\
D. int k,*p;*p=&k;scantf(\\
解析:选项B)没有对指针进行初始化,无效指针。选项C)错在没有对指针进行初始化,无效指针,并且在scanf(\\
12.以下叙述中正确的是(D)
A. 程序的算法只能使用流程图来描述
B. N—S流程图只能描述简单的顺序结构的程序
C. 计算机可以直接处理C语言程序,不必进行任何转换
D. 结构化程序的三种基本结构是循环结构、选择结构、顺序结构
解析:结构化程序有三种基本结构循环结构、选择结构、顺序结构,描述算法常见的有文字描述,流程图,盒图,伪代码等。N.S图为盒图,可以描述比较复杂的程序结构,而计算机不能直接处理C程序,只能处理二进制代码。
13.设int n1=0,n2,*p=&n2,*q=&n1;,以下赋值语句中与n2=n1;语句等价的是( )。(A)
A. *p=*q;
B. p=*q;
C. *p=n1;
D. p=q;
解析:本题考查指针的使用。指针p和q分别指向变量n2和n1,所以可以用*p代替n2,*q代替n1。
14.以下程序段中的变量已正确定义:
for(i=0;i<4;i++,i++)
for(k=1;k<3;k++);
printf(’’*’’);
程序的运行结果是( )。(C)
A. **
B. ****
C. *
D. ********
解析:由于内层循环for(k=l;k<3;k++)后面直接跟了空语句“;”,所以在循环内部什么操作也不做,跳出外层循环后执行打印语句,所以打印了一个“术”,选择C选项。
15.以下叙述中正确的是(A)
A. 函数名代表该函数的入口地址
B. 所有函数均不能接受函数名作为实参传入
C. 函数体中的语句不能出现对自己的调用
D. 如果函数带有参数,就不能调用自己
解析:函数形、实参传递的时候,要求对应位置类型一致即可,如果实参为函数名,可以定义相心的形参为指向函数的指针变量来获得该函数的入口地址,囚此选项B)错误的,在C语言中允许进行递归调用,即自己调用自己,选项C)和选项D
本文档预览:3600字符,共10899字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载