目录
数据类型存在意义:给变量分配合适的内存空间
1. 整形:int类
#include <iostream>
using namespace std;
#define hsl 5
// short 短整型 2字节 (-32768-32767)
// int 整形 4字节
// long 长整形 4字节(win)32位linux 4字节 64位linux 8字节
// long long 8字节
int main()
{
short num1 = 32768; // num1 超出定义范围变为负数
std::cout << "hello hsl" << num1 << std::endl;
// system("pause");
return 0;
}
2. sizeof关键字
作用:统计数据类型所占用的内存大小
语法:sizeof(数据类型/变量);
#include <iostream>
using namespace std;
int main()
{
short num1 = 32768; // num1 超出定义范围变为负数
std::cout << "hello hsl" << num1 << std::endl;
std::cout << "short 类型所占用的内存为" << sizeof(short) << std::endl;
std::cout << "num1 类型所占用的内存为" << sizeof(num1) << std::endl;
return 0;
}
3.浮点数(小数)
float 单精度小数 4字节 7位有效数字
double 双精度 8字节 15-16位有效数字
#include <iostream>
using namespace std;
//float 单精度 4字节
//double 双精度 8字节
int main()
{
float f1 = 3.14; //不加f编译器会先默认小数为double
float f2 = 3.14f;
double d1 = 3.1415926;
std::cout << "d1 = " << d1 << std::endl; //输出小数一般默认为6位有效数字
std::cout << "double 类型所占用的内存为" << sizeof(double) << std::endl;
std::cout << "f1 变量所占用的内存为" << sizeof(f1) << std::endl;
//科学计数法
float f3 = 3e2; //3e2 = 3*10^2
std::cout << "f3 =" << f3 << std::endl;
return 0;
}
4.字符型
语法: char 变量名 = "字符";
存的不是字符而是ASCII编码,char 占用一个字节
#include <iostream>
using namespace std;
int main()
{
char ch = "a"; //不能用双引号
char ch2 = 'a';
std::cout << "ch2 = " << ch2 << std::endl;
std::cout << "char 类型所占用的内存为" << sizeof(char) << std::endl;
std::cout << "ch2 变量所占用的内存为" << sizeof(ch2) << std::endl;
std::cout << "ch2 变量所存储的ascii码值" << (int)ch2 << std::endl; //(int)ch2强制整形转换
// ascii: a - 97 A - 65
return 0;
5.转义字符
转义字符 意义 ASCII码值(十进制)
\a 响铃(BEL) 007
\b 退格(BS) 008
\f 换页(FF) 012
\n 换行(LF) 010
\r 回车(CR) 013
\t 水平制表(HT) 009
\v 垂直制表(VT) 011
\\ 反斜杠 092
\? 问号字符 063
\' 单引号字符 039
\" 双引号字符 034
\0 空字符(NULL) 000
\ddd 任意字符 三位八进制
\xhh 任意字符 二位十六进制
\a:蜂鸣,响铃
\b:回退:向后退一格
\f:换页
\n:换行,光标到下行行首
\r:回车,光标到本行行首
\t:水平制表
\v:垂直制表
\\:反斜杠
\':单引号
\":双引号
\?:问号
\ddd:三位八进制
\xhh:二位十六进制
\0:空字符(NULL),什么都不做
6.字符串型
语法: string 变量名 = "helloworld";
#include <iostream>
#include <string>
using namespace std;
int main()
{
string str = "hi"; //用双引号,包含string 头文件
string str2 = "true/false";
std::cout << "str = " << str << std::endl;
std::cout << "string\t类型所占用的内存为" << sizeof(string) << std::endl;
std::cout << "str2\t变量所占用的内存为" << sizeof(str2) << std::endl;
//std::cout << "ch2\t变量所存储的ascii码值" << (int)ch2 << std::endl; //(int)ch2强制整形转换
// ascii: a - 97 A - 65
return 0;
}
7.数据输入
语法:cin >> 变量