D、5
正确答案:C
20、凡是未指明存储类别的局部变量,其隐含的存储类别是()。
A、register
B、auto
C、static
D、extern
正确答案:B
第十章测试
1、若有数组名作为函数调用的实参,传递给形参的是()。
A、数组的首地址
B、数组第一个元素的值
C、数组中全部元素的值
D、数组元素的个数
正确答案:A
2、若使用一维数组名作为函数实参,则以下描述中正确的是 ()。
A、必须在调用函数中说明此数组的大小
B、实参数组类型与形参数组类型可以不匹配
C、在被调用函数中,不需要考虑形参数组的大小
D、实参数组名与形参数组名必须一致
正确答案:C
3、以下叙述正确的是()
A、C语言中各函数(除主函数外)之间既允许直接递归调用也允许间接递归调用
B、C语言中各函数(除主函数外)之间既不允许直接递归调用也不允许间接递归调用
C、C语言中各函数(除主函数外)之间允许直接递归调用不允许间接递归调用
D、C语言中各函数(除主函数外)之间不允许直接递归调用允许间接递归调用
正确答案:A
4、下列程序的输出结果是()。 #include <stdio.h> void sub(int x,int y,int *z) { *z=y-x; } int 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); return 0; }
A、5,2,3
B、-5,-12,-7
C、-5,-12,7
D、5,-2,-7
正确答案:B
5、下列程序的输出结果是()。 #include <stdio.h> void prtv(int *x) { printf ("%d\n",++*x); } int main() { int a=25; prtv(&a); return 0; }
A、23
B、24
C、25
D、26
正确答案:D
6、下列程序的输出结果是()。 #include <stdio.h>void fun(int *a,int *b){int w; *a=*a+*a; w=*a; *a=*b; *b=w;}int main(){ int x=2, y=3,*px=&x,*py=&y;;fun(px,py);printf("%d,%d\n",x,y);return 0;}
A、4,3
B、2,3
C、3,4
D、3,2
正确答案:C
7、以下程序运行时,若输入5 10 3,则输出结果是()。 #include <stdio.h> void swap(int *p1,int *p2) {int t; t=*p1; *p1=*p2; *p2=t; return; } int main() {int a,b,c; scanf("%d%d%d",&a,&b,&c); if(a>b) swap(&a,&b); if(a>c) swap(&a,&c); if(b>c) swap(&b,&c); printf("%d,%d,%d\n",a,b,c); return 0; }
A、5,10,3
B、10,5,3
C、3,5,10
D、3,10,5
正确答案:C
8、以下程序运行时,若输入5,则输出结果是()。 #include <stdio.h> int fac(int n) {static int k=1; k=k*n; return k; } int main() {int m,i,f; scanf("%d",&m); for(i=1;i<=m;i++) {f=fac(i); printf("%d ",f); } }