相关题目
以下叙述中正确的是( )。
请读程序:
# define ADD( x ) x +x
main ( )
{
int m = 1 , n =2 , k =3;
int sum = ADD ( m + n ) *k;
printf (”sum = %d " , sum );
}
上面程序的运行结果是( )。
以下程序的运行结果是().
# define MIN ( x , y ) ( x ) < ( y ) ? ( x ) : ( y )
main ( )
{
int i = 10 , j=15 , k;
k=10*MIN (i,j );
printf ("%d\n", k ) ;
}
在宏定义#define Pl 3.14159 中, 用宏名Pl 代替一个( )。
以下程序的运行结果是() 。
# include“stdio . h "
# define FUDGE ( y ) 2.84 + y
# define PR ( a ) printf ( " % d”, ( int ) ( a ) )
# define PRINTI ( a ) PR ( a ) ; putchar (“\ n“)
main ( )
{ int x = 2 ;
PRINTI ( FUDGE ( 5 )*x ) ;
}
以下有关宏替换的叙述不正确的是( )。
C语言的编译系统对宏命令的处理是( )。
若有宏定义如下:
# define X 5
# define Y X+1
# define Z Y*X/2
则执行以下printf 语句后, 输出结果是( )。
int a ; a = Y ;
printf ( "%d\n " ,Z ) ;
printf ( "% d\n” , --a ) ;
若有以下宏定义:
# define N 2
# define Y( n )(( N + 1 ) *n)
则执行语句Z=2 *(N + Y ( 5 ) ) ; 后的结果是( )。
若有宏定义: # define MOD( x , y ) x % y,则执行以下语句后的输出为( )。
int z , a =15 , b = 100 ;
z = MOD ( b , a ) ;
printf ( " % d \ n " , z + + ) ;
