C++004-C++选择与分支1

简介: C++004-C++选择与分支1

C++004-C++选择与分支1


无论使用何种编程语言,都含有程序设计的三大经典结构。即:


顺序结构

条件结构

循环结构


顺序结构:就是一条大路走到底,没有岔路口,一步步从上往下执行即可。


条件结构,也叫选择结构,就像走到了一个岔路口,或超市里购买不同品牌的同类商品。需要根据条件判断选择执行那一部分或那些代码。

简单条件结构一般条件结构多重条件结构switch条件结构嵌套条件结构关键词:if、else、else if、switch、case、default、break等。


循环结构,也叫重复结构,就像太阳每天升起落下,马路上奔跑的汽车(飞速旋转的轮子)等。


条件表达式


条件表达式

C++ 支持数学中常见的逻辑条件:


小于:a < b

小于或等于:a <= b

大于:a > b

大于或等于:a >= b

等于a == b

不等于:a != b


条件表达式返回值


ca519fa627d65aa4ea6e6cf736d634d1_077caaf1fe94412e8ce68b93c1f27b32.png


条件语句C++实现


C++ 有以下条件语句:


使用if指定的代码块将被执行,如果一个指定的条件是真

使用else指定的代码块将被执行,如果相同的条件为假

使用else if指定一个新的条件测试,如果第一个条件为假

使用switch指定的代码许多替代块被执行


单if语句


4cebb1c37f4ce79c215f6c2e4aedf89e_4ace0e44607c430da23cdbe2a2a6a20c.png

#include <iostream>
using namespace std;
int main()
{
    if (2023 > 2020)
    {
        cout << "2023大于2020!";
    }
    return 0;
}

题目描述 判断奇数还是偶数


f29feda1e17c4a8b5414f4da3f00bc5d_a24245d31a5c44be9511c74335f8b037.png

#include <iostream>
using namespace std;
//#include<cstdio>
int main(){
  long long a;
  scanf("%d",&a);
  if(a%2==0){ // 20为even 
    printf("even");
  }else{ //15 为odd 
    printf("odd");
  }
}

题目描述 判断是否及格


898dfe511d5034f98f15008de0f2cc62_70dccf524b714d6cbeb96e17fea86385.png

#include <iostream>
using namespace std;
int main(){
  int a;
  cin>>a;
  if(a>=60){ //61
    cout<<"Yes"<<endl;
  }
  if(a<60){ // 59
    cout<<"No"<<endl;
  }
  return 0;
}

题目描述 判断是否为0

#include <iostream>
using namespace std;
int main(){
  int a;
  cin>>a;
  //if(a=0){ //0 注意这里是赋值 不是条件
  if(a==0){ //0
    cout<<"Yes"<<endl;
  }
  if(a!=0){ // 59
    cout<<"No"<<endl;
  }
  return 0;
}

if else语句

752b2dcfef46fa92f73464b338b683a3_de48884de16742eda96b79f606d1eaa8.png


连续if与if else的差别

9a4db4bff6c8cb6af46aaedb863a8da0_48d32a270f97458a8bf08ce68775a696.png

单分支:顺序执行

双分支:二选一本质不一样。尽管有时候顺序判断多个条件也是只有一个条件为真,但在某些情况下如果条件太多,容易出现漏洞。


题目描述 输出绝对值

题目描述

输入一个浮点数,输出这个浮点数的绝对值。


输入

输入一个浮点数,其绝对值不超过10000。

输出

输出这个浮点数的绝对值,保留到小数点后两位。

样例输入

-3.14

样例输出

3.14


#include<iostream>
#include<iomanip>
using namespace std;
int main()
{
   double n,a;
   cin>>n;
   a=-n;
   if(-10000<=n<=10000)
   {
       if(n<0)
       {
           cout<<fixed<<setprecision(2)<<a<<endl;
       }
       else
       {
           cout<<fixed<<setprecision(2)<<n<<endl;
       }
   }
   return 0;
}

逻辑运算符

