#define F(m,n) m*n main( )
{ int x=5,y=3,a1,a2; a1=F(x+y,x-y); a2=F(x-y,x+y);
printf(\ A.16,16 B.16,-16 C.-7,17 D.17,-7 51402以下叙述正确的是( C )。 A.编译预处理命令行必须以分号结束
B.程序中使用带参数的宏时,参数类型要与宏定义时一致 C.宏展开不占用运行时间,只占用编译时间 D.宏名只能包含大写字母和数字字符 51403以下叙述正确的是( B )。
A.一个源程序只能有一个编译预处理命令行 B.编译预处理命令行都必须以\开头
C.\定义了与30等价的符号常量PRICE D.使用带参数的宏定义时,应该说明每个参数的数据类型 51404以下叙述错误的是( D )。 A.编译预处理命令行都必须以#号开始 B.宏名可以用小写字母表示
C.使用预处理命令\文件名>\时,编译系统只在指定的系统目录下查找该文件 D.宏定义只能放在main()函数之前
51405若有定义:#define N 3+2,则表达式N*2的值为( B )。 A.5 B.7 C.10 D.0
51406 以下程序运行后输出结果是( B )。 #define MIN(m,n) m
main(){ int a=3,b=5,c; c=2*MIN(a,b); printf(\ A.3 B.5 C.6 D.10
51407下列#include命令中,正确的是( A )。
A.#include \51408下面程序的输出结果是( C )。 #include
void main() {printf(\} A.2 B.3 C.4 D.5
51409下面错误的叙述是( A )。
A.预处理命令行必须位于C源程序的起始位置 B.在C语言中,预处理命令行都以\开头
C.C程序在开头可以不包含预处理命令行:#include
17
main() {int a=2,b=3,c; c=MUL(a+b)*2; printf(\ A.10 B.14 C.36 D.50
51411下面程序的运行结果是( C )。 #define N 10 #define K(x) x*x #define T(x) (x*x) main( ) {int a,b;
a=9%K(N); b=9%T(N);
printf(\ } A.9,9 B.9,90 C.90,9 D.90,90
51412以下在任何情况下计算平方数时都不会引起二义性的宏定义是( D )。 A.#define XPF(x) x*x B.#define XPF(x) (x)*(x) C.#define XPF(x) (x*x) D.#define XPF(x) ((x)*(x)) 51500下程序的运行结果是( A )。 void ast (int x,int y,int *cp,int *dp) { *cp=x+y; *dp=x-y;} main()
{ int a=4,b=3,c,d; ast(a,b,&c,&d); printf(\
A.7,1 B.1,7 C.7,-1 D.c、d未赋值,编译出错 51501 有以下语句:
int a[5]={0,1,2,3,4,5},i