C++学习—数据类型

整型

数据类型:short(短整型)、占用空间2字节;

int(整型)、占用空间4字节;

long(长整形)、占用空间Windows为4字节,Linux为4字节(32位),8字节(64位);

long long(长长整形)、占用空间8字节;

如何查看不同类型的数据占用的内存空间、通过sizeof()函数即可判断;

举列:

#include "iostream"
#include "windows.h"
using namespace std;


int main()
{
    SetConsoleOutputCP(CP_UTF8);
    // short、int、long、long long
    short age = 21;
    cout << age << endl;
    int num1 = 10;
    long num2 = 20;
    long long num3 = 30;
    cout << num1 << num2 << num3 << endl;

    // sizeof()函数,用法:sizeof(数据),会告知得到数据所占用的字节
    cout << "short变量,占用字节: " << sizeof(age) << endl;
    cout << "int变量,占用字节: " << sizeof(num1) << endl;
    cout << "long变量,占用字节: " << sizeof(num2) << endl;
    cout << "long long变量,占用字节: " << sizeof(num3) << endl;

    return 0;
}

有符号无符号

无符号和有符号的含义:

无符号:大于等于0的数

有符号:可以包含负数(默认都是有符号)

如何定义无符号整型:

如果需要主动使用unsigned,举列:unsigned intnum=1;

u_short、u_int、u_long,是无符号short、int、long的快捷写法

实型

注意:实型数据没有signed和unsigned默认全部有符号 ,且注意有效位数的个数,如果超出有效位数那么会导致准确度不够。具体的有效位数根据使用的编译器来确定。

代码举列:

#include "iostream"
#include "windows.h"
using namespace std;


int main()
{
    SetConsoleOutputCP(CP_UTF8);
    // float单精度浮点数,4字节,6~7位的有效位数
    // 有效位数:整数位、小数点、小数位
    float num1 = 1234567890;        // 只提供了前7位的准确输出
    float num2 = 1.234567890;       // 只提供了7位的准确输出

    cout << fixed;           // 设置为小数显示
    cout.width(20);     // 设置显示的最大宽度(最大位数)
    cout << num2 << "," << sizeof(num2) << endl;

    // double双精度浮点数,8字节,15~16有效位
    double num3 = 1234567890.1234567890;
    cout << num3 << "," << sizeof(num3) << endl;

    // long double长精度(多精度)浮点数,16字节,18~19有效位
    long double num4 = 1234567890.1234567890;
    cout << num4 << "," << sizeof(num4) << endl;
    return 0;
}

字符型

char类型用来表示字符,同时支持有符号和无符号。

char类型其本质上是:数字,即在内存中存储的是实际上是数字,通过ASCII表作为对照,字符->数字存入,数字->字符使用。

char可以存储的范围是超出ASCII的,但是基于ASCII映射,可以认为,char应用内容就是ASCII表。

代码:

#include "iostream"
#include "windows.h"
using namespace std;


int main()
{
    SetConsoleOutputCP(CP_UTF8);

    char ch = 65;
    cout << ch << endl; //输出结果是A

    char ch2 = 'a';
    cout << ch2 + 1 << endl; //输出的结果是98

    char ch3 = 'a' + 2;
    cout << ch3 << endl; //输出的结果是c

    return 0;
}

ASCII表中字符分为两类:非打印控制字符、打印字符

非打印控制字符:无法打印出形态,但是可以用于表示各种控制功能,如换行、制表等

如果要使用非打印控制字符的功能,可以使用转义字符的形式

代码:

#include "iostream"
#include "windows.h"
using namespace std;


int main()
{
    SetConsoleOutputCP(CP_UTF8);
    // 转义字符:将普通的字符使用\作为开头,将其含义进行转换,
    //对照得到ASCII表的控制字符的功能
    // \n 换行 \t 制表符  \\ 表示一个反斜杠本身  \' 表示单引号  \" 表示双引号
    cout << "你好呀 \n 我喜欢你" << endl;
    cout << "---------" << endl;

    // \t制表符演示, 效果等同于键盘的tab键,一个\t可以补充到8个字符位
    cout << "hello\titheima" << endl;
    cout << "a\titcast" << endl;
    cout << "---------" << endl;

    // 当你需要打印\本身 需要\\
    cout << "\\" << endl;

    // 如果要打印双引号和单引号,需要 \"  \'  来转义,是反向转义,
    //将双引号和单引号的特殊效果消除
    cout << "\"   \'" << endl;

    return 0;

 在C++中使用字符串的方式有多种

char s[]="abc";字符数组模式,不可更改变量值
char *s="abc"; 指针模式
string s="abc"; string类型模式

布尔型:

布尔类型的字面量仅仅有两个:

true:表示真(本质上是数字1)

false: 表示假(本质上是数字0)

如何控制cout输出小数格式

cout.width(20);设置显示宽度、设置小数显示
cout<< fixed;设置小数显示

  • 35
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值