1下列叙述中正确的是Word文档格式.docx
《1下列叙述中正确的是Word文档格式.docx》由会员分享,可在线阅读,更多相关《1下列叙述中正确的是Word文档格式.docx(21页珍藏版)》请在冰豆网上搜索。
a;
以下叙述中错误的是()。
//定义语句中的*号是一个间址运算符
//定义语句中的*号是一个说明符
//定义语句中的p只能存放double类型变量的地址
//定义语句中,*p=&
a把变量a的地址作为初值赋给指针变量p////A//中等。
6若有定义语句:
doublex,y,*px,*py;
执行了px=&
x;
py=&
y;
之后,正确的输入语句是( )。
//scanf("
%lf%le"
,px,py);
//scanf("
%f%f"
&
x,&
y);
,x,y);
%lf%lf"
,x,y);
7以下定义数组的语句中错误的是( )。
//intnum[][3]={{1,2},3,4,5,6};
//intnum[2][4]={{1,2},{3,4},{5,6}};
//intnum[]={1,2,3,4,5,6};
//intnum[][4]={1,2,3,4,5,6};
////B//中等。
8有以下程序:
voidfun(inta,intb)
{ intt;
t=a;
a=b;
b=t;
{ intc[10]={1,2,3,4,5,6,7,8,9,0},i;
for(i=0;
i<
10;
i+=2)fun(c[i],c[i+1]);
i<
i++)printf("
%d,"
,c[i]);
\n"
);
程序的运行结果是( )。
//1,2,3,4,5,6,7,8,9,0,
//2,1,4,3,6,5,8,7,0,9,
//0,9,8,7,6,5,4,3,2,1,
//0,1,2,3,4,5,6,7,8,9,////A//中等。
9有以下程序:
{intx[3][2]={0},i;
for(i=0;
i++)scanf("
%d"
,x[i]);
%3d%3d%3d\n"
,x[0][0],x[0][1],x[1][0]);
若运行时输入:
246<
回车>
,则输出结果为( )。
//204
//200
//240
//246////A//中等。
10有以下程序段:
#include<
intj;
floaty;
charname[50];
scanf("
%2d%f%s"
,&
j,&
y,name);
当执行上述程序段,从键盘上输入555667777abc后,y的值为( )。
//566.0
//55566.0
//7777.0
//566777.0////A//中等。
11下列语句组中,正确的是( )。
//char*s;
s="
Olympic"
;
//chars[7];
s={"
};
12有以下函数:
intfun(char*s)
{char*t=s;
while(*t++);
return(t-s);
该函数的功能是( )
//计算s所指字符串的长度
//比较两个字符串的大小
//计算s所指字符串占用内存字节的个数
//将s所指字符串复制到字符串t中////A//中等。
13有以下程序(注:
字符a的ASCII码值为97):
{ char*s={"
abc"
};
do
{ printf("
,*s%10);
++s;
while(*s);
程序运行后的输出结果是( )。
//789
//abc
//7890
//979899////A//中等。
14设有如下函数定义:
intfun(intk)
{ if(k<
1)return0;
elseif(k==1)return1;
elsereturnfun(k-1)+1;
若执行调用语句:
n=fun(3);
,则函数fun总共被调用的次数是( )。
//2
//4
//5////B//中等。
15有以下程序:
intf(intn);
{ inta=3,s;
s=f(a);
s=s+f(a);
,s);
intf(intn)
{ staticinta=1;
n+=a++;
returnn;
//9
//10////A//中等。
16设有定义:
structcomplex
{ intreal,unreal;
}data1={1,8},data2;
则以下赋值语句中错误的是()。
//data2=(2,6);
//data2=data1;
//data2.real=data1.real;
//data2.real=data1.unreal;
17有以下程序:
#include<
structS{intn;
inta[20];
voidf(structS*p)
{inti,j,t;
for(i=0;
p->
n-1;
i++)
for(j=i+1;
j<
n;
j++)
if(p->
a[i]>
p->
a[j]){ t=p->
a[i];
a[i]=p->
a[j];
a[j]=t;
}
{inti;
structSs={10,{2,3,1,6,8,7,5,4,10,9}};
f(&
s);
s.n;
,s.a[i]);
程序运行后的输出结果是( )。
//2,3,1,6,8,7,5,4,10,9,
//10,9,8,7,6,5,4,3,2,1,
//1,2,3,4,5,6,7,8,9,10,
//10,9,8,7,6,1,2,3,4,5,////C//中等。
18有以下程序:
string.h>
typedefstruct{charname[9];
charsex;
intscore[2];
}STU;
STUf(STUa)
{ STUb={"
Zhao"
,'
m'
,85,90};
inti;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;
2;
i++)a.score[i]=b.score[i];
returna;
{ STUc={"
Qian"
f'
,95,92},d;
d=f(c);
printf("
%s,%c,%d,%d,"
,d.name,d.sex,d.score[0],d.score[1]);
%s,%c,%d,%d\n"
,c.name,c.sex,c.score[0],c.score[1]);
//Zhao,m,85,90,Qian,f,95,92
//Zhao,m,85,90,Zhao,m,85,90
//Qian,f,95,92,Qian,f,95,92
//Qian,f,95,92,Zhao,m,85,90////A//中等。
19以下关于宏的叙述中正确的是( )。
//宏替换没有数据类型限制
//宏定义必须位于源程序中所有语句之前
//宏名必须用大写字母表示
//宏调用比函数调用耗费时间////A//中等。
20设有以下语句:
inta=1,b=2,c;
c=a^(b<
<
2);
执行后,c的值为( )。
//6////B//中等。
21有以下程序:
{ FILE*fp;
inta[10]={1,2,3},i,n;
fp=fopen("
d1.dat"
,"
w"
i++)fprintf(fp,"
,a[i]);
fprintf(fp,"
fclose(fp);
r"
fscanf(fp,"
n);
,n);
程序的运行结果是( )。
//321
//12300
//1
//123////D//中等。
22计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是( )。
//C语言程序仅可以编译执行
//C语言程序仅可以解释执行
//C语言程序既可以编译执行又可以解释执行////A//中等。
//以上说法都不对
23有以下程序:
main(){intx;
scanf("
,&
x);
if(x<
=3);
else
if(x!
=10)printf("
,x);
程序运行时,输入的值在哪个范围才会有输出结果( )。
//不等于10的整数
//大于3且不等10的整数
//大于3或等于10的整数
//小于3的////B//中等。
24有以下程序:
main(){inta=1,b=0;
printf("
,b=a+b);
,a=2*b)}
//0,0
//1,0
//3,2
//1,2////D//中等。
25有以下程序:
main(){intnum[4][4]={{1,2,3,4},{5,6,7,8},{9,10,11,12},{13,14,15,16}},i,j;
for(i=0;
4;
i++){for(j=0;
j<
=i;
j++)printf("
%4c"
'
for(j= ;
%4d"
,num[i][j]);
若要按以下形式输出数组右上半三角
1 2 34
6 7 8
1112
16
则在程序下划线处应填入的语句是( )。
//i-1
//i+1
//i
//4-i////C//中等。
26以下程序段中,与语句:
k=a>
b?
(b>
c?
1:
0):
0;
功能相同的是( )。
//if((a>
b)&
&
c))k=1;
elsek=0;
b)‖(b>
//if(a<
=b)k=0;
elseif(b<
=c)k=1;
//if(a>
b)k=1;
elseif(b>
c)k=1;
27有以下程序:
voidss(char*s,chart)
{ while(*s)
{ if(*s==t)*s=t-a+A;
s++;
}}
{ charstr1[100]="
abcddfefdbd"
,c=d;
ss(str1,c);
%s\n"
,str1);
//ABCDDEFEDBD
//abcDDfefDbD
//abcAAfefAbA
//Abcddfefdbd////B//中等。
28现有如下程序段:
#include"
stdio.h"
{ intk[30]={12,324,45,6,768,98,21,34,453,456};
intcount=0,i=0;
while(k[i])
{ if(k[i]%2==0||k[i]%5==0)count++;
i++;
%d,%d\n"
,count,i);
则程序段的输出结果为( )。
//7,8
//8,8
//7,10
//8,10////D//中等。
29以下程序运行后的输出结果是( )。
#include<
voidf(char*s,char*t){chark;
k=*s;
*s=*t;
*t=k;
t--;
if(*s)f(s,t);
main(){charstr[10]="
welcome"
,*p;
p=str+strlen(str)/2+1;
f(p,p-2);
,str);
//eelcomw
//weoclme
//welcome
//emoclew////D//中等。
30有以下程序:
voidfun(char*c,intd){*c=*c+1;
d=d+1;
%c,%c,"
,*c,d);
main(){charb=a,a=A;
fun(&
b,a);
%c,%c\n"
,b,a);
//b,B,b,A
//b,B,B,A
//a,B,B,a
//a,B,a,B////A//中等。
31有以下程序:
main(){chara[10]="
abcd"
,strlen(a),sizeof(a));
//7,4
//4,10
//8,8
//10,10////B//中等。
32若有定义inta[2][3];
,则对a数组的第i行第j列(假设i,j已正确说明并赋值)元素值的正确引用为( )。
//*(*(a+i)+j)
//(a+i)[j]
//*(a+i+j)
//*(a+i)+j////A//中等。
33有以下程序:
{ charc1,c2,c3,c4,c5,c6;
%c%c%c%c"
c1,&
c2,&
c3,&
c4);
c5=getchar();
c6=getchar();
putchar(c1);
putchar(c2);
%c%c\n"
,c5,c6);
程序运行后,若从键盘输入(从第1列开始)
123<
45678<
则输出结果是()
//1267
//1256
//1278
//1245////D//中等。
34以下程序的运行结果是( )。
inta=1;
intf(intc){staticinta=2;
c=c+1;
return(a++)+c;
main(){inti,k=0;
i++){inta=3;
k+=f(a);
k+=a;
,k);
//17
//16
//15
//14////D//中等。
35设有定义:
intn1=0,n2,*p=&
n2,*q=&
n1;
,以下赋值语句中与n2=n1;
语句等价的是( )。
//*p=*q;
//p=q;
//*p=&
//p=*q;
36设有如下说明:
typedefstructST
{ longa;
intb;
charc[2];
}NEW;
以下说法正确的是( )。
//NEW是一个结构体变量
//NEW是一个结构体类型
//ST是一个结构体类型
//以上说明形式非法////B//中等。
37有以下程序:
typedefstruct{charname[9];
floatscore[2];
}STU;
voidf(STUa)
{ STUb={"
,'
,85.0,90.0};
inti;
strcpy(a.name,b.name);
a.sex=b.sex;
i++)a.score[i]=b.score[i];
{ STUc={"
f'
,95.0,92.0};
f(c);
%s,%c,%2.0f,%2.0f\n"
,c.name,c.sex,c.score[0],c.score[1]);
//Qian,f,95,92
//Qian,m,85,90
//Zhao,f,95,92
//Zhao,m,85,90////A//中等。
38有以下程序:
#defineN4
voidfun(inta[][N],intb[]){inti;
N;
i++)b[i]=a[i][i];
main(){intx[][N]={{1,2,3},{4},{5,6,7,8},{9,10}},y[N],i;
fun(x,y);
i++)printf("
,y[i]);
//1,2,3,4,
//1,0,7,0,
//1,4,5,9,
//3,4,8,10,////B//中等。
39有以下程序:
intfun(intx,inty){if(x!
=y)return((x+y)/2);
elsereturn(x);
main(){inta=4,b=5,c=6;
,fun(2*a,fun(b,c)));
//6
//12////B//中等。
40有以下程序:
#defineN5
#defineMN+1
#definef(x)(x*M)
{ inti1,i2;
i1=f
(2);
i2=f(1+1);
%d%d\n"
,i1,i2);
//1212
//117
//1111
//127////B//中等。
操作题
一、程序填空题
给定程序中,函数fun的功能是:
计算x所指数组中N个数的平均值(规定所有数均为正数),平均值通过形参返回给主函数,将小于平均值且最接近平均值的数作为函数值返回,并在主函数中输出。
例如,有10个正数:
46、30、32、40、6、17、45、15、48、26,平均值为30.500000。
主函数中输出m=30。
请在程序的下画线处填入正确的内容并把下画线删除,使程序得出正确的结果。
注意:
部分源程序在文件BLANK1.C中。
不得增行或删行,也不得更改程序的结构!
stdlib.h>
#defineN10
doublefun(double*x)
{inti,j;
doubles,av,y[N];
s=0;
for(i=0;
N;
i++)s=s+x[i];
/**********found**********/
av=__1__;
for(i=j=0;
i++)
if(x[i]>
av){
y[__2__]=x[i];
x[i]=-1;
if(x[i]!
=__3__)y[j++]=x[i];
i++)x[i]=y[i];
returnav;
{inti;
doublex[N];
i++){x[i]=rand()%50;
%4.0f"
x[i]);