1、【
单选题
】
在下列模式中,能够给出数据库物理存储与物理存取方法的是( )。
[1分]
、
外模式
、
内模式
、
概念模式
、
逻辑模式
答案:
2、【
单选题
】
有以下程序:
#include<stdio.h>
main( )
{char a,b,C;
b='l';c='A';
for(a=0;a<6;a++)
{if(a%2)putchar(b+a);
else putchar(c+a);
}
}
程序运行后的输出结果是( )。
[1分]
、
1B3D5F
、
ABCDEF
、
A2C4E6
、
123456
答案:
3、【
单选题
】
数据库系统的三级模式不包括( )。
[1分]
、
概念模式
、
内模式
、
外模式
、
数据模式
答案:
4、【
单选题
】
下列程序的输出结果是( )。
#include
main( )
{ int a=0,i;
for(i=1;i<5;i++)
{ switch(i)
{ case 0:
case 3:a+=1;
case 1:
case 2:a+=2;
default:a+=3;
}
}
printf("%d",i);
}
[1分]
答案:
5、【
单选题
】
有以下程序:
#include<stdio.h>
main()
{char b,C;
int i;
for(i=0;
i>6;i++){if(i%2)putchar(i+b);
else putchar(i+c);
}printf("\n");
}
程序运行后的输出结果是( )。
[1分]
、
ABCDEF
、
AbCdEf
、
aBcDeF
、
abcdef
答案:
6、【
单选题
】
下列函数的功能是( )。
fun(char*a,char*b).{while((*b=*a)!='\0'){a++;b++;})
[1分]
、
将a所指字符串赋给b所指空间
、
使指针b指向a所指字符串
、
将a所指字符串和b所指字符串进行比较
、
检查a和b所指字符串中是否有'\O'
答案:
7、【
单选题
】
下列程序的输出结果是( )。
main( )
{int i=1,j=2,k=3;
if(i++= =1&&(++j= =3= =‖k++= =3))
printf("%d%d%d\n",i,J,k);
)
[1分]
、
1 2 3
、
2 3 4
、
2 2 3
、
2 3 3
答案:
8、【
单选题
】
有以下程序:
#include
main( )
{int m=1,n=2,*p=&m,*q=&n,*r;
r=P;P=q;q=r;
printf("%d,%d,%d,%d\n",m,n,*P,*q);
}
程序运行后的输出结果是( )。
[1分]
、
1,2,1,2
、
1,2,2,1
、
2,1,2,1
、
2,1,1,2
答案:
9、【
单选题
】
有下列程序:
main( )
{
int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;
i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序执行后的输出结果是( )。
[1分]
答案:
10、【
单选题
】
设有定义:int x=o,* P;,立刻执行以下语句,正确的语句是( )。
[1分]
、
p=x;
、
* p=x;
、
D=NULL;
、
* p=NULL;
答案:
11、【
单选题
】
若要定义一个具有5个元素的整型数组,以下错误的定义语句是( )。
[1分]
、
int a[5]={o};
、
int b[]={0,0,0,0,0).
、
int c[2+3];
、
int i=5,d[i];
答案:
12、【
单选题
】
设有定义: struet complex{int real,unreal;)datal={1,8},data2; 则以下赋值语句中错误的是( )。
[1分]
、
data2=datal;
、
data2={2,6};
、
data2.real=datal.real;
、
data2.real=datal.unreal;
答案:
13、【
单选题
】
有以下程序:
#include
#include
struct A
{int a;char b[10];double C;);
struct A f(struct A t):
main( )
{struct A a={1001,"ZhangDa",l098.0};
a=f(a);
printf("%d,%S,%6.1f\n",a.a,a.b,a.c);
}
struct A f(struct A t)
{t.a= 1002;strcpy(t.b,"ChangRon9");t.c=1202.0;return t;}
程序运行后的输出结果是( )。
[1分]
、
1001,ZhangDa,1098.0
、
1002,ZhangDa,1202.0
、
1001,ChangRong,1098.0
、
1002,ChangRong,1202.0
答案:
14、【
单选题
】
软件测试的目的是( )。
[1分]
、
评估软件可靠性
、
发现并改正程序中的错误
、
改正程序中的错误
、
发现程序中的错误
答案:
15、【
单选题
】
有以下程序:
#include
#include
main()
{ char x[]="STRING";
x[0]=0;x[1]='\0';x[2]='0';
printf("%d %d\n",sizeof(x),strlen(x));
}
程序运行后的输出结果是( )。
[1分]
答案:
16、【
单选题
】
下列数据结构中,属于非线性结构的是( )。
[1分]
、
循环队列
、
带链队列
、
二叉树
、
带链栈
答案:
17、【
单选题
】
以下叙述中错误的是( )。
[1分]
、
可以用typedef说明的新类型名来定义变量
、
typedef说明的新类型名必须使用大写字母,否则会出编译错误
、
用typedef可以为基本数据类型说明一个新名称
、
用typedef说明新类型的作用是用一个新的标识符来代表已存在的类型名
答案:
18、【
单选题
】
负责数据库中查询操作的数据库语言是( )。
[1分]
、
数据定义语言
、
数据管理语言
、
数据操纵语言
、
数据控制语言
答案:
19、【
单选题
】
若有定义语句:“char*s1=”0K”,*s2=”ok”;”,以下选项中,能够输出“OK”的语句是( )。
[1分]
、
if(strcmp(sl,s2)= =0)puts(s1);
、
if(strcmp(sl,s2)!=0)puts(s2);
、
if(strcmp(sl,s2)= =l)puts(s1);
、
if(stremp(sl,s2)!=0)puts(s1);
答案:
20、【
单选题
】
有以下程序:
#include
int f(int x);
main( )
{ int a,b=0;
for(a=0;a<3;a++)
{ b=b+f(a);putchar('A'+b);}
}int f(int x)
{ return x * x1;
}
程序运行后的输出结果是( )。
[1分]
答案:
21、【
单选题
】
有以下程序:
#include
main(){
int S,t,A=10;double B=6;
S=sizeof(A);t=sizeof(B);
printf("%d,%d\n",S,t);
}
在VC6平台上编译运行,程序运行后的输出结果是( )。
[1分]
答案:
22、【
单选题
】
有以下程序:
#include
main( )
{ struct node{int n;
struct node*next;} *P;
struct node x[3]={{2,x+1),{4,x+2},{6,NULL}};
P= X;
printf("%d,",p->n);
printf("%d\n",p->next->n);
}
程序运行后的输出结果是( )。
[1分]
答案:
23、【
单选题
】
软件生命周期是指( )。
[1分]
、
软件产品从提出、实现、使用维护到停止使用退役的过程
、
软件从需求分析、设计、实现到测试完成的过程
、
软件的开发过程
、
软件的运行维护过程
答案:
24、【
单选题
】
设变量P是指针变量,语句P=NULL;是给指针变量赋NULL值,它等价于( )。
[1分]
、
p="";
、
p="0";
、
p=0;
、
p=";
答案:
25、【
单选题
】
若ch为char型变量,k为int型变量(已知字符a的ASCIl码是97),则执行下列语句后输出的结果为( )。
ch='b';
k=10:
printf("%X,%o,",ch,ch,k);
printf("k=%%d\n",k);
[1分]
、
因变量类型与格式描述符的类型不匹配,输出无定值
、
输出项与格式描述符个数不符,输出为0值或不定值
、
62,142,k=%d
、
62,142,k=%l0
答案:
26、【
单选题
】
表达式:(int)((double)9/2)-(9)%2的值是( )。
[1分]
答案:
27、【
单选题
】
C语言主要是借助以下哪个功能来实现程序模块化?( )
[1分]
、
定义函数
、
定义常量和外部变量
、
三种基本结构语句
、
丰富的数据类型
答案:
28、【
单选题
】
设fp已定义,执行语句“fp=fopen("file","w");”后,以下针对文本文件file操作叙述的选项中正确的是( )。
[1分]
、
写操作结束后可以从头开始读
、
只能写不能读
、
可以在原有内容后追加写
、
可以随意读和写
答案:
29、【
单选题
】
有以下程序:
#include(stdio.h)
main( ){char a,b,C,d;
scanf("%c%C",&a,&b);
c=getchar( );
d=getchar( );
printf{"%c%c%c%c\n",a,b,C,d);
}
当执行程序时,按下列方式输入数据(从第l列开始,代表回车j注意:回车也是 一个字符)
12
34
则输出结果是( )。
[1分]
答案:
30、【
单选题
】
有以下程序:
#include
#define SUB(a)(a)-(a)
main( )
{int a=2,b=3,c=5,d;
d=SUB(a+b)*C;
printf("%d\n",d);
}
程序运行后的输出结果是( )。
[1分]
答案:
31、【
单选题
】
以下关于C语言的叙述中正确的是( )。
[1分]
、
C语言中的注释不可以夹在变量名或关键字的中间
、
C语言中的变量可以在使用之前的任何位置进行定义
、
在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致
、
C语言的数值常量中夹带空格不影响常量值的正确表示
答案:
32、【
单选题
】
有以下程序:
#include
main( )
{ int s=0.n;
for(n=0;n<3;n++)
{ switch(s)
{ case 0;
case1:s+=1;
case 2:s+=2;break;
case 3:S+=3;
default:s+=4;
}
printf("%d,"s);
}
}
程序运行后的输出结果是( )。
[1分]
、
1,2,4,
、
1,3,6,
、
3,10,14,
、
3,6,10,
答案:
33、【
单选题
】
下列选项中,能正确定义数组的语句是( )。
[1分]
、
int num[0..2008];
、
int num [];
、
int N=2008; int num[N];
、
#define N 2008; int num[N];
答案:
34、【
简答题】
请补充函数proc(),其功能是:计算并输出给定10个数的方差。 例如,给定的l0个数为12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0,输出为S=8.877500。
注意:部分源程序给出如下。 请勿改动main()函数和其他函数中的任何内容,仅在函数proe()的横线上填人所编写 的若干表达式或语句。
试题程序:
#include
#include
double proc(double x[10]) { int i;
double avg=0.0; double sum=0.0;
double abs=0.0; double sd;
for(i=0;i<10;i++) 【1】 ;
avg=sum/10; for(i=0;i<10;i++) 【2】 ;
sd= 【3】 ;
return sd; }void main(){ double s,str[10]={12.0,9.0,26.0,5.0,6.0,31.0,9.0,3.0,8.0,18.0};
int i;
printf("\nThe original data is:\n");
for(i=0;i<10;i++) printf("%6.If",str[i]);
printf("\n\n");
s—proc(str);
printf("s=%f\n\n",s);
}
[18分]
解析:
【1】sum+=x[i]【2】abs+=(x[i]一avg)*(x[i]-avg)【3】sqrt(abs/10)
35、【
简答题】
编写一个函数,从传人的M个字符中找出最长的一个字符串,并通过形参指针max传回该串地址(用****作为结束输入的标志)。
注意:部分源程序给出如下。
请勿改动main()函数和其他函数中的任何内容,仅在函数proc()的花括号中填人所编写的若干语句。
试题程序:
#include
#include
#include
char*proc(char(*a)[81],int num)
{
}
void main()
{
char ss[l0][81],*max;
int n,i=0;
printf("输入若干个字符串:");
gets(ss[i]);
puts(ss[i]);
while(!strcmp(ss[i],"****")= =0)
{
i++: gets(ssEi]);
puts(ss[i]);
}
n=i:
max=proe(SS,n);
printf("\nmax=%s\n",max);
}
[18分]
解析:
char*proc(char(*a)[81],int M)
{
char*max;
int i=0:
max=a[O]:
for(i=0;i<M;i++)
if(strlen(max)<strlen(a[i]))//找出最长的字符串
max=a[i];
return max; //返回最长字符串的地址
}
36、【
简答题】
下列给定程序中函数proc的功能是:取出长整型变量s中偶数位上的数,依次构成一个新数放在t中。例如,当s中的数为l23456789时,t中的数为2468。请修改程序中的错误,使它能得出正确的结果。 注意:不要改动main()函数,不得增行或删行,也不得更改程序的结构。
试题程序:
#include
#include
#include
//****found****
void proc(long S,long t){ long sl=10;
s/=10; *t=s%10;
//****found****
while(s<O) { s=s/l00;
*t=s%10*sl+*t; s1=sl*10;}
}
void main()
{long S,t;
system("CLS"):
printf("\nPlease enter S:");
scanf("%ld",&s);
proc(S,&t); .
printf("The result is:%ld\n",t);
}
[24分]
解析:
1.错误:void proc(10ng S,long t)
正确:void proc(long s,long*t)
2.错误:while(s<0)
正确:while(s>O)