1.Which of the following assignment is not correct? (java)
A. float f = 11.1;X //(11.1默认是double)
A. float f = 11.1;X //(11.1默认是double)
B. double d = 5.3E12;
C. double d = 3.14159;
D. double d = 3.14D.
A ,浮点数的赋值是带有小数点的数字缺省是double型的,如果在浮点数后面加f或者F则是float,后面加d或者D则是double,科学计数法形式的浮点数也是double型的,而double的精度比float高,将一个高精度的double赋值给一个低精度的float时需要进行强制类型转换,反之则不需要。
2.给定一个整形变量a,写两段代码,第一个设置a的bit 3,第二个清除a的bit 3,在以上两操作中要求保持其它位不变。
#define BIT3 (0x1<<3) static int a; void set_bit3(void) {a|=BIT3;} void clear_bit3(void) {a&=~BIT3;}析:|操作,当操作数为1时,结果为1,当操作数为0时,结果不变. &操作,当操作数为1时,结果不变,当操作数为0时,结果为0 因此,设置a的bit 3为1的方法就是将a和00001000作|操作,这样其他位都不变,只有第3位变成1 清除a的bit3的方法就是将a和11110111作&操作,这样第3位变成0,其他位不变3int *p=NULL;// 对于指针的赋值操作,NULL和0等价
1.为什么指针变量定义时一定要初始化? 答:因为你首先要理解一点.内存空间不是你分配了才可以使用 只是你分配了之后使用才安全,为什么要进行对他初始化呢 因为,如果你没对他初始化,而引用这个指针并却其指向的内存进行修改 因为指针未被初始化,所以指针所指向的也是随机的,他是个野指针,如果你引用指针,并修改这个指针所指向的内容,而如果这个指针所指向的内容恰好是另外一个程序的数据的话,你将其进行修改了,就会导致另外一个程序可能不能正常运行了.所以使用前一定要进行初始化 2.指针变量初始化为NULL是什么意思? 答:意思是说,强指针变量置空,初始化为NULL,使它不指向任何内容,这样引用她也不会出现上面的问题 总之一点,记住在使用指针之前要对它进行初始化操作就可以了