填空培训讲学.docx

上传人:b****8 文档编号:13064954 上传时间:2023-06-10 格式:DOCX 页数:23 大小:20.40KB
下载 相关 举报
填空培训讲学.docx_第1页
第1页 / 共23页
填空培训讲学.docx_第2页
第2页 / 共23页
填空培训讲学.docx_第3页
第3页 / 共23页
填空培训讲学.docx_第4页
第4页 / 共23页
填空培训讲学.docx_第5页
第5页 / 共23页
填空培训讲学.docx_第6页
第6页 / 共23页
填空培训讲学.docx_第7页
第7页 / 共23页
填空培训讲学.docx_第8页
第8页 / 共23页
填空培训讲学.docx_第9页
第9页 / 共23页
填空培训讲学.docx_第10页
第10页 / 共23页
填空培训讲学.docx_第11页
第11页 / 共23页
填空培训讲学.docx_第12页
第12页 / 共23页
填空培训讲学.docx_第13页
第13页 / 共23页
填空培训讲学.docx_第14页
第14页 / 共23页
填空培训讲学.docx_第15页
第15页 / 共23页
填空培训讲学.docx_第16页
第16页 / 共23页
填空培训讲学.docx_第17页
第17页 / 共23页
填空培训讲学.docx_第18页
第18页 / 共23页
填空培训讲学.docx_第19页
第19页 / 共23页
填空培训讲学.docx_第20页
第20页 / 共23页
亲,该文档总共23页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

填空培训讲学.docx

《填空培训讲学.docx》由会员分享,可在线阅读,更多相关《填空培训讲学.docx(23页珍藏版)》请在冰点文库上搜索。

填空培训讲学.docx

填空培训讲学

 

填空

1.

下列程序的输出结果是___:

#include"stido.h"

main()

{

charb[]="ABCDEFG";

char*chp=&b[7];

while(--chp>&b[0])

putchar(*chp);

putchar('\n');

}

答案:

GFEDCB

2.

#include

main()

{charch1,ch2;intn1,n2;

ch1=getchar();ch2=getchar();

n1=ch1-'0';n2=n1*10+(ch2-'0');

printf(“%d\n”,n2);

}

程序运行时输入:

12<回车>,执行后输出结果是___。

}

答案:

12

3.

若有以下程序:

main()

{

inti,j;

scanf("i=%d,j=%d",&i,&j);

printf("i=%d,j=%d",i,j);

}

要求给i赋10,给j赋20,则应该从键盘输入___。

答案:

i=10,j=20

4

以下程序的输出结果是___。

main()

{inta=177;

printf("%o\n",a);

}

答案:

261

5.

以下程序运行后的输出结果是___。

  main()

  {inta=1,b=3,c=5;

  if(c=a+b)printf("yes\n");

  elseprintf("no\n");

  }

答案:

yes

6.

下面程序的功能是:

输出100以内能被3整除且个位数为6的所有整数,请填空。

#include

main()

{inti,j;

for(i=0;___;i++)

{j=i*10+6;

if(___)continue;

printf("%d",j);

}

}

答案:

i<=9|!

(j%3==0)

7.

以下程序运行后的输出结果是___。

main()

{intx=10,y=20,t=0;

if(x==y)t=x;x=y;y=t;

printf("%d,%d\n",x,y);

}

答案:

20,0

8.执行下述程序的输出结果是___。

#include

floataverage(int*pa,intn)

