更多"若有以下宏定义: #defineN 2 #define Y(n) "的相关试题:
[填空题]
若有以下宏定义:
#define M(a,b) -a/b
则执行语句"printf("%d",M(4+3,2+1));"后输出结果为() 。
[单项选择]有以下程序:
#include<stdio.h>
#defineN 5
#define M N+1
#define f(x)(x*M)
main( )
int i1, i2;
i1=f(2);
i2=f(1+1);
printf("%d%d/n", i1, i2);
程序的运行结果是()
A. 12 12
B. 11 7
C. 11 11
D. 12 7
[单项选择]下面程序的输出是( )。
#defineN 3
#define M(n)((N+1)*n)
#include <iostream.h>
void main( )
int z=2*(N+M(5+1));
cout<<z<<endl;
A. 42
B. 48
C. 54
D. 编译报错
[单项选择]若有宏定义:#define MOD(x,y)x%y
则执行下面语句后的输出结果是
int a=13,b=96;
printf("%d/n",MOD(b,a ));( )
A. 1
B. 2
C. 5
D. 6
[填空题]设有宏定义:
# define WIDTH 80
# define LENGTHWIDTH+40
则执行赋值语句“v=LENGTH * 20;"(v为int型变量)后,v的值是 【16】 。
[单项选择]若有宏定义"#define S(x,y) x/y",则执行语句"printf("%d",S(6+3,2+2));"后的输出是________。
A. 9
B. 2
C. 9.5
D. 2.25
[单项选择]若有定义int(*pt)[3];,则下列说法正确的是
A. 定义了基类型为int的三个指针变量
B. 定义了基类型为int的具有三个元素的指针数组pt
C. 定义了一个名为*pt、具有三个元素的整型数组
D. 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
[单项选择]若有定义int a[9], *p=a; ,则p+5表示
A. 数组元素a[5]的值
B. 数组元素a[5]的地址
C. 数组元素a[6]的地址
D. 数组元素a[0]的值加上5
[单项选择]若有定义int(*Pt)[3];,则下列说法正确的是()
A. 定义了基类型为int的三个指针变量
B. 定义了基类型为int的具有三个元素的指针数组pt
C. 定义了一个名为*pt、具有三个元素的整型数组
D. 定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组
[单项选择]若有定义:int *p[3];则以下叙述中正确的是( )。
A. 定义了一个基类型为int的指针变量p,该变量具有三个指针
B. 定义了一个指针数组p,该数组含有三个元素,每个元素都是基类型为int的指针
C. 定义了一个名为*p的整型数组,该数组含有三个int类型元素
D. 定义了一个可指向一维数组的指针变量p,所指一维数组应具有三个int类型元素
[填空题]若有定义语句:int*a,b;,则变量b的数据类型是【 】。
[单项选择]若有定义:int k,*q;,则下列各选项中赋值表达式正确的是
A. q=(&k+1)
B. q=&k
C. q=k
D. *q=&k
[单项选择]若有定义语句:int x=10;则表达式x-=x+x的值为
A. -20
B. -10
C. 0
D. 10
[单项选择]若有定义血b[8],*p=b;则p+6表示( )。
A. 数组元素b[6]的值
B. 数组元素b[6]的地址
C. 数组元素b[7]的地址
D. 数组元素b[0]的值加上6
[单项选择]若有定义:char *st="how are you";,下列程序段中正确的是
A. char a[11],*p; strcpy(p=a+1,&st[4]);
B. char a[11]; strcpy(++a, st);
C. char a[11]; strcpy(a, st);
D. char a[],*p; strcpy(p=&a[1], st+2);
[单项选择]若有定义int b[8],*p=b;则p+6表示( )。
A. 数组元素b[6]的值
B. 数组元素b[6]的地址
C. 数组元素b[7]的地址
D. 数组元素b[0]的值加上6