C++ Primer 笔记一

                                                                                             

第一章 c++代码风格

c++源代码风格1每行一条语句2每个函数的两个花括号各占一行3函数中的语句都对于花括号进行缩进4与函数名称相关的圆括号周围没有空白(空行将声明语句与程序的其他部分分开,或在变量前声明,c++的做法是尽可能在首次使用变量前声明)。

第二章 开始学习c++

变量名的约定:类型_名称  或者是   类型(int)名称(akjl)

c语言输入输出是printf,scanf,他们都包含在头文件stdio.h中

操作符重载:通过重载,同一个操作符将有不同的含义。&操作符表示地址操作符又表示and按位操作符

c++程序应当为程序中使用的每个函数提供原型,而库函数在头文件中有声明,而在库文件中有他的定义。标准c库中提供了140多个预定义函数,而main()函数不是关键字,由于它不是语法的组成

头文件stdlib.h中rand()函数不接受任何参数,并返回一个随机整数,其函数声明如下:int rand(void);

第三章 数据处理

3.1简单变量

内置c++类型有基本类型和复合类型

sizeof操作符能够打印类型或变量长度的单位字节数,如:sizeof(int);sizeof  a;//a 为变量

头文件climits包含了整型限制信息

schar_max

signed char最大值

char_bit

char的位数

ing_min

int最小值

uchar_max

unsigned char最大值

schar_min

signed char最小值

shrt_max

short最大值

long_max

long最大值

unit_max

unsigned int最大值

char_max

char的最大值

shrt_min

short最小值

long_min

long最小值

ulong_max

unsigned long最大值

char_min

char的最小值

int_max

int最大值

 

 

ushrt_max

unsigned short最大值

c++的变量的初始化有两种,第一种c语言的:int a=15;第二种是c++的:int a(15);如果不初始化那么变量的值是不确定的 

C++添加了两种类型:long long和unsigned long long 两种类型都至少是64位的

cout<<hex;//告诉编译器以16进制的方式输出

cout<<bianliang<<oct;//输出完以后切换到8进制的方式输出

cout<<bianliang<<dec//输出完以后切换回10进制

cout<<1982ul;c++打印常量时候,常量后面加l或l表示1982被存为long型,若是ul或ul表示存为unsigned long型,若是u或u表示存为unsigned int,若无后缀表示存为int。

char ch=’a’;cout.put(ch);//成员变量put()可以打印char型变量,我们也可以写成cout.put(‘n’);

c++转义序列符 (括号里的为ascii符号)

换行符(nl或lf)

\n

退格(bs)

\b

回车(cr)

\r

反斜杠(\)

\\

单引号(‘)

\’

水平制表符(ht)

\t

垂直制表符(vt)

\v

振铃(bel)

\a

问号(?)

\?

双引号(“)

\”

cout<<endl<<’\n’<<”\n”;//三种方式等效且都表示换行

通用字符名:通用字符名以\u或\u开头,\u后面在跟8个十六进制位,而\u后面跟16个十六进制位,这些位表示的是iso10646编码(iso10646是一种正在制定中的国际标准,位大量的字符提供字符编码,他与unicode合作,确保标准同步,unicode可以表示96000多种符号和49个手写符号,而ascii码就是unicode的一个子集)

cout<<”ni g\u00e2teau.\n”;打印如下ni gâteau //â的iso10646编码是00e2

特殊类型:wcha_t  宽字符类型     bool类型,任何数字值或指针指都可以被隐式的转换为bool值。任何非零值都被转换为true,零被转换为false;反之 int aa=true;long bb=false;也成立。

3.2 const限定符

const long months=true;//const限定符用于定义常量

const限定符定义常量时①常量名一般全用大写,便于与变量区分;②要直接初始化,否则将无法初始化

3.3浮点数

浮点数的书写有两种方式:①常用的标注-942635;②-1.54e-4    5.6545e8  。浮点类型要添加头文件float.h,浮点型的类型有float(32位,其精度低,系统至少有6位有效数位或更低),double(64位,精度至少在13位有效位),long double(80,96,128位)。    浮点常量默认为double类型若希望常量位float,要用f或f后缀,对于long double类型。使用l或l(尽量用l,l像1)  cout<<2.2l<<3.12f<<8.123;//8.123为double默认型

c++标准在默认输出时会删除小数点后末尾的零,如将23.450000显示成23.45。

cout.setf(ios_base::fixed,ios_base::flatfield);//可以覆盖默认设置,让打印末尾的0显示出来

3.4 c++算术操作符

求模操作符要求两个数必须为整数

潜在的数值转换问题①大浮点型→小浮点型:精度降低可能超出目标类型的取值范围,结果是不确定的。②浮点型→整型:小数丢失,原先的值可能超出目标类型的取值范围,结果不确定。③大整型→小整形:容易超出范围,通常只复制右边字节

强制类型转换:不会修改变量本身,而是创建一个新的指定类型的值。其格式有两种:

(long) bianliang;//c语言强制类型转换的方式

long (bianliang);//c++风格,其想法是让强制转换类型就像是函数调用

posted @ 2014-08-26 10:47  tt_tt--->  阅读(148)  评论(0编辑  收藏  举报