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

35 篇文章 9 订阅


注意:这是第二讲,第一讲请访问: 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 <iostream>
using namespace std;

int main()
{
    char letter;
    letter = 'A';
    cout << letter << endl;
    letter = 'B';
    cout << letter << endl;
    return 0;
}

字符串:string

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

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

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字符串

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

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

  • 3
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

YoungGeeker

你的鼓励是我最大的动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值