一、学习目标
if语句在C语言中用于判断条件是否成立从而运行一部分代码,我们使用一个简单的例子介绍if语句的使用方法:
那如何使if的条件判断不成立时有一个提示?这时可以使用else语句,else语句在条件不成立时将会执行else语句内的代码,else语句的内容也是在花括号内编写,不过这个花括号是在else这个关键字(关键字指C语言中已有特殊功能的标志,如int、if、float等)后 代码如下:
以上学习的if只能判断一个条件,若我需要判断多个条件该怎么办?这时可以使用逻辑运算符。例如当a等于1或2时表示天气下雨和刮风,我则不去跑步,当a等于3或者4时则表示需要上学和补课,当a等于其它值是则可以去跑步。 首先我们使用简单的if语句了解一下逻辑运算符。代码如下:
以上我们介绍了逻辑运算符或(||),使用或运算符只需要左右两边有一个表达式正确则左右两边整体的值为正确。在C语言中正确我们可以使用一个标识表示。这个标识为TRUE。 这一小节我们将学习需要表达式两边都正确整体的值才为正确的运算符“与”,与运算使用运算符&&。我们修改上一小节的程序,修改后代码如下:
- 了解逻辑判断的概念
- 了解if语句的使用方法
- 了解switch语句的使用方法
- 了解逻辑运算符的使用方法
if语句在C语言中用于判断条件是否成立从而运行一部分代码,我们使用一个简单的例子介绍if语句的使用方法:
#includevoid main(){ int a=1; if(a==1){ printf("变量a的值等于1"); } }
以上代码创建了一个变量a赋值为1。之后使用了if语句判断a是否等于1,判断正确则执行语句
printf("变量a的值等于1");
,条件判断不成立则不执行
printf("变量a的值等于1");
。
从以上示例可以看出if语句判断一个条件,这个条件编写于if之后的圆括号内;以上示例的条件为a==1;在C语言中判断两个值是否相等使用两个等于号 ==,在条件的圆括号后使用一对花括号{},在花括号内编写条件判断正确后需要执行的代码。
运行结果如下:
printf("变量a的值等于1");
。修改后的代码如下:
#includevoid main(){ int a=2; if(a==1){ printf("变量a的值等于1"); } }
运行结果如下:
printf("变量a的值等于1");
。那如何使if的条件判断不成立时有一个提示?这时可以使用else语句,else语句在条件不成立时将会执行else语句内的代码,else语句的内容也是在花括号内编写,不过这个花括号是在else这个关键字(关键字指C语言中已有特殊功能的标志,如int、if、float等)后 代码如下:
#includevoid main(){ int a=2; if(a==1){ printf("变量a的值等于1"); } else{ printf("变量a的值不等于1"); }}
以上代码在if语句的花括号后“无缝连接”了一个else关键字。在else关键字后有一对花括号,在该花括号内编写a不等于1时所需要的提示语句即可。
运行结果如下:
#includevoid main(){int a=2;if(a==1){printf("哈哈哈");} else if(a==2){printf("嘿嘿嘿");} else if(a==3){printf("呀呀呀");}else{printf("我都没猜对");} }
以上代码在if之后的else关键字后添加了if(注意if前面有个空格),随后一个圆括号,圆括号内编写其它条件,满足则会执行当前else if 语句的花括号内的代码,当所有条件都不对的时候,执行else语句,也是在最末位的语句。
运行结果如下:
#includevoid main(){int a=22;if(a==1){printf("哈哈哈");} else if(a==2){printf("嘿嘿嘿");} else if(a==3){printf("呀呀呀");}else{printf("我都没猜对,其实a的值%d",a);} }
结果如下:
以上学习的if只能判断一个条件,若我需要判断多个条件该怎么办?这时可以使用逻辑运算符。例如当a等于1或2时表示天气下雨和刮风,我则不去跑步,当a等于3或者4时则表示需要上学和补课,当a等于其它值是则可以去跑步。 首先我们使用简单的if语句了解一下逻辑运算符。代码如下:
#includevoid main(){ int a=1; if(a==1||a==2){ printf("天气正在下雨或刮风");}
以上代码着重关注if语句的条件
a==1||a==2
,其中使用的“||”为逻辑运算符“或”运算。或运算表示两个表达式(表达式指是由数字、算符、数字分组符号等可以求得一个值的组合)的值有一个正确,那么或运算符(||)左右两边整体的值则为正确。当前或运算符左边为a
1,右边为a
2,只要满足其中一个则会执行
printf("天气正在下雨或刮风");
。
运行结果如下:
#includevoid main(){int a=4;if(a==1||a==2){printf("天气正在下雨或刮风");} else if(a==3||a==4){printf("我要去上学或者补课");}else{printf("我要去跑步");}}
结果如下:
以上我们介绍了逻辑运算符或(||),使用或运算符只需要左右两边有一个表达式正确则左右两边整体的值为正确。在C语言中正确我们可以使用一个标识表示。这个标识为TRUE。 这一小节我们将学习需要表达式两边都正确整体的值才为正确的运算符“与”,与运算使用运算符&&。我们修改上一小节的程序,修改后代码如下:
#includevoid main(){int a=4;if(a==1&&a<5){printf("天气正在下雨或刮风");} else if(a==3||a==4){printf("我要去上学或者补课");}else{printf("我要去跑步");}}
以上代码if后的条件为
a==1&&a<5
,中间的运算符更改为了&&,&&表示左右两边表达式均正确,当前运算才为正确。很明显a等于,不满足第一个条件,满足
a==3||a==4
条件,则会执行代码
printf("我要去上学或者补课");
。
运行结果如下
:
printf("天气正在下雨或刮风");
。(虽然a等于1的时候肯定小于5,这里只是作为演示)
代码如下:
#includevoid main(){ int a=1; if(a==1&&a<5){ printf("天气正在下雨或刮风"); } else if(a==3||a==4){ printf("我要去上学或者补课"); }else{ printf("我要去跑步"); }}
结果如下:
switch(变量){ case 值: //代码内容 break;//break是跳出作用,不像if只执行一处,如果不加break会执行下一句 case 值: //代码内容 break;//break是跳出作用,不像if只执行一处,如果不加break会执行下一句 case 值: //代码内容 break;//break是跳出作用,不像if只执行一处,如果不加break会执行下一句 default: //代码内容 }
switch是关键字,后接一个圆括号,圆括号内传入一个变量;在switch圆括号后使用一对花括号,花括号内为switch语句的内容。使用case关键字后接一个值,假设switch传入的变量值为1,则跳转到case 1:后执行冒号后的代码,在代码的最后一行使用break关键字跳出。(break的作用为跳出)如不加break则会执行按顺序往下的case内容。
先看一示例代码:
#includevoid main() {int a=1;switch(a){ case 1: printf("选择的是夫妻肺片"); break; case 2: printf("选择的是肠粉"); break; case 3: printf("选择的是口水虾"); break; case 4: printf("选择的是濑尿虾"); break; case 5: printf("选择的是炸蝗虫"); break; default: printf("没有这个菜单"); }}
以上代码中a的值等于1,switch传入一个a作为条件,a为1则跳转到case 1处执行冒号后的代码
printf("选择的是夫妻肺片");
。
运行结果如下:
break;
看看是否会继续执行下一个case 2:的内容。
代码如下:
#includevoid main() {int a=1;switch(a){ case 1: printf("选择的是夫妻肺片"); case 2: printf("选择的是肠粉"); case 3: printf("选择的是口水虾"); break; case 4: printf("选择的是濑尿虾"); break; case 5: printf("选择的是炸蝗虫"); break; default: printf("没有这个菜单"); }}
结果如下:
#includevoid main() { int a=1; switch(a){ case 1: printf("选择的是夫妻肺片\n"); case 2: printf("选择的是肠粉\n"); case 3: printf("选择的是口水虾\n"); break; case 4: printf("选择的是濑尿虾\n"); break; case 5: printf("选择的是炸蝗虫\n"); break; default: printf("没有这个菜单\n"); }}
以上程序在printf中添加了\n,\n的作用是换行,输出显示时并不会输出\n。
运行结果如下:
- 了解了if语句if…else语句以及if…elseif…语句的使用方法
- 了解switch语句的使用方法
- 了解switch语句中break的作用
- 了解了逻辑运算符或“||”用于判断条件成立1边则为正确
- 了解了逻辑运算符或“&&”用于判断条件均成立则为正确
![28c7f41d6b09d3109e0a26203e6ffba6.png](https://img-blog.csdnimg.cn/img_convert/28c7f41d6b09d3109e0a26203e6ffba6.png)