对于本系列声明
版权声明
copyright 2019 XyloZebra 原创,请勿抄袭!
转发请注明原贴位置
悄悄地告诉你:这名字分为Xylo和Zebra,是我真名的首字母组成的单词!
系列内容声明
- 这个系列适合想学C++的菜鸟或略懂一些的人,大佬请绕路而行。
- 这个系列基本涵盖所有C++基础知识。
- 参考文献:《零基础学C++》吉林大学出版社
百度百科
系列文章链接
- 入门篇
# 第1篇:计算机语言的崛起
# 第2篇:Hello C++!
# 第3篇:智能的输出和输入流
# 第4篇:C++变量的那些事儿
正文
Hello,大家好
上篇文章我讲了关于C++变量的知识。
定义变量需要:
[类型] [标识符];
这篇文章我们就学习一下C++类型的知识。
整型
整型类型是一个大家庭,有很多描述整型数字(就是整数)的类型。
| 类型 | 范围 | 描述 |
|---|---|---|
[signed] int | -2147483648-2147483647 | 整型 |
unsigned [int] | 0-4294967295 | 无符号整型 |
[signed] short [int] | -32768-32767 | 短整型 |
unsigned short [int] | 0-65535 | 无符号短整型 |
[signed] long [int] | -2147483648-2147483647 | 长整型 |
unsigned long [int] | 0-4294967295 | 无符号长整型 |
[signed] long long [int] | -9223372036854775808-9223372036854775807 | 超长整型 |
unsigned long long [int] | 0-18446744073709551615 | 无符号超长整型 |
如果一个类型存储的数据超出范围(学名叫溢出),就会又从范围中最小的数记起。如:
int outtaRange_num=2147483648;
此时outtaRange_num的值溢出,所以又从最小记起,是-2147483648。
相信大家一看到“无符号”就晕了吧!这是一个术语。观察一下,所有无符号整型类型的范围,其实无符号只表示正整数和零。
PS:中括号中的都可以省略。
实型
| 类型 | 范围 | 有效位数 | 描述 |
|---|---|---|---|
float | 3.4 X 10^-38 - 3.4 X 10^38 | 6~7 | 单精度实型 |
double | 1.7 X 10^-308 - 1.7 X 10^308 | 15~16 | 双精度实型 |
long double | -1.2 X 10^-4932 - 1.2 X 10^4932 | 18~19 | 长双精度实型 |
注意:实型类型中没有无符号的。
布尔型
布尔型bool用于描述真或假两种状态:
bool t=true;
bool f=false;
字符型
一般来说,字符型有两种:
[signed] char //-128-127
unsigned char //0-255
为什么要存储字符的类型存储的却是整型数字呢?
这要从ASCII码说起:
ASCII字符表将字符表示为0-127的整型数字,而char和unsigned char刚好可以表示。如下:
char A='A'; //char A=65;
用户自定义类型
之后会讲到,我们可以自己定义类型供使用,也可以用C++自带库里头的类型。
string类就是一个例子。
非自定义的类型我们称之为“基本数据类型”。
编程挑战
请声明一个char,赋值一个字符。
再声明一个long,将char复制赋值给这个long。
再用cout输出流输出这两个变量,用逗号,分隔。
提示:字符要放在两个单引号'中间,如:
'C'
代码示例
char实现
#include <iostream>
using namespace std;
int main()
{
char c='s';
int c_int=c;
cout<<c<<','<<c_int<<endl;
//注意,你不能将在两个双引号中的字符串赋值给char或unsigned char
//不能:char a="a";
return 0;
}
unsigned char实现
#include <iostream>
using namespace std;
int main()
{
unsigned char c='s';
int c_int=c;
cout<<c<<','<<c_int<<endl;
//注意,你不能将在两个双引号中的字符串赋值给char或unsigned char
//不能:unsigned char a="a";
return 0;
}
预习&作业
下一节:基本数据类型之间的转换
预习:隐式转换和显式转换
作业:将本节课所有学到的类型都定义一个变量,cout输出看看。(除了string和用户自定义变量)

本文深入讲解C++中的各种数据类型,包括整型、实型、布尔型、字符型及用户自定义类型。详细介绍了每种类型的特点、范围及使用场景,并通过代码示例帮助读者理解。
2691

被折叠的 条评论
为什么被折叠?



