C++学习笔记
Posted 技术菌团
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C++学习笔记相关的知识,希望对你有一定的参考价值。
数据类型
字符型
int main(){
//创建方式
char ch="111";
cout<<ch<<endl;
//字符型变量所占内存大小
cout<<ch<<sizeof(char)<<endl;
//其中需要注意字符型变量创建的时候单引号里面只用一个字符
}
输出:
111
1111
布尔型
代表真或假,只需要一个字节。
#include<iostream>
using namespace std;
int main(){
//1、创建bool数据类型
//2、一个字节大小
bool falg=true;
cout<<flag<<endl;//1
bool falg=false;
cout<<flag<<endl;//1
cout<<"size of bool="<<sizeof(bool)<<endl;//1
system("pause");
return 0;
}
输出:
1
0
size of bool=1
整型
是可以用来表示整数类型的数据 用法如下:
//整形
//1. 短整型 (-32758,32767)
short num1 =数据;
//2. 整形
int num2 = 数据;
//3. 长整型
long num3 = 数据;
//4. 长长整型
long long num4 =数据;
注意整型的数据范围,当输入的数据超出其范围的时候,我们会发现其数据有误。
整型表
浮点型
浮点型通常用来表示小数,由于在程序构造过程中需要不同其,精度也不同。下面有一张表分别介绍一下单精度和双精度:
类型
类型简写
用途
占用内存(字节数)
取值范围
float |
float |
保存小数 |
4 |
6位左右的有效数字 |
double |
double |
保存小数 |
8 |
16位左右的有效数字 |
下面有一个例子:
#include <iostream>
using namespace std;
int main()
{
//1.单精度float
float f1 = 3.141596f;//默认情况下小数是double,如果不加会需要多转换一次
cout << "f1=" << f1 << endl;
//2.双精度double
double d1 = 3.1415926;
cout << "d1 =" << d1 << endl;
//默认情况下,输出一个小数,会显示6位有效数字。
//统计占用的内存空间
cout << "float内存空间:" << sizeof(float) << endl;//4字节
cout << "double内存空间:" << sizeof(double) << endl;//8字节
system("pause");
return 0;
}
输出:
f1=3.1416
d1 =3.14159
float内存空间:4
double内存空间:8
补充:long double 提供的精度在一般情况下是没有必要的,况且它带来的运行时消耗也不容忽视。在这里就没有赘述。
无符号类型
unsigned
类型 int, short, long, long long 都是带符号的,unsigned为无符号类型,在无符号类型中,所有的位都用于直接表示该值的大小,有符号类型中会多出符号位用于表示正负,那么同样的一个数字使用有符号表示和无符号方式表示就会有很大的区别。
类型
数目
表示数值
计算
无符号类型: |
1111 1111 |
255 |
1* 27 + 1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 |
有符号类型: |
0111 1111 |
127 |
1* 26 + 1* 25 + 1* 24 + 1* 23 + 1* 22 + 1* 21 + 1* 20 |
简单地可以推想到无符号类型的每一个字节都只能表示正数数值,下面是每一个字节两种表示区别:
类型
范围
无符号类型: |
0----255 |
有符号类型: |
-128----127 |
sizeof关键字
当我们需要查看我们的数据类型占多少字节的时候,我们可以使用sizeof关键字。具体用法:sizeof (数据类型 / 变量)
#include <iostream>
using namespace std;
int main()
{
//整形:short(2) int(4) long (4) long long (8)
//可以利用sizeof 求出数据类型占用大小
short num1 = 10;
cout << "short占用内存空间为: " << sizeof(num1) << endl;
system("pause");
return 0;
}
输出:
short占用内存空间为:2
转义字符
转义字符——不能显示出来的ASCLL字符
#include <iostream>
using namespace std;
int main()
{
//水平制表符 作用是可以整齐的输出数据
cout << "aaaa helloworld" << endl;
cout << "a helloworld" << endl;
system("pause");
return 0;
}
输出:
aaaa helloworld
a helloworld
下面是一张常用的转义字符表:
常用转义字符表
以上是关于C++学习笔记的主要内容,如果未能解决你的问题,请参考以下文章