如题目或答案有误,请通过BUG反馈告知我们修正,谢谢!

1、程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:

10

12

21

28

2、下列程序的输出结果是。
int a[5]={2,4,6,8,10},*p,**k;
p=a;  k=&p;
printf("%d",*(p++));
printf("%d\n",**k);

4 4

2 2

2 4

4 6

3、假设指针p1已经指向了某个整型变量,要使指针p2也指向同一个变量,则下面各项中正确的是:

p2=**p1

p2=*&p1

p2=*p1

p2=&*p1

4、C语言中最简单的数据类型包括

整型、实型、逻辑型

整型、实型、字符型

整型、字符型、逻辑型

整型、实型、逻辑型、字符型

5、设有如下定义:
char *aa[2]={"abcd","ABCD"};
则以下说法中正确的是

aa数组元素的值分别是"abcd"和"ABCD"

aa是指针变量,它指向含有两个数组元素的字符型一维数组

aa数组的两个元素分别存放的是含有4个字符的一维字符数组的首地址

aa数组的两个元素中各自存放了字符'a'和'A'的地址

6、当调用函数时,实参是一个数组名,则向函数传送的是

数组的长度

数组的首地址

数组每一个元素的地址

数组每个元素中的值

7、设有以下定义:
int a[4][3]={1,2,3,4,5,6,7,8,9,10,11,12};
int (*prt)[3]=a, * p=a[0];
则下列能够正确表示数组元素a[1][2]的表达式是

*((*prt+1)[2])

*(*(p+5))

(*prt+1)+2

*(*(a+1)+2)

8、以下程序段的输出结果是
int x=3;
do
{  printf("%3d",x-=2); }
while(!(--x));

1

30

1 -2

死循环

9、若有定义:int a[3][4];不能表示数组元素a[1][1]的是

*(a[1]+1)

*(&a[1][1])

(*(a+1))[1]

*(a+5)

10、设有定义int x=1; int y='a'<'A'?x--:x++;,则变量y的值是:

0

2

1

3