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语句,并介绍了逻辑运算符的相关案例练习。