执行下面的程序后,a的值是() #define SQR(X) X*X main( ) { int a=10,k=2,m=

题目
单选题
执行下面的程序后,a的值是() #define SQR(X) X*X main( ) { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf(""%d/n"",a); }
A

10

B

1

C

9

D

0

如果没有搜索结果或未解决您的问题,请直接 联系老师 获取答案。
相似问题和答案

第1题:

以下程序的输出结果是 ( ) # define SQR (X) X*X main( ) { int a=16,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("%d\n",a); }

A.16

B.2

C.9

D.1


正确答案:B

第2题:

以下程序的输出结果是 ______。 # defineSQR(X) X*X main() { int a=10,k=2,m=1; a/=SQR(k+m)/SQR(k+m); printf("d\n",a); }

A.16

B.2

C.9

D.1


正确答案:D
解析:本题考查带参数的宏调用。a/=SQR(k+m)/SQR(k+m)进行宏替换后得:a=a/(SQR(k+m)/SQR(k+m))=a/(k+m*k+m/k+m*k+m)=10/(2+1*2+1/2+1*2+1)=10/(2+2+0+2+1)=10/7/1。

第3题:

下列程序的运行结果是()。includedefine ADD(x)x+xmain(){int m=1,n=2,k=3; int s=ADD

下列程序的运行结果是( )。 #include<stdio.h> #define ADD(x)x+x main() { int m=1,n=2,k=3; int s=ADD(m+n)*k; printf("s=%d",s); }

A.sum=18

B.sum=10

C.sum=9

D.sum=25


正确答案:B
解析: 本题考查带参数的宏的定义及相关运算:s=m+n+m+n*k=1+2+2*3=10。

第4题:

下列程序执行后的输出结果是______。 # define MA(x) x*(x-1) main() { int a=1, b=2; printf("% d\n", MA(1+a+b));}

A.6

B.8

C.10

D.12


正确答案:B
解析:MA(1+a+b)展开为:1+a+h*(1+a+b-1)=1+1+2×(1+1+2-1)=2+2×3=8。

第5题:

有以下程序段:includedefine MAX(x,y)(x)>(y)?(x):(y)void main(){ int i,j,k; i=

有以下程序段: #include<iostream.h> #define MAX(x,y)(x)>(y)?(x):(y) void main() { int i,j,k; i=10; j=15;k=MAX(i,j)*10; cout<<k<<end1; } 程序执行后的输出结果是( )。

A.15

B.100

C.150

D.10


正确答案:C

第6题:

执行下面的程序后,a的值是 ( ) # define SQR (X) X * X main( ) { int a=10,k=2,m=l; a/=SQR (k+m)/SQR (k+m); printf("%d\n",a); }

A.10

B.1

C.9

D.0


正确答案:B

第7题:

执行下列程序后,输出的结果是()。 includedefine S(X) X*Xvoid main(){int a=9,k=3,m=

执行下列程序后,输出的结果是( )。 #include<stdio.h> #define S(X) X*X void main() { int a=9,k=3,m=2; a/=S(k+m)/S(k+m); printf("%d",a); }

A.1

B.4

C.9

D.0


正确答案:D
解析:本题主要是考查带参数的宏定义及其相关运算。本题中宏运算过程如下:a=a/S(k+m)/S(k+m))=a/(k+m*k+m/k+m*k+m=9/(3+2*3+2/3+2*3+2)=0。

第8题:

执行下列程序后,输出的结果是()。includedefine S(X)X*Xvoid main(){int a=9,k=3,m=2;

执行下列程序后,输出的结果是( )。 #include<stdio.h> #define S(X)X*X void main() { int a=9,k=3,m=2; a/=S(k+m)/S(k+m); printf("%d",a); }

A.(*p) .data.a

B.(*p) .a;

C.p->data.a

D.p.data.a


正确答案:B
解析: 本题主要考查结构指针:p=&data,访问结构体的成员,可以通过结构变量访问,即data.a,也可以用等价的指针形式:(*p).a和p->a来访问结构体变量中的成员。

第9题:

以下程序的运行结果是( )。 define S(x)x*x main() {int k=1; while(k<=4) {printf("%d,",S(k)); k++;}


正确答案:14916
1,4,9,16, 解析:分析程序执行过程,第1次循环,k=1时,此时s(1)=1*1=1,然后k的值加1;第2次循环,k=2时,s(2)=2*2=4,然后k的值加1;第3次循环,k=3时,s(3)=3*3=9,然后k的值加1;第4次循环,k=4时,s(4)=4*4=16,然后k的值加1;当k=5时,条件不满足,退出循环。

第10题:

以下程序的输出结果是 ______。 #define SQR(X) X * X main() { int a=16,k=2,m=1; a/=SQR(k/m)/SQR(k+m); printf("%d\n",A) ; }

A.16

B.2

C.9

D.1


正确答案:B
解析:C语言在预编译时遇到带实参的宏名,则按命令行中指定的字符串从左到右进行置换。在做这题时,也不妨运用置换法。得到a/=k+m*k+m/k+m*k+m=16/7=2。注:a为整型,所以在做除法,自动取整。

更多相关问题