c语言填空题.docx

上传人:b****7 文档编号:11204790 上传时间:2023-02-25 格式:DOCX 页数:25 大小:21.39KB
下载 相关 举报
c语言填空题.docx_第1页
第1页 / 共25页
c语言填空题.docx_第2页
第2页 / 共25页
c语言填空题.docx_第3页
第3页 / 共25页
c语言填空题.docx_第4页
第4页 / 共25页
c语言填空题.docx_第5页
第5页 / 共25页
点击查看更多>>
下载资源
资源描述

c语言填空题.docx

《c语言填空题.docx》由会员分享,可在线阅读,更多相关《c语言填空题.docx(25页珍藏版)》请在冰豆网上搜索。

c语言填空题.docx

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;j

if(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;i

for(j=0;i

if(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;i

returnz;

}

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(b

if(a

printf("%d%d%d\n",a,b,

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 成人教育 > 电大

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1