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

2023-10-16 16:44:49 浏览数 (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

条件表达式返回值

条件语句C 实现

C 有以下条件语句:

使用if指定的代码块将被执行,如果一个指定的条件是真 使用else指定的代码块将被执行,如果相同的条件为假 使用else if指定一个新的条件测试,如果第一个条件为假 使用switch指定的代码许多替代块被执行

单if语句
代码语言:javascript复制
#include <iostream>
using namespace std;
int main()
{
    if (2023 > 2020)
    {
        cout << "2023大于2020!";
    }
    return 0;
}
题目描述 判断奇数还是偶数
代码语言:javascript复制
#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");
	}
}
题目描述 判断是否及格
代码语言:javascript复制
#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
代码语言:javascript复制
#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语句
连续if与if else的差别

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

题目描述 输出绝对值

题目描述 输入一个浮点数,输出这个浮点数的绝对值。

输入 输入一个浮点数,其绝对值不超过10000。 输出 输出这个浮点数的绝对值,保留到小数点后两位。 样例输入 -3.14 样例输出 3.14

代码语言:javascript复制
#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;
}
逻辑运算符

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

逻辑与 && 逻辑或 || 逻辑非 !

题目描述 判断程序的输出
代码语言:javascript复制
#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;
}
题目描述 真值表判断
题目描述 判断整数能否同时被4和6整除,既能否同时把4和6整除

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

输入 输入一个整数 输出 yes 或者 no。 样例输入 12 样例输出 yes

代码语言:javascript复制
#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

代码语言:javascript复制
#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;
}
运算符顺序:

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

代码语言:javascript复制
#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语句,并介绍了逻辑运算符的相关案例练习。

0 人点赞