k=0 m=5 13.void main() { int t, n=15;
t=0; do { t+=n;
n-=2; } while (n>0); printf(“%d\\n”, t); } 64 14.void main()
{ int n1,n2; n2=5678; while(n2!=0) { n1=n2;
n2=n2/10; printf(\ } } 8765
第7章 数组 一、选择题
1.在执行int a[ ][3]={{1,2},{3,4}}; 语句后a[1][2]的值是
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中
第11页(共41页)
二、读程序,写出程序执行结果
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); } 20 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(\ } 58
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(\ } 56
4.main()
{ int i,n[]={0,0,0,0,0}; for(i=1;i<=4;i++) { n[i]=n[i-1]*2+1; printf(\} }
1 3 7 15 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(\ }
第12页(共41页)
} 1 4 7 2 5 8 3 6 9
第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.用数组名作为函数调用时的实参,则实际传递给形参的是
A)数组的第一个元素值 B)数组中全部元素值 C)数组的首地址 D)数组的元素个数
二、填空题
1.用数组名作为函数调用时的实参,则实参传递给形参的是数组的首地址。 2.形参是局部变量。
3.函数:float pp(int x,int y) {……},该函数pp的函数类型是____。
三、读程序,写出程序执行结果
1. int fib(int g)
第13页(共41页)
{ switch(g)
{ case 0: return 0; case 1:
case 2: return 1; }
return -1; }
void main()
{ printf(“%d\\n”, fib(2)) ; } -1
2.int fun(int x)
{ return(x>0 ? x : -x); } void main() { int a=-5;
printf(“%d, %d\\n”,a,fun(a)); } -5,5 3. ex ( )
{ static int x=5 ; - -x ;
printf(“%d”,x) ; }
void main ( )
{ ex ( ); ex ( ); ex ( ); } 555
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(\} 12
5.int f(int x)
{ 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);
第14页(共41页)
printf(\
} 13
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(\ } 4,3,5 7. int b=2; fun(int *a) { b+=*a; return(b);} main() { int a=2, res=2; res+=fun(&a); printf(“%d\\n”,res); } 6 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(\ } 84 9.int d=2 ; int fun(int p) { static int d=3 ; d+=p; printf(\ return(d) ; } 第15页(共41页) 百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库石大在线C语言综合复习题(3)在线全文阅读。
相关推荐: