2021.01.20
1.在下列选项中,(D)不能交换变量a和b的值。
A.t=b; b=a; a=t;
B.a=a+b; b=a-b; a=a–b;
C.t=a; a=b; b=t;
D.a=b; b=a;
解析:
a=a+b; b=a-b; a=a–b; // 这种方式考虑溢出
a ^= b; b ^= a; a ^= b;
/*不需要考虑溢出 a ^= b, 此时 a 中记录了a和b两个数中,各个二进制位的异同情况,1表示不同,0表示相同。已知b和各个二进制位的异同情况a,则 b ^= a;可以求得a值,然后赋值给b,实现交换。*/
2.C语言中允许函数值类型缺省定义,此时该函数值隐含的类型是int。(A)
A.正确
B.错误
解析:
C中:如果函数未指定返回值类型,则默认为int
c++中:如果一个函数没有返回值,返回值类型必须指定为void
3.break语句只能跳出switch选择或循环语句的当前嵌套层次.是否正确?(A)
A.正确
B.错误
解析:
break:跳出该循坏,不再执行循坏
continue:跳出本次循环,继续执行下一次循环
4.假设在一个 32 位 little endian 的机