1.#include < climits >
引入这个头文件可以查看系统支持的字符集的情况,因为其中包含了一些信息如:#define INT_MAX 2147483647…..等等,这个表示int类型的最大表示范围是-2147483648 ~~ 2147483647 的总共2^32个数。
2.C++一些特殊的初始化方法
int wrens(123);
//这样的初始化唯一需要注意的是与函数区分,万一你有一个函数名和这个变量名字相同,而且还是接受int型参数....
也可以如下初始化:
int wrens{123};
int wrens2 = {123};
//这显得正经一点,不会和函数混淆
//但这是C++11中提出的新的做法,在g++下编译时要加上 -std=c++11或 -std=gnu++11,否则会给你warning
3.浮点数的表示方法
这一点我之前写过一片关于浮点型在计算机中存储的方法,可以参考那篇文章:
http://blog.csdn.net/tingyun_say/article/details/51417495
这里我们讨论C++对于浮点数的一些规定:
float:至少32位
double:至少48位
long double:80,96或128位
浮点数在计算机中是分成三部分的:符号位+阶码位+有效数字位
以32位float为例子就是:符号1位:0/1 + 阶码位8位:-127~128 + 有效数字位23位:2^23
所以float能表示的数的范围就是-(2^128) ~~ 2^128,又因为科学表示法总是1.xxxx,后面的xxxx有效数字用2^23中的数来表示,总共能精确到7位。也就是精确到7位的-(2^128) ~~ 2^128 中的数。
总结:
所以说要表示很大或者很小的数,就使用浮点型,因为是以指数来计算的。比如超过int型大小的数,像1000000000000000000000就可以这样赋值,float temp = 1000000000000000000000.0,输出它的话就是:1e+21
浮点数的优点:
1.可以表示整数之间的值
2.可以表示的范围大的多
缺点:
1.运算速度比整数慢,并且精度将降低
4.数组相关
这里知识点比较多,一个个说。
1.未初始化的数组,其值为以前驻留在该内存单元中的值。
所以一般使用数组的时候,最好先进行一次清空,memset函数,自行man帮助。
2.注意双引号和单引号的使用
char var = "s";
//这样的赋值语句是错误的
//1.首先"s"是一个有效字符为s,占位符为'\0'的字符串,而var只是表示一个单字符
//2.其次"s"由于C++中数组自动隐式转换的特点,它表示的是指向第一个元素的指针了,也就是它表示的是第一个元素的地址了
//应该这么使用
char* var = "str";
cout<<*var<<endl;
//我们可以对其进行取地址*,得到的是第一个元素
//输出:s
3.两个常用的数组相关函数
sizeof() — 返回整个数组的长度
strlen() — 返回存储在数组中的(有效)字符串长度,除去’\0’
char ptr[4] = "str";
cout<<sizeof(ptr)<<endl;
cout<<strlen(ptr)<<endl;
//输出:
//4
//3
有什么错误还请指出,谢谢