C++基础知识(二)——数据类型

2 数据类型

2.1 整型

数据类型存在意义:给变量分配一个合适的内存空间;(类似matlab预设变量大小)

short(短整型):2字节;(-215~ 215 -1)

int(整形):4字节;(-231~ 231 -1)常用

long(长整型):windows 4字节 ; Linux 4字节(32位);8字节(64位)。(-231~ 231 -1)

long long (长长整形):8字节(-263~ 263 -1)

注意:超过数据类型的阈值,数据会最小值继续排列

short num1 = 32768*2;

int num2 = -32768;

long num3 = 10;

long long num4 = 10;

cout << "num1=" << num1 << endl;//输出结果为0
cout << "num2=" << num2 << endl;//输出结果为-32768
cout << "num3=" << num3 << endl;//10
cout << "num4=" << num4 << endl;//10

2.2 sizeof 关键字

作用:sizeof 关键字可以统计数据类型所占内存大小

语法:sizeof(数据类型/变量)

	short num1 = 32768*2;
	int num2 = -32768;
	long num3 = 10;
	long long num4 = 10;
//可以查看变量内存空间
	cout << sizeof(num1) << endl;//2 字节
	cout << sizeof(num2) << endl;//4 字节
	cout << sizeof(num3) << endl;//4 字节
	cout << sizeof(num4) << endl;//8 字节
//可以查看数据类型内存空间
	cout << sizeof(short) << endl;
	cout << sizeof(int) << endl;
	cout << sizeof(long) << endl;
	cout << sizeof(long long) << endl;
// sizeof(short) < sizeof(int) <= sizeof(long) <= sizeof(long long)

2.3 实型(浮点型)

作用:表示小数

浮点型

  • 单精度 float 4字节 7位有效数字
  • 双精度 double 8字节 15~16位有效数字

举例:3.14为3位小数

	float f1 = 3.14;
	//计算机默认3.14是双精度,会有一个双精度转化为单精度的过程
	float f1 = 3.14f;
	//告诉计算机3.14 是单精度,不进行精度转化

默认情况下,输出一个小数,只会显示6位有效数字

	float f2 = 3.14159265f;
	cout << "f2=" << f2 << endl;// 输出f2=3.14159

	double d2 = 3.14159265;
	cout << "d2=" << d2 << endl;// 输出d2=3.14159
// 科学计数法
float f2=3e2//表示 3x10^3 300
float f2=3e-2//表示 3X0.1^2

2.4 字符型

作用:表示单个字母;

语法:char ch = ‘a’;单引号/只有一个字符

  • C和C++中字符型变量只占用一个字符
  • 字符变量不是将本身放在内部储存中,而是对应的ASCII编码放在内存单元中
char ch1 = 'a';//单引号内只能有一个字符
cout << 'a=' << ch1 << endl;
cout << "sizeof(ch1)=" << sizeof(ch1) << endl;//1字节
cout << "sizeot(char)=" << sizeof(char) << endl;//1字节
//字符型(char)转变为整形(int) 可以查看字符对应的十进制数
cout <<int(ch1) << endl;//a输出结果是97

部分ASCII记忆

a -->97
A -->65

  • ASCII 非打印字符 0-31 控制字符(例如 回车控制符)
  • ASCII 打印字符32-126 打印文档可以看到(例如 : ; < ?)

2.5 转义字符

作业:用于表示无法显示ASCII字符

转义字符含义ASCII(十进制)
\n换行010
\t水平制表009
\\代表一个反斜字符092
//  \n 换行符
cout << "hello world \n"; // 在hello world 后面换行
cout<< "hello world "<<endl; // endl换行与"\n"效果一致
// 输出hello world
//	 输出"\"
cout << "\\"<<endl;// \ 没有转义 
//输出结果:\

\t前面字符少于8位,用空格补全;

\t 表示制表位,占8个字符,在\t替换为[8-(\t 前面的字符除8的余数];可以使后面内容对齐

在这里插入图片描述

2.6 字符串型

作用:用来表示字符;

  • C 语言风格:char 变量名[] =“字符串的值”;注意双引号
  • C++语言风格: string 变量名=”字符串的值“;
// 定义字符串-c语言类型
char strl[] = "hello world";// 与单个字符差异 1、变量后有"[]" 2、变量内容是双引号
cout << strl << endl;//使用的时候,变量后不需要加"[]"
include<string>//导不导入如都可以
// 定义字符串—C++类型(会更简洁)
string str2= "hello world";
cout << str2 << endl;

2.7 布尔类型

作用:代表真值还是假值;

bool类型占用1个字节,只有两个值:

  • true —为真(本质是1)
  • false—假(本质为0)
	//bool 
	bool flag1 = true;
	cout << flag1 << endl;//1

	bool flag2 = false;
	cout << flag2 << endl;//0
    //查看布尔数据类型 大小
	cout <<sizeof( flag1) << endl;//1
	cout << sizeof(bool)<< endl;//1

2.8 数据输入

作用:获取键盘输入数据;

关键字:cin

语法:cin>>变量

// 数据输入 整形举例
int a = 0;
cout << "a ="<<a << endl;//输出a=0
cout << "请输入整型变量" << endl;
cin >> a;//键盘输入
cout << "a=" <<a<<endl;//输出a=1

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值