c语言填空题.docx
《c语言填空题.docx》由会员分享,可在线阅读,更多相关《c语言填空题.docx(25页珍藏版)》请在冰豆网上搜索。
c语言填空题
1.以下程序中,函数fun的功能是计算x2-2x+6,主函数中将调用fun函数计算:
y1=(x+8)2-2(x+8)+6
y2=sin2(x)-2sin(x)+6
请填空。
#include"math.h"
doublefun(doublex){return(x*x-2*x+6);}
main()
{doublex,y1,y2;
printf("Enterx:
");scanf("%lf",&x);
y1=fun(__x+8____);
y2=fun(_sin(x)_____);
printf("y1=%1f,y2=%1f\n",y1,y2);
}
2.执行以下程序时输入1234567,则输出结果是__1234____。
#include
main()
{inta=1,b;
scanf("%2d%2d",&a,&b);printf("%d%d\n",a,b);
}
3.若有以下程序
intf(intx,inty)
{return(y-x)*x;}
main()
{inta=3,b=4,c=5,d;
d=f(f(3,4),f(3,5));
printf("%d\n",d);
}
执行后输出结果是__9____。
4.以下程序的输出结果是_ACE_____。
#include
main()
{inti;
for(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');
printf("\n");
}
5.下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。
请填空。
fun(intx,intb[])
{intk=0,r;
do
{r=x%___2___;
b[k++]=r;
x/=___2___;
}while(x);
}
6.以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请填空。
main()
{inti,a[20],sum,count;
sum=count=0;
for(i=0;i<20;i++)scanf("%d",______);
fro(i=0;i<20;i++)
{if(a[i]>0)
{count++;
sum+=______;
}
}
printf("sum=%d,count=%d\n",sum,count);
}
&a[i]
a[i]
7.以下程序运行后的输出结果是___220.000000___。
main()
{charc;intn=100;
floatf=10;doublex;
x=f*=n/=(c=50);
printf("%d%f\n",n,x);
}
8.以下程序中,for循环体执行的次数是_4_____。
#defineN2
#defineMN+1
#defineKM+1*M/2
main()
{inti;
for(i=1;i{...}
...
}
9.以下程序运行后的输出结果是__135715____。
main()
{inti,n[]={0,0,0,0,0};
for(i=1;i<=4;i++)
{n[i]=n[i-1]*2+1;
printf("%d",n[i]);
}
}
9.下列程序中字符串中各单词之间有一个空格,则程序的输出结果是__Howdoesshe____。
#include
main()
{charstr1[]="Howdoyoudo",*p1=str1;
strcpy(str1+strlen(str1)/2,"esshe");
printf("%s\n",p1);
}
10.以下程序的输出结果是___261___。
main()
{inta=177;
printf("%o\n",a);
}
11.下面程序的运行结果是:
__100010____。
#defineN10
#defines(x)x*x
#definef(x)(x*x)
main()
{inti1,i2;
i1=1000/s(N);i2=1000/f(N);
printf("%d%d\n",i1,i2);
}
12.已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:
B33<回车>,则输出结果是_1B_____。
#include
main()
{chara,b;
a=getchar();scanf("%d",&b);
a=a-'A'+'0';b=b*2;
printf("%c%c\n",a,b);
}
13.以下程序运行后的输出结果是_17_____。
main()
{intx=15;
while(x>10&&x<50)
{x++;
if(x/3){x++;break;}
elsecontinue;
}
printf("%d\n",x);
}
14.函数sstrcmp()的功能是对两个字符串进行比较。
当s所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。
请填空。
#include
intsstrcmp(char*s,char*t)
{while(*s&&*t&&*s==_*t_____)
{s++;t++;}
return__*s-*t____;
}
15.以下程序的输出结果是___7___。
main()
{intx=0;
sub(&x,8,1);
printf("%d\n",x);
}
sub(int*a,intn,intk)
{if(k<=n)sub(a,n/2,2*k);
*a+=k;
}
16.以下程序段用于构成一个简单的单向链表,填空。
structSTRU
{intx,y;
floatrate;
___structSTRU*___p;
}a,b;
a.x=0;a.y=0;a.rate=0;a.p=&b;
b.x=0;b.y=0;b.rate=0;b.p=NULL;
17.以下isprime函数的功能是判断形参a是否为素数,是素数,函数返回1,否则返回0。
请填空。
intisprime(inta)
{inti;
for(i=2;i<=a/2;i++)
if(a%i==0)__return0____;
__return1____;
}
18.设有如下程序:
main()
{intn1,n2;
scanf("%d",&n2);
while(n2!
=0)
{n1=n2%10;
n2=n2/10;
printf("%d",n1);
}
}
程序运行后,如果从键盘上输入1298,则输出结果为_8921___。
19.以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。
请填空。
voidfun(int,int,int(*)[4],int*);
main()
{inta[3][4]={{12,41,36,28},{19,33,15,27},{3,27,19,1}},b[3],i;
fun(3,4,a,b);
for(i=0;i<3;i++)printf("%4d",b[i]);
printf("\n");
}
voidfun(intm,intn,intar[][4],int*br)
{inti,j,x;
for(i=0;i{x=ar[i][0];
for(j=0;j______=x;
}
}
br[i]
20.已知字符A的ASCII码为65,以下程序运行后的输出结果是__67G____。
main()
{chara,b;
a='A'+'5'-'3';b=a+'6'-'2';
printf("%d%c\n",a,b);
}
21.以下程序的功能是:
求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。
请填空。
main()
{intx[10],a[9],i;
for(i=0;i<10;i++)scanf("%d",&x[i]);
for(______;i<10;i++)
a[i-1]=x[i]+______;
for(i=0;i<9;i++)printf("%d",a[i]);
printf("\n");
}
i=1x[i-1]
22.函数mycmp(char*s,char*t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t返回正值,当s请填空。
mycmp(char*s,char*t)
{while(*s==*t)
{if(*s=='\0')return0;
++s;++t;
}
return(______);
}
*s-*t
23.有以下程序
main()
{intn=0,m=1,x=2;
if(!
n)x-=1;
if(m)x-=2;
if(x)x-=3;
printf("%d\n",x);
}
执行后输出的结果是__-4____。
24.设有定义:
floatx=123.4567;,则执行以下语句后的输出结果是___123.460000___。
printf("%f\n"(int)(x*100+0.5)/100.0);
25.以下程序中,函数SumColumMin的功能是:
求出M行N列二维数组每列元素中的最小值,并计算它们的和值。
和值通过形参传回主函数输出。
请填空。
#defineM2
#defineN4
voidSumColumMin(inta[M][N],int*sum)
{inti,j,k,s=0;
for(i=0;i{k=0;
for(j=1;jif(a[k][i]>a[j][i])k=j;
s+=______;
}
______=s;
}
main()
{intx[M][N]={3,2,5,1,4,1,8,3},s;
SumColumMin(______);
printf("%d\n",s);
}
a[k][i]*sumx,&s
26.已知字符A的ASCII码值为65,以下语句的输出结果是______。
charch='B';
printf("%c%d\n",ch,ch);
B66
27.设函数findbig已定义为求3个数中的最大值。
以下程序将利用函数指针调用findbig函数。
请填空。
main()
{intfindbig(int,int,int);
int(*f)(),x,y,z,big;
f=______;
scanf("%d%d%d",&x,&y,&z);
big=(*f)(x,y,z);
printf("big=%d\n",big);
}
findbig
28.下面程序的输出是______。
main()
{intarr[10],i,k=0;
for(i=0;i<10;i++)
arr[i]=i;
for(i=1;i<4;i++)
k+=arr[i]+i;
printf("%d\n",k);
}
12
29.以下函数fun用于求两个整数a和b的最大公约数。
fun(a,b)
inta,b;
{inti,j,m,n;
if(a>b)
{m=a;a=b;______;}
i=a;j=b;
while((n=______)!
=0)
{j=i;i=______;}
return(i);
}
故本题答案为:
b=m和j%i和n。
30.以下程序中,select函数的功能是:
在N行M列的二维数组中,选出一个最大值作为函数值返回,并通过形参传回此最大值所在的行下标,请填空。
#defineN3
#defineM3
select(inta[N][M],int*n)
{inti,j,row=0,colum=0;
for(i=0;ifor(j=0;iif(a[i][j]>a[row][colum]){row=i;colum=j;}
*n=______;
return(______);
}
main()
{inta[N][M]={9,11,23,6,1,15,9,17,20},max,n;
max=select(a,&n);
printf("max=%d,line=%d\n",max,n);
}
rowa[row][colum]
31.以下sum函数的功能是计算下列级数之和。
S=1+x+x^2/2!
+x^3/3!
+…+x^n/n!
请给函数中的各变量正确赋初值。
doublesum(doublex,intn)
{inti;
doublea,b,s;
______
for(i=1;i<=n;i++)
{a=a*x;b=b*i;s=s+a/b;}
returns;
}
a=1.0,b=1.0,s=1.0
32以下函数的功能是:
求x的y次方,请填空。
doublefun(doublex,inty)
{inti;
doublez;
for(i=1,z=x;ireturnz;
}
x
33.以下程序的输出结果是______。
main()
{inta[3][3]={{1,2,9},{3,4,8},{5,6,7}},i,s=0;
for(i=0;i<3;i++)s+=a[i][i]+a[i][3-i-1];
printf("%d\n",s);
}
30
34.以下程序的输出结果是______。
#defineMCRA(m)2*m
#defineMCRB(n,m)2*MCRA(n)+m
main()
{inti=2,j=3;
printf("%d\n",MCRB(j,MCRA(i)));
}
16
35.设有以下程序:
main()
{inta,b,k=4,m=6,*p1=&k,*p2=&m;
a=p1==&m;
b=(*p1)/(*p2)+7;
printf("a=%d\n",a);
printf("b=%d\n",b);
}
执行该程序后,a的值为____,b的值为_____。
07
36.以下函数rotate的功能是:
将a所指N行N列的二维数组中的最后一行放到b所指二维数组的第0列中,把a所指二维数组中的第0行放到b所指二维数组的最后一列中,b所指二维数组中的其他数据不变。
#defineN4
voidrotate(inta[][N],intb[][N])
{inti,j;
for(i=0;i{b[i][N-1]=______;
______=a[N-1][i];}
}
a[0][i]b[i][0]
37有以下程序:
#include
main()
{charc;
while((c=getchar())!
='?
')putchar(--c);
}
程序运行时,如果从键盘输入:
Y?
N?
↙,则输出结果为______。
x
38.以上程序运行后的输出结果是______。
main()
{inti=10,j=0;
do
{j=j+i;i--;}
while(i>2);
printf("%d\n",j);
}
52
39.若有如下结构体说明:
structSTRU
{inta,b;charc:
doubled;
structSTRU*p1,*p2;
};
请填空,以完成对t数组的定义,t数组的每个元素为该结构体类型。
______t[20]
structSTRU
41.以下程序的输出结果是______。
voidfun()
{
staticinta=0;
a+=2;
printf("%d",a);
}
main()
{
intcc;
for(cc=1;cc<4;cc++)fun();
printf("\n");
}
246
42.以下程序运行后的输出结果是______。
#include
main()
{charch[]="abc",x[3][4];inti;
for(i=0;i<3;i++)strcpy(x[i],ch);
for(i=0;i<3;i++)printf("%s",&x[i][i]);
printf("\n");
}
.abcbcc
43.以下程序的输出结果是______。
#defineMAX(x,y)(x)>(y)?
(x):
(y)
main()
{
inta=5,b=2,c=3,d=3,t;
t=MAX(a+b,c+d)*10;
printf("%d\n",t);
}
7
44.设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为______。
3
45.以下程序的功能是调用函数fun计算:
m=1-2+3-4+…+9-10,并输出结果。
请填空。
intfun(intn)
{intm=0,f=1,i;
for(i=1;i<=n;i++)
{m+=i*f;
f=______;
}
returnm;
}
main()
{printf("m=%d\n",______);}
-ffun(10)
46.若有程序
main()
{inti,j;
scanf("i=%d,j=%d",&i,&j);
printf("i=%d,j=%d\n",i,j);
}
要求给i赋10,给j赋20,则应该从键盘输入______。
I=10,j=20
47.语句;X++;、++X;、X=X+1;、X=1+X;,执行后都使变量X中的值增1,请写出一条同一功能的赋值语句(不得与列举的相同)_____。
X+=1
48.下面的函数strcat(str1,str2)实现将字符串str2拼接到字符串str1后面的功能。
请填空使之完整。
char*strcat(str1,str2)
char*str1,*str2;
{char*t=str1;
while(______)str1++;
while(______);
return(t);}
*str1!
=NULL和*str1++=*str2++
49.以下程序的输出结果是______。
main()
{char*p="abcdefgh",*r;
long*q;
q=(long*)p;
q++;
r=(char*)q;
printf("%s\n",r);
}
efgh
50.以下程序运行后的输出结果是______。
main()
{chara[]="Language",b[]="Programe";
char*p1,*p2;intk;
p1=a;p2=b;
for(k=0;k<=7;k++)
if(*(p1+k)==*(p2+k))printf("%c",*(p1+k));
}
gae
51.以下程序的功能是输出如下形式的方阵:
13141516
9101112
5678
1234
请填空。
main()
{inti,j,x;
for(j=4;j______;j--)
{for(i=1;i<=4;i++)
{x=(j-1)*4+______;
printf("%4d",x);
}
printf("\n");
}
}
>=1
i
52.下列程序的输出结果是______。
intt(intx,inty,intcp,intdp)
{cp=x*x+y*y;
dp=x*x-y*y;
}
main()
{inta=4,b=3,c=5,d=6;
t(a,b,c,d);
printf("%d%d\n",c,d);
}
56
53.若有语句
inti=-19,j=i%4;
printf("%d\n",j);
则输出的结果是______。
-3
54.有以下程序
intsub(intn){return(n/10+n%10);}
main()
{intx,y;
scanf("%d",&x);
y=sub(sub(sub(x)));
printf("%d\n",y);
}
若运行时输入:
1234<回车>,程序的输出结果是______。
10
55.下面程序的运行结果是:
______。
typedefunionstudent
{charname[10];
longsno;
charsex;
floatscore[4];
}STU;
main()
{STUa[5];
printf("%d\n",sizeof(a));
}
80
56.以下程序通过函数SunFun和f(x),x=0到10,这里f(x)=x^2+1,由F函数实现,请填空。
main()
{printf("Thesun=%d\n",SunFun(10));}
SunFun(intn)
{intx,s=0;
for(x=0;x<=n;x++)s+F(______);
returns;
}
F(intx)
{return(______);}
Xx*x+1
57.以下程序运行后的输出结果是______。
main()
{intp=30;
printf("%d\n",(p/3>0?
p/10:
p%3));
}
3
58.以下程序运行后的输出结果是______。
main()
{inta=3,b=4,c=5,t=99;
if(bif(aprintf("%d%d%d\n",a,b,