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

1、设有以下定义或语句,则输出的结果是?
(用small模式编译,指针变量占2个字节)
struct date
{long *cat;
struct date *next;
double dog;
}too;
printf("%d",sizeof(too));

20

16

14

12

2、若变量已正确说明为float类型,要通过语句scanf("%f %f %f ",&a,&b,&c);给a赋于10.0,b赋予22.0,c赋予33.0,不正确的输入形式是:

10<回车>22<回车>33<回车>

10.0,22.0,33.0<回车>

10.0<回车>22.0 33.0<回车>

10 22<回车>33<回车>

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、正确的标识符是:

?a

a=2

a.3

a_3

5、以下关于宏替换的叙述不正确的是:

宏替换只是字符替换

宏名无类型

宏替换不占用运行时间

宏替换不占用编译时间

6、表达式1&3&5&7的值为:

1

3

5

7

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

3

4

6

12

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

36

24

18

20

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

*(a[1]+1)

*(&a[1][1])

(*(a+1))[1]

*(a+5)

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

20

24

25

30