预处理命令行

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

预处理命令行都必须以【1】号开始.

答案:

======(答案1)======

#

设有以下宏定义

# define WIDTH 80

# define LENGTH (WIDTH +40)

则执行赋值语句:v= LENGTH*20;(v为int型变量)后,v的值是【1】. 答案:

======(答案1)======

2400

设有以下宏定义

# define WIDTH 80

# define LENGTH WIDTH +40

则执行赋值语句:v= LENGTH*20;(v为int型变量)后,v的值是【1】.80+40*20

答案:

======(答案1)======

880

以下程序的运行结果是【1】.

#include

#define MIN(x,y) (x)

main()

{ inti=10,j=15,k ;

k=10*MIN(i,j);

printf("%d\n",k);

}

答案:

======(答案1)======

100

下列程序运行结果为:

#define P 3

#define S(a) P*a*a

main()

{intar;

ar=S(3+5);//3*3+5*3+5

printf("\n%d",ar);

}

#define宏都是直接替换的,不会计算后再替换。s(3+5) = p*3+5*3+5 = 9+15+5 =29

若想计算后在替换,需要加上括号:

#define S(a) P*(a)*(a)

若有宏定义如下:

#define X 5

#define Y X+1

#define Z Y*X/2

则执行以下printf语句后,输出结果是(). inta;a=Y;

printf("%d ",Z);

printf("%d\n",--a);

A) 7 6

B) 12 6

C) 12 5

D) 7 5

答案:D

请读程序:

#include

#define MUL(x,y) (x)*y

main()

{

int a=3,b=4,c;

c=MUL(a++,b++);

printf("%d\n",c);

}

上面程序的输出结果是().

A) 12

B) 15

C) 20

D) 16

答案:A

有如下程序

#define N 2

#define M N+1

#define NUM 2*M+1

main( )

{ inti;

for(i=1;i<=NUM;i++) printf("%d\n",i); // }

该程序中的for循环执行的次数是().

A) 5

B) 6

C) 7

D) 8

答案:B

#define N 2

#define M N+1

#define NUM (M+1)*M/2

main()

{int I;

for(I=1;I<=NUM;I++)

printf(“%d\n”,I);

}

NUM (M+1)*M/2=(2+1+1)*2+1/2=8

有以下程序

#define f(x) x*x

main( )

{ inti;

i=f(4+4)/f(2+2);

printf("%d\n",i);

}

执行后输出结果是()//.i=4+4*4+4/2+2*2+2=28

A) 28

B) 22

C) 16

D) 4

答案:A

#include "stdio.h"

main()

{ chara,b;

for(a='0',b='9';a

相关文档
最新文档