有关数据处理的学习
前言
内置C++类型分两组:基本类型和复合类型。
- 基本类型,即整数和浮点数。
- 复合类型是在基本类型的基础上创建的,包括数组、字符串、指针和结构。
一、简单变量
- 信息存储在计算机中,程序必须记录3个基本属性:
- 信息将存储在哪里
- 存储何种类型的信息
- 要存储什么值
二、变量定义简单说明
1.变量说明
int a ;
a = 5;
对于上述代码,程序将找到一块能够存储整数的内存,将该内存单元标记为 a,
并将 5 复制该内存单元中:然后,就可以在程序中使用 a 来访问该内存单元。
2.变量名
C++变量名命名规则:
①在名称中只能使用字母字符、数字和下划线 (_).
②名称的第一个字符不能是数字。
③区分大写字符和小写字符。
④不能将C++关键字用作名称。
⑤以“两个下划线”或者“下划线+大写字母”打头的名称被保留实现(编译器及其使
用的资源)使用。以“一个下划线”开头的名称被保留给实现,用作全局标识符。
⑥ C++对于名称长度没有限制,名称中所有的字符都有意义,但是有些平台
限制长度(在ANSIC中,前63个字符相同的名称被认为是相同的,即使第64
个字符不同)。
3.整型
Ⅰ、 任何语言都只能表示所有数字的一个子集。
Ⅱ、 术语宽度(width)用于描述存储整数时使用的内存量。使用的内存量越多,越
宽。
Ⅲ、 C++中有10中基本整型可以选择(char、short、int、long、long long),
每一种都 有有符号和无符号两种。
short 至少16位
int 至少与short一样长
long 至少32位,且至少与int一样长
long long 至少64位,且至少与long一样长
4.有关头文件limits和运算符sizeof使用
// 有关头文件limits和运算符sizeof使用
#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;
cout << "int is " << sizeof(n_int) << "types." << endl;
cout << "short is " << sizeof(n_short) << "types." << endl;
cout << "long is " << sizeof(n_long) << "types." << endl;
cout << "long long is " << sizeof(n_llong) << "types." << endl;
cout << endl;
cout << "Maximun values in the under :" << endl;
cout << "int :" << n_int << endl;
cout << "short :" << n_short << endl;
cout << "long :" << n_long << endl;
cout << "long long :" << n_llong << endl << endl;
cout << "Mimimum int balue = " << INT_MIN << endl;
cout << "Bits per type = " << CHAR_BIT << endl;
cin.get();
return 0;
} /*限制性命令均在头文件<limits>中定义,只需要将该头文
件加入到该程序即可*/
5.有关初始化语言
****//第一种****
int a ;
a = 5;
/*该初始化来自于c语言,C++还有另外的一些初始化语法*/
int a = 101;
int b (1011156);
int c = {10124};
int d = {}; //大括号内可以不包含任何东西,该情况下,变脸将被初始化为0
6.有关整数类型表示范围的小的测试代码
// 有关整数类型表示范围的小的测试代码
#include <iostream>
#include <limits>
#define ZERO 0 //这是通过预处理定义某个字符的值,后面可以用const
using namespace std;
int main()
{
short sam = SHRT_MAX;
unsigned short sue = sam;
cout << "sam has " << sam << "dollars and sue has " << sue << "dollars deposited." << endl;
cout << "Add $1 to each account." << endl << "Now ";
sam = sam + 1;
sue = sue + 1;
cout << "sam has " << sam << "dollars and sue has " << sue << "dollars deposited.\nPoor Sam!" << endl;
sam = sue = ZERO;
cout << "sam has " << sam << "dollars and sue has " << sue << "dollars deposited." << endl;
cout << "Take $1 from each account." << endl << "Now ";
sam = sam - 1;
sue = sue - 1;
cout << "sam has " << sam << "dollars and sue has " << sue << "dollars deposited.\nLucky Sue!" << endl;
cin.get();
return 0;
}
仅当有大型整型数组时,才有必要使用short。
(数组是一种数据结构,在内存中连续存储同类型的多个子。)
如果节省内存非常重要,则应该使用short而不是使用int,即时他们的长度是一样的。
例如:假设要将程序从int为16为的系统移到int为32为的系统,则用于存储int数组的内存量将加倍,但是short数组不受影响。——节省一点就是赢一点。
如果只需要一个字节,可以使用char。
7.有关进制小代码
// 各种进制的100以十进制输出
#include <iostream>
using namespace std;
int main()
{
int a = 100;
int b = 0x100;
int c = 0100;
cout << " a= " << a << "(100原来是十进制)" << endl;
cout << " b= " << b << "(100原来是十六进制)" << endl;
cout << " c= " << c << "(100原来是八进制)" << endl;
cin.get();
return 0;
}
// 十进制的100以各种进制输出
#include <iostream>
using namespace std;
int main()
{
int a = 100;
int b = 100;
int c = 100;
cout << " a= " << a << "(100原来是十进制,现在以十进制输出)" << endl;
cout << hex;
cout << " b= " << b << "(100原来是十进制,现在以十六进制输出)" << endl;
cout << oct;
cout << " c= " << c << "(100原来是十进制,现在以八进制输出)" << endl;
cin.get();
return 0;
} /*由于标识符hex位于命名空间std中,而程序使用了该命名空间,
所以不能用hex作为变量名使用*/