C语言复习题
{ int i, x[3][3]={1,2,3,4,5,6,7,8,9}; for(i=0;i<3;i++) printf(“%d,”,x[i][2-i]); } (2001年4月)
8、以下程序的输出结果是( )。
A) 18 B) 19 C) 20
main()
{ int a[3][3]={ {1,2},{3,4},{5,6} },i,j,s=0; for(i=1;i<3;i++) for(j=0;j<=i;j++)s+=a[i][j]; printf(“%dn”,s); } (2001年4月)
D)21
9、以下程序的输出结果是( )。
A) ABCD B) ABCD C) EFG FGH EFG JK IJKL KL IJ O M
main()
{ char w[][10]={ “ABCD”,”EFGH”,”IJKL”,”MNOP”},k; for(k=1;k<3;k++) printf(“%s\\n”,w[k]); } (2001年4月)
D) EFGH
10、假定int类型变量占用两个字节,其有定义:int x[10]={0,2,4};,则数组x在内存中所占
字节数是( )。 A) 3 B) 6 C) 10 D) 20 (2001年9月)
6、A 7、C 8、A 9、D 10、D 11、以下程序的输出结果是( )。
main()
{ int i, a[10];
for(i=9;i>=0;i--) a[i]=10-i;
printf(“%d%d%d”,a[2],a[5],a[8]); } A) 258 B) 741 C) 852 D) 36 (2001年9月) 12、以下数组定义中不正确的是( )。
A) int a[2][3];
B) int b[][3]={0,1,2,3}; C) int c[100][100]={0};
D) int d[3][]={{1,2},{1,2,3},{1,2,3,4}}; (2001年9月) 13、以下程序的输出结果是( )。
main()
{ int a[4][4]={{1,3,5},{2,4,6},{3,5,7}};
printf(“%d%d%d%d\\n”,a[0][3],a[1][2],a[2][1],a[3][0]; }
A) 0650 B) 1470 C) 5430 D) 输出值不定 (2001年9月) 14、以下程序的输出结果是( )。
main()
{ char st[20]= “hello\\0\\t\\\\\\”;
printf(%d %d \\n”,strlen(st),sizeof(st));
9
C语言复习题
} A) 9 9 B) 5 20 (2001年9月)
C) 13 20 D) 20 20
15、以下程序段的输出结果是( )。
char s[]=\printf (\A) 9 B) 12 C) 13 D) 14 (2002年4月)
11、C 12、D 13、A 14、B 15、A
16、以下程序的输出结果是( )。
main()
{ char cf[3][5]={\
printf(\}
A) \ B) \ C) \ D) \(2002年4月) 17、以下程序的输出结果是( )。
main()
{ int b[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1; for(i=0;i<3;i++)
for(j=i;j<=i;j++) t=t+b[i][b[j][j]]; printf(\} A) 3 B) 4 C) 1 D) 9 (2002年4月)
18、有以下程序
main()
{ int aa[4][4]={{1,2,3,4},{5,6,7,8},{3,9,10,2},{4,2,9,6}}; int i,s=0
for(i=0;i<4;i++) s+=aa[i][1]; printf(“%d\\n”,s); }
程序运行后的输出结果是( )。 A) 11 B) 19 C) 13 D) 20 (2002年9月) 19、有以下程序
main()
{ int p[7]={11,13,14,15,16,17,18},i=0,k=0; while(i<7&&p[i]%2){k=k+p[i];i++;} printf(\}
执行后输出结果是( )。
A) 58 B) 56 C) 45 D) 24 (2003年4月)
20、以下能正确定义数组并正确赋初值的语句是( )。
A) int N=5,b[N][N]; B) int a[1][2]={{1},{3}}; C) int c[2][]={{1,2},{3,4}}; D) int d[3][2]={{1,2},{34}}; (2003年4月)
16、B 17、B 18、B 19、D 20、D
10
C语言复习题
21、有以下程序
main()
{ int m[][3]={1,4,7,2,5,8,3,6,9}; int i,j,k=2; for(i=0;i<3;i++)
{ printf(\} }
执行后输出结果是( )。 A) 4 5 6 B) 2 5 8 C) 3 6 9 (2003年4月)
D) 7 8 9
22、以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。
#define N 10 void arrin(int x[N]) { int i=0; while(i 在下划线处应填入的是( )。 A) x+i B)&x[i+1] C)x+(i++) D)&x[++i] (2003年4月) 23、以下不能正确定义二维数组的选项是( )。 A) int a[2][2]={{1},{2}}; B) int a[][2]={1,2,3,4}; C) int a[2][2]={{1},2,3}; D) int a[2][]={{1,2},{3,4}}; (2003年9月) 24、以下能正确定义一维数组的选项是( )。 A) int num []; B) #define N 100 int num [N]; C) int num[0..100]; D) int N=100; int num[N]; (2003年9月) 25、有以下程序 main() { char a[ ]={?a?,?b?,?c?,?d?, ?e?, ?f?,?g?,?h?,?\\0?}; int i,j; i=sizeof(a); j=strlen(a); printf(“%d,%d\\b”i,j); } 程序运行后的输出结果是( )。 A)9,9 B)8,9 C)1,8 (2002年9月) 21、C 22、C 23、D 24、B 25、D 二、填空题 D)9,8 1、下面fun函数的功能是将形参x的值转换成二进制数,所得二进制数的每一位数放在一 维数组中返回,二进制数的最低位放在下标为0的元素中,其它依此类推。请填空。 fun(int x,int b[]) { int k=0,r; do { r=x%2; b[k++]=r; x/=2 ; } while(x); } (1996年4月) 2 2 11 C语言复习题 2、以下程序用来对从键盘上输入的两个字符串进行比较,然后输出两个字符串中第一个不相 同字符的ASCII码之差。例如:输入的两个字符串分别为abcdef和abceef,则输出为-1。请填空。 #include< stdio.h> main() { char str[100],str2[100],c; int i,s; printf(\printf(\i=0; while((strl[i]==str2[i]&&(str1[i]!= )) i++; s= ; printf(\} (1998年9月) '\\0'或0 strl[i]-str2[i] 3、若想通过以下输入语句使a中存放字符串1234,b中存放字符5,则输入数据的形式应该是a=1234 b=5 A或a=1234b=5。 char a[10],b; scanf(\(1999年4月) 4、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,用输入负数结束输入。请填空。 main( ) { float x[1000], sum=0.0,ave, a; int n=0,i; printf(\:\\n\;scanf(\,&a); while(a>=0.0&& n<1000) { sum+ ; x[n]= ; n++; scanf(\,&a); } ave= ; printf(\:\\n\; printf(\,ave); for (i=0;i =a a sum/n x[i] 请填空。 #include< stdio.h> #include< string.h> main() { char a[]=\int i, j, k; k=strlen(a); for(i=0; i<=k-2; i+=2) for(j=i+2; j<=k;j+=2) if(a[i]>a[j]) { t=a[i]; a[i]=a[j]; a[j]=t; } puts(a); printf(\ 12

