21. main ( )
{int i , x=10 , a[10 ] ,b[ 3 ]
for (i=0, i<10; i++) a [ i ]=i ;
for (i=2; i>=0 ; i- -) , b[ i] = a [ i*(i+1)]
for (i=0; i<3; i++ ) x + = b[i] *2,
printf (" %d\n" x) ; } 求输出: 26
22. main ( )
{ int a[2] [2], i , j;
for ( i=0 ; i<2; i++)
for ( j=0 ; j<2; i++)
{ a[i] [j] = i+j
printf ("%d" a [i] [j] } } 结果为 0 1 1 2
23. main ( )
{ char s1[ ] = "abcdabdABCD", s2 [20]
int k=0, j=0 ;
while (s1[k]! ='A') s2 [j++] =s1 [k++];
s2[ j ]= ‘\0’
pintf ( "%s\n", s2 ); 结果为:abcdabd
24. 指针
main ( )
{int m , n =2 , *p= &m;}完成 m=n 功能的语句是 ( B )
A m =*p B *p = * &n ;
C m =& n ; 格式 D m= & p ;
25.int x[ 8 ]={5,4,3,2,1}, *p = x ;则*p+6 = 11 .
26.int x[8]={1,2,3,4,5,6 },*p =x 则值为5的表达式 (B)
A *P +5 =6 B *(p+4) C *p +5 =5 D p+4
27.以下程序为递归函数
int f ( int n )
{if (n = =1) return (1);
else return ( f (n-1) +1 ); }
main ( )
{ int i, j=0;
for ( i=1; i<5 ; i++) j+ = f ( i) ;
printf ( "%d\n" j); } 结果为 10
28 计算 xn 的程序。
double f (double x, int n)
{ int i ;
double z=1.0 ;
if ( n== 0 ) return (1. 0 );
else for ( i=1 i<=n; i++)
z =z * x ;
return ( z) ; }
29. void f ( int *a, int b[ ])
{ b [*a] = *a+6;}
main ( )
{int x=1, y [5]= {1,2,3,4,5}, *p =y;
f ( &x , p);
printf ( "%d/n" , (p+x) ); } 结果 为b[ 1 ] = y[ 1 ]=7
30. int b=1
int f (int * a)
{b+ =a ; return (b) ;}
main ( )
{ int a =2, b=3;
a+ = f (& b);
printf ( " %d \n ",a ); } 输出结果为 6