第三章 处理数据
3.1.1 变量名
变量名的起名一般表示该变量有什么作用即一定含义的变量名。关于变量名,必须遵循以下C++的命名规则。
- 在名称中,只能使用字母字符、数字和下划线。
- 变量名的第一个字符不能是数字。
- 变量名区分大小写。
- 不能将C++关键字用作名称。
- 以两个下划线或下划线和大写字母打头的名称被保留给实现(编译器及其使用的资源)使用。以一个下划线开头的名称将被保留给实现,用作全局标识符。(这样命名可能会导致行为的不确定性。即不知道会出现什么结果。编译器不报错的原因为这样命名并不是非法的,但要留给实现使用。)
-
在有一些平台中,对名称的长度有所限制。但C++对名称的长度是没有限制的。
3.1.2 整型
整数就是没有小数部分的数字。
3.1.3 整型short、int、long和long long
C++的short、int、long和long long类型通过不同数目的位来存储值,最多能够表示4种不同的整数宽度。
计算机内存的基本单位是位(bit)。可以将位看作是电子开关,可以开,也可以关。关表示的值为0,开表示的值为1。4位的内存块可以设置出64种不同的组合,因为每一位都有两种情况即2x2x2x2=64种。
字节(byte)通常是指8位的内存单元。字节就是描述计算机的度量单位,1KB=1024字节,1MB=1024KB。
下面一段代码为各种类型的长度。
#include<iostream>
#include<climits>
using namespace std;
int main()
{
int n_int = INT_MAX;
short n_short = SHRT_MAX;
long n_long = LONG_MAX;
long long n_llong = LLONG_MAX;
//sizeof operator yields size of type or of variable
cout << "int is " << sizeof(int) << "bytes." << endl;
cout << "short is " << sizeof n_short << "bytes" << endl;
cout << "longlong is" << sizeof n_llong << "bytes" << endl;
cout << "long is" << sizeof n_long << "bytes" << endl;
cout << "Maximum values:" << endl;
cout << "int: " << n_int << endl;
cout << "short: " << n_short << endl;
cout << "long: " << n_long << endl;
cout << "long long: " << n_llong << endl<< endl;
cout << "Minimum int value=" << INT_MIN << endl;
cout << "Bits per byte =" << CHAR_BIT << endl;
return 0;
}
关于sizeof使用的一个小tip:对类型名使用sizeof运算符的时候要带括号,但对变量名使用sizeof的时候括号可以不带
关于初始化,一般都是初始化将赋值与声明合并在一起。有一种初始化方式为C++11初始化方式,这种方式用于数组和结构。(int owl={3};//将3赋值给owl int owl={}//将owl初始化值为0)
3.1.4 无符号类型
例,short表示的范围为-32768到+32768,则无符号版本表示的范围为0到+65535。要创建无符号版本的基本整型,只需要使用关键字unsigned来创建。
下面有一段代码关于无符号类型与有符号类型的区别。
#include<climits>
#include<iostream>
using namespace std;
int main()
{
short sam = SHRT_MAX;
unsigned short sue = sam;
cout << "Sam has " << sam << "dollars and Sue has " << endl;
cout << " dollars deposited .\nPoor Sam!" << endl;
sam = 0;
sue = 0;
cout << "Sam has &#