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

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

用typedef可以增加新的类型

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

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

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

2、若有以下的定义:
int a[]={1,2,3,4,5,6,7,8,9,10},*p=a
则值为3的表达式是

p+=2,*(p++)

p+=2,*++p

p+=3,*p++

p+=2,++*p

3、循环语句while(!E)中的表达式!E等价于:

E!=0

E!=1

E==0

E==1

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

2,M

3,E

2,E

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

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

9

7

5

以上均不是

7、若有以下说明和语句,则输出结果是哪一项?
(strlen(s)为求字符串s的长度的函数)
char s[12]="a book!";
printf("%d",strlen(s));

12

8

7

11

8、执行下列语句中,sum变量的值是:
int sum=0
for(int i=0;i<10;i++,sum+=i);

45

55

0

编译错误

9、以下程序的输出结果是
fut( int **s,int p[2][3])
{ **s=p[1][1];}
main( )
{  int a[2][3]={1,3,5,7,9,11},*P;
p=(int *)malloc(sizeof(int));
fut(&p,a);
print("% ",*p);
}

1

7

9

11

10、不能把字符串:Hello! 赋给数组b的语句是

char b[10]={'H','e','l','l','o','!'};

char b[10];  b="Hello!";

char b[10];  strcpy(b,"Hello!");

char b[10]="Hello!";