{

inti;

floatavg=0.0;

for(i=0;i

avg+=*(pa+i);

return(avg/n);

}

main()

{

inta[5]={2,4,6,8,10};

floatmean;

mean=average(a,5);

printf("mean=%f\n",mean);

}

答案:

6.000000

9.

输入1个正整数n,计算并输出s的前n项的和。

S=1-1/2+1/3-1/4+1/5-1/6+……

main()

{intk,flag,n;floats;

flag=1;s=0;

scanf("%d",&n);

for(k=1;k<=n;k++)

{

s=s+___;

___;

}

printf("sum=%fn",s);

}

答案:

1.0/k*flag|flag=-1*flag

10

下面程序的功能是:

从键盘上输入若干学生的成绩,统计并输出最高成绩和最低成绩,最

后当输入负数时结束输入。

请填空:

main()

{floatx,amax,amin;

scanf("%f",&x);

amax=x;amin=x;

while(___)

{if(x>amax)amax=x;

if(x

scanf("%f",&x);

}

printf("\namax=%f\namin=%f\n",amax,amin);

}

答案:

x>=0|amin=x;

12.

下面程序的功能是计算1到10之间的奇数之和即偶数之和。

请填空:

main()

{inta,b,c,i;

a=c=0;

for(i=0;i<=10;i+=2)

{a+=i;

___;

c+=b;

}

printf("偶数之和:

%d\n",a);

printf("奇数之和:

%d\n",___);

}

答案:

【答案】b=i+1|c-11

13.

从键盘上分别输入两个字符串,将其连接成一个字符串输出.

main()

{

inti=0,j=0;

staticcharstrl[50],str2[20];

printf("Enterstring_1:

\n");

scanf("%s",strl);

printf("Enterstring_2:

\n");

scanf("%s",str2);

while(___);

___;

while(___);

printf("%s.\n",strl);

}

答案:

str1[i++]!

='\0'|i=i-1|(str1[i++]=str2[j++])!

='\0'

14.

下面程序段的运行结果是___。

chars[20]="abcd";

char*sp=s;

sp++;

puts(strcat(sp,”ABCD”));

}

答案:

bcdABCD

15.

以下程序的运行结果是_____________

increment()

{staticintx=0;

x+=1;

printf("%d",x);

}

main()

{increment();

increment();

increment();

}

答案:

123

16.

下面程序的运行结果是:

________。

voidswap(int*a,int*b)

{int*t;

t=a;a=b;b=t;

}

main()

{intx=3,y=5,*p=&x,*q=&y;

swap(p,q);

printf("%d%d\n",*p,*q);

}

答案:

35

17.

mystrlen函数的功能是计算str所指字符串的长度,并作为函数值返回。

请填空。

intmystrlen(char*str)

{inti;

for(i=0;*(str+i)!

=________;i++);

return(________);

}

答案:

'\0'|i

18.若有定义:

int(*p)[4],则p是一个指向________的指针。

答案:

含有四个整型元素的一维数组

19.若有说明:

char*language[]={“FORTRAN”,”BASIC”,”JAVA”,”C”};则language[2]的值是:

________。

答案:

字符串”JAVA”的地址

20.

下面程序的运行结果是:

________。

#include“stdio.h”

fun(char*s)

{char*p=s;

while(*p)p++;

return(p-s);}

main()

{char*a=”abcd\0efg”;

inti;

i=fun(a);

printf(‘%d”,i);

}

答案:

4

21.若有定义:

inta[2][3]={2,4,6,8,10,12};则*(a[1]+2)的值是________,*(&a[0][0]+5)的值是________。

答案:

12|12

22.若有以下定义和语句:

inta[4]={0,1,2,3},*p;p=&a[1];则++(*p)的值是________。

答案:

2

23.

main()

{chara;

a=’H’-‘A’+’0’;

printf(“%c”,a);

}

执行后的输出结果是_____________

答案:

7

24.

下面的程序是实现1+2+3+……+100,请补充完整:

main()

{inti,sum=0;

i=1;

do

{

_____________;

_____________;

}

while(i<=100);

printf(“%d”,sum);

}

答案:

sum=sum+i|i++

25.

若已定义:

structnum

{inta;

intb;

floatf;

}n={1,3,5.0};

structnum*pn=&n;

则表达式pn->b/n.a*++pn->b的值是__________,表达式(*pn).a+pn->f的值是__________。

}

答案:

12|6.0

26.

下列程序的运行结果是________。

#include

char*ss(char*s)

{returns+strlen(s)/2;}

main()

{char*p,*str="abcdefgh";

p=ss(str);printf("%s\n",p);

}

答案:

efgh

27.

有以下程序

voidf(inty,int*x)

{y=y+*x;*x=*x+y;\}

main()

{intx=2,y=4;

f(y,&x);

printf("%d%d\n",x,y);

}执行后输出的结果是_________。

答案:

84

28.执行下述程序的输出结果是___

#include

main()

{

staticchara[]="language";

char*ptr==a;

while(*ptr)

{

printf("%c",*ptr-32);

prt++;

}

printf("\n";

}

答案:

LANGUAGE

29.以下函数func的功能是:

累加n个数组元素的值,将和值放入x所指的存储单元中。

请填空。

func(intb[],intn,int*x)

{

intk,sun=0;

for(k=0;k

sun+=b[k];

___

}

答案:

*x=sum

30.已知有定义“intx,a[]={15,17,19},*pa=a;”,在执行“x=*pa++;”后,*pa的值是___

答案:

17

31.下述函数定义的功能是:

把两个整数指针所指的存储单元中的内容进行交换。

请填空。

voidexchange(___)

{

intt;

t=*y;

*y=*x;

*x=t;

}

答案:

int*x,int*y(或者int*y,int*x)

32.下面的函数定义是一个求阶乘的递归调用函数。

假定n0。

请填空。

longfac(intn)

{

longf;

if(n==0)

f=1;

else

f=___;

return(f);

}

答案:

n*fac(n-1)(或fac(n-1)*n)

33.以下程序的执行结果是___。

#include

main()

{

intx=5,y=2;

printf("1:

%d,",!

(y==x/2));

printf("2:

%d,",y!

=x%3);

printf("3:

%d,",x>0&&y<0);

printf("4:

%d\n",x!

=y||x>=y);

}

答案:

1:

0,2:

0,3:

0,4:

1

34.

阅读程序

#include

#defineMAX20

intfib(intn)

{

intres;

if(n==0)

res=0;

elseif(n==1)

res=1;

else

res=fib(n-1)+fib(n-2);

return(res);

}

main()

{

intm,n;

printf("Inputn(0<=n<=%d):

",MAX);

scanf("%d",&n);

for(m=0;m<=n;m++)

{

printf("%6d",fib(m));

if((m+1)%5==0)

printf("\n");

}

printf("\n");

}

当运行程序时,若有下述交互信息(带下划线的为输入信息)

Inputn(0<=n<=20):

请写出接下去的输出结果______。

答案:

01123

58132134

5589144233377

610

35.执行下述程序的输出结果是___

#include

charb[]="ABCDEF";

main()

{

char*bp;

for(bp=b;*bp;bp+=2)

printf("%s",bp);

printf("\n");

}

}

答案:

ABCDEFCDEFEF

36.执行下述程序的输出结果时_______

#includemain()

{char*p="abcdefghijk";

while(*p++!

='e');

printf("%c\n",*p0;} 

答案:

f

37.

以下程序运行后,输出结果是___________________________

fut(int**s,intp[2][3])

{**s=p[1][1];}

main()

{inta[2][3]={1,3,5,7,9,11},*p;

p=(int*)malloc(sizeof(int));

fut(&p,a);

printf(“%d\n”,*p);

}

答案:

9

38.以下程序运行后,输出结果是___________________________

main()

{charch[2][5]={“693”,“825”},*p[2];

inti,j,s=0;

for(i=0;i<2;i)p[i]=ch[i];

for(i=0;i<2;i)

for(j=0;p[i][j]>='0'&&p[i][j]<='9';j=2)

s=10*sp[i][j]-'0';

printf(“%d\n”,s);

}

答案:

6385

39.以下程序运行后,输出结果是___________________________

intd=1l

fun(intp)

{intd=5;

d=p;

printf(“%d”,d);

}

main()

{itna=3;

fun(a);

d=a;

printf(“%d\n”,d);

}

答案:

84

40.以下程序运行后,输出结果是___________________________

main()

{

staticchara[]=“ABCDEFGH”,b[]=“abCDefFh”;

char*p1,*p2;

intk;

p1=a;p2=b;

for(k=0;k<=7;k++)

if(*(p1+k)==*(p2+k))printf(“%c”,*(p1+k));

printf(“\n”);

}

答案:

CDF

41.以下程序运行后,输出结果是___________________________

#include

#definept5.5

#difines(x)pt*x*x

main()

{inta=1,b=2;

printf(“%4.lf/n”,s(ab));

}

答案:

9.5

42.

以下程序运行后,输出结果是___________________________

func(intm,inti)

{

staticinta=3;

i+=m;

m=i+a;

a=12;

return(m);

}

main()

{

intk=4,m=1,p;

p=func(k,m);printf(“%d,”,p);

p=func(k,m);printf(“%d\n”,p);

}

答案:

8,17

43.以下程序对输入的两个整数,按从大到小顺序输出。

请在[]填入正确内容。

main()

{intx,y,z;

scanf("%d,%d,&x,&y);

if(___)

{z=x;___}

printf("%d,%d",x,y);

}

答案:

x

44.以下程序从读入的整数数据中,统计大于零的整数个数和小于零的整数个数。

用输入零来结束输入,程序中用i统计大于零的个数,用变量j统计小于零的整数。

请填空。

main()

{intn,i,j;

printf(“EnterINTnumbers,with0toend\n”);

i=j=0;

scanf(“%d”,&n);

while___

{if(n>0)i++;

if(n<0)j++;

___;

}

printf(“i=%4dj=%4d\n”,i,j);

}

答案:

(n!

=0)|scanf("%d",&n)

45.如果一个数的各位数的立方和等于它本身,则这样的数称为水仙花数求100~999中所有的水仙花数。

main()

{

inti,a,b,c;

for(i=100;i<=999;i++)

{a=i/100;

b=___;

c=i%10;

if(___)

printf("%5d",i);

}

}

答案:

i%100/10|a*a*a+b*b*b+c*c*c==i

46.输出下列图形,则程序段中应该填入。

123456789

23456789inti,j;

3456789for(i=1;i<=___;i++)

456789\for(j=___;j<=9;j++)printf("%2d",j);

56789printf("\n");\

6789

789

89

9

}

答案:

9|i

47.以下程序用“辗转相除法”来求出两个正整数的最大公约数。

请填空。

若两个数分别放在m和n中,求最大公约数的算法如下:

(1)将两数中最大的那个放在m中,小的放在n中。

(2)求出m被n除后的余数r。

(3)若余数为0则执行步骤(7);否则执行步骤(4)。

(4)把除数作为新的被除数;把余数作为新的除数。

(5)求出新的余数r。

(6)重复步骤(3)到(5)。

(7)输出n,n即为最大公约数。

main()

{intr,m,n,t;

printf("Enterm,n:

");

scanf("%d%d",&m,&n);

printf("m=%dn=%d\n",m,n);

if(m

t=m;m=n;n=t;

r=___;

while(___)

{m=n;n=r;r=___;}

printf(“H.C.F=%d\n,n);

}

答案:

m%n|r!

=0|m%n

48.用π/4≈1-1/3+1/5-1/7+……公式求π的近似值,直到最后一项的绝对值小于10-6为止。

#include

main()

{ints;

floatn,t,pi;

t=1,pi=0,n=1.0,s=1;

while(___)

{pi=pi+t;

___;

___;

t=s/n;

}

pi=pi*4;

printf(“pi=%10.6f”\n”,pi);

}

答案:

(fabs(t))>1e-6|n=n+2|s=-s

49.面程序的功能是将小写字母变成对应大写字母后的第二个字母如a变成C。

其中y变成A,z变成B。

请填入正确内容。

#include<stdio.h>

main()

{charc;

while((c=getchar())!

='\0')

{if(c>='a'&&c<='z')

{___;

if(c>'Z'&&c<='Z'+2)

___;

}

printf("%c",c);

}

}

答案:

c=c-30|c=c-26

50.下面程序以每行4个数据的形式输出a数组,请填空。

#defineN20

main()

{inta[N],i;

for(i=0;i

for(i=0;i

{if(___)___;

printf("%3d",a[i]);

}

printf("%\n");

}

答案:

&a[i]|i%4==0|printf("\n");

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

当前位置:首页 > 总结汇报 > 工作总结汇报

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2