资源描述
复习题一
一、单项选择题.以下选项中,均符合C常量形式的是 (1) O
A)'\123', 0123 B) Oxffce, 4\6789 C) 0246, e-5 D) i()2, 123.假定有 char a=,A\b=,B\c,那么执行 printf("%d”,(c=a<b--?a+b:a-b);的值是 (2)。
A) 130B) 131C)0D)都不是[特别说明:]根据c=avb--?a+b:a-b计算得到c的整数值为130,但常用字符的ASCII值最 大为127, 130超过了 127, 130的二进制形式是:10000010,最高位为1,因此可以肯定它 是一个负数,根据负数二进制补码的求法可以得出它是-126的补码值。
1 .假定 int a=l, b=2, c=0,表达式:c=(a== —b||—a,a+b+1.0/2)的值是 (3)。
A) 1B)2C) 1.5D) 2.5.表达三个变量a、b、c中有一个为0,两个为非。的正确表达式是 (4)。
A)a*b*c= =0B)a*b!=O||a*c!二O||b*c!=O
C)(a*b||a*c||b*c)&&!(a*b*c)D)!(a*b*c)&&(a+b+c).在以下表达式中,与a==0 && b!=0不说价的是 (5)。
A)!a&&bB)!(a!=0 || b==0)
C) ! (a==0 | | b!=0)D) ! (a*b) && b.上机运行以下程序会出现一个错误,这个错误的性质是(6)。
main(){ int i,j,a[]={3,2,l},b[]={6,4,2,0);
float s=0;for(i=0;i<3;i++) {j=b[a[i]]; s+=1.0/j; } printf("\n %f\s);
)
A)数组说明语法错B)分母为0运算错
C)数组元素引用语法错D)数组元素引用下标超界错.设 char a[尸'xy\n0\1238\\(T;那么数组 a 的长度是 (7)。
A) 7B) 8C) 9D) 13.以下程序的功能是一(8) o
main()
{ int a[3][3]={ 1,2,34,5,6,7,8,9}, i,*p=a,s=0;for(i=0; i<3; i++) { for(; p<a[i]+3; p++) s+=*p; p+=i;} printf(n\n %d”,s);
)
A)求矩阵a的所有元素之和B)求矩阵a的上三角元素之和
C)求矩阵a的下三角元素之和D)都不是.以下程序的功能是(9) o
main(){ int a[10]={ 3,529』,8,0,2,4,6} ,i,p=0,q=0;
for(i=0;i<10;i++){ if(a[i]>p) p=a[i];
if(a[i]<a[q]) q=i;)
printf(H\n %d,%d",p,q);)
A)求最大值和最小值B)求最大值的位置和最小值的位置
C)求最大值的位置和最小值D)求最大值和最小值的位置.假设希望当字符变量a中为数字字符时,表达式的值为“真”,为非数字字符时,表达式 的值为“假那么以下不能满足要求的表达式是(10)。
A) a>=0 && av=9B) a>=,0, && a<='9'C) a>=48+0 && a<= 48+9D) a-O>=0 && a-’0'v=9
printf (" %5d" , a&&b);printf (" %5d\n,r , b<a);
四.程序设计.写出满足不等式1+1/2+1/3+1/4+…1/N>15最小的N值并输出。
1 .为二维数组int输入数据后,计算并输出周边元素的和。
一、填空
1. -162. 0
4. a%3==0&&a%5
6.问号
9. a[b].b
答案3. x>20&&x>30||x<-100
5. int a[16] , *p=a;7. 18. 50
10 .结构体类型相同二.选择
BDCBA DADCD BDDDB BDCCA三、程序阅读题
01 ( 0 1 1 2 302 ( d=10
03 ( 20 3504 ( ABCDE
CDEE
05 ( 5 1 2 3 206 ( 0 1 2 1 28
四.程序设计main ()
{ float sum=0;int n=0;
do {n++;sum+=l. 0/n;
} While(sum<=15);printf( " n=%d\n M , n-l);
)
1. main ()
{int i, j, sum=0, a[10] [10];
for(i=0; i<10; i++)
for(j=0;j<10;j++)scanf( a%dv ,&a[i][j]);
for(i=0; i<10; i++)sum+= a[i][0]+ a[9][i];
for(i=0; i<10; i++)sum+= a[i][0]+ a[i][9];
printf( H sum==%d\n ",sum);复习题三
一、单项选择题.以下选项中,均符合C常量形式的是⑴ O
A) e5, 0123B) OxffceJW' C) 02468, 0.1 e-5 D) 102, 123.以下选项中,均符合C变量命名规那么的是(2) o
A)x」,l_aB) aC) a.c, ND) China,」A.假房变量 a=2, b=3, c=l,那么表达式:c==b>a || a+l==b--, a+b 的值是 (3)。
A)0B) 1C)4D)5.假定 int a=2, b=3, c=0,表达式:(a==b>l)+(a&&!c)+b/a*2.0 的值是(4).
A) 2.0B)3.0C) 4.0D) 5.0.以下表达式中,不能正确表达两个非。变量a和b的绝对值相等,但互为异号的是*L
B) a*b<0 && (a>0 || b>0) D) !(a+b) && a*b<0
(6).
A) a==-b && (a>0 || b>0)
C) !abs(a+b) && (a>0 || b>0).以下各程序语句中,有语法错误的选项是
A)int x=Ay=2,z,a[2*'n'];
B) z=x+++y;
C) z=x+++y--;
D) z=(x+l)++-y;不正确的选项是⑺.
A) s=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++) s+=a[i][j];
C)s=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++) s+=a[j][i];
8.假定a是10个元素的一维数组, 那么正确的操作是⑻.
不正确的选项是⑺.
A) s=0;
for(i=0;i<3;i++)
for(j=0;j<4;j++) s+=a[i][j];
C)s=0;
for(i=0;i<4;i++)
for(j=0;j<3;j++) s+=a[j][i];
8.假定a是10个元素的一维数组, 那么正确的操作是⑻.
7.假定a是3行4列的矩阵(inta[3][4]),那么对于以下求矩阵元素之和的程序段中,B)s=0;
for(j=0;j<4;j++)
for(i=0;i<3;i++) s+=a[i][j];
D) s=0;for(i=0;iv3;i++)
for(j=0;j<4;j++) s+=a[j][i];假设要将后9个数往前移一个位置挤掉最前面的一个数,
A) for(j=l;j<10;j++) a[j-l]=a|j]; B) for(j=8; j>0; j-) a[j]=a[j+l];
C) B) for(j=9;j>0;j-) a[j-l]=a[j]; D) for(j=0; j<10; j++) a[j]=a[j+l];9.以下各循环语句中,不是无限循环的是(9).
A) for(k=-l; -10<k<0; k-);B) for(i=l,j=10; i-j; i++,j--);
C) for( k= 1; k= 10; k++);D) for( k= 1; k>0; k++);10.字符串 ” ab' 1' \\\12803” 的长度是(10).
D) 13
A) 8B)9C) 10.假定有如下求最大值和最小值的程序:
main()
{ int i,a, max-32768, min=32767;for (i=0; i<10; i++)
{ scanf("%d”,&a);
if (a < min ) min=a;else if ( a > max ) max=a;
)printf ("\n max,min= %d,%d,\ max, min);
)那么以下各结论中正确的选项是(11) o
A) 程序完全正确B)当输入递增数据时结果不正确
C)当输入递减数据时结果不正确D)输入任何数据结果都不正确.假设希望当字符变量a中为数字字符时,表达式的值为“真。为非数字字符时,表达式 的值为“假二那么以下不能满足要求的表达式是(⑵ O
A) a>=0 && a<=9B) a>='0' && a<='9'
C) a>=48+o && a<= 48+9D) a/0'>=0 && a「0'v=9.上机运行以下程序会出现一个错误,这个错误的性质是一(13). main()
{intij,a[]={3,2,l},b[]={6A2,0};float s=0;
for(i=0;i<3;i++) {j=b[a[i]]; s+=l.O/j; } printf("\n %f\s);)
A)数组说明语法错B)数组元素引用语法错C)分母为0运算错D)数组元素引用下标超界错
11 .以下求矩阵a中主对角元素之和的各程序段中,不正确的选项是(14)
A) int a[3][3]={ 1,2,3,4,5,6,7,8,9}, s=0, *p=a;for ( p=a; p<a+3; p+=3 ) s+=*p++;
B) int a[3][3]={ 1,2,34,5,6,7,8,9}, s=0, i;for (i=0; i<3; i++ ) s+=a[i][i];
C) int a[3][3]={ 1,2,34,5,6,7,8,9}, s=0, *p=a, i;for (i=0; i<3; i++ ) s+=p[i][i];
D) int a[3][3]={ 1,2,345,6,7,8,9}, s=0, *p=a;for ( p=a; p<a+3; p+=4 ) s+=*p;
12 .在以下表达式中,与!(a+b)&&a*b不等价的是 (15)。
A) a+b==0 && a*b!=0B) a<0 || b<0 && a*b>0
C) a!=0 &&b!=0 && !(a+b)D) !(a+b) && a二、程序阅读题
13 .以下程序的运行结果是(16)
main()
{ int i, n=0;
for( i=l; i<20; i++) if (i%3==0&&i%5) n++;
printf(u\n %d”, n);
)
A) 1B)5C)6D)7.以下程序的运行结果是(17) o
main()
{ int n=2345;while(n) { printf(M%du,n%10); n/=10;}
)
A) 5432 B) 2345C) 4320D) 3450.以下程序的运行结果是(18) o
main()
{ char *a="abCD12”;
f(a);
printf (n\n%sH,a);
)
C) abl2D) CD12
void f(char *s)
{ char *p=s;for (; *s; s++)
if (*s〉='A' && *sv=Z)*p++=*s;*p=0;
)
A) abCD12 B) CDf ( char *c )
{ fbr (; *c; c++)
if (*c>='A' && *c<='Z') *c=*c+32;
)
C) FORTRAN77 D) fORTRAN77
f ( char *c )
{ fbr (; *c; c++)
if (*c>='A' && *c<='Z') *c=*c+32;
)
C) FORTRAN77 D) fORTRAN77
19 .以下程序的运行结果是 (⑼ o main(){ char *a[]="FORTRAN77”; f(a+l ); printf(u%s9\a);
)A) Fortran77 B) fortran77
20 .以下程序的运行结果是一 (20) o
main()
{ char a[]="abcXYZ789”;int j,k=O;
for (j=0; a[j];j++) if(a[j] >a[k]) k=j;j=a[O]; a[O]=a[k]; a[k]=j;printf (“%s”, a);
)
A) ZbcXYa789 B) cbaXYZ789.以下程序的运行结果是⑵)o
#include nstdio.h"
C) 7bcXYZa89 D) 9bcXYZ78a
main()
{ int i; char a[]=nabl2n;for (i=0; a[ij; i++)
switch (a[i]){case 1 : printf (n%dn, a[i]); break;
case 2 : printf ("%d",a[i]); break;default: if (&& a[i]<-z*) putchar ( a[i]);
else printf (n%d'\a[i]+l );)
)
A)ab23B)abl2C)ab4950D)ab5051.以下程序的运行结果是(22) o
int a=3, b=5;
f (int a ) { a++;b+=a;}
main()
{ int a=6; f (a-1); printf(H\n %d,%dn,a,b); }
A) 3,8B)3,llC) 6,8.以下程序的运行结果是(23) o
main()
{ int i,s=0;for(i=3;i<8;i++) s+=f(i);
printf(n\n%dn,s);
)
A) 3B)5C) 15.以下程序的运行结果是(24) o
main(){ int i,b,k=0;
for (i=l; i<=5; i++){b=i%2;while (b一>=0) k++; }
printf ("%d,%d”,k,b);)
A) 3, - 1B) 8, - 1C) 3,025.以下程序的运行结果是(25) o
#define F x+ymain()
{ int x=4, y=5, z;if(x++<y) z=2*F; else z=F/2;
printf^\n %d”,z);)
A) 5B)7C) 15D) 6,11
int f(int m)
{ int i;
for(i=2;i<m;i++)
if(!(m%i)) return 0;
return 1;
)
D) 25
D) 6,11
int f(int m)
{ int i;
for(i=2;i<m;i++)
if(!(m%i)) return 0;
return 1;
)
D) 25
D) 8,-2
D) 20
三、程序填充题选择适当的内容填在以下各程序的下划线处,以使程序完整。
・找出矩阵中的所有鞍点(位置)。所谓鞍点,即该点的数在行上最小,列上最大。 main(){ int i,j,k,p,m=4,n=5,a[4][5];
for(i=0;i<m;i++)for(j=0;j<n;j++) scanf(H%dn,&a[i][j]);
for(i=0; i<m; i++){ P=a[i][O];
for(j=0; j<n; j++) if( (26)) p=a[i][j];for(j=0;j<n;j++)
{ if(a[i][j]==p){ for(k=0; k<m; k++) if( (27)) break;
if( k==m)(28);)
)注:该程序考虑了一行有多个鞍点的情况
C) a[j][i]>pD) a[j][i]<p
C) a[k][j]<pD) a[k]U]>p
B) printf (n\n%3d,%3d",i,j )
D) printf (n\n%3d'; a[k][j])
(26) A) a[i]U]>pB)a[i]U]<p
(27) A) a[i]U]<pB)a[i]U]>p
(28) A) printf(n\n%3d,%3dn,kj )C) printf (n\n%3dn, a[i][j])
・将两个有序的数组合并到另一个数组中,要求合并后仍有序。
main(){ int i=0,m=5,a[5]={ 1,3,7,9,13);
int j=0,n=6,b[6]={ 2,4,8,16,20,24};int k=0,c[ll];
while( i+jvm+n){ if( (29))c[k++]司i++];
else if((30)) c[k++]=b[j++];else if(⑶))c[k++]=a[i++];
else c[k++]=b[j++];for(i=0;i<k;i++) printf(u %d\c[i]);
(29) A) i>=m
(30) A) i>=m
(31) A) i==m
B) i>m B)i>m B)j==n
C)j>=n C)j>=n C) a[i]<bU]
D)j>n
D)j>n
D) b[j]<a[i]
・文本文件filel.txt中存放有假设干学生(不超过1000个)的姓名及班号,读出所有学 生的内容并按以下要求整理后存入文本文件file2.txt中。
要求:每个班只保存一个学生。
#include "stdio.h*'#include "string.h” typedef struct student (
char name[ 10];char class[10];
}STU;main()
{ int i,j,m=l,n;(32)
fp=fopen(nfilel.txtn;,rH);for(i=0; (33); i++)
{ fscanf(fp,n%s%d%sn,a[i].name, a[i].class); n=i;)
fclose(fp);for (i=l; i<n; i++ )
(
for (j=0; j<m; j++ ) if ((34)) break;if( (35)) a[m+4-]=a[i];
)fp=fopen (“file2.txt“,);
for (i=0; i<m; i++ )fpnntf ( fp, \n %10s%4d%10s ,a[i].name, a[ij.class );
fclose(fp);}
(32) A) STU a[1000];
C) FILE *fp;A) i<n B) i<=n
(33) A) a[i].class==a[j].class
C) a[i].class!=a[j].class (35)A)j<m
B) STU a[1000]; FILE *fp;
D) char a[1000]; FILE *fp;
C) feof(fp)D) !feof(fp)
B) strcmp( a[i].class,a[j].class)! =0
D) strcmp( afi].class,a[j].class)==O
B) j=m
D)j==n
四、程序设计
1 .输入10个数用冒泡排序将它们按升序排列,并输出。
2 .编写程序,求两个自然数m和n的最大公约数和最小公倍数。
实现。)
答案
一.单项选择题
I. B 2. D
II. C 12. A
二.程序阅读题
16. B 17. A
三.程序填充题
26. B 27. D
3. D 4. B
13. C 14. C
18. B 19. A
28. B 29. C
5. B 6. D
15. B
20. B 21. D
30. A 31. C
7. D 8. A 9. D
22.D23.A24.D
32.B33.D34.D
(用函数调用来
10. C
25. C
35. B
四、程序设计
1. ttinclude “stdio. h"
#define N 10
main ()
{ int a[N], i, j, t;
printf ("input %d number:\n", N);
for(i=0;i<N;i++) scanf("%d”, &a[i]);
for(i=0;i<N;i++) printf (“%4d”, a[i]);
printf (“\rT);
for(i=0;i<N-l;i++)
for(j=0;j<N-i;j++)
if(a[j]>a[j+l]){ t=a[j];a[j]=a[j+l];a[j+l]=t;}
for(i=0;i<N;i++) printf(“%4d",a[i]);
printf ("\rT); }
2. #include <stdio.h>
unsigned int yue(unsigned int x,unsigned int y); void main ()
{ unsigned int m,n,b,y;
scanf (n%u%uH,&m,&n);
b = m*n;
y=yue(n,m);
printf (n%u,%u\n\y,b/y); }
unsigned int yue(unsigned int x, unsigned int y) {int t;
C)j<ny=t;}
x=y; y=t;}
y=t;}
x=y; y=t;}
if (x<y){ t=x; x=y;while (y!=0) {t=x%y; return x;}
复习题四
一 .填空题
1 . C源程序的基本单位是
2 . 一个C程序中至少应包括一个
3 .假设有说明:int m=5, y=2;那么执行表达式y+=y-+m*=y后的y值是
4 . C语言的标识符只能由三种字符组成,它们是
5 .在C语言中,表示逻辑“真”值用
6 . C语言的基本类型分为.变量存储类型说明符有: (自动型) (寄存器型) (静态型)和 (外部型)。
7 .C语言中,二维数组的定义方式为类型说明符,数组名[][]
8 . C语言中,一个函数一般由两个局部组成,它们是
9 .指针变量的作用是.选择
1. 一个C程序的执行是从A.本程序的main函数开始,到main函数结束。
B.本程序文件的第一个函数开始,到本程序文件的最后一个函数结束。
C.本程序的main函数开始,到本程序文件的最后一个函数结束。
D.本程序文件的第一个函数开始,到本程序main函数结束。
2 .不属于字符型常量的是A. 'B'B. "C" C.''M'D.''x65'
3 .设有整型变量i,其值为025;整型变量j,其值为25,执行语句printf (“%d, %d\n" ,i, j)后,输出结果是:
A. 25,25 B. 25,21 C. 21,21 D. 21,25
4 .下面不正确的字符串常量是:
A. 'abc' B. "12' 13" C. “0"D. " “
5 .判断char形变量ch是否是大写字母的正确表达式是A. 'A'〈二chC' VB. (ch>='A' )&(ch<二' V )
C. (ch〉='A' )&&(ch<=' Z' ) D. ( 'A' <=ch)AND( 'Z'〉=ch)
6 .设有:int a=2, b=3, c=7, d=8, m=3, n=3;执行(m=a>b) && (n=c>d)后的n值为
A. 0 B. 1C. 2D. 3
7 .以下程序运行结果是main()
{ int a, b, d=341;a=d/100 %9;
b=(-l)&& (-2);printf ( "%d, %d”,a, b);
A. 6, 1 B. 3, 1C. 6, 0D. 3,0
8 .int x=己,y=20, z=30;以下语句执行后,x、y、z的结果是if (x>y) z=x; x=y; y=z;
B. x=20, y=30, z=30
D. x=20, y=30, z=20
A. x=10, y=20, z=30C. x=20, y=30, z=10
9 .以下程序的运行结果是 main (){ int m=5;
if (m++>5) printf( "%d\n",m);else )
else )
printf( u%d\n^ , m--);
A. 4B. 5C. 6D. 7.以下程序的输出结果是:
main ()
{ int x=2,y=_l,z=2;if (x>y)
if (y<0) z=0;else z=z+l;
printf( "%d\n”,z);
)
A. 3B. 2C. 1D. 0.以下程序的运行结果是
main()
{ int k=4, a=3, b=2, c= 1;printf( u\n%d\nv , k<a?k:c<b?c:a);
)A. 4B. 3C.
12 .以下程序的运行结果是
x=y二0;
While(x<15)y++,x+=++y;
printf ( "%d, %d",y, x);
A. 20, 7 B. 6, 20 C.
13 .以下程序的运行结果是
main ()
{ int num=0;
While (num<=2)
{num++; printf(,num);}
)
A. 1B. 1,2C.
14 .以下程序段
x=-l;
do
{x=x*x;} While (!x);
A.是死循环B.循环执行两次
A. 4B. 3C.
15 .以下程序的运行结果是
x=y二0;
While(x<15)y++,x+=++y;
printf ( "%d, %d",y, x);
A. 20, 7 B. 6, 20 C.
16 .以下程序的运行结果是
main ()
{ int num=0;
While (num<=2)
{num++; printf(,num);}
)
A. 1B. 1,2C.
17 .以下程序段
x=-l;
do
{x=x*x;} While (!x);
A.是死循环B.循环执行两次
2D. 1
20, 8D. 8, 20
1,2,3
D.
1,2, 3, 4
C.循环执行1次 D.有语法错误
15 .假设有说明:int i;那么以下循环执行次数是
for(i=2;i= =0;) printf ( "%d”,i--);
A.无限次 B. 0次C. 1次D. 2次
16 .假设有说明:int a[10];那么对a数组元素的正确引用是
A. a[10]B. a[3.5]C. a(5)D. a[10-10]
17 .以下的二维数组a的正确说明是
A. int a[0] [1]; B. float a(3,4); C. double a[l][4]; D. float a(3) (4);
18 .假设有说明:int a[3] [4];那么对a数组元素的非法引用是
A. a[0] L2*l] B. aLUL3j C. a[4-2J [0j D. aLOj L4j
19 .以下正确的说法是
A.定义函数时,形参的类型说明可以放在函数体内
B. return后边的值不能为表达式
C.如果函数值的类型与返回值类型不一致,以函数值类型为准
D.如果形参与实参的类型不一致,以实参类型为准
20 .假设用数组名作为函数调用的实参,传递给形参的是A.数组的首地址;
A.数组的首地址;
B.数组第一个元素的值;
C.数组全部元素的值;D.数组元素的个数。
21 .以下程序的正确的运行结果是voi d num()
{ extern int x, y; int a=15, b=10;x=a-b;
y=a+b;)
int x, y;main ()
{ int a=7,b=5;x=a+b;
y=a-b;
num();
printf ( "%d, %d\n”,x, y);
)
A. 12,2B.不确定
22.以下程序的正确的运行结果是 int x;
main()
{ x=5;
cs ( ) ; printf ( "%d\n” , x);
)
cs()
{ X=x*x*x;}
A. 0B. 25
23.以下程序的正确的运行结果是
sub (int x, int y, int *z)
{ *z=y-x;}
main ()
{int a, b, c;
sub (10, 5, &a);
sub (7, a, &b);
sub (a, b, &c);
printf ( "%d, %d, %d\n”,a, b, c);
}
A. 5,2,3 B. -5,-12, -7
24.以下程序:
C. 5,25
C. 125
C.-5,-12,-17
D. 1, 12
D. 5
D. 5, -2, -7
main()
{ int a[10] = {2, 4, 6,8, 10, 12, 14, 16, 18, 20),*p;P二a;
printf( "%x\n",p);printf( "%x\n” ,p+9);
)假设假设第一个printf语句输出的是ffca,那么第二个printf语句输出的是:
A. ffddB. ffdcC. ffdeD. ffcd三.程序阅读题
1 .以下程序的运行结果是main()
{ int x[] = {0, 1,2, 3,4, 5, 6, 7, 8, 9);int s, i, *p;
s=0;P=&x[O];
for (i=l;i<10;i+二2)s+=*(p+i);
printf( "sum=%d”,s);)
2 .以下两个程序分别运行后DI中的结果和显示结果是#include^ stdio. h"
main (){ FILE *f1; int n; fl=fopen(" w")
for (n=l;n<=5;n++)fprintf (f 1, ” %d, %d, %d\n”,n, n+n, n+n+n);
fclose(fl);)
# include” stdio. h"main()
{ FILE *f2; int x, i, j, k;f2=fopen( “DI”," r")
for(x=l;x〈=5;n++){ fscanf (f2, w %d,%d,%d\n",;
printf ( "%d, %d, %d\n”,i, j*j, k*k*k);)
3 .以下程序的运行结果是int *p
main(){ int a=l, b=2, c=3
p=&b;ab(a+c, &b);
printf ( (l)%d, %d, %d\nw , a, b, *p);)
ab (int a, int *b){ int c=4;
*p=*b+c;a二*p—c;
printf ( " (2)%d, %d, %d\n” , a, *b, *p) ;}.以下程序的运行结果是
{ nt a=5, b=7;main()
{ int a=4, b=5, c;=plus (a, b);
printf( "A+B=%d\n”,c) ;}plus (int x, int y)
{ int z;z=x+y, return(z);}
4 .以下程序的运行结果是int xl=30, x2=40;
main(){ int x3=10, x4=20;
sub (x3,x4);sub(x2,xl);
11 .在C语言中,if语句后的一对圆括号中,用以决定分支的流程的表达式(11)。
A)只能用逻辑表达式B)只能用关系表达式C)只能用逻辑表达式或关系表达式D)可用任意表达式
12 .以下论述中正确的选项是一 (12)。
A)在同一个函数中不能定义多个同名的变量
B)结构体变量的名字可以与其所属的成员的名字相同
C)局部变量的名字不能与函数名相同
D)局部变量的名字不能与全局变量的名字相同.在以下各循环语句中,不能正确计算自然数1-100中所有数之和的是一(13)。
A) for(s=0, i=l; i<=100 ;) s+=++i;for(s= 100, n=100; —n;) s+=n;
B) fdr(s=0,i=l J=100; i<=j; i++, j— ) s+=i+j;for(s=0, i=0; i<=100 ;) s+=i++;
13 .假定要使以下程序的输出结果第一行都是1,第二行都是2,第三行都是3,那么正确的 数据输入格式是一 (14) omain()
{ int i,jX3][3];for(j=0;j<3;j++)
fbr( i=0; i<3; i++) scanf ("%d”, &a[i][j]);for( i=0; i<3; i++)
{ printfCAn"); for (j=0; j<3; j++) printf a[i][j]); })
A) 1 2 3 1 2 3 1 2 3B) 1 1 1 2223 3 3C) 1,2,3』,2,3/23D) 1」/22,2,3,3,3
14 .以下各程序段中,不能正确输入10个数到数组a中的是 (15)。
A) int i,a[10];for(i=0;i<10;i++) scanfC%d>[i]);
B) int i,a[10|;for(i=0;i<10;i++) scanf("%d”,a+i);
C) int a[10],*p;fbr(p=a;i<10;p++) scanf(u%d9\p);
D) int i,a[10],*p=a;fbr(i=0;i<10;i++) scanf("%d”,p++);二、程序阅读题
15 .以下程序的运行结果是一 (16) o
main()
{ int i, n=0;for( i=l; i<20; i++) if (i%3=0&&i%5) n++;
printf ("\n %d”, n);
)
A) 1B)5C)6D)7.以下程序的运行结果是一 (17) o
main()
{ int i,n=0;for(i=2;i<5;i++)
{ do { if(i%3) continue; n++; } while(!i);n++;
}printf(”\n%d”,n);
)
A) 2B)3C)4D)5.以下程序的运行结果是一 (18) o
{ nt a=2;
int f (int *a) { return (*a)++; }
main()
{ int s=0;int a=5; s+=f ( &a ); }
{ +=f ( &a);printf ( ^%d, %d, %d, %d\nw , x3, x4, xl, x2);
)sub (int x,int y)
{ xl=x;x=y, y=xl;}
6 .以下程序的运行结果是 main() { int a[5] = {5, 10,-7, 3, 7),i,t, j;sort(a);
for (i=0; i<=4; i+
展开阅读全文