变量
定义:变量是计算机中一块特定的内存空间,由一个或多个连续的字节组成。
通过变量名可以简单快速的找到内存中存储的数据。
可以用namespace避免重名(后面讲)
命名规则:
- 首字母只能是"_"和字母
- 其他字母可以是"_"、字母和数字
- 不能是关键字
- 不能用关键字(不用背,编辑器会有提示(变颜色了就是保留字))
注意:
- 不要使用拼音
- 尽量不要使用单个英文单词
- 提倡使用有正式含义的英文单词
常识:8 bit 比特= 1byte字节
例如:网速20M bps (bit per second),需换算成字节除以8,则是真实的我们理解的网速。
C++常用数据类型
数据类型 | 类型说明符 | 位数 | 取值范围 |
---|---|---|---|
整型 | int | 32 | -2147483648~+2147483647 |
短整型 | short int | 16 | -32768~+32767 |
长整型 | long int | 32 | -2147483648~+2147483647 |
单精度浮点型 | float | 32 | -2147483648~+2147483647 |
双精度浮点型 | double | 64 | -1.7E-308~+1.7E+308 |
字符型 | char | 8 |
注:
- long和int是一样的
- 再长一点是longlong ,c++11的标准,64位,取值范围-9223372036854775808~+9223372036854775807可以表示1970年1月1日到现在的毫秒数
- 浮点数尽量使用double类型
- 字符型属于整型
- bool类型类似java中的boolean,0是false,非0是true.属于整型
数据类型总结:
- 整型:char、char16_t、char32_t、int、short、long、bool、long long
- 浮点型:float、double、long double
- 非数值型:string
- 其他常用数值类型:size_t类型、枚举类型、自定义类型、指针类型、空类型等。
typedef:用于自定义数据类型
用法:
typedef string wode_string;
wode_string name = "我定义的数据类型";
cout << name << endl;
return 0;
float
- 位数:32位
- 空间:2个字节
- 取值范围:
- 6~7位有效数字
声明及初始化
- float ball = 100.0
- float apple;
apple = 2.5f
注:
- float类型变量赋值时建议在数值的末尾加上f。
- cmath头文件定义了c++中的库函数,其中c表示函数是来自c标准库的函数,math为数学常用库函数。
代码示例:
#include <iostream>
#include <cmath>
using namespace std;
int main()
{
//已知圆柱体的半径和高,球圆柱体的体积
//半径
float radius = 2.5f;
//高
float height = 4.0f;
//圆柱体体积 = 底面积 * 高
float volume = 3.14 * pow(radius, 2) * height;
cout << "圆柱体体积为:" << volume << endl;
}
double
- 位数:64位
- 空间:8个字节
- 取值范围:
- 15位有效数字
#include <iostream>
#include <cmath>
#include <iomanip>
using namespace std;
int main()
{
//控制cout的显示精度
//1.强制以下小数的方式显示
cout << fixed;
//2.控制显示精度
cout << setprecision(2);
//输出double类型的数据
double doubleNum = 100.0/3.0;
cout << doubleNum * 10000000<< endl;
// 3.setw()控制它后面的紧挨着的内容的宽度
cout << "|" << setw(8) << 2.5f * 3.0f << "|" << endl;
//4.sizeof用来测量数据类型的长度
cout << sizeof(double) << endl;
}
char
- 位数:8位
- 空间:1个字节
- 取值范围:-128~+127
8个二进制表示一个char类型
声明及初始化
- char apple = 'A';
注:
- 有符号signed char,取值范围-128~127
- 无符号unsigned
补充:
- C++是C的升级版,C++具有面向对象
- C++11新增类型 :long long、char16_t 、char32_t
- 引入头windows.h文件
c++ #include <windows.h>
设置windows弹框title
c++ SetConsoleTitleA("windows弹框title");
效果如图:
cout、cin
cout
用于打印输出内容
左对齐:
cout<< left;
同理右对齐left改为right,后面的内容则左对齐;
打印三句话设置每句话宽度10个字节并且左对齐:
cout<< left;
cout << setw(10) << "第一句话" << "," << "n";
cout << setw(10) << "第二句话" << "," << "n";
cout << setw(10) << "第三句话" << "." << endl;
如果同样设置打印英文的4个字节:
cout << setw(10) << "aaaa" << "," << "n";
则发现打印结果是:
长度:一个中文字符 = 两个英文字符
并且如果cout设置的左对齐,会一直生效,直到设置为别的样式为止。
cin
用于获取输入内容
用法:
int num;
char ch;
//输入内容赋值给num
cin >> num;
cin >> ch;
//如果输入1234abcd
//则自动截取1234赋值给num,截取第一个字符a赋值给ch。
还可以:
int num;
num = cin.get();