主题:有关几个VC++最最基本的问题(谢谢各位高手们了!)
我刚刚接触VC++,在自己看书做题的过程中出现了几个问题,自己想了好久也没考虑出来,希望各位高手们帮我解答一下,谢谢大家了~~
一:在经典的C++基本数据类型中,实型包括单精度,双精度实型,但我始终分不清两者有什么区别,哪些数是单精度实型,哪些数是双精度实型。
书中提到的是单精度的范围是3.4e-38~3.4e+38,且表示数字的精度为7位有效数字;双精度的范围是1.7e-308~1.7e+308,且数字精度为15位有效数字。
那为什么1.6就为双精度实型,而不是单精度实型?
二:在C++算术运算符号中,“/”表示整除,那普通的除法用什么符号表示呢?
三:在switch语句中,有这样的描述:“如果不写break,程序会继续执行下一条语句,直到遇到break或者switch结构结束。”
那请看下面一道题:
int a=10;
switch (b)
{
case 1:
a+=10;
break;
case 2:
a*=10;
break;
case 3:
a/=10;
case 4:
a=100;
break;
default:
a=0;
}
题目问当b=3,a为多少?
那答案是不是a=100?即使b=3,但case3后没有break,继续执行case4,即使b不等于4,那最后a的值也为100。我这样分析对么?
这些问题虽然很简单,但我是经过自己思考后实在想不出来了,才拿出来问大家的,希望各位高手能够耐心解答,不要见笑,谢谢大家了!!!
一:在经典的C++基本数据类型中,实型包括单精度,双精度实型,但我始终分不清两者有什么区别,哪些数是单精度实型,哪些数是双精度实型。
书中提到的是单精度的范围是3.4e-38~3.4e+38,且表示数字的精度为7位有效数字;双精度的范围是1.7e-308~1.7e+308,且数字精度为15位有效数字。
那为什么1.6就为双精度实型,而不是单精度实型?
二:在C++算术运算符号中,“/”表示整除,那普通的除法用什么符号表示呢?
三:在switch语句中,有这样的描述:“如果不写break,程序会继续执行下一条语句,直到遇到break或者switch结构结束。”
那请看下面一道题:
int a=10;
switch (b)
{
case 1:
a+=10;
break;
case 2:
a*=10;
break;
case 3:
a/=10;
case 4:
a=100;
break;
default:
a=0;
}
题目问当b=3,a为多少?
那答案是不是a=100?即使b=3,但case3后没有break,继续执行case4,即使b不等于4,那最后a的值也为100。我这样分析对么?
这些问题虽然很简单,但我是经过自己思考后实在想不出来了,才拿出来问大家的,希望各位高手能够耐心解答,不要见笑,谢谢大家了!!!