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

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

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

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、以下在任何情况下计算平方数时,都不会引起二义性的宏定义是()。

A、#define POWER(x) x*x

B、#define POWER(x) (x)*(x)

C、#define POWER(x) (x*x)

D、#define POWER(x) ((x)*(x))

答案:D

5、在“文件包含”预处理语句的使用形式中,当#include后面的文件名用” ”(双引号)括起时,寻找被包含文件的方式是()。

A、直接按系统设定的标准方式搜索目录

B、现在源程序所在目录搜索,再按系统设定的标准方式搜索

C、仅仅搜索源程序所在目录

D、仅仅搜索当前目录

答案:B

6、有以下程序: #define ADD(x) x+x #include "stdio.h" int main(void) { int m=1,n=2,k=3; int sum=ADD(m+n)*k; printf("sum=%d",sum); return 0; } 该程序的运行结果是()。

A、sum=9

B、sum=10

C、sum=12

D、sum=18

答案:B

7、若有如下宏定义: #define X 5 #define Y X+1 #define Z Y*X/2 则执行以下printf语句后,输出结果是()。 int a; a=Y; printf("%d ",Z); printf("%d ",- -a);

A、7 6

B、12 6

C、12 5

D、7 5

答案:D

8、以下程序的运行结果是()。 #define MAX(A,B) (A)>(B)?(A): (B) #define PRINT(Y) printf(“Y=%d ”,Y) #include “stdio.h” int main(void) { int a=1,b=2,c=3,d=4,t; t=MAX(a+b,c+d) PRINT(t); return 0; }

A、Y=3

B、Y=7

C、Y=0

D、存在语法错误

答案:B

9、以下程序的输出结果是()。 #include <stdio.h> #define MUL(x,y) (x)*y #include “stdio.h” int main(void) { int a=3,b=4,c; c=MUL(a++,b++); printf("%d",c); return 0; }

A、12

B、15

C、20

D、16

答案:A

10、用宏替代计算多项式4*x*x+3*x+2之值的函数f,正确的宏定义是()。

A、#define f(x) 4*x*x+3*x+2

B、#define f 4*x*x+3*x+2

C、#define f(a) (4*(a)*(a)+3*(a)+2)

D、#define (4*a*a+3*a+2) f(a)

答案:C

第十二章测试

1、C语言规定结构体变量系统分配给它的存储空间是()。

A、该结构体中最后一个成员所需的存储空间

B、该结构体中所有成员所需存储空间的总和

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



相关阅读