2021智慧树知到(山东理工大学)《C语言编程新思路》章节测试答案共14章(5)
答案:C
5、若已定义的函数有返回值,则以下关于该函数调用的叙述中错误的是()。
A、函数调用可以作为独立的语句存在
B、函数调用可以作为一个函数的实参
C、函数调用可以出现在表达式中
D、函数调用可以作为一个函数的形参
答案:D
6、在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。
A、地址传递
B、单向值传递
C、由实参传给形参,再由形参传回实参
D、传递方式由用户指定
答案:B
7、有以下程序: #include <stdio.h> void fun(int a,int b,int c) { a=11; b=22; c=33;} int main(void) { int x=10,y=20,z=30; fun(x,y,z); printf(“%d,%d,%d\n”,x,y,z); return 0; } 该程序输出结果是()。
A、30,20,10
B、10,20,30
C、11,22,33
D、33,22,11
答案:B
8、关于函数参数,说法正确的是()。
A、实参与其对应的形参各自占用独立的内存单元
B、实参与其对应的形参共同占用一个内存单元
C、只有当实参和形参同名时才占用同一个内存单元
D、形参是虚拟的,不占用内存单元
答案:A
9、一个函数的返回值由()确定。
A、return语句中的表达式
B、调用函数的类型
C、系统默认的类型
D、被调用函数的类型
答案:D
10、下列程序的输出结果是()。 fun(int a,int b,int c) { c=a+b;} int main(void) { int c; fun(2,3,c); printf(“%d\n”,c); return 0; }
A、2
B、3
C、5
D、不定
答案:D
11、有以下程序: #include <stdio.h> int fun(int x) { printf(“x=%d\n”,++x); } int main() { fun(12+5); return 0; } 程序的输出结果是()。
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
B、44
C、6
D、32
答案:B
11、下列程序的运行结果是()。 #include <stdio.h> void fun(int x, int y, int *cp,int *dp) { *cp=x+y; *dp=x-y; } int main() { int a,b,c,d; a=4;b=3; fun(a,b,&c,&d); printf("%d,%d\n",c,d); return 0; }
A、4,3
B、3,4
C、7,1
D、1,7
答案:C
12、下列程序的运行结果是()。 #include <stdio.h> void op(int (*p)[3]) {int i,j; for(i=0;i<3;i++) for(j=0;j<3;j++) if(p[j]%3==0) printf("%d ",p[j]); } int main() {int s[3][3]={1,2,3,4,5,6,7,8,9}; op(s); return 0; }
A、3 6 9
B、1 2 3
C、1 4 7
D、7 8 9
答案:A
13、以下程序运行时,若输入5,则程序的输出结果是()。 #include <stdio.h> int fun(int n) {if(n==1) return 1; else return n+fun(n-1); } int main() {int m; scanf("%d",&m); m=fun(m); printf("%d\n",m); }
A、6
B、5
C、9
D、15
答案:D
14、以下程序运行时,若输入ab012kd99pk8,则程序的输出结果是()。 #include <stdio.h> void fun(char s[]) {int i,j; for(i=0,j=0;s!='\0';i++) if(s>='0'&&s<='9') s[j++]=s; s[j]='\0'; } int main() {char str[80]; gets(str); fun(str); puts(str); return 0; }
A、012
B、012998
C、99
D、8
答案:B
15、若有以下程序: #include <stdio.h> void f(int *q,int n) {int i; for(i=0;i<n;i++) (*q)++; return; } int main(void) {int a[5]={1,2,3,4,5},i; f(a,5); for(i=0;i<5;i++) printf("%d,",a); return 0; } 则程序的输出结果是()。
A、2,3,4,5,6,
B、2,2,3,4,5,
C、6,2,3,4,5,
D、1,2,3,4,5,
答案:C
16、形参数组与实参数组,在内存空间中是()的。
A、相互独立
B、完全重叠
C、部分重叠
D、随机存储
答案:B
17、若有以下程序: #include <stdio.h> int *fun(int *s,int *t) {if(*s<*t) s=t; return s; } int main(void) {int a=3,b=6,*p=&a,*q=&b,*r; r=fun(p,q); printf("%d,%d,%d\n",*p,*q,*r); return 0; } 则程序的输出结果是()。
A、3,3,6
B、3,6,6
C、6,3,3
D、6,6,3
答案:B
18、若有以下程序: #include <stdio.h> int fun(int x) { if(x>10) {printf("%d-",x%10); fun(x/10); } else printf("%d",x); return; } int main(void) { int z=123456; fun(z); return 0; } 则程序的输出结果是()。
A、1-2-3-4-5-6-
B、1-2-3-4-5-6
C、6-5-4-3-2-1-
D、6-5-4-3-2-1
答案:D
第十一章测试
1、以下叙述不正确的是()。
A、预处理命令行必须以#号开始
B、C程序在执行过程中对预处理命令行进行处理
C、在程序中凡是以#号开始的语句都是预处理命令行
D、以下宏定义是正确的:#define IBM_PC
答案:B
2、在宏定义#define PI 3.1415926 中,用宏名PI代替一个()。
A、常量
B、单精度数
C、双精度数
D、字符串
答案:D
3、以下叙述正确的是()。
A、在程序的一行上可以出现多个有效的预处理命令行
B、使用带参数的宏时,参数的类型应与宏定义时一致
C、宏替换不占用运行时间,只占编译时间
D、宏名必须用大写字母表示
答案:C
4、以下在任何情况下计算平方数时,都不会引起二义性的宏定义是()。
以上就是小编小明答题为您带来的关于“2021智慧树知到(山东理工大学)《C语言编程新思路》章节测试答案共14章(5)”的相关内容,希望这篇文章能够帮助到大家。
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。
Tags:C语言编程新思路 章节测试答案 知到 智慧树知到 山东理工大学
相关内容
- ()对世界各国的军事安全的威胁已经不容忽视...
- 生物安全问题对国家经济发展没有太大影响。...
- 近年来生物安全领域出现了网络生物安全、生...
- 生物安全中所说的生物因素是指()。...
- 生物安全从狭义上讲指的是()。...
- 近年来,我国发布了()等文件,阐明了中国愿与...
- 近些年来,中国积极参与极地事务,坚持科研先...
- 随着时代的发展,极地探索、研究、开发和利...
- 为了保护南极大陆,1959年12月,12个国家签署...
- 极地地区的自然资源极为丰富,主要包括()。...
- 深海是推动国际合作和构建海洋命运共同体的...
- 近些年来,深海成为世界各大国在政治、经济...
- 深海是一个资源贫乏、充满危险、人类难以到...
- 海洋科学家们认为:()是海水侵入海底裂缝,受...
- 深海安全是指和平探索和利用国际深海区域,...
- 太空安全是指()的状态。...
- 太空军事化、武器化会严重威胁人类的太空安...
- 太空安全仅仅与航天活动相关,不影响其他领...
- 太空安全亦称()。...
- 太空军事化利用从()就早已成为现实。...