A、3 B、4 C、0 D、2
2.已知:int a[ ][3]={1,2,3,4,5,6,7,8,9,0}; 则数组a的第一维的大小是 A)2 B)3 C) 4 D)无法确定; 3. 以下能正确定义数组并正确赋初值的语句是
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}}; 4.以下不能正确定义二维数组的选项是
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}};
5.有语句:char s1[10],s2[10]={\则能将字符串books赋给数组s1的正确语句是 A)s1={\ B)strcpy(s1,s2);
C)s1=s2; D)strcpy(s2,s1);
6.C语言标准函数 strcpy(s3,strcat(s1,s2)) 的功能是
A)将字符串s1复制到s2中,再连接到s3之后 B)将字符串s2连接到s1之后,再将s1复制到s3中 C)将字符串s2复制到s1中,再将s1连接到s3之后 D)将字符串s2连接到s1之后,再将s3复制到s1中
二、读程序,写出程序执行结果
1. 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][3]; printf(“%d\\n”,s); } 2.main()
{ int a[4][4]={{1,2,-3,-4},{0,-12,-13,14},{-21,23,0,-24},{-31,32,-33,0}}; int i, j, s=0;
for (i=0; i<4; i++) { for (j=0; j<4; j++)
{ if (a[i][j] < 0) continue; if (a[i][j] == 0) break; s += a[i][j]; } }
printf(\ } 3.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(\ } 4.main()
{ int i,n[]={0,0,0,0,0};
第11页(共23页)
for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(\} }
5.void main()
{ int str[3] [3]={1,2,3,4,5,6,7,8,9}, i,j,t; for(i=0;i<3;i++) for(j=0;j
{ t=str[i][j]; str[i][j]=str[j][i]; str[j][i]=t; } for(i=0;i<3;i++) {
for(j=0;j<3;j++) printf(“=”,str[i][j]) ; printf(\ } }
第8章 函数 一、选择题
1.在C语言中
A)函数的定义允许嵌套,但函数的调用不允许嵌套。 B)函数的定义不允许嵌套,但函数的调用允许嵌套。 C)函数的定义和调用都不允许嵌套。
D)函数的定义和调用都允许嵌套。
2.若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是
A)函数调用可以作为独立的语句存在 B)函数调用可以作为一个函数的实参 C)函数调用可以出现在表达式中 D)函数调用可以作为一个函数的形参
3. C语言中,函数返回值的类型是由 A)return语句中的表达式类型决定 B)调用函数的主调函数类型决定 C)调用函数时的临时类型决定
D)定义函数时所指定的函数类型决定
4.已定义以下函数
fun(int *p) { return *p; }
该函数的返回值是
A)不确定的值 B)形参p中存放的值 C)形参p所指存储单元中的值 D)形参p的地址值
5. 在TC语言中,若对函数类型未加显式说明,则函数的隐含类型是
A)void B)double C)int D)char
6.用数组名作为函数调用时的实参,则实际传递给形参的是
第12页(共23页)
A)数组的第一个元素值 B)数组中全部元素值 C)数组的首地址 D)数组的元素个数
二、填空题
1.用数组名作为函数调用时的实参,则实参传递给形参的是 。 2.形参是 变量。
3.函数:float pp(int x,int y) {……},该函数pp的函数类型是____。
三、读程序,写出程序执行结果
1. int fib(int g)
{ switch(g)
{ case 0: return 0; case 1:
case 2: return 1; }
return -1; }
void main()
{ printf(“%d\\n”, fib(2)) ; }
2.int fun(int x)
{ return(x>0 ? x : -x); } void main() { int a=-5;
printf(“%d, %d\\n”,a,fun(a)); }
3. ex ( )
{ static int x=5 ; - -x ;
printf(“%d”,x) ; }
void main ( )
{ ex ( ); ex ( ); ex ( ); }
4. fun(int a, int b)
{ if(a>b) return(a); else return(b); } main()
{ int x=3, y=8, z=6, r; r =fun(fun(x,y), 2*z); printf(\}
5.int f(int x)
第13页(共23页)
{ int y=0; static z=3; y++; z++; return(x+y+z) ; }
main()
{ int w=2,k;
for(k=1;k<3;k++) w=f(w); printf(\
}
6. void f(int x, int y) { int t;
if (x } main() { int a=4,b=3,c=5; f(a,b); f(a,c); f(b,c); printf(\ } 7. int b=2; fun(int *a) { b+=*a; return(b);} main() { int a=2, res=2; res+=fun(&a); printf(“%d\\n”,res); } 8.int d=1; void fun(int p) { int d=5; d+=p++; printf(“%d”,d); } main() { int a=3; fun(a); d+=a++; printf(\ } 9.int d=2 ; int fun(int p) { static int d=3 ; d+=p; 第14页(共23页) printf(\ return(d) ; } void main( ) { printf(\10. int f( ) { int s=1; static int i=0; s+=i; i++; return s ; } void main() { int i,a=0; for(i=0;i<5;i++) a+=f( ); printf(\ } 11. int f( ) { int s=1; static int i=0; s+=i; i++; return s ; } main() { int i,a=0; for(i=0;i<5;i++) a+=f( ); printf(\} 12. int a=5; fun(int b) { static int a=10; a+=b++; printf(\} main() { int c=20; fun(c); a+=c++; printf(\} 13.fun(int a, int b) { if(a>b) return(a); else return(b); 第15页(共23页)