很简单的几个小问题,望各位大虾帮帮忙。
你们好,我是一名C++初学者,有几个很小的问题想请教一下。
1.const float pi=3.141592653; 因为float常量只能存储7位有效位精度的实数,所以pi的实际值为3.141593(最后1位4舍5入)。
可是我在VC中输入该语句时,pi值却为:3.14159. 我知道C++默认的流输出数值有效位是6,但float真的是可存储7位有效位啊,想请问一下为什么。
2.getche() 这个在<conio.h>上的函数,我也不知道它是不是一个函数,我总是找不到它是起什么作用的,麻烦帮我解释一下。
3.我看过一本书,里面有这样说法:π是常量,它在C++中有专门的表示,可以利用之,其名称为M_PI,在math.h的头文件中。可是我在VC中用M_PI时VC却无法识别,这是为什么,想请教一下。
4.有一段程序:
#include <iostream.h>
void main()
{
int a;
cout <<"please input a number:\n";
cin >>a;
int c1 = a%3 ==0;
int c2 = a%5 ==0;
int c3 = a%7 ==0;
switch((c1<<2)+(c2<<1)+c3)
{
case 0: cout <<"不能被3,5,7整除.\n"; break;
case 1: cout <<"只能被7整除.\n"; break;
case 2: cout <<"只能被5整除.\n"; break;
case 3: cout <<"可以被5,7整除.\n"; break;
case 4: cout <<"只能被3整除.\n"; break;
case 5: cout <<"可以被3,7整除.\n"; break;
case 6: cout <<"可以被3,5整除.\n"; break;
case 7: cout <<"可以被3,5,7整除.\n";
}
}
其中switch中的表达式我百思不得其解,麻烦解释一下。
THANKS。