1、C语言复习一、 填空题二、 单项选择题三、 看程序写结果1、下面程序的输出结果是_。main() int a=1,i=a+1;do a+ ;while( !i+ 3); printf(%dn,a);2 main() char s12= a book;printf(%5.3s,s);3 main() int a,b;scanf(%2d%3d,&a,&b);printf(a=%d b=%dn,a,b);4 main() int a=0,b=1,c=0,d=20;if(a) d=d-10;else if(!b)if(!c) d=15;else d=25;printf(d=%dn,d);5main()
2、 int a=1,b=0;switch(a) case 1: switch (b) case 0: printf(*0*); break;case 1: printf(*1*); break;case 2: printf(*2*); break;6 main() char *s=12134211;int v1=0,v2=0,v3=0,v4=0,k;for(k=0;sk;k+)switch(sk) case 1: v1+;case 3: v3+;case 2: v2+;default: v4+;printf(v1=%d, v2=%d, v3=%d, v4=%dn,v1,v2,v3,v4);7 m
3、ain() int k=0;char c=A;do switch(c+) case A: k+;break;case B: k-;case C: k+=2;break;case D: k=k%2;contiue;case E: k=k+10;break;default: k=k/3;k+;while(cC) ;printf(k=%dn,k);8 main() int x,i;for(i=1;i=100;i+) x=i;if(+x%2=0)if(+x%3=0)if(+x%7=0)printf(%d ,x);9 #include main( ) int n33, i, j;for(i=0;i3;i
4、+ )for(j=0;j3;j+ )nij=i+j;for(i=0;i2;i+ )for(j=0;j2;j+ )ni+1j+1+=nij;printf(%dn, nij);10 #include main( ) int a45=1,2,4,-4,5,-9,3,6,-3,2,7,8,4;int i,j,n;n=9;i=n/5;j=n-i*5-1;printf(a%d%d=%dn, i,j,aij);11 int m33= 1, 2, 3 ;int n33= 1, 2, 3 ;main( ) printf(%dn, m10+n00 ); /* */printf(%dn, m01+n10 ); /*
5、 */ 12#include try( ) static int x=3;x+;return(x);main( ) int i, x;for(i=0; i=2; i+ )x=try( );printf(%dn, x);13 #include main( ) int x=1; void f1( ), f2( ); f1( );f2(x); printf(%dn, x);void f1(void) int x=3; printf(%d , x); void f2( x )int x; printf(%d , +x); 14下面程序的输出结果是_。main() int a=1,2,3,4,5,6;i
6、nt *p;p=a;printf(%d ,*p);printf(%d ,*(+p);printf(%d ,*+p);printf(%d ,*(p-); p+=3;printf(%d %d ,*p,*(a+3); 15下面程序的输出结果是_。main() int a34=1,2,3,4,5,6,7,8,9,10,11,12;int *p=a;p+=6;printf(%d ,*p); /* */printf(%d ,*(*(a+6); /* */printf(%d ,*(a1+=2); /* */printf(%d,*(&a00+6);/* */ 16下面程序的输出结果是_。#include f(
7、int x, int y) return (y-x);main( ) int a=5, b=6, c;int f(), (*g)()=f;printf(%dn, (*g)(a,b) );17下面程序的输出结果是_。main() char *alpha7=ABCD,EFGH,IJKL,MNOP,QRST,UVWX,YZ;char *p;int i;p=alpha;for(i=0;i4;i+)printf(%c,*(pi);printf(n);四、程序填空题(每空1分,共15分)1根据近似公式:2/6 1/12+1/22+1/32+ +1/n2,求值。#include double pi(long
8、 n) double s=0.0;long i;for(i=1;i=n;i+)s=s+ ;return( );2计算1-3+5-7+ -99+101的值。main() int i,t=1,s=0;for(i=1;iamax) amax=x; if( ) amin=x;scanf(%f,&x);printf(namax=%fnamin=%fn,amax,amin);4辗转相除法求两个正整数m和n的最大公约数。hcf(int m,int n) int r;if(mn) r=m; ;n=r;r=m%n;while( ) m=n;n=r;r=m%n; ;5下面程序的功能是使用冒泡法对输入的10个浮点数
9、从小到大进行排序。排好序的10个数分两行输出。程序如下:#include main() ; int i,j;printf(Input 10 numbers pleasen);for(i=0; ;i+ ) scanf(%f, &ai);printf(n);for(i=2; ;i+ ) for(j=0; ;j+ )if( ) x=aj; ;aj+1=x;printf(The sorted 10 numbers;n);for(i=0; ;i+ ) if( ) printf(n);printf(%ft,ai);printf(n);6下面程序的功能是删除字符串s中的空格。#include main()
10、char *s=Beijing ligong daxue;int i,j;for(i=j=0;si!=0;i+)if(si!= ) ;else ;sj= 0;printf(%s,s);7下面程序的功能是对键盘输入的两个字符串进行比较,然后输出两个字符串中第一个不相同字符的ASCII码之差。例如:输入的两个字符串分别为abcdefg和abceef,则输出为-1。#include main() char str1100,str2100,c;int i,s;printf(Enter string 1: ); gets(str1);printf(Enter string 2: ); gets(str2
11、);i=0;while(str1i = str2i & str1i!= ) i+;s= ;printf(%dn, s);8下面程序的功能是计算S= k! 。k=0long fun(int n) int i;long s;for(i=1;i ;i+) s*=i;return( );main() int k,n;long s;scanf(%d,&n);s= ;for(k=0;k=n;k+)s+= ;printf(%ldn,s);9下面的函数是一个求阶乘的递归调用函数。facto(int n) if( n = 1 ) ;else return( );10下列函数是求一个字符串str的长度。 int strlen( char *str ) if( ) return (0); else return ( );11用递归实现将输入小于32768的整数按逆序输出。如输入12345,则输出54321。#includestdio.hmain() int n; printf(Input n : );scanf(%d, );r(n);printf(n); r( int m ) printf(%d, );m = ;if( ) ;
copyright@ 2008-2022 冰豆网网站版权所有
经营许可证编号:鄂ICP备2022015515号-1