国家二级(C语言)机试模拟试卷418
选择题
1.以下叙述中正确的是( )。(A)
A. char c1,c2,*c3,c4[40];是合法的变量定义语句
B. 数组下标的下限由数组中第一个非零元素的位置决定
C. 数组下标的下限由数组中第一个被赋值元素的位置决定
D. 数组下标的下限是l
解析:A正确,char c1,c2,*c3,c4[40]表示定义了两个字符变量c1、c2,一个字符指针c3,一个字符数组c4。数组的下限永远为O,选项B、C、D错,答案选A。
2.有以下程序:
#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(\\(D)
A. 3456787
B. 876543
C. 1098765
D. 321678
解析:由于数组名本身是一个地址,所以在用数组名作为实参传递时,对应的形参相当于一个指针变量,在函数中可以通过指针变量来引用数组元素,从而改变元素的值。本题中函数fun的作用是将数组A的前n个元素进行逆转,fun(k,5)的结果是数组k的前五个元素1、2、3、4、5变为5、4、3、2、1。逆转后,输出数组中第3个至第8个元素。
3.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( )。(D)
A. 编码设计
B. 测试阶段
C. 运行阶段
D. 物理设计
解析:数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开分解成目标独立的若干阶段,它们是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。在数据库设计中采用上面几个阶段中的前四个阶段,并且重点以数据结构和模型设计为主线。
4.有以下程序:
#include<stdio.h>
typedef struct{int b,p;}A;
void f(A c)/*注意:c是结构变量名*/
{int j;
c.b+=1;c.p+=2;
}
main()
{int i:
A a={1,2}:
f(a);
printf(\\(B)
A. 2,4
B. 1,2
C. 1,4
D. 2,3
解析:结构体变量可以作为函数的参数和返回值。作为函数的实参时,可以实现函数的传值调用。当使用结构体变量作为函数的形参时,实参也应该是结构体变量名以实现传值调用,实参将拷贝副本给形参,在被渊用函数中改变形参值对于调用函数中的实参没有影响。所以选择B。
5.在数据库系统的内部结构体系中,索引属于 ( )。(B)
A. 模式
B. 内模式
C. 外模式
D. 概念模式
解析:内模式又称物理模式,它给出了数据库物理存储结构与物理存取方法,如数据存储的文件结构、索引、集簇及hash等存取方式与存取路径,内模式的物理性主要体现在操作系统及文件级上,它还未深入到设备级上(如磁盘及磁盘操作)。
6.有以下程序段:
lnt i,n;
for(i=0;i<8;i++)
{n=rand()%5;
switch(n)
{ case 1;
case 3:printf(\\(D)
A. for循环语句固定执行8次
B. 当产生的随机数n为4时结束循环操作
C. 当产生的随机数n为1和2时不做任何操作
D. 当产生的随机数n为0时结束程序运行
解析:当产生的随机数n为0时,执行“case 0:exit(0)”这条语句,结束程序的运行。
7.sizeof(char)是( )。(B )
A. 一种函数调用
B. 一个整型表达式
C. 一个字符型表达式
D. 一个不合法的表达式
解析:sizeoffchar)是一个C语言的关键字,它不是函数调用。sizeof的功能是计算出运算对象在计算机的内存中所占用的字节数量,该表达式的返回值是一个整数,而不是一个字符型表达式。
8.以下叙述中正确的是( )。(C)
A. 转义字符要用双引号括起来,以便与普通的字符常量区分开
B. 字符常量在内存中占2个字节
C. 字符常量需要用单引号括起来
D. 字符常量是不能进行关系运算的
解析:A选项中,转义字符是以反斜线“\”开头,后跟1个或几个字符;B选项中,字符常量在内存中占1个字节;D选项中,字符常量可以进行关系运算,不能参与数值运算。因此C选项正确。
9.有表示公司和职员及工作的三张表,职员可在多家公司兼职。其中公司C(公司号,公司名,地址,注册资本,法人代表,员工数),职员S(职员号,姓名,性别,年龄,学历),工作W(公司号,职员号,工资),则表W的键(码)为(A)
A. 公司号,职员号
B. 职员号,工资
C. 职员号
D. 公司号,职员号,工资
解析:由于职员可以在多家公司兼职,表w的键(码)应为公司关系和职员关系的主码,即公司号和职员号。
10.以下关于C语言数据类型使用的叙述中错误的是( )。(C)
A. 若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型
B. 若要保存带有多位小数的数据,可使用双精度类型
C. 若只处理“真”和“假”两种逻辑值,应使用逻辑类型
D. 整数类型表示的自然数是准确无误差的
解析:C语言中没有逻辑类型,所以c错误。若要保存带有多位小数的数据,可以用单精度类型也可以用双精度类型。处理包含不同类型的相关数据可以定义为结构体类型。整数类型可以无误差的表示自然数。
11.执行下列程序时输入456789123,输出结果是( )。
#include
main()
{ char m[80];
int c.i:
scanf(“%c”,&c);
scanf(“%d”,&i);
scanf(“%s”,&m);
printf(“%c,%d,%s\n”,C,i,m);
}(D)
A. 456,789,123
B. 4,789,123
C. 4,56,789,123
D. 4,56,789
解析:scanf函数中的“%c”表示通过键盘只读入一个字符型的数据, “&c”
本文档预览:3600字符,共16809字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载