【C++基础语法】判断(一)

1.关系运算符

判断的标准要有对错,bool 1字节 取值很简单:只有对错 真假、true|false

ps:易犯错误 == 才表示比较 ,偶尔会写成 = 

 bool:bA1 = true;只要不为零 就是真 包括负数;

   bool bA{ bool(100) };
   int nA{ bA };

   std::cout << nA << char(10);

nA 等于1;原因很简单bool的值只有0 和 1 ;但是赋值的时候可以用正数负数赋值。 

#include <iostream>

int main()
{
    int a{ 500 };
    int b{ 1000 };
    //bool c = a == b;//false true
    //std::cout << c << std::endl;


    std::cout << std::boolalpha;
    bool bA{ bool(100) };
    int nA{ bA };
    std::cout << (a == b);

    std::cout << nA << char(10);

    return 0;
}

ps:如果正常的用关系运算符比较A == B结果是true或者false;但是如果手滑写成了A = B 那么结果是true还是false呢? 见if章

2.if

 遇到分号 ; 结束

#include <iostream>

int main()
{
	int a{ 5000 };
	int b{ 10000 };
	if (a == b) std::cout << "一样有钱" << std::endl;
	if (a = b) std::cout << "一样有钱" << std::endl;

	return 0;

}

 if(a= b) 和a无关系 a = b 是一种运算,做完赋值运算 再做布尔运算;所以if(a=b) 本质上就等于 if(b);b等于多少就是多少,b =0就是false b = 1就是true;就是看b的值

3.if...else...

 

 

else 就近 和 if 在一起 

看一下只用if

#include <iostream>

int main()
{
    char c;
    std::cout << "请输入一个字符:" << std::endl;
    std::cin >> c;
    if (c >= 48) {
        if (c <= 57) printf("你输入的是一个数字");
        if (c >= 65)
        {
            if (c <= 90) {
                std::cout << "这是一个大写字母" << "转换为小写字母后" << (char)(c + 32) << std::endl;
            }
        }
        if (c >= 97)
        {
        
            if (c <= 122) {
            std::cout << "这是一个小写字母" << "转换为大写字母后" << (char)(c - 32) << std::endl;
            }

        }
    }
    return 0;
}

把可删的大括号删去后 

#include <iostream>

int main()
{
    char c;
    std::cout << "请输入一个字符:" << std::endl;
    std::cin >> c;

    if (c >= 48) {

        if (c <= 57) printf("\n你输入的是一个数字");

        if (c >= 65)
            if (c <= 90) 
                std::cout << "\n这是一个大写字母" << "转换为小写字母后" << (char)(c + 32) << std::endl;
            
        if (c >= 97)
            if (c <= 122) 
            std::cout << "\n这是一个小写字母" << "转换为大写字母后" << (char)(c - 32) << std::endl;   
    }
    return 0;
}

 4.逻辑运算符

一元运算符大于二元运算符、位运算符大于逻辑运算符、

~ 和 ! 是平级的 因为都是一元运算符, 与运算大于或运算 & > | 、 && > ||

#include <iostream>

int main()
{
    char c;
    std::cout << "请输入一个字符:" << std::endl;
    std::cin >> c;

    if (c >= 48 && c <= 57) 
         printf("\n你输入的是一个数字");

    if (c >= 65 && c <= 90) 
         std::cout << "\n这是一个大写字母" << "转换为小写字母后" << (char)(c + 32) << std::endl;
            
    if (c >= 97 && c <= 122)
         std::cout << "\n这是一个小写字母" << "转换为大写字母后" << (char)(c - 32) << std::endl;   
    
    return 0;
}

逻辑运算符&& 要求两边的操作符都是bool值

 思考一下;下面代码是否有区别

if(a^b) 等价于什么? 

 异或要为真的话  一方为真一方为假才可以

  5.条件运算符(三元运算符)

 优先级最低,因为是三元运算符

避免除数为0的写法 

#include <iostream>

int main()
{
    int cs;
    std::cout << "请输入一个整数,我们将为你计算这个1万除以这个数以后的结果:" << std::endl;
    std::cin >> cs;
    int end = cs ? (10000 / cs) : 0; 

    std::cout << end;

    return 0;
}

  5.字符处理

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

康康今天学习了么

你的鼓励将是我创作的最大动力

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

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

打赏作者

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

抵扣说明:

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

余额充值