1.添加头文件climits即可使用类似
int n_int = INT_MAX; //tips 在对常量进行定义时一般用大写;
cout << "int max is " << n_int << endl;
来看所使用的编译器(不同编译器或系统可能不同)对int型的最大值是多少(vs是2147483647 即4字节32位有符号型的最大值);
使用 sizeof(int)时不用加 climits头文件,sizeof的单位是字节;
char_max char_min 要定义为int类型才可以显示,应该是因为它是数值的原因
2. C++中对于字符的存储是通过ascall来的,比如 char ch=‘M’;则表示在计算机中 ch为77(对应ascall码值),若 int a=ch; cout<<a; 则输出为77;
3.对于cin:
如果是int n; cin>>n; 此时如果输入5,则将整数5存放在n中;且此时不能输入非整数(会默认是0赋值给n)
而如果是 char n; cin>>n; 则此时输入5,则将5对应的ascall码值存入n中,输入a则将ascall码值存入n中;
4. const int a; a=20; 这里有2个错误。第一是常量没有赋值,二是 常量在赋值语句之外不能进行数据更改;
5. 1E6代表小数点左移6位即1000000;1e6代表右移6位;
6.float 类型运算精度的问题,对于 float a=123456789,b=123456788;a-b=0;因为float类型的有效精度为 前6位或者前七位(十进制),而说float为32位即代表在二进制中(小数点后加小数点前共32位)--------原因是浮点数在计算机中的储存原理(1000.01代表8.25 小数点后面的位分别为2^-1,2^-2),所以对于11.17这种数值对于计算机中永远存不到一个准确的值;