预处理命令行都必须以【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 <stdio.h
#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<b;a++,b--) printf("%c %c",a,b); printf("\n"); }。