c语言填空题.docx
《c语言填空题.docx》由会员分享,可在线阅读,更多相关《c语言填空题.docx(21页珍藏版)》请在冰豆网上搜索。
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,