#include <iostream>
//测试数据的精度
//cout 后面接的数是保留6位小数的
//float有一定的精度限制,在本系统中其确保证的有效位是6位
//double表示的数据比float小但是精度比较高
//一般1.0等系统默认为double型
using namespace std;
int main()
{
cout.setf(ios_base::fixed,ios_base::floatfield);
float tub = 10.0/3.0;
double mint = 10.0/3.0;
const float million =1.0e6;
cout<<"tub = "<<tub;
cout<<"a million tubs = "<<million*tub<<endl;
cout<<"and ten million tubs = ";
cout<<10*million*tub<<endl;
cout<<"mint = "<<mint<<" and a million mints = "
<<million*mint<<endl;
//由下面这句话可以看出有15位的精度double
cout<<million*mint*million<<endl;
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout.setf(ios_base::fixed,ios_base::floatfield);
//有小数就输出来,没小数也不加0
cout<<"Integer division: 9/5= "<<9/5<<endl;
//像这样处理后最后的结果依然是整形
// cout<<"Flating_point division:"
return 0;
}
#include <iostream>
using namespace std;
int main()
{
cout.setf(ios_base::fixed,ios_base::floatfield);
// double i = 0.0254;//显示有些不准没有关系
// cout<<i;
cout<<"please intput your height: "
<<"____feet\b\b\b\b\b\b\b\b";
double feet;
cin >> feet;
//输入相应的英尺
//输入了就换行,能不能不换行!
cout<<"____inch\b\b\b\b\b\b\b\b";
double inch;
cin >> inch;
//输入相应的英寸
//这种是逐行输入的模式能不能直接把它都显示出来再输入呢
cout<<"please input your weight: "
<<"____pound\b\b\b\b\b\b\b\b\b";
double pound;
cin >> pound;
const double hFACTOR = 0.0254;//符号常量因子
const double wFACTOR = 1/2.2 ;
double transM = (feet*12+inch)*hFACTOR;//一英尺=12英寸
cout << "your height transfered is : "
<< transM<<" m"<<endl;
double transKg = pound*wFACTOR;//转换后的kg值
cout<<"your weight transtered is : "
<< transKg<<" Kg"<<endl;
cout<<"The BIM is : "<<transKg/(transM*transM)<<endl;
return 0;
}
预习:
注意,应在声明中对const进行初始化,下面的代码不好:
Const int toes;
Toes = 10;
如果在声明变量中没有提供值,那么这个常量的值不确定,且无法修改。
好处1.明确类型,2:限定作用域规则(声明数组长度),3:用于更复杂的类型。
虽然float表示的值非常大,但是float有精度限制。一定要注意这一点。
浮点常量在默认情况是double类型。3.11
问题:11 33和33L有什么区别?
第四章:复合类型
只有在定义数组的时候才能使用初始化,此后就不能使用了,也不能将一个数组赋给另一个数组。
Int cards[4] = {3,6,8,10};
Int hand[4];
Hand[4] = {3,6,8,10};//非法
Hand = cards //非法