/* ② */
}
① A) 0 B) 1 C) 2 D) 3 ② A) 0 B) 1 C) 2 D) 3
【7.50】 阅读下列程序,选择程序的运行结果。 #define FMT “%X\\n” #include
{ static int a[ ][4] = { 1,2,3,4,5,6,7,8,9,10,11,12 };
printf (FMT, a[2][2]); /* ① */ printf (FMT, *(*(a+1)+1) ); /* ② */ }
① A) 9 B) A C) B D) 前面三个答案均是错误的 ② A) 6 B) 7 C) 8 D) 前面三个答案均是错误的 【7.51】选择下列程序的运行结果。 #include
{ int n[3][3], i, j;
for ( i=0; i<3; i++) for ( j=0; j<3; i++ ) n[i][j] = i+j; for ( i=0; i<2; i++ ) for ( j=0; j<2; j++ ) n[i+1][j+1] += n[i][j]; printf (“%d\\n”,n[i][j];
}
A) 14 B) 0 C) 6 D)不确定
【7.52】阅读下列程序,选择程序的运行结果。 main ( )
{ int a[6][6], i, j;
for ( i=1; i<6; i++ ) for ( j=1; j<6; j++ ) a[i][j] = (i/j)*(j/i); for ( i=1; i<6; i++ ) { for ( j=1; j<6; j++ ) printf (“-”, a[i][j]); printf (“\\n”); }
}
A) 1 1 1 1 1 B) 0 0 0 0 1
1 1 1 1 1 0 0 0 1 0 1 1 1 1 1 0 0 1 0 0 1 1 1 1 1 0 1 0 0 0 1 1 1 1 1 1 0 0 0 0
C) 1 0 0 0 0 D) 1 0 0 0 1
0 1 0 0 0 0 1 0 1 0 0 0 1 0 0 0 0 1 0 0 0 0 0 1 0 0 1 0 1 0 0 0 0 0 1 1 0 0 0 1
【7.53】阅读下列程序,选择程序的运行结果。 main ( ) { int a[6],i;
for ( i=0; i<6; i++ ) { a[i] = 9*(i-2+4*(i>3)) % 5; printf(“-”,a[i]); }
}
A) -3-4 0 4 0 4 B) -3-4 0 4 0 3 C) -3-4 0 4 4 3 D) -3-4 0 4 4 0
【7.54】阅读下列程序,选择程序的运行结果。 #include
{ int i, k, a[10], p[3];
k=5;
for ( i=0; i<10; i++ ) a[i] = i; for ( i=0; i<3; i++) p[i] = a[i*(i+1)]; for ( i=0; i<3; i++) k += p[i]*2; printf (“%d\\n”, k );
}
A) 20 B) 21 C) 22 D) 23
【7.55】阅读程序,写出执行结果。
#include
scanf (“%s”, str); printf (“%s”, str);
}
运行程序,输入:Fortran Language
【7.56】阅读程序,写出执行结果。 #include “stdio.h” main ( ) { char str[30]; gets (str); printf (“%s\\n”, str); {
运行程序,输入:Fortran Language
【7.57】阅读程序,写出执行结果。 #include “stdio.h” func ( int b[ ] ) { int j;
for (j=0; j<4; j++)
b[j]=j;
} main ( ) { int a[4], i; func (a);
for ( i=0; i<4; j++) printf ( “%d”, a[i]); }
【7.58】写出程序的运行结果。 #include
{ char str[100] = “How do you do”; strcopy ( str + strlen(str)/2,”es she”); printf (“%s\\n”,str);
}
【7.59】运行下面的程序,如果从键盘上输入字符串“qwerty”和字符串“abcd“,请写出程序的运行结果。
#include
while ( a[num]!=?\\0? ) num++; while (b[n]) { a[num]=b[n];
num++; n++; }
return ( num );
} main ( )
{ char str1[81], str2[81]; gets (str1); gets (str2);
printf (“%d\\n”, strle (str1, str2 ) ); }
7.3 程序选择填空
【7.60】下面程序输出两个字符串中对应位置相同的字符。请选择填空。 #include
while ( x[i]!=?\\0? && y[i]!=?\\0? ) if ( x[i]= =y[i] ) printf(“%c”, ① ); else i++;
}
A) x[i++] B) y[++i] C) x[i] D) y[i]
【7.61】有已按升序排好序的字符串a,下面的程序是将字符串s中的每个字符按升序的规则插到数组a中。
#include
{ char a[20] = “cehiknqtw”; char s[ ] = “fbla”;