int 整数 4字节
double 双精度浮点数 8字节
float 单精度浮点数 4字节
char 单个ascii字符(通俗点就是基本的英文键盘字符) 1字节
wchar_t 宽字符(可以装下一个汉字) 2字节
bool 布尔值(取值只能是true或者false) 1字节
#include <iostream> using namespace std; int main(void) { int a; cout << "输入数字,这里可以帮你计算数字的平方" << endl; cout << "你想要计算的数字: "; cin >> a; cout << "计算结果: "; cout << a*a << endl; system("pause"); return 0; }
以上面这段代码威力,改动内容是int a;中的类型int,输入的内容(即cin>>a;)处,输入1.1
用int出的结果是1(因为省略到了小数部分);
用double 出的结果是1.21;
用float出的结果是1.21(和double的精度不同,float是6位精度,double是13位有效数字,只不过默认情况下只显示6位,但计算时按13位有效数字计算,如123.456就是6位有效数字);
用char出的结果是2041
代码是这样的:
char a; cin>>a; //这里输入的是1.1 cout<<a*a<<endl;
输出结果是2041;
但是,若char a=1.1,输出结果又是1 。不明白
用wchar_t 无法运行;(因为只支持字符,字符无法和字符相乘)
用wchar_t 无法运行;(因为只支持字符,字符无法和字符相乘)
用bool出的结果是1(但应该和普通的1不同),把1.1改成2,则结果变成41616(这里应该是因为溢出了吧);