C++学习(2)—— 数据类型
C++规定在创建一个变量或者常量的时候,必须指定出相应的数据类型,否则无法给变量分配内存
数据类型存在意义:给变量分配合适的内存空间
1. 整型
作用:整型变量表示的是整数类型的数据
C++中能够表示整型的类型有以下几种方式,区别在于所占内存空间不同:
| 数据类型 | 占用空间 | 取值范围 |
|---|---|---|
| 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) |
#include<iostream>
using namespace std;
int main(){
//短整形(-32768~32767)
short num1 = 10;
//short num1 = 32768时,输出-32768
//整型
int num2 = 10;
//长整型
long num3 = 10;
//长长整型
long long num4 =10;
cout << "num1 = " << num1 << endl;
cout << "num2 = " << num1 << endl;
cout << "num3 = " << num1 << endl;
cout << "num4 = " << num1 << endl;
system("pause");
return 0;
}
2. 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/*short*/) << endl;
int num2 = 10;
cout << "int占用内存空间为:" << sizeof(num2/*int*/) << endl;
long num3 = 10;
cout << "long占用内存空间为:" << sizeof(num3/*long*/) << endl;
long long num4 = 10;
cout << "long long占用内存空间为:" << sizeof(num4/*long long*/) << endl;
return 0;
}
3. 实型(浮点型)
作用:用于表示小数
浮点型分为一下两种,区别在于有效数字的范围不同:
| 数据类型 | 占用空间 | 有效数字范围 |
|---|---|---|
| float(单精度) | 4字节 | 7位有效数字 |
| double(双精度) | 8字节 | 15~16位有效数字 |
#include<iostream>
using namespace std;
int main(){
//1.单精度 float
//2.双精度 double
//默认情况下输出一个小数,会显示出6位有效空间
float f1 = 3.14f; //默认双精度,加f表明为单精度
cout << "f1 = " << f1 << endl;
double d1 = 3.14;
cout << "d1 = " << d1 << endl;
//科学计数法
float f2 = 3e2; //3*10^2;
cout << "f2 = " << f2 << endl;
float f3 = 3e-2; // 3*0.1^2;
cout << "f3 = " << f3 << endl;
return 0;
}
4. 字符型
作用:字符型变量通常用于显示单个字符
语法:char ch = 'a';
注意1:在现实字符变量时,用单引号将字符括起来,不要用双引号
注意2:单引号内只能有一个字符,不可以是字符串
#include<iostream>
using namespace std;
int main(){
//1.字符型变量创建方式
char ch = 'a';
cout << ch << endl;
//2.字符型变量所占内存大小
cout << "" << sizeof(char) << endl;
//3.字符型变量常见错误
//4.字符型变量对应ASCⅡ编码
//a - 97
//A - 65
cout << (int)ch << endl;
return 0;
}
5. 转义字符
作用:用于表示一些不能显示出来的ASCⅡ字符
现阶段常用的转义字符有:\n 换行 \\反斜杠 \t水平制表符(反斜杠)
cout << "aaa\thello" << endl //aaa+\t为八个字符
6. 字符串型
作用:用于表示一串字符
两种风格:
- C语言风格字符串:
char 变量名[] = "字符串值"
#include<iostream>
using namespace std;
int main(){
char str[] = "hello world";
cout << str << endl;
return 0;
}
注意:方括号[]
- C++风格字符串:
string 变量名 = "字符串值"
#include<iostream>
#include<string>
using namespace std;
int main(){
string str2 = "hello world";
cout << str2 << endl;
return 0;
}
注意:包含头文件
7. 布尔类型 bool
作用:布尔类型代表真或假的值
bool数据类型占一个字节大小
8. 数据的输入
作用:用于从键盘获取数据
关键字:cin
语法:cin >> 变量
#include<iostream>
using namespace std;
int main(){
int a = 0;
cout << "给int a赋值:" << endl;
cin >> a;
cout << "int a:" << endl;
return 0;
}
C++学习(2)—— 数据类型的更多相关文章
- js学习之数据类型
js学习之数据类型 基础类型:number string boolean null undefined 引用类型:object array function undefined值是派生自null值的( ...
- Go语言学习之数据类型
### Go语言学习之数据类型 数据类型的转换 1.Go语言不允许隐式类型转换(显示转换才可以) 2.别名和原有类型也不能进行隐式类型转换 例子: func TestImplicit(t *testi ...
- python学习6—数据类型之集合与字符串格式化
python学习6—数据类型之集合与字符串格式化 1. 使用id()可以查看一个变量的内存地址: name = 'alex' id(name) 2. 进制转换 十进制转换为二进制等: a = 10 # ...
- MySQL学习笔记--数据类型
一.数据类型(内容参考<SQL学习指南>)不完整 1.文本类型 文本类型 最大字节数 tinytext 255 text 65535 varchar 65536 mediumtext 16 ...
- C语言基础学习基本数据类型-变量的输出与输入
变量的输出 变量如何输入输出呢?实际上,在这之前你已经使用过输出语句(printf语句)了,我们可以使用printf来执行输出. printf语句的使用方法如下: printf(格式控制字符串, 数据 ...
- C语言基础学习基本数据类型-变量和常量
变量和常量 什么是变量和常量?有些数据在程序运行前就预先设定,并在运行过程中不发生变化,称之为常量:有些数据在程序运行中可能发生变化或被赋值,称之为变量. 使用变量前必须先声明一个变量.变量定义的语法 ...
- Redis 学习(二) —— 数据类型及操作
Redis支持string.list.set.zset.hash等数据类型,这一篇学习redis的数据类型.命令及某些使用场景. 一.String,字符串 字符串是 Redis 最基本的数据类型.一个 ...
- MySQL学习4 - 数据类型一
介绍 一.数值类型 二.浮点型 验证三种类型建表 验证三种类型的精度 三.日期类型 综合练习: 介绍 存储引擎决定了表的类型,而表内存放的数据也要有不同的类型,每种数据类型都有自己的宽度,但宽度是可选 ...
- python学习Day7 数据类型的转换,字符编码演变历程
一.数据类型的转换 1.1.1.字符转列表:lst1 = str.split(默认空格,也可依据指定字符分界),若无分界字符,就没法拆分,这时可以直接放进list转成列表 ----> s1 = ...
- Java之基础学习(数据类型、运算符、分支语句和循环语句)
在工作用得比较多的是shell和python编程,对于java以前也学习过,使用很少,这次借朋友推荐的java视频教程来温习下. 也是因为现在很多开源测试工具使用java编写的,学习一下更有助于测试工 ...
随机推荐
- [ Docker ] 基础的网络应用
1. Docker 基本网络模型 Docker 有 4 种基本的网络模型: bridge 桥接模式 host 网络模式 container 联盟模式 none 模式 Docker daemon 在启动 ...
- VSCode安装MathJax插件
曾经我一直照网上的教程安装了半天都没有安装好,直到我找到了一个叫"Markdown+Math"的插件,安装好之后就可以用了.
- Android存储及getCacheDir()、getFilesDir()、getExternalFilesDir()、getExternalCacheDir()区别:
存储介绍: Android系统分为内部存储和外部存储,内部存储是手机系统自带的存储,一般空间都比较小,外部存储一般是SD卡的存储,空间一般都比较大,但不一定可用或者剩余空间可能不足.一般我们存储内容都 ...
- spring boot使用AOP统一处理web请求
为了保证服务的高可用,及时发现问题,迅速解决问题,为应用添加log是必不可少的. 但是随着项目的增大,方法增多,每个方法加单独加日志处理会有很多冗余 那在SpringBoot项目中如何统一的处理Web ...
- Locust 性能测试工具安装使用说明
1. 介绍 它是一个开源性能测试工具.使用 Python 代码来定义用户行为.用它可以模拟百万计的并发用户访问你的系统. 性能工具对比 LoadRunner 是非常有名的商业性能测试工具,功能 ...
- (语法基础)浅谈面向切面编程(AOP)
一:前言 面向切面编程是一个很重要的编程思想,想要写出一个便于维护的程序,理解AOP并且能熟练的在实际编程中合理的运用AOP思想是很有必要的 二:AOP的基本概念 基础概念:AOP中文翻译面向切面编程 ...
- Git GUI,Git Bash,Git CMD之间的区别
Git GUI,Git Bash,Git CMD之间的区别 Git Bash: Bash,Unix shell的一种,Linux与Mac OS X v10.4都将它作为默认shell.Git Bash ...
- Word章 节标题自动编号并由此自动生成目录 -- 含视频教程(1)
1. 写论文之前事先调好 写论文的时候,难免要用到章节,如何实现下图的效果呢? 其实结合用好两个功能就行了: >> 视频教程链接:B站,速度快,清晰 事先调好,可以给后续工作带来很多便利, ...
- Opencv之漫水填充效果
下面是opencv的漫水填充效果代码 这篇文章仅限个人的笔记 没有详细的注释 放代码 这是简单的示范 int main()//*******************简单的漫水填充算法实例 { Vide ...
- PAT(B) 1030 完美数列 - C语言 - 滑动窗口 & 双指针
题目链接:1030 完美数列 (25 point(s)) 给定一个正整数数列,和正整数 \(p\),设这个数列中的最大值是 \(M\),最小值是 \(m\),如果 \(M≤mp\),则称这个数列是完美 ...