下载心情

愿这个小家能给大家带来好的方法,好的思路。愿大家每天都有好心情!

导航

C++primer读书笔记(第三章)(01)

3.C++的数据类型

因为有了C语言的基础,所以数据类型这一章并没有详细作笔记,只是将我们容易混淆的类型区分一下。

3.1文字常量

  ‘a’、L‘a’、“a”、L“a”的区别:

‘a’、L‘a’都表示一个单字符a;‘a’的类型为char;L‘a’的类型为wchar_t。

“a”、L“a” 都表示一个字符串,内含一个单字符a和一个null字符;“a”是常量字符所形成的数组;L“a” 是常量宽字符所形成的数组。

 

10、10u、10L、10uL、o12、0x0A的区别:

10、o12、0x0A的类型都为int;o开头的为八进制,0x开头的为十六进制;

10u的类型为unsigned int;10L的类型为long;10uL的类型为unsigned long。

 

3.14、3.14f、3.14L的区别:

3.14的类型默认为double;3.14f的类型为float;3.14L的类型为long double。

 

3.2变量

变量名的定义规则:对象名一般用小写,标识符一般使用肋记的名字,对于多个词构成的标识符,每个词之间使用一个下划线或内嵌的每个单词的第一个字母大写。

外部变量:在文件program1中定义的int val,如果想在第二个程序文件program2中使用,则要声明extern int val;这样在program2就可以使用变量val了。最好的做法是把val的声明放在一个头文件中,如果哪个程序要使用它,包含这个头文件就可以了。

对象的定义:一个简单的定义指定了变量的类型和标识符,并不赋初值。但在全局域(global scope)定义的系统默认为它赋初值0。未赋初值的并不是没有值,而是这个值是随机的。

Int val;这个值未被初始化。

String str;但这个值已经被类String的构造函数自动初始化了。

 

初始化的两种方式:赋值初始化:int val = 10;

隐式初始化:int val(10);两种方式的结果是一样的。

 

不合法的定义方式:

Double dou1=dou2=111.11;不合法,dou2使用前未定义。

Cin>>int val;不合法,Cin不允许同时定义变量,必须先定义再使用。

Int val = val;是合法的,因为定义了val就可以使用,语法完全正确,但不明智。

posted on 2006-03-22 12:10  stiven@心情  阅读(416)  评论(2编辑  收藏  举报