计算机等级二级C语言模拟试题1(四)
一、选择题((1) ~ (10)每题2分,(11) ~ (50)每题1分,共60分)
下列问题A)、B)、C)、D)中的四个选项只有一个是正确的。请在答题卡的相应位置涂上正确选项,答案不会在试卷上计分。
(1)算法的空之间的复杂度是指_ _ _ _ _ _ _ _。
A)算法程序的长度b)算法程序中的指令数
c)算法程序占用的存储空空间d)算法执行过程中需要的存储空空间
答案:D
评价:一个算法
一个算法占用的内存空包括算法程序占用的内存空、算法程序占用的内存空
(2)下列关于书库的说法中,正确的是_ _ _ _ _ _。
A)栈中只能插入数据B)栈中只能删除数据
C)栈是先入先出的线性表D)栈是先入后出的线性表
回答:D
点评:栈是限定一端的线性表,用于插入和删除。
栈按照“先进后出”或“后进先出”的原则组织数据。因此,栈也被称为“先进后出”表或“后进先出”表。
(3)深度为5的全二叉树中,叶节点的个数是_ _ _ _ _ _ _ _。
A)32 B)31 C)16 D)15
答案:C
点评:所谓全二叉树,是指每一层上除了最后一层以外的所有节点都有两个子节点。也就是说,在全二叉树中,每一层的节点数达到值,即全二叉树的第k层有2K-1个节点,深度为m的全二叉树有2m个节点。
在完全二叉树中,最后一级的节点数就是叶节点数。这个问题的深度是5,所以叶子节点的个数是25-1=24=16。
(4)建立良好的编程风格,下列描述正确的是_ _ _ _ _ _ _ _。
A)程序应该简单、清晰、易读;b)符号名的命名要符合语法
c)要充分考虑程序的执行效率;d)程序的注释是可选的
答案:A
注释:要形成良好的编程风格,应注意并考虑以下因素:符号名的命名正确的注释能帮助读者理解程序;在制定方案时应优先考虑清晰性。除非对效率有特殊要求,否则清晰是第一位的,效率是第二位的。
(5)下列关于物体概念的描述是_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _。
A)任何对象都必须有继承;b)对象是属性和方法的封装;
C)对象之间的通信依赖于消息传递;d)操作是对象的动态属性;
答案:A
评价:对象是数据和允许操作的封装,与客观实体有直接的对应关系。对象之间通过传递消息来相互联系,以模拟现实世界中不同事物之间的联系。
(6)下列不属于软件工程的三要素是_ _ _ _ _ _ _ _。
A)512;b)过程C)方法D)环境
回答:D
评价:软件工程包括三个要素,即方法、工具和过程。
(7)程序流程图(PFD)中的箭头代表_ _ _ _ _ _。
A)数据流B)控制流C)调用关系D)组成关系
答案:B
点评:PFD是一种传统的、应用广泛的软件过程设计表示工具,也叫程序框图,其箭头代表控制流。
(8)在数据管理技术的发展中,经历了手工管理阶段、文件系统阶段和数据库系统阶段。其中数据独立的阶段是_ _ _ _ _ _。
A)数据库系统B)文件系统C)手工管理D)数据项管理
答:A
评价:在数据管理技术的发展中,经历了手工管理阶段、文件系统阶段、数据库系统阶段。数据独立的阶段是数据库系统。
(9)用树型结构来表示实体间关系的模型称为_ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _ _的模型 _ _ _ _ _ _ _ _ _ _ _ _ _
A)关系模型B)层次模型C)网络模型D)数据模型
答案:B
评价:层次模型是发展最早的数据库模型。 它的基本结构是树状结构,在现实世界中很常见,比如家族结构,行政组织,都是自上而下,分等级的。
(10)关系数据库管理系统可以实现的特殊关系操作包括_ _ _ _ _ _。
A)排序、索引和计数B)选择、投影和连接
C)关联、更新和排序D)显示、打印和制表
答案:B
评价:关系数据库管理系统可以实现的专门的关系操作,包括选择操作和投影操作。
(11)下列语句中,符合C语言语法的赋值语句是_ _ _ _ _ _。
A)A-7+b+ C-A+7 B)A = A+7
C)A = 7+B,b++,A+7;D)a=7+b,c = a ^ 10 ^ 7;
回答:D
点评:由于赋值语句是由一个赋值表达式加号构成的,选项A和B不是合法的赋值语句;选项C中有两个运算符:逗号运算符和赋值运算符,其中赋值运算符优先级高,选项C优先级低。
(12)下面的程序
main()
{ int y = 9;
for(;y > O;y-I){
if(y % 3 = = O)
{ printf(" % d ",-y);
continue I
}
}
]的输出是_ _ _ _ _ _ _ _ _。
A)741 B)852 c)963d)875421
答案:B
备注:“%”是一个补码运算符,所以if判断实际上是表示只有y能被3整除才能继续;-y首先是y的自约运算,然后用y的值。因此,最终的打印结果应该是“852”。
(13)下列四种说法中,错误的是_ _ _ _ _ _ _ _ _。
A)C语言中的关键字必须小写
B)C语言中的标识符必须全部由字母组成
C)C语言中不提供I/O语句
D)C语言中的注释行可以出现在程序中的任何地方
答案:B
注释:
(14)下面的程序
main()
{
int a =-l,b = 4,k;
k=(a++ printf("%d%d%d\n ",k,a,b);
}的输出是_ _ _ _ _ _ _ _ _。
A)003 B)012 C)103d)112
答案:C
点评:a++是先用A的值再给A的值加1,B-是先用B的值再给B的值减1,所以题中逻辑运算表达式的值应该为真,即1。
(15)下列说法正确的是_ _ _ _ _ _。
A)预处理是指在文件包含中完成宏替换和指定文件的调用
B)预处理也是一个C语句
c)在C源程序中,所有行首带有earn标记的控制线都是预处理指令
D)预处理是C编译器完成对C源程序的第一次扫描, 准备编译的词法分析和语法分析
答案:C
点评:预处理函数主要有宏定义、文件包含和条件编译三种,所以A不正确。 预处理不是C语句,所以B不正确。预处理命令是ANSI c统一规定的,编译器无法识别,D不正确。
(16)下面的程序片段
y =-l;
If(x!= 0)
If(x > 0)y = 1;否则y = 0;
数学函数关系是_ _ _ _ _ _ _ _ _。
-1(x a)y = 0(x = 0)b)y =-1(x = 0)
1(x > 0)0(x >。y = l(x = o)
1(x > o)0(x > o)
答案:C
评价:本题的考查点是根据程序写出数学函数关系。
问题中的两个判断语句实际上指出了Y取值的条件,即当x大于零时,Y取L;当x小于零时,y取0;当x等于零时,y的值不变,为-1。
(17)下面的程序
main ()
{int x = 3,y = o,z = o;
if(x = y+z)printf(" * * * * ");
else printf(" # # # # ");
}
________ .
A)有语法错误,无法通过编译输出* * *)。
c)可以编译,但是无法连接,所以无法运行
D)Output # # # #
答案:D
点评:本题的考点是表达式中运算符的处理原则。
本题中,y+z的值赋给X,由于Y和Z都等于0,所以X的值也是0。表达式值为false,输出大括号大括号。if语句中if后面的表达式通常是逻辑或关系表达式,但也可以是任何数值类型。
(18)在C语言中,合法的长整型常量是_ _ _ _ _ _ _ _。
A)ol b)4962710 c)04312765d)0xa 34 b 7 Fe
答案:A
备注:如果在整数常量上加一个字母L或L,则认为是长整型常量。
(19)以下函数
int funl(char * x)
{ char * y = x;
while(* y++);
return(y-x-1);
}的作用是_ _ _ _ _ _。
A)求字符串的长度b)比较两个字符串的大小
C)将字符串X复制到字符串Y中D)将字符串X连接到字符串Y的后面
答案:A
注释:本题的考点是while()循环语句。
这个问题首先要注意的是*y++的运算,因为++和*的优先级相同,组合方向是从右到左,所以相当于*(y++)。由于++在Y的右边,是“后加的”,所以先对Y的原值进行*运算,再改变Y的值。
(20)设int i=2j=l,k=3,则表达式I&&(I+J)&k ︱ I+J的值为_ _ _ _ _ _ _ _ _。
A)O B)2 C)l D)3
答案:C
备注:这个问题表达式中的优先顺序是brackets,+,&,︱,&&
(21)已知字母A的ASCII码是十进制65。下面的程序
main ()
{charchl,CH2
chl = ' A '+' 5 '-' 3 ':
CH2 = ' A '+' 6 '-' 3 ':
printf(" % d,%Cn ",CHL,CH2);
}
的输出_ _ _ _ _ _ _ _ _。
A)67,D B)B,C C)C,D D)不确定值
答案:A
备注:由于字符“5”和“3”的ASCII码之差为2,所以超运算后ch1的值应为65+2 = 67;同样,ch2的计算值应该是65+3=68,也就是字符“d”。
(22)下列程序的输出结果是_ _ _ _ _ _。
# include
main()
{
int a,b,d = 24l:
a = d/l00 % 9;
b =(-1)& &(-1);
printf("%d,%d\n ",a,b);
}
A) 6,1b) 2,1c) 6,0d) 2,0
答案:B
备注:第一个表达式中,运算的方向是从左到右,所以A的值为2;在第二个表达式中,等式的右边是一个逻辑表达式。因为结果为真,所以表达式的值为L,即B为1。
(23)下列选项中非法的表达式是________。
A)0
0条评论