国家二级(C语言)机试模拟试卷491
选择题
1.数据库设计的四个阶段是:需求分析、概念设计、逻辑设计和( )。(D)
A. 编码设计
B. 测试阶段
C. 运行阶段
D. 物理设计
解析:数据库设计目前一般采用生命周期法,即将整个数据库应用系统的开分解成目标独立的若干阶段,它们是:需求分析阶段、概念设计阶段、逻辑设计阶段、物理设计阶段、编码阶段、测试阶段、运行阶段、进一步修改阶段。在数据库设计中采用上面几个阶段中的前四个阶段,并且重点以数据结构和模型设计为主线。
2.下面程序的运行结果是( )。
#include
main()
{int i;
for(i=1;i<=5;i++)
{ if(i%2)printf(\\(A)
A. *#*#*
B. #*#*#*
C. *#*#
D. #*#*
解析:分析程序可知,程序循环5次,然后利用if语句决定每次循环时输出的字符。当i为奇数时,i%2=1,if(i%2)为真,输出“*”:当i为偶数时,i%2=0,if(i%2)为假,执行else语句,输出“#”,所以当i取1、3、5值时输出“*”,当i取2、4值时输出“#”。
3.有以下程序:
#include<stdio.h>
int f(int x,int y)
{return((y-x)*x);}
void main()
{
int a=3,b=4,c=5,d;
d=f(f(a,b),f(a,c));
printf(\\(A)
A. 9
B. 10
C. 8
D. 7
解析:考查函数的返回值。d=f(f(a,b),f(a,c))=f((b-a)*a,(c-a)*a)=f(3,6)=(6-3)*3=9,所以答案选A。
4.已知一个文件中存放若干工人档案记录,其数据结构如下:
struct a
{ char number[100];
int age;
float p[6];
};
定义一个数组:struct a b[10];
假定文件已正确打开,不能正确地从文件中读入10名工人数据到数组b中的是( )。(B)
A. fread(b,sizeof(struct a),10,fp);
B. for(i=0;i<10;i++)
fread(b[i],sizeof(struct a),1,fp);
C. for(i=0;i<10;i++)
fread(b+i,sizeof(struct a),1,fp);
D. for(i=0;i<5;i+=2)
fread(b+i,sezeof(struct a),2,fp);
解析:数据块输入/输出函数的调用格式为:ffead(buffer,size,count,fp),其中:“buffer”是一个指针,对于fread来说,它是读入数据的存放地址。“size”是要读写的字节数;“count”是要进行读写多少个size字节的数据项;“fp”是指文件型指针。选项B中b[i]是一个数组,不是指针,需改为&b[i]。
5.以下( )不属于对象的基本特征。(A)
A. 继承性
B. 封装性
C. 分类性
D. 多态性
解析:对象具有特征:标识惟一性,指对象是可区分的;分类性,指可以将具有相同属性和操作的对象抽象成类;多态性,指同一个操作可以是不同对象的行为;封装性,从外面看只能看到对象的外部特征,而不知道也无需知道数据的具体结构以及实现操作的算法;模块独立性好,对象是面向对象的软件的基本模块,对象内部各种元素彼此结合得很紧密,内聚性强。
6.可在C程序中用作用户标识符的一组标识符是( )。(B)
A. void define WORD
B. as_b3_123 If
C. For—abc case
D. 2c DO SIG
解析:C语言规定,标识符是由字母、数字或下划线组成,并且它的第一个字符必须是字母或下划线,关键字不能用作用户标识符。
7.若x,i,j和k都是int型变量,则计算表达式x=(i=4,j=16,k=32)后,x的值为( )。(C)
A. 4
B. 16
C. 32
D. 52
解析:本题考查逗号表达式的运用。x=(i=4,i=16,k=32)中的i=4,j=16,k=32构成一个逗号表达式,整个表达式的值取最后一项的值,即32,所以x的值为32。
8.有以下程序:
#include<stdio.h>
main()
{
int k,n=0;char c,str[]=\\(C)
A. Ne1NN
B. e1a2e3
C. Ne1Nc2N
D. Na1NNNN
解析:k=0时,选择default分支,输出N;k=1时,c=str[1]=e,选择case1分支,因为没有遇到break语句,故继续执行case3、case5分支,输出c和++n,即输出e和1,依次往下执行,最终输出Ne1Nc2N。
9.有以下程序:
voi dss(char*s,char t)
{while(*s)
{if(*s==t)*s=t-’a’+’A’;
s++;}
}
main()
{char str1[100]=\\(B)
A. ABCDDEFEDBD
B. abcDDfefDbD
C. abcAAfefAbA
D. Abcddfefdbd
解析:函数ss(char*s,char t)的功能是将指针s所指向的字符串中存在的字符“t”均改写成大写字母;所以main函数中引用函数ss后使得数组str1中的小写字母“d”均变成了大写字母“D”,然后输出数组str1,结果为:abcDDfefDbD。
10.下列选项中,不属于数据模型所描述的内容的是( )。(A)
A. 数据类型
B. 数据操作
C. 数据结构
D. 数据约束
解析:数据模型描述的内容包含数据结构、数据操作和数据约束。
11.一间宿舍可住多个学生,则实体宿舍和学生之间的联系是( )。(B)
A. 一对一
B. 一对多
C. 多对一
D. 多对多
解析:实体间的联系有如下情况:①一对一(1:1);②一对多(1:m);③多对多(m:n)。本题中,一间宿舍对应多个学生,那么宿舍和学生之间的联系是一对多,学生和宿舍的联系是多对一。
12.有以下程序:
#include<stdio.h>
main()
{int c=0,k;
for(k=1;k<3;k++)
switch(k)
{default:c+=k;
case2:c++;break;
ease4:c+=2;break;
}
printf(\\(C)
A. 7
本文档预览:3600字符,共16284字符,源文件无水印,下载后包含无答案版和有答案版,查看完整word版点下载