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

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

宏替换只是字符替换

宏名无类型

宏替换不占用运行时间

宏替换不占用编译时间

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

3、以下变量x、y、z均为double类型且已正确赋值,不能正确表示数学式子的C语言表达式是

x/y*z

x*(1/(y*z))

x/y*1/z

x/y/z

4、以下说法中正确的是

C语言程序总是从第一个定义的函数开始执行

在C语言程序中,要调用的函数必须在main()函数中定义 

C语言程序总是从main()函数开始执行

C语言程序中的main()函数必须放在程序的开始部分

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

s\\t

s\t

s\

s

6、程序中定义以下宏 #define S(a,b) a*b
若定义 int area; 且令area=S(3+1,3+4),则变量area的值为:

10

12

21

28

7、以下对枚举类型名的定义中正确的是:

enum s={a,b,c}

enum s {a=9,b=2,c}

enum s={'a', 'b', 'c'}

enum s {'a', 'b', 'c'}

8、若有以下说明和语句,则输出结果是?
(strlen(s)为求字符串s的长度的函数)
char sp[]="\t\v\\\0will\n";
printf("%d",strlen(sp));

14

3

9

字符串中有非法字符

9、已知有共用体变量data1定义如下:
union data
{ int i;
char ch;
float f;
} data1;
则变量data1所占的内存存储空间可表示为:

sizeof(int)

sizeof(char)

sizeof(float)

sizeof(int)+sizeof(char)+sizeof(float)

10、若有以下说明和语句,则输出结果是?
char str[]="\"c:\\abc.dat\"";
printf("%s",str);

字符串中有非法字符

\"c:\\abc.dat\"

"c:\abc.dat"

"c:\\abc.dat"