国家二级(C语言)机试模拟试卷435
选择题
1.下列叙述中正确的是( )。(A)
A. 程序执行的效率与数据的存储结构密切相关
B. 程序执行的效率只取决于程序的控制结构
C. 程序执行的效率只取决于所处理的数据量
D. 以上说法均错误
解析:程序执行的效率与数据的存储结构、数据的逻辑结构、程序的控制结构、所处理的数据量等有关。
2.设有定义:
char p[]={’1’,’2’,’3’},*q=p;
以下不能计算出一个char型数据所占字节数的表达式是( )。(C)
A. sizeof(*q)
B. sizeof(char)
C. sizeof(p)
D. sizeof(p[0])
解析:数组名表示该数组的首地址,是一个地址常量,所以sizeof(p)求得的是一个地址占用的字节数,即4个字节,答案选C。
3.下列关于栈的叙述中,正确的是( )。(C)
A. 栈底元素一定是最后入栈的元素
B. 栈顶元素一定是最先入栈的元素
C. 栈操作遵循“先进后出”的原则
D. 以上说法均错误
解析:栈顶元素总是后被插入的元素,也是最先被删除的元素;栈底元素总是最先被插入的元素,也是最后才被删除的元素;栈的修改是按“后进先出”的原则进行的。因此,栈称为“先进后出”表,或“后进先出”表,故C选项正确。
4.数据管理技术发展的三个阶段中,( )没有专门的软件对数据进行管理。
Ⅰ.人工管理阶段
Ⅱ.文件系统阶段
Ⅲ.数据库阶段(A)
A. 仅Ⅰ
B. 仅Ⅲ
C. Ⅰ和Ⅱ
D. Ⅱ和Ⅲ
解析:数据管理技术发展的三个阶段中,只有人工管理阶段,没有操作系统,没有管理数据的软件,数据处理方式是批处理。在文件系统阶段,操作系统中已经有了专门数据管理软件,一般称为文件系统。在数据库系统阶段,出现了统一管理数据的专门软件系统,即数据库管理系统。
5.下面程序的输出结果是( )。
#include
main()
{char a[]={’a’,’b,’c’,’d’,’f’,’g’},*p;
p=a;
printf(”%c\\\\11”,*p+4);
}(C )
A. a
B. b
C. e
D. f
解析:“*”号的优先级比“+”的优先级高,所以先执行“*p”;指针p指向的是数组的首地址,因此*p=a,再加4得’e’。
6.将E—R图转换到关系模式时,实体与联系都可以表示成( )。(B)
A. 属性
B. 关系
C. 记录
D. 码
解析:E-R图由实体、实体的属性和实体之间的联系3个要素组成,关系模型的逻辑结构是一组关系模式的集合,将E-R图转换为关系模型:将实体、实体的属性和实体之间的联系转化为关系模式。如下表所示。
7.以下语句中存在语法错误的是( )。
A
解析:数组定义后,不可以对数组整体赋值,s是二维数组,因ss[1]是一维字符数组,即字符串,字符串赋值可以使用stmpy(ss[1],\\
8.以下程序中函数sort的功能是对a数组中的数据进行由大到小的排序
void sort(int a[],int n)
{ int i,j,t;
for(i=0;i<n-1;i++)
for(j=i+1 ;j<n;j++)
if(a[i]<a[j]){t=a[i];a[i]=a[j];a[j]=t;}
}
main()
{ int aa[10]={1,2,3,4,5,6,7,8,9,10},i;
sort(&aa[3],5);
for(i=0;j<10;i++)ptintf(’’%d,’’,aa[i]);
printf(’’\n’’);}
程序运行后的输出结果是( )。(C)
A. 1,2,3,4,5,6,7,8,9,10,
B. 10,9,8,7,6,5,4,3,2,1,
C. 1,2,3,8,7,6,5,4,9,10,
D. 1,2,10,9,8,7,6,5,4,3,
解析:程序中sort函数的功能是对数组中的数据进行从大到小的排序。主函数main中调用函数“sort(&aa[3],5);”,使得数组aa中从第4个元素开始的5个元素进行从大到小的排序,数组aa中的元素变为:1,2,3,8,7,6,5,4,9,10。并输出这些元素。
9.下面描述中不属于数据库系统特点的是( )。(C)
A. 数据共享
B. 数据完整性
C. 数据冗余度高
D. 数据独立性高
解析:数据库系统的特点为高共享、低冗余、独立性高、具有完整性等,故C错误。
10.若有定义语句:int x=10;,则表达式x一=X+X的值为( )。(C)
A. 0
B. 一20
C. 一10
D. 10
解析:算术运算符+的优先级高于一=,且一=的结合方向为自右向左,所以表达式x一=x+x可以表示成x=x一(x+x)=10一(10+10)=一10,选择C。
11.若有说明int a[3][4];则a数组元素的非法引用是( )。(D)
A. a[0][2*1]
B. a[1][3]
C. a[4-2][0]
D. a[0][4]
解析:此题考查的是数组元素的引用。对于已定义的数组a[M][N],数组元素的正确引用必须满足行下标小于M,列下标小于N且为正整数。此题中,选项D)中列下标值出现溢出。
12.一名教师可讲授多门课程,一门课程可由多名教师讲授。则实体教师和课程间的联系是( )。(D)
A. 1:1联系
B. 1:m联系
C. m:1联系
D. m:n联系
解析:因为一名教师可讲授多门课程,而一门课程又能由多名教师讲授,所以教师和课程之间是多对多的关系,可以表示为m:n,选择D。
13.若变量已正确定义为int型,要通过语句:
scanf(\\(D)
A. 1,2,3<回车>
B. □□□1,2,3<回车>
C. 1,□□□2,□□□3<回车>
D. 1□2□3<回车>
解析:scanf()的格式控制串可以使用其他非空白字符,如本题中的逗号,但在输入时必须输入这些字符,以保证匹配。所以逗号必须输入。
14.执行以下程序段后,w的值为( )。
int w=‘A’,x=14,y=15;
w=((x ‖ y)&&(w<‘a’));(C)
A. .1
B. NULL
C. 1
D. 0
本文档预览:3600字符,共14063字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载