当前位置:主页 > 问答百科 > 正文

2021智慧树知到(山东理工大学)《C语言编程新思路》第1-14章节测试答案(9)

时间:2021-11-29 来源:网络收集 作者:答题小能手

A、x=12

B、x=13

C、x=17

D、x=18

答案:D

12、有如下程序: #include <stdio.h> int i=1; int main() { int i=i; printf("%d\n",i); return 0; } 程序的输出结果是()。

A、1

B、0

C、i

D、不确定

答案:D

13、有如下程序: #include <stdio.h> int f(int x) { return x+3;} int main(void) { int a=1; while(f(a)<10) a++; return 0; } 程序执行后,变量a的值是()。

A、7

B、10

C、11

D、9

答案:A

14、以下说法中正确的是()。

A、形参是全局变量,其作用范围仅限于函数内部

B、形参是全局变量,其作用范围从定义之处到文件结束

C、形参是局部变量,其作用范围仅限于函数内部

D、形参是局部变量,其作用范围从定义之处到文件结束

答案:C

15、定义为void类型的函数,其含义是()。

A、调用函数后,被调用的函数没有返回值

B、调用函数后,被调用的函数不返回

C、调用函数后,被调用的函数的返回值为任意类型

D、其余选项都不对

答案:A

16、当全局变量和函数内部的局部变量同名时,在函数内部()。

A、全局变量有效

B、局部变量有效

C、全局变量和局部变量都有效

D、全局变量和局部变量都无效

答案:B

17、有如下程序: #include <stdio.h> fun(int a) { auto int b=0; static int c=3; b=b+1;c=c+1; return(a+b+c); } int main(void) { int a=2,i; for(i=0;i<3;i++) printf(“%d “,fun(a)); return 0; } 它的输出结果是()。

A、7 8 9

B、7 7 7

C、9 9 9

D、8 9 10

答案:A

18、有如下程序: #include <stdio.h> void fun(int x,int y) { int t; if(x>y) {t=x;x=y;y=t;} } int main(void) { int a=4,b=7,c=5; fun(a,b);fun(a,c);fun(b,c); printf(“%d,%d,%d\n”,a,b,c); return 0; } 它的输出结果是()。

A、4,5,7

B、4,7,5

C、7,5,4

D、7,4,5

答案:B

19、有如下程序: #include <stdio.h> f(int a) { int b=0; static int c=3; a=c++; b++; return(a); } int main(void) { int a=2,i,k; for(i=0;i<2;i++) k=f(a++); printf(“%d\n”,k); return 0; } 该程序的输出结果是()。

A、6

B、3

C、4

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); } }

A、1 2 3 4 5

B、1 2 6 24 120

C、5

D、120

答案:B

9、下列程序的输出结果是()。 #include <stdio.h> int fun(int a) {int b; if(a==0||a==1) return 3; b=a*a-fun(a-2); return b; } int main() {int x,y; x=fun(3); y=fun(4); printf("%d,%d\n",x,y); return 0; }

A、3,4

B、9,16

C、6,16

D、6,15

答案:D

10、下列程序的输出结果是()。 #include <stdio.h> int fun(int (*p)[3]) {int i,j,n; n=p[0][0]; for(i=0;i<2;i++) for(j=0;j<3;j++) if(p[j]>n) n=p[j]; return n; } int main() {int a[2][3]={11,32,13,44,5,6},m; m=fun(a); printf("%d\n",m); return 0; }

A、11

以上相关的更多内容请点击C语言编程新思路查看,以上题目的答案为网上收集整理仅供参考,难免有错误,还请自行斟酌,觉得好请分享给您的好朋友们!



相关阅读