国家二级(C语言)机试模拟试卷528
选择题
1.下列有关数据库的描述,正确的是( )。(B)
A. 数据库设计是指设计数据库管理系统
B. 数据库技术的根本目标是要解决数据共享的问题
C. 数据库是一个独立的系统,不需要操作系统的支持
D. 数据库系统中,数据的物理结构必须与逻辑结构一致
解析:数据库设计的目的实质上是设计出满足实际应用需求的实际关系模型。数据库技术的主要目的是有效地管理和存取大量的数据资源,包括:提高数据的共享性,使多个用户能够同时访问数据库中的数据;减小数据的冗余,以提高数据的一致性和完整性;提供数据与应用程序的独立性,从而减少应用程序的开发和维护代价。
2.以下程序的输出结果是( )。
#include
main()
{ int a=8,b=6,m=1;
switch(a%4)
{ case 0:m++;
break;
case 1:m++;
switch(b%3)
{default:m++;
case 0:m++:break;
}
}
printf(”%d\\
”,m);}(B )
A. 1
B. 2
C. 3
D. 4
解析:本题考查switch语句。因为a=8,a%4=0,所以执行case 0后面的语句,将m加1,遇到break语句跳出switch。
3.有以下程序:
#include<stdio.h>
void fun(int a[],int n)
{int i,t;
for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-i]=t;}
}
main()
{int k[10]={1,2,3,4,5,6,7,8,9,10},i;
fun(k,5);
for(i=2;i<8;i++)printf(\\(A)
A. 321678
B. 876543
C. 1098765
D. 345678
解析:本题中的函数fun()的功能是将数组k中前5个元素倒序,所以返回后数组k中的元素排列是5,4,3,2,1,6,7,8,9,10。所以打印输出k[2]到k[7]元素的值,即321678,所以选择A。
4.若输入’’abcdef’’、’’abdef’’,以下程序的输出结果为( )。
#include<stdio.h>
#include<string.h>
main()
{ int n;
char s1[201,s2[20],*p1,*p2;
scanf(’’%s’’,s1);
scanf(’’%s’’,s2);
p1=s1;
p2=s2;
n=strcmp(p1,p2);
printf(’’%d\n’’,n);}(A)
A. –
B. 0
C. ’’abcdef’’
D. ’’abdef’’
解析:本题考查两个知识点:①字符串比较函数strcmp(s1,s2),若s1>s2,则返回1;若s1=s2,则返回0;若s1<s2,则返回-1。②字符串依次比较的是它们相同位置上字符的ASCII码值。
5.有以下程序:
#include<stdio.h>
void fun(char*c,int d)
{*c=*c+1;
d+=1;
orintf(\\(A)
A. g,GF,g
B. g,FF,g
C. G,fF,G
D. f,gf,g
解析:此题考查的是函数参数的传递。main函数中首先调用fun函数,fun函数的功能是使字符c的ASCII码值加1并输出,使d加1并输出对应的字符;dun(&b,a)输出“g,G”,但是由于fun函数的第一个参数进行的是地址传递,而第二个参数进行的是值传递,所以main函数中的printf函数输出“F,g”。
6.下面程序的输出结果是( )。
#include
main()
{char a[]={’a’,’b’,’c’,’d’,’f’,’g’},*p;
P=a;
prinff(\\(C)
A. a
B. b
C. e
D. f
解析:“*”号的优先级比“+”的优先级高,所以先执行“*p”;指针p指向的是数组的首地址,因此*p=a,再加4得’e’。
7.运行下列程序时,若输入数据为“321”,则输出结果是( )。
main()
{int num,i,j,k,s;
scanf(\\(A)
A. 123
B. 1,2,3
C. 321
D. 3,2,1
解析:本题考查if…else语句和switch语句。scanf函数通过键盘读入num的值。因为“num=321>99”,所以“s=3,i=3,j=2,k=1”。因为s=3,所以执行case 3.输出k,j,i的值,然后通过break结束程序。
8.以下程序的输出结果是( )。
#include<stdio.h>
int m=13:
int fun(int x,int Y)
{ int m=2;
return(x*y-m);
}
main()
{ int a=7,b=6;
printf(\\(B)
A. 1
B. 3
C. 7
D. 10
解析:本题考查的是函数调用时的参数的作用域。在函数调用时,当全局变量和局部变量的名称相同时,在局部变量的作用域内,局部变量起作用,因而在fun函数内m的应该等于2,main中的m为13,所以返回值为7×6-2=40,而fun(a,b)/m值为40/13=3。
9.支持子程序调用的数据结构是( )。(A)
A. 栈
B. 树
C. 队列
D. 二叉树
解析:栈支持子程序调用。栈是一种只能在一端进行插入或删除的线性表,在主程序调用子函数时要首先保存主程序当前的状态,然后转去执行子程序,最终把子程序的执行结果返回到主程序中调用子程序的位置,继续向下执行,这种调用符合栈的特点,因此本题的答案为A)。
10.在关系数据库中,用来表示实体间联系的是( )。(B)
A. 属性
B. 二维表
C. 网状结构
D. 树状结构
解析:关系模型实体间的联系采用二维表来表示,简称表。选项C为网状模型实体间的联系,选项D为层次模型实体间的联系,选项A属性刻画了实体。
11.设Y为整型变量,a=6,a的地址为E2
本文档预览:3600字符,共13977字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载