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就可以使用,语法完全正确,但不明智。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论