【C++】逻辑与其他类型

if语句

if (condition1) 
{
    // 当条件1为真时执行的代码
} 
else if (condition2) 
{
    // 当条件1为假且条件2为真时执行的代码
} 
else 
{
    // 当所有条件都为假时执行的代码
}

只有一行代码可以省略大括号

if (condition1) 
    x = 1

bool类型

bool类型的内存大小由实现定义,默认为1字节大小

在bool类型中,非零就是真
即非零值都会被bool转换为1

算数运算符

逐位非 ~

对一个整数的二进制每一位进行取反操作,即把每一位上的0变成1,把1变成0

逐位与 &

只有当两个操作数的对应位都为1时,结果才为1,否则为0

逐位或 |

只要两个操作数的对应位中有一个为1,结果就为1;只有当两个对应位都为0时,结果才为0

逻辑运算符

非(not)

与(and)

或(or)

当两个操作数中至少有一个为true时,结果为true
只有当两个操作数都为false时,结果才为false

字符串和字符

string是一个非常重要的数据类型,用于表示和操作可变长度的字符序列。

要想使用string就要先调用头文件

#include <string>

string类型支持打印

与变量不同的是,string字符串默认可以是空串

在字符串中,每一个字符都是char类型
字符串字面量const char *
字符串字面量由多个char组成

字符串结束用/0告诉内存该字符串的结束

字符串长度

str.size()方法测试字符串长度

该长度是字符串的长度,而不是占用内存的长度,占用内存中还有/0

str.capacity()方法查看占用字节数

但要注意的是字符数据本身仍然占用9个字节(对于"123456789"),但std::string对象还有额外的开销用于存储这些元数据。具体的内存占用取决于实现,但通常会比单纯的字符数组多一些

截断字符串

截断字符串用str.substr()方法

使用语法为substr(截断初始下标,截取长度)

字符串的空串判断

str1.empty()方法,空则返回1,不空则返回0

或者用str.size()看长度,如果为0就空

字符串和数字的转换

stoi()方法将字符串转化为int类型数字

stod()方法将字符串转化为double类型数字

同理其他数值类型也可以转换

to_string方法将数字转化为字符串

拼接字符串

"字符串"+"字符串"

查找替换字符串

字符串可以直接用==

在一堆字符串中查找使用.find()方法

如果找到子字符串或字符,返回其在原字符串中的第一个出现位置的索引。
如果未找到,返回 std::string::npos

在一堆字符串中替换使用.replace()方法

C++11之前的枚举类型

枚举类型的好处:支持switch语法,在特定场景性能高

定义声明方法
enum 枚举类型名
{
  枚举值1,
  枚举值2,
  ......
  枚举值5
}

注意!!!逗号要是英文的

如果不给枚举赋值,则默认从0开始,后边依次加1

赋值了后边的也是依次加1

访问方法:可直接访问

使用枚举类型

可直接使用名称

也可以使用在枚举类型中的值

C++11之后的枚举类型

在定义声明方面有所不同

enum class 枚举类型名
{
  枚举值1,
  枚举值2,
  ......
  枚举值5
}
访问方法

无法直接访问了

需要使用作用域限定进行访问

这有效防止了全局的命名冲突,以免多个枚举中存在同名时的报错

使用方法

不能用int类型来使用了。

类型是强类型,不能随便转换,要转换也是代码进行强制转换,更加安全了

枚举值的比较

枚举类型之间可以用来比较大小,比较的值就是枚举值

main函数参数传递和环境变量获取

int argc:argc是一个整数,表示命令行参数的个数。

char *argv[]:argv是一个字符指针数组,存储命令行传递给程序的所有参数。

int argc:它的值至少为1,因为程序本身的名称也被视为一个参数。

char *argv[]:argv[0]通常是程序的名称,而argv[1]到argv[argc-1]是程序接收的额外参数。

项目属性中传参

在项目属性中设置main函数的参数

此时argc的数量变为4

PowerShell控制台传参

进入文件如下路径

打开PowerShell控制台

然后输入指令添加参数

普通控制台传参

win + R + cmd指令打开控制台

进入路径

然后输入指令添加参数

char *env[]:一个字符指针数组,存储程序运行时的环境变量。

char *env[]:每个元素都是一个以 \0 结尾的字符串,格式为 key=value。
环境变量用于定义程序的运行环境,通常包括路径设置、用户信息、终端设置等。

switch语句

C++11以上版本switch语句和if语句对比

基本语法

switch (初始条件) {
    case 条件1:
        // 当 初始条件 == 条件1 时执行
        break;
    case 条件2:
        // 当 初始条件 == 条件2 时执行
        break;
    // 可以有任意多个 case
    default:
        // 当 初始条件 不匹配任何 case 时执行
        break;
}

记住不要忘记输入break否则会一直运行到结束

在枚举类型中的应用

posted @ 2025-04-11 11:33  plusu  阅读(17)  评论(0)    收藏  举报