• C++入门教程(二、基本数据类型)



    注意:这是第二讲,第一讲请访问: C++入门教程(一、初步了解)

    基本数据类型

    定义规则

    C++的变量、数组、函数等数据定义规则和C语言一样,都是 datatype xxx 这样的结构。其中 datatypeintlong longfloatdoubleboolcharstring(C++特有)以及自定义的数据类型(结构体,后面再说)。变量的 datatype 理解起来很简单,就是变量是怎么样的,就是什么类型。至于数组的 datatype ,那就是数组里面的每个元素是什么 datatype ,数组就是什么 datatype 。数组的命名规则是:datatype xxx[size] 。其中 size 代表数组的大小。注意 size 不能使用科学计数法,比如 1e7 ,这是因为这些数都是双精度浮点数( double )类型的。函数的事我们放在后面说。

    整数类型:int

    C++的整数类型使用的 datatypeint 。比如定义一个名称为 a ,大小为1000的 int 类型数组:int a[1000];

    单精度浮点数类型:float

    doublefloat 同可以表示小数,具体定义规则不再赘述。但有人可能要问了,floatdouble 有什么区别?其实 double 的精度是 float 的2倍。float 是32位IEEE 754单精度浮点数1位符号(8位为指数,23为值),即 float 具有7位十进制数字精度。double 是64位的IEEE 754双精度浮点数(符号1位,指数11位,值52位),即 double 具有15位十进制数字的精度。

    双精度浮点数类型:double

    double 由于精度高一些,所以在同可以使用 floatdouble 的时候,建议选择 double 类型。

    布尔类型:bool

    布尔类型只有两种可能:true(真)和 false(假)。也可以用数字表示:1(真)和 0(假)。一般用于判断。

    字符:char

    最简单的字符数据类型是 char 数据类型。该类型的变量只能容纳一个字符,而且在大多数系统上,只使用一个字节的内存。以下示例即声明了一个名为 letterchar 变量。请注意,这里的字符常数就是赋给变量的值,要用单引号括起来。

    #include 
    using namespace std;
    
    int main()
    {
        char letter;
        letter = 'A';
        cout << letter << endl;
        letter = 'B';
        cout << letter << endl;
        return 0;
    }
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12

    字符串:string

    使用C++中的 string 类型,需要引入 string 库:#include 。对位和对串操作其实很简单,只需要使用数组的访问方式就可以了:

    string s = "abcdef";
    cout << s[0] << endl;
    
    • 1
    • 2

    string 还有许多内置的函数,例如:

    string s = "a";
    s.append(2,'b'); //s.append(n,c); 在s串后面加入n个c字符(append还有其他用法,详情可百度)
    s.erase(s.begin(),s.begin()+2); //s.erase(l,r); 删除某个区间,l,r都为迭代器
    s.erase(it); //删除一个字符,it为迭代器
    s.size(); //返回字符串s的长度大小
    s.begin(); //返回首位置的迭代器
    s.end();//返回末位置的迭代器
    s.insert(it,ch); //在it位置插入ch字符,it为迭代器
    s.resize(len,c); //把字符串当前大小置为len,并用c填充不足的部分
    s.empty(); //判断是否为空串
    s.length(); //返回字符串的长度
    s.max_size(); //返回当前系统string对象可存放的最大长度
    s.capacity(); //返回当前容量
    s.at(k); //返回第k+1个字符(该用法会坚持是否越界)
    s.c_str(); //返回C字符串的指针,内容为s串
    s.find(s1); //查找s中是否包含s1,并返回头位置,找不到则返回string::npos
    s.replace(k,x,ch); //从k位置开始,把后面的x个元素替换为ch(还有很多其他用法)
    s.swap(s2); //交换两个string字符串
    
    • 1
    • 2
    • 3
    • 4
    • 5
    • 6
    • 7
    • 8
    • 9
    • 10
    • 11
    • 12
    • 13
    • 14
    • 15
    • 16
    • 17
    • 18

    string 的用法还有很多,如果大家支持我,我后面还会专门出一期讲解字符串的博客。

    以上就是我为大家带来的“C++入门教程(二、基本数据类型)”,大家学会了吗?

  • 相关阅读:
    ConcurrentHashMap底层源码分析
    [Redis]Zset类型
    【基于FreeRTOS的STM32F103系统】移动底盘程序优化
    月薪近万,工地转行测试,这一次的选择,真正实现了薪资翻倍~
    爬虫常用笔记总结
    20220929-ArrayList扩容机制源码分析
    函数相关概念
    一些安全相关的命令
    【毕业设计项目】基于单片机的手势识别设计与实现 - 物联网 嵌入式 stm32 c51
    数据结构系列——先进先出队列queue
  • 原文地址:https://blog.csdn.net/weixin_59197425/article/details/125909118