逻辑运算符用来对关系表达式进行运算和链接,包括


逻辑与 &&

逻辑或 ||

逻辑非 !


题目描述 判断程序的输出

#include<iostream>
using namespace std;
int main()
{
   cout<< (5>3) <<endl; // 输出为 1 
   cout<<(5>3>2) <<endl; //输出为 0 因为从左到右  1>2为错的
   cout<<(5>3 && 3>2) <<endl; // 输出为1 关系表达式要用逻辑运算
   return 0;
}

题目描述 真值表判断

9ed5b80d6f0393a34ecd7e658c172c72_7528cb220dc448c6b911f27ddc5973d4.png


cef3ae28ea0d787988f78babed1e49dc_c3df211576354824a2abc130a833ce83.png


题目描述 判断整数能否同时被4和6整除,既能否同时把4和6整除

题目描述

输入一个整数,判断整数能否同时被4和6整除。如果能,输出yes,不能输出no


输入

输入一个整数

输出

yes 或者 no。

样例输入

12

样例输出

yes


#include<iostream>
using namespace std;
int main()
{
    int a;
    cin >> a;
    if(a%4==0 && a%6==0){ //12
        cout<< "yes" <<endl;
    }
    else{ // 10
        cout<< "no" <<endl;
    }
   return 0;
}

题目描述 判断整数能否被4或6整除

题目描述

输入一个整数,判断整数能否被4或6整除。如果能,输出yes,不能输出no


输入

输入一个整数

输出

yes 或者 no。

样例输入

12

样例输出

yes

#include<iostream>
using namespace std;
int main()
{
    int a;
    cin >> a;
    if(a%4==0 || a%6==0){ //12
        cout<< "yes" <<endl;
    }
    else{ // 5
        cout<< "no" <<endl;
    }
   return 0;
}

运算符顺序:

逻辑非 > 算术 > 关系 > 逻辑与 > 逻辑或 > 赋值


#include<iostream>
using namespace std;
int main()
{
    int i = 0;
    if ( i++ <= 0 )// 输出 i++ True
        cout<<"i++ True"<<endl;
    else
        cout<<"i++ False"<<endl;
    cout<<"$$$$$$$$$$$"<<endl;
    int n = 0;
    if ( ++n <= 0 )// 输出 ++n False
        cout<<"++n True"<<endl;
    else
        cout<<"++n False"<<endl;
    cout<<"$$$$$$$$$$$"<<endl;
    return 0;
}


总结


本系列为C++学习系列,会介绍C++基础语法,基础算法与数据结构的相关内容。本文为C++条件表达式,与条件语句实现,包括if和if else语句,并介绍了逻辑运算符的相关案例练习。

相关文章
|
6月前
|
存储 算法 编译器
|
5月前
|
C++
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
c++primer plus 6 读书笔记 第六章 分支语句和逻辑运算符
|
6月前
|
存储 安全 编译器
【C++从练气到飞升】03---C++入门(三)
【C++从练气到飞升】03---C++入门(三)
|
6月前
|
Unix 编译器 C语言
【C++从练气到飞升】01---C++入门(一)
【C++从练气到飞升】01---C++入门(一)
|
6月前
|
存储 自然语言处理 编译器
【C++从练气到飞升】02---C++入门(二)
【C++从练气到飞升】02---C++入门(二)
|
6月前
|
算法 C++
C++009-C++循环结构while
C++009-C++循环结构while
|
6月前
|
算法 C++
C++021-C++二分查找
C++021-C++二分查找
C++021-C++二分查找
|
6月前
|
算法 C++
C++020-C++因数,公因数,公倍数
C++020-C++因数,公因数,公倍数
C++020-C++因数,公因数,公倍数
|
6月前
|
算法 C++
C++019-C++暴力枚举
C++019-C++暴力枚举
C++019-C++暴力枚举
|
6月前
|
机器学习/深度学习 算法 搜索推荐
C++018-C++桶排序及其应用
C++018-C++桶排序及其应用
C++018-C++桶排序及其应用