C++ primer plus笔记整理 03

来源:互联网 发布:免费sql数据库空间 编辑:程序博客网 时间:2024/05/29 11:16

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

有什么错误还请指出,谢谢

0 0