经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 程序设计 » C++ » 查看文章
手把手带你学习C++的数据类型
来源:jb51  时间:2021/11/23 16:30:40  对本文有异议

数据类型

C++规定在创建一个变量或者常量时,必须要指定相应的数据类型,否则无法给变量分配内存空间。

01 整型:

数据类型 占用空间 取值范围
short(短整型) 2字节 -2^15~2^15-1
int(整型) 4字节 -2^31~2^31-1
long(长整型) 4字节/8字节 -2^31~2^31-1
long long(长长整型) 8字节 -2^63~2^63-1
  1. #include<iostream>
  2. using namespace std;
  3. int main1()
  4. {
  5. //整型
  6. //1.短整型
  7. short num1 = 10;
  8. //short num1 = 32768;
  9. //2.整型
  10. int num2 = 10;
  11. //3.长整型
  12. long num3 = 10;
  13. //4.长长整型
  14. long long num4 = 10;
  15. cout << num1 << endl;
  16. cout << num2 << endl;
  17. cout << num3 << endl;
  18. cout << num4 << endl;
  19. system("pause");
  20. return 0;
  21. }

02 sizeof关键字

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

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

  1. #include<iostream>
  2. using namespace std;
  3. int main2()
  4. {
  5. //整型:short(2) int(4) long(4) long long(8)
  6. //可以利用sizeof求出数据类型占用内存大小
  7. //语法:sizeof(数据类型/变量)
  8. short num1 = 10;
  9. cout << "short占用内存空间为:" << sizeof(short) << endl;
  10. //cout << "short占用内存空间为:" << sizeof(num1) << endl;
  11. int num2 = 10;
  12. cout << "int占用内存空间为:" << sizeof(int) << endl;
  13. //cout << "int占用内存空间为:" << sizeof(num2) << endl;
  14. long num3 = 10;
  15. cout << "long占用内存空间为:" << sizeof(long) << endl;
  16. //cout << "long占用内存空间为:" << sizeof(num3) << endl;
  17. long long num4 = 10;
  18. cout << "long long占用内存空间为:" << sizeof(long long) << endl;
  19. //cout << "long long占用内存空间为:" << sizeof(num4) << endl;
  20. //整型大小比较
  21. //short < int <= long <= long long
  22. system("pause");
  23. return 0;
  24. }

03 实型(浮点型)

作用:用于表示小数。

浮点型变量分为两种:float和double,区别在于表示的数字范围不同。

数据类型 占用空间 有效数字范围
float 4字节 7位有效数字
double 8字节 15~16位有效数字
  1. #include<iostream>
  2. using namespace std;
  3. int main3()
  4. {
  5. //实型
  6. //1.单精度 float
  7. //2.双精度 double
  8. //默认情况下,输出一个小数,会显示出6位有效数字
  9. float f1 = 3.1415926f;
  10. double d1 = 3.1415926;
  11. cout << "f1 = " << f1 << endl;
  12. cout << "d1 = " << d1 << endl;
  13. //float占用4字节内存空间,double占用8字节
  14. cout << "float占用的内存空间为:" << sizeof(float) << endl;
  15. cout << "double占用的内存空间为:" << sizeof(double) << endl;
  16. //科学计数法
  17. float f2 = 3e2; //3*10^2,300
  18. cout << "f2 = " << f2 << endl;
  19. float f3 = 3e-2; //3*0.1^2,0.03
  20. cout << "f3 = " << f3 << endl;
  21. system("pause");
  22. return 0;
  23. }

04 字符型

作用:用于显示单个字符。

语法:char ch = 'a';

注意1:在显示字符串变量时,用单引号将字符括起来,不要用双引号。

注意2:单引号内只能有一个字符,不可以是字符串。

C和C++中字符串变量只占用1个字节。

