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

1、以下程序的输入结果是
main( )
{  int i=010,j=10,k=x10;
  printf("%d,%d,%d ",i,j,k);
}

8,10,16

8,10,10

10,10,10

10,10,16

2、若有以下定义和语句:
char c1='b',c2='e';
printf("%d,%c\n",c2-c1,c2-'a'+'A');
则输出结果是

2,M

3,E

2,E

输出项与对应的格式控制不一致,输出结果不确定

3、若i、j已定义为int型,则以下程序段中内循环体的总的执行次数是
for(i=5;i>0;i--)
for(j=0;j<4;j++){…}

20

24

25

30

4、执行下列语句后,a的值为:
int a;
#define M(x,y) (x*y)
a=M(1+2,3);

9

7

5

以上均不是

5、以下程序输出的值为?
main()
{ int a[ ]={1,2,3,4,5,6,7,8,9,0},*p;
p=a;
printf("%d\n",*p+9);
}

1

9

10

0

6、若a为int类型,且其值为3,则执行完表达式a+=a-=a*a后,a的值是

-3

9

-12

6

7、用数组名作为函数调用时的实参,实际上传送给形参的是

数组首地址

数组的第一个元素值

数组中全部元素的值

数组元素的个数

8、以下关于typedef的叙述中错误的是:

用typedef可以增加新的类型

用typedef可以定义各种类型名,但不能用来定义变量

用typedef只是将已有的类型用新的标识符来代表

使用typedef有利于程序的通用和移植

9、设有以下定义:
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)

10、设有定义:struct sk
{int a;float b;}data,*p;
若有p=&data;,则对data中的a域的正确引用是

(*p).data.a

(*p).a

p->data.a

p.data.a