计算机与信息科学类试题Word格式.docx
《计算机与信息科学类试题Word格式.docx》由会员分享,可在线阅读,更多相关《计算机与信息科学类试题Word格式.docx(14页珍藏版)》请在冰豆网上搜索。
B)有零个或多个输出
C)有穷性
D)可行性
12、以下叙述中正确的是(B)
A)C语言的源程序不必通过编译就可以直接运行
B)C语言中的每条可执行语句最终都将被转换成二进制的机器指令
C)C源程序经编译形成的二进制代码可以直接运行
D)C语言中的函数不可以单独进行编译
13、以下符合C语言语法的实型常量是(C)
A)1.2E0.5B)3.14.159E
C).5E-3
D)E15
14、以下4组用户定义标识符中,全部合法的一组是(A)
A)_main
B)If
C)txt
D)int
enclude
-max
REAL
k_2
sin
turbo
3COM
_001
15、若以下选项中的变量已正确定义,则正确的赋值语句是(C)
A)x1=26.8%3
B)1+2=x2C)x3=0x12D)x4=1+2=3;
16、设有以下定义
int
a=0;
double
b=1.25;
charc=’A’;
#define
d
2
则下面语句中错误的是(D)
A)a++;
B)b++
C)c++;
D)d++;
17、设有定义:
floata=2,b=4,h=3;
以下C语言表达式与代数式计算结果不相
符的是(B)
A)(a+b)*h/2
B)(1/2)*(a+b)*h
C)(a+b)*h*1/2
D)h/2*(a+b)
18、有以下程序
main()
{
intx=102,y=012;
printf(“%2d,%2d
”,x,y);
}
执行后输出结果是(C)
A)10,01
B002,12
C)102,10
D)02,10
19、以下4个选项中,不能看作一条语句的是(D)
A){;
B)a=0,b=0,c=0;
C)if(a>
0);
D)if(b==0)m=1;
n=2;
20、设有定义:
inta,*pa=&
a;
以下scanf语句中能正确为变量a读入数据的是(A)
A)scanf(“%d”,pa);
B)scanf(“%d”,a);
C)scanf(“%d”,&
pa);
D)scanf(“%d”,*pa);
21、以下程序段中与语句k=a>
b?
(b>
c?
1:
0):
0;
功能等价的是(A)
A)if((a>
b)&
&
c))k=1;
B)if((a>
b)||(b>
c))
k=1
else
k=0;
C)if(a<
=b)
D)if(a>
b)
k=1;
elseif(b<
=c)
elseif(b>
c)
elsek=0;
22、有以下程序
{
chark;
int
I;
for(i=1;
i<
3;
i++)
{
scanf(“%c”,&
k);
switch(k)
case‘0’:
printf(“another
”);
case‘1’:
printf(“number
}
}
程序运行时,从键盘输入:
01<
回车>
,程序执行后的输出结果是(C)
A)another
B)another
C)another
D)number
number
number
another
23、有以下程序
intx=0,y=5,z=3;
while(z-->
0&
++x<
5)
y=y-1;
printf(“%d,%d,%d
”,x,y,z);
程序执行后的输出结果是(B)
A)3,2,0
B)3,2,-1
C)4,3,-1
D)5,-2,-5
24、有以下程序
inti,s=0;
10;
i+=2)
s+=i+1;
printf(“%d
”,s);
程序执行后的输出结果是(D)
A)自然数1~9的累加和
B)自然数1~10的累加和
C)自然数1~9中的奇数之和
D)自然数1~10中的偶数之和
25、有以下程序
inti,n=0;
for(i=2;
5;
do
if(i%3)
continue;
n++;
}while(!
i);
printf(“n=%d
”,n);
A)n=5
B)n=2
C)n=3
D)n=4
26、若程序中定义了以下函数
double
myadd(doublea,doubleb)
{return(a+b);
并将其放在调用语句之后,则在调用之前应该对该函数进行说明,以下选项中错误的说明是(A)
A)doublemyadd(doublea,b);
B)doublemyadd(double,double);
C)doublemyadd(doubleb,doublea);
D)doublemyadd(doublex,doubley);
27、有以下程序
charfun(charx,chary)
if(x<
y)
returnx;
returny;
main()
inta=’9’,b=’8’,c=’7’;
printf(“%c
”,fun(fun(a,b),fun(b,c)));
}
程序的执行结果是(D)
A)函数调用出错
C)9
D)
28、设有定义:
intn=0,*p=&
n,**q=&
p;
则以下选项中,正确的赋值语句是(D)
A)p=1;
B)*q=2;
C)q=p;
D)*p=5;
29、有以下程序
voidf(intv,int
w)
intt;
t=v;
v=w;
w=t;
intx=1,y=3,z=2;
if(x>
f(x,y);
elseif(y>
z)f(y,z);
f(x,z);
A)1,2,3
B)3,1,2
C)1,3,2
D)2,3,1
30、有以下程序段
int()
intaa[10]={1,2,3,4_�?
PケY_H�?
鲍鹬凳牵―)
A)5
B)6
C)8
D)9
31、有以下程序
chara[]=”abcdefg”,b[10]=”abcdefg”;
printf(“%d
%d
”,sizeof(a),sizeof(b));
A)7
7
B)88C)810D)1010
32、有以下程序
voidswap1(intc[])
{intt;
t=c[0];
c[0]=c[1];
c[1]=t;
voidswap2(inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&
a[3],b;
b=p[5];
b中的值是(D)
voidswap2(int,5,6,7,8,9,10},i;
i>
=0;
i--)
sum(&
aa);
”,aa[0]);
执行后的输出结果是(A
B)自然数1~10的累加和
inta[10]={1,2,3,4,5,6,7,8,9,10},*p=&
voidswap2(intc0,intc1)
t=c0;
c0=c1;
c1=t;
{inta[2]={3,5},b[2]={3,5};
swap1(a);
swap2(b[0],b[1]);
%d
”,a[0],a[1],b[0],b[1]);
其输出结果是(B)
A)5353
B)5335C)3535
D)3553
33、有以下程序
voidsum(int*a)
{a[0]=a[1];
intaa[10]={1,2,3,4,5,6,7,8,9,10},i;
#include<
stdlib.h>
structNODE{
intnum;
structNODE*next;
};
structNODE*p,*q,*r;
intsum=0;
p=(structNODE*)malloc(sizeof(structNODE));
q=(structNODE*)malloc(sizeof(structNODE));
r=(structNODE*)malloc(sizeof(structNODE));
p->
num=1;
q->
num=2;
r->
num=3;
next=q;
next=r;
next=NULL;
sum+=q->
next->
num;
sum+=p->
printf(“%d
”,sum);
执行后的输出结果是(B)
A)3
B)4
C)5
D)6
49、有以下程序
stdio.h>
FILE*fp;
inti,k=0,n=0;
fp=fopen(“d1.dat”,”w”);
4;
i++)
fprintf(fp,”%d”,i);
fclose(fp);
fp=fopen(“d1.dat”,”r”);
fscanf(fp,”%d%d”,&
k,&
n);
printf(“%d%d
”,k,n);
执行后输出结果是(B)
A)1
2
B)123
0
C)1
23
D)0
0
50、有以下程序(提示:
程序中fseek(fp,-2L*sizeof(int),SEEK_END);
语句的作用是使位置指针从文件尾向前移2*sizeof(int)字节)
{FILE*fp;
inti,a[4]={1,2,3,4},b;
fp=fopen("
data.dat"
"
wb"
);
for(i=0;
fwrite(&
a,sizeof(int),1,fp);
rb"
);
fseek(fp,-2L*sizeof(int).SEEK_END);
fread(&
b,sizeof(int),1,fp);
/*从文件中读取sizeof(int)字节的数据到变量b中*
printf("
%d
"
b);
执行后输出结果是(D)
A)2
B)1
C)4
D)3
二、填空题(每空2分,共40分)
1、E-mail地址由用户名和域名两部分组成,这两部分的分隔符为【@】。
2、计算机网络分为广域网和局域网,因特网属于【广域网】。
3、从Windows环境进入MS-DOS方式后,返回Windows环境的DOS命令为【EXIT】。
4、在Windows环境下,只要在“开始”菜单中单击【文档】选项,就可以查阅最近打开过的文档清单。
5、计算机的运算速度可以用MIPS来描述,1MIPS是指每秒执行【百万条或一百万条或1000000条】条指令。
6、已知字符A的ACSII码值为65,以下语句的输出结果是【B66】
charch=’B’;
printf(“%c%d
”,ch,ch);
7、有以下语句段
n1=10,n2=20;
printf(“【n1=%d
n2=%d
】”,n1.n2);
要求按以下格式输出n1和n2的值,每个输出行从第一列开始,请填空。
n1=10
n2=20
8、有以下程序
main()<
BR<
p>
{intt=1,i=5;
for(;
t*=i;
”,t);
执行后输出结果是【0】。
9、有以下程序
intn=0,m=1,x=2;
if(!
n)
x-=1;
if(m)
x-=2;
if(x)
x-=3;
”,x);
执行后输出结果是【-4】。
10、有以下程序
charch1,ch2;
intn1,n2;
ch1=getchar();
ch2=getchar();
n1=ch1-‘0’;
n2=n1*10+(ch2-‘0’);
”,n2);
程序运行时输入:
12<
,执行后输出结果是【12】。
11、有以下程序
voidf(inty,int*x)
{y=y+*x;
*x=*x+y;
intx=2,y=4;
f(y,&
x);
执行后输出的结果是【8
4】。
12、函数fun的功能是计算xn
doublefun(doublex,intn)
inti;
doubley=1;
=n;
y=y*x;
主函数中已经正确定义m,a,b变量并赋值,并调用fun函数计算:
m=a4+b4-(a+b)3。
实现这一计算的函数调用语句为【fun(a,4)+fun(b,4)-fun(a+b,3)】。
13、下面rotate函数的功能是:
将n行n列的矩阵A转置为A’,例如:
1234
15913
5678
261014
当
A=
910
11
12
则
A’=
37
15
13
14
15
16
4
8
1
请填空
N
4
void
rotate(inta[][N])
inti,j,t;
N;
for(j=0;
【j<
=i】;
j++)
t=a[j];
【a[j]=a[j]】;
a[j]=t;