字符型变量并不是把字符本身放到内存中存储,而是将对应的ASCII编码放到存储单元中。

  1. #include<iostream>
  2. using namespace std;
  3. int main4()
  4. {
  5. //1.字符型变量创建方式
  6. char ch = 'a';
  7. cout << ch << endl;
  8. //2.字符型变量所占内存大小
  9. cout << "char字符型变量所占内存为:" << sizeof(char) << endl;
  10. //3.字符型变量常见错误
  11. //char ch2 = "b"; 创建字符型变量时,要用单引号
  12. //char ch2 = 'abcdefg'; 创建字符型变量时,单引号内只能有一个字符
  13. //4.字符型变量对应ASCII编码
  14. //a - 97 A - 65
  15. cout << (int)ch << endl;
  16. system("pause");
  17. return 0;
  18. }

05 转义字符

作用:用于表示一些不能显示出来的ASCII字符。

\n 换行,将当前位置移到下一行开头

\t 水平制表,跳到下一个TAB位置

\\ 代表一个反斜线字符'\'

  1. #include<iostream>
  2. using namespace std;
  3. int main5()
  4. {
  5. //转义字符
  6. //换行符\n
  7. cout << "Hello world" << endl;
  8. cout << "Hello world\n";
  9. //反斜杠\ cout << "\\" << endl;
  10. //水平制表符\t
  11. cout << "aaaa\thelloworld" << endl;
  12. cout << "aa\thelloworld" << endl;
  13. cout << "aaaaaa\thelloworld" << endl;
  14. system("pause");
  15. return 0;
  16. }

06 字符串型

C风格字符串:char 变量名[] = "字符串值"

C++风格字符串:string 变量名 = "字符串值"

  1. #include<iostream>
  2. #include<string> //用C++风格字符串时,要包含这个头文件
  3. using namespace std;
  4. int main6()
  5. {
  6. //1.C风格字符串
  7. //注意事项1:char字符串名后加[]
  8. //注意事项2:等号后面要用双引号,包含起来字符串
  9. char str[] = "hello world";
  10. cout << str << endl;
  11. //2.C++风格字符串
  12. string str2 = "hello world";
  13. cout << str2 << endl;
  14. system("pause");
  15. return 0;
  16. }

07 布尔型

作用:布尔数据类型代表真或者假的值。

只有两个值:True或者False,占用1字节大小的内存空间。

  1. #include<iostream>
  2. using namespace std;
  3. int main7()
  4. {
  5. //1.创建bool数据类型
  6. bool flag = true;
  7. cout << flag << endl;
  8. flag = false;
  9. cout << flag << endl;
  10. //1代表真,0代表假
  11. //2.查看bool类型所占内存空间
  12. cout << "bool类型所占内存空间:" << sizeof(bool) << endl;
  13. system("pause");
  14. return 0;
  15. }

08 数据的输入

作用:从键盘获取数据。

关键字:cin

语法:cin >> 变量

  1. #include<iostream>
  2. #include<string>
  3. using namespace std;
  4. int main()
  5. {
  6. //1.整型
  7. /*int a = 0;
  8. cout << "请给整型变量a赋值:" << endl;
  9. cin >> a;
  10. cout << "整型变量a = " << a << endl;*/
  11. //2.浮点型
  12. /*float f = 3.14f;
  13. cout << "请给浮点型变量f赋值:" << endl;
  14. cin >> f;
  15. cout << "浮点型变量f = " << f << endl;*/
  16. //3.字符型
  17. /*char ch = 'a';
  18. cout << "请给字符型变量ch赋值:" << endl;
  19. cin >> ch;
  20. cout << "字符型变量ch = " << ch << endl;*/
  21. //4.字符串型
  22. /*string str = "hello";
  23. cout << "请给字符串型变量str赋值:" << endl;
  24. cin >> str;
  25. cout << "字符串型变量str = " << str << endl;*/
  26. //5.布尔型
  27. bool flag = false;
  28. cout << "请给布尔型变量flag赋值:" << endl;
  29. cin >> flag;
  30. cout << "布尔型变量flag = " << flag << endl;
  31. system("pause");
  32. return 0;
  33. }

总结

本篇文章就到这里了,希望能够给你带来帮助,也希望您能够多多关注w3xue的更多内容!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号