C语言填空题精选

  • 格式:doc
  • 大小:60.00 KB
  • 文档页数:17

1.以下程序中,函数f u n的功能是计算x2-2x+6,主函数中将调用f u n函数计算:y1=(x+8)2-2(x+8)+6y2= sin2(x)-2sin(x)+6请填空。

#include "math.h"double fun(double x){ return (x*x-2*x+6);}main(){ double x,y1,y2;printf ("Enter x: "); scanf ("%lf",&x);y1=fun(__x+8____);y2=fun(_sin(x)_____);printf ("y1=%1f,y2=%1f\n",y1,y2);}2. 执行以下程序时输入1234567<CR>,则输出结果是__12 34____。

#include <stdio.h>main(){ int a=1,b;scanf("%2d%2d",&a,&b); printf("%d %d\n",a,b);}3. 若有以下程序int f(int x,int y){ return(y-x)*x; }main(){ int a=3,b=4,c=5,d;d=f(f(3,4),f(3,5));printf("%d\n",d);}执行后输出结果是__9____。

4. 以下程序的输出结果是_ACE_____。

#include <stdio.h>main(){ int i;for(i='a';i<'f';i++,i++) printf("%c",i-'a'+'A');printf("\n");}5. 下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。

请填空。

fun(int x,int b[ ]){ int k=0,r;do{ r=x%___2___;b[k++]=r;x/=___2___;}while(x);}6. 以下程序从终端读入数据到数组中,统计其中正数的个数,并计算它们之和,请填空。

main(){ int i,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(){char c; int n=100;float f=10; double x;x=f*=n/=(c=50);printf("%d%f\n",n,x);}8. 以下程序中, for循环体执行的次数是_4_____。

#define N 2#define M N+1#define K M+1*M/2main()for(i=1;i<K;i++){ ... }...}9. 以下程序运行后的输出结果是__1 3 5 7 15____。

main(){ int i,n[]={0,0,0,0,0};for(i=1;i<=4;i++){ n[i]=n[i-1]*2+1;printf("%d ",n[i]);}}9. 下列程序中字符串中各单词之间有一个空格,则程序的输出结果是__How does she____。

# include<string.h>main( ){ char str1[ ]="How do you do", *p1=str1;strcpy(str1+strlen(str1)/2,"es she");printf("%s\n",p1);}10. 以下程序的输出结果是___261___。

main(){ int a=177;printf("%o\n",a);}11. 下面程序的运行结果是:__1000 10____。

#define N 10#define s(x) x*x#define f(x) (x*x)main(){int i1,i2;i1=1000/s(N);i2=1000/f(N);printf("%d %d\n",i1,i2);}12. 已知字符A的ASCII代码值为65,以下程序运行时若从键盘输入:B33<回车>,则输出结果是_1 B_____。

#include <stdio.h>{ char a,b;a=getchar();scanf("%d",&b);a=a-'A'+'0';b=b*2;printf("%c %c\n",a,b);}13. 以下程序运行后的输出结果是_17_____。

main(){int x=15;while(x>10&&x<50){x++;if(x/3){x++;break;}else continue;}printf("%d\n",x);}14. 函数sstrcmp()的功能是对两个字符串进行比较。

当s 所指字符串和t所指字符相等时,返回值为0;当s所指字符串大于t所指字符串时,返回值大于0;当s所指字符串小于t所指字符串时,返回值小于0(功能等同于库函数strcmp())。

请填空。

#include <stdio.h>int sstrcmp(char *s,char *t){while(*s&&*t&&*s==_*t_____){s++;t++; }return __*s-*t____;}15. 以下程序的输出结果是___7___。

main(){ int x=0;sub(&x,8,1);printf("%d\n",x);}sub(int *a,int n,int k){ if(k<=n) sub(a,n/2,2*k);*a+=k;}16. 以下程序段用于构成一个简单的单向链表,填空。

struct STRU{ int x,y;float rate;___struct STRU*___ 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。

请填空。

int isprime(int a){ int i;for(i=2;i<=a/2;i++)if(a%i==0) __return 0____;__return 1____;}18. 设有如下程序:main(){ int n1,n2;scanf("%d",&n2);while(n2!=0){ n1=n2%10;n2=n2/10;printf("%d",n1);}}程序运行后,如果从键盘上输入1298,则输出结果为_8921_ __。

19. 以下程序中,fun函数的功能是求3行4列二维数组每行元素中的最大值。

请填空。

void fun(int,int,int(*)[4],int *);main(){ int a[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");}void fun(int m,int n,int ar[][4],int *br){ int i,j,x;for(i=0;i<m;i++){ x=ar[i][0];for(j=0;j<n;j++) if(x<ar[i][j]) x=ar[i][j];______=x;}}br[i]20. 已知字符A的ASCII码为65,以下程序运行后的输出结果是__67G____。

main(){ char a,b;a='A'+'5'-'3'; b=a+'6'-'2';printf("%d%c\n",a,b);}21. 以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。

请填空。

main(){ int x[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=1 x[i-1]22. 函数mycmp(char *s,char *t)的功能是比较字符串s和t的大小,当s等于t时返回0,当s>t 返回正值,当s<t时返回负值。

请填空。

mycmp( char *s,char *t){ while (*s==*t){ if (*s=='\0')return 0;++s;++t;}return(______);}*s-*t23. 有以下程序main(){ int n=0,m=1,x=2;if(!n) x-=1;if(m) x-=2;if(x) x-=3;printf("%d\n",x);}执行后输出的结果是__-4____。

24. 设有定义:float x=123.4567;,则执行以下语句后的输出结果是___123.460000___。

printf("%f\n"(int)(x*100+0.5)/100.0);25. 以下程序中,函数SumColumMin的功能是:求出M行N列二维数组每列元素中的最小值,并计算它们的和值。