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

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

用typedef可以增加新的类型

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

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

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

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

9

7

5

以上均不是

3、下列程序的输出结果是。
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

4、若有如下类定义:
class Sample
{  public:
Sample() {value=0;}
Set(int k) {value=k;}
   private:
int value;
};
Sample *p, obj;
p=&obj;
则对下列语句序列正确的描述是:

语句p=&obj;是把对象obj赋值给指针变量p

语句Sample *p, obj;会调用两次类Sample的构造函数

对语句*p.Set(5)的调用是正确的

语句p->Set(5)与语句obj.Set(5)等价

5、以下所列的C语言常量中,错误的是

0xFF

1.2e0.5

2L

'\72'

6、假定所有变量均已正确说明,下列是程序段运行后x的值是?
a=b=c=0;x=35;
if(!a) x--;
else if(b);
if(c) x=3;
else x=4;

34

4

35

3

7、若有以下定义和语句:
int a[10]={1,2,3,4,5,6,7,8,9,10},*p=a;
则不能表示a数组元素的表达式是

*p

a[10]

*a

a[p-a]

8、若x=4,则x*=x+2的值为:

36

24

18

20

9、以下运算符中,运算对象必须是整型的是:

/

%=

!=

〈=

10、以下程序执行后sum的值是
main()
{ int i,sum;
for(i=1;i<6;i++) sum+=i;
printf("%d\n",sum);
}

15

14

不确定

0