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

1、若有以下程序片段: char str[ ]="ab\n2\\"; printf("%d",strlen(str)); 上面程序片段的输出结果是

3

4

6

12

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

45

55

0

编译错误

3、若有如下类定义:
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)等价

4、以下程序的输出结果是
fun(int x, int y, int z)
{ z=x*x+y*y; }
main()
{ int a=31;
fun(5,2,a);
printf("%d",a);
}

0

29

31

无定值

5、若有以下定义和语句:
int w[2][3],(*pw)[3];pw=w;
则对w数组元素的非法引用是

*(w[0]+2)

*(pw+1)[2]

pw[0][0]

*(pw[1]+2)

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

用typedef可以增加新的类型

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

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

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

7、若执行完成下列语句:
int a=3,b=6,c;
c=a∧b<<2;
则变量c的二进制值为:

00011100

00010100

0001000

00011011

8、语句printf(″s\\t″)的输出结果为:

s\\t

s\t

s\

s

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

/

%=

!=

〈=

10、正确的标识符是:

?a

a=2

a.3

a_3