c语言填空题.docx
- 文档编号:26377504
- 上传时间:2023-06-18
- 格式:DOCX
- 页数:25
- 大小:21.39KB
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
#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;
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 语言 填空
![提示](https://static.bdocx.com/images/bang_tan.gif)