c语言预处理命令练习题精选

有以下程序

   # define f(x) (x*x)

   main()

   { int i1, i2;

   i1=f(8)/f(4) ; i2=f(4+4)/f(2+2) ;

   printf("%d, %d\n",i1,i2);

   }

程序运行后的输出结果是( )。

64, 28

4, 4

4, 3

64, 64

参考答案

C

有以下程序

  #define f(x) x*x

  main( )

  { int i;

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

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

  }

  执行后输出结果是( )。

28 

22

16

4

参考答案

A

有如下程序

#define N 2

#define M N+1

#define NUM 2*M+1

#main()

{ int i;

 for(i=1;i<=NUM;i++)printf(“%d\n”,i);

}

c语言教材的程序中for循环执行的次数是( )。

A) 5    B) 6    C) 7    D) 8

5

6

7

8

参考答案

B

下列程序执行后的输出结果是( )。

#define MA(x) x*(x-1)

main()

{ int a=1,b=2; printf("%d \n",MA(1+a+b));}

6

8

10

12

参考答案

B

以下说法中正确的是

#define和printf都是C语句

#define是C语句,而printf不是

printf是C语句,但#define不是

#define和printf都不是C语句

参考答案

D

以下程序的输出结果是(  )。

#define f(x) x*x

main( )

{ int a=6,b=2,c;

c=f(a) / f(b)

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

}

9

6

36

18

参考答案

C

以下程序运行后,输出结果是(  )。

#include

#define PT 5.5

#define S(x) PT* x * x

main()

{ int a=1,b=2;

printf("%4.1f\n",S(a+b));

}

49.5

9.5

22.0

45.0

参考答案

B

设有以下宏定义:

#define N 3

#define Y(n) ( (N+1)*n)

则执行语句:z=2 * (N+Y(5+1));后,z的值为

出错

42

48

54

参考答案

C

执行c语言程序设计教程下面的程序后,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); }

10

1

9

0

参考答案

B

请读程序:

#include

#define SUB(X,Y) (X)*Y

main()

{ int a=3, b=4;

printf("%d", SUB(a++, b++));

}

上面程序的输出结果是

12

15

16

20

参考答案

A

下列关于#include命令的叙述中,错误的是

#include命令中,文件名可以用双引号或尖括号括起来

一个被包含文件中又可以包含另一个被包含文件

一个#include命令中可以指定多个被包含文件

一个#include命令中只能指定一个被包含文件

参考答案

C

以下有关宏替换的叙述错误的是

宏名必须用大写字母表示

宏替换不占用运行时间

宏名不具有类型

宏替换只是字符替换

参考答案

A

 

你可能感兴趣的:(C语言)