C语言项目2 if switch语句
三、相关知识
(一) 关系运算符与关系表达式 1. 关系运算符及优先级 < (小于) > (大于) 优先级相同(高) < = (小于或等于) >= (大于或等于) == (等于) 优先级相同(低) != (不等于) 1)前4种运算符(<,<=,>,>=) 优先级相同,后两种也相同。前4种 高于后2种。 (2)关系运算符的优先级低于算术 运算符。 (3)关系运算符的优先级高于赋值 运算符。
方法二:
方法二:首先判断输入的成绩是否合法,不合法的话,输出“输入的成绩不合法” 的提示信息;合法的话再判断成绩是否大于等于90分,若是的话,将变量y赋好相 应的值;否则再判断成绩是否大于等于80分,是的话,将变量y赋好相应的值;否 则再判断成绩是否大于等于70分,是的话,将变量y赋好相应的值等等。 #include "stdio.h" main() { float x; char y; printf("请输入1-100内的一个成绩"); scanf("%f",&x); if(x<=100&&x>= 0) {if(x>=90) y='A'; else if(x>=80) y='B'; else if(x>=70) y='C'; else if(x>=60) y='D'; else y='E'; printf("该学生的等级为%c\n",y);} else printf("输入的学生成绩不合法\n"); }
2. 关系表达式 用关系运算符将两个表达式连接起来的式子,称为关系表达式。 例如:a>b,a!=b,a+b>a+c,’a‟>‟b‟ 关系表达式的值是一个逻辑值,即“真”或“假”,在C语言中用1代表“真”,以0 代表“假”。 【例如】若a=1,b=4,则: (1)a>b的值为0。因为a=1,b=4,所以a>b的值为假,即表达式a>b的值为0。 (2)a!=b的值为1。 (3)a==b>=0的值为1。因为“>=”优先级比“==”的优先级要高,所以b>=0先做,结果为1; 再做==运算符,a==1成立,所以整个表达式的值为1。 (4)b>=0==a的值为1。
同样地,语句组1和语句组2的语句不止一句时,要用{ }将语句组括起来,作为 一个复合语句。 【例如】若a=3,b=4,c=5, 执行语句 if(a<b){t=a;a=b;b=t;} else {t=a;a=c;c=t;}后a、b、c的值分别为4,3,5。
【例2-1】输入任意三个整数a、b、c,输出其中最小的数。
a 真 真 假 假 b 真 假 真 假 !a 假 假 真 真 !b 假 真 假 真 a&&b 真 假 假 假 a||b 真 真 真 假
2. 逻辑表达式
逻辑表达式的值是一个逻辑值,即“真”或“假”, C语言编译系统在给出运算 结果中,以数值1代表“真”,以0代表“假”,但在判断一个量是否为“真”时,以 0代表“假”,以非0代表“真”。在C语言中一共只有4个0,分别是:0(整数0)、 0.0(实数0)、‘\0‟(字符0)和NULL(符号常量0)。 【例如】 若a=2,b=4,则a&&b的值为1。因为a,b的值均为非0,被认为是“真”,因此 a&&b的值为“真”,表达式a&&b的值为1。 若x=5,则x>=0&&x<10的值为1。因为“>=”和“<”的优先级比“&&”的优先级高, 先算x>=0和x<10表达式,结果都为1,而1&&1的结果为1,因此x>=0&&x<10的值 为1。 若x=5,则x>=0&&x<3的值为0, 表达式x>=0的结果为1,表达式x<3的结果为0, 1&&0的结果为0。 若x=5,则x>=0||x<3的值为1,因为1||0的结果为1。 若x=5,则!(x>=0||x<3)的值为0。
【例2-2】 输入一个年份,判断它是否是闰年。
某一年是闰年的条件是:能被4整除并且不能被100整除,或者能被400整除的年份是 闰年。写成表达式是year%4==0&&year%100!=0||year%400==0。 方法一:先设一个变量t=0,然后判断 该年份是否满足闰年的条件,满足的话 将t的值修改为1,然后我们可以根据t 的值来判断该年是否是闰年,t为0的话 不是闰年,t为1的话是闰年。 #include "stdio.h" main( ) {int year,t=0; printf("请输入年份"); scanf("%d",&year); if(year%4==0&&year%100!=0||year% 400==0) t=1; if(t==0) printf("%d年不是闰年 \n",year); if(t==1) printf("%d年是闰年 \n",year);} 方法二:判断该年份是否满足闰年的条 件,满足的话输出是闰年的提示信息, 否则输出不是闰年的提示信息。 #include "stdio.h" main( ) { int year,t; printf("请输入年份"); scanf("%d",&year); if(year%4==0&&year%100!=0||year %400==0) printf("%d年是闰年\n",year); else printf("%d年不是闰年\n",year); }
项目二 输入学生成绩转化为等级
项目要求 一个班进行了一次考试,教师打的是百分制成绩,现在学校要求打五 级制,即90~100 分的转变为A,80~89 的转变为 B,70~79的转变为C, 60~69的转变为D,60以下的转变为E。 项目分析 要完成对成绩的转换输出,第一步必须要对输入的成绩是否合法作一个判 断,因为是百分制,所以0-100分都是合法的,此范围外输入的成绩是有问题 的;第二步对输入的合法成绩转换成相应的等级。因此,将这个项目分解成二 个任务来完成。任务一是输入学生成绩,判断其合法性;任务二是输入学生成 绩转化为等级。
任务2 输入学生成绩转化为等级
一、任务提出 输入一个学生的成绩,若是合法成绩,则输出相应的等级,否则输出不合法的提示 信息。 方法一:首先判断输入的成绩是否合法,不合法的话,输出“输入的成绩不合法” 的提示信息;合法的话再判断成绩是否在90分到100分之间,是的话,将变量y赋好 相应的值;同样再判断成绩是否在80分到90分之间,是的话,将变量y赋好相应的 值等等。 参考程序: #include "stdio.h" main() {float x; char y; printf("请输入1-100内的一个成绩"); scanf("%f",&x); if( x>=0 && x<=100 ) {if(x>=90 && x<=100) y='A'; if(x>=80 && x<90) y='B'; if(x>=70 && x<80) y='C'; if(x>=60 && x<70) y='D'; if(x>=0 && x<60) y='E'; printf("该学生的等级为%c\n",y);} else printf("输入的学生成绩不合法\n");}
(二) 逻辑运算符与逻辑表达式
1. 逻辑运算符及优先级
&& 逻辑与 || 逻辑或 ! 逻辑非
优先级低
优先级高 例如:10岁以下的小孩而且是女的 例如:10岁以下的小孩或者是女的
Байду номын сангаас
其中“&&”相当于而且,要求有两个运算 量 。 “||”相当于或者,要求有两个运算量。
“!”相当于否定 。 除了10岁以下的女小孩。 优先级:“!”运算符高于算术运算符,关系运算符高于逻辑运算符 逻辑运算符的“真值表”
方法一: 用一个变量min来暂时存放所有比较过数中的最小值。第一次将某个数赋给min,然 后用min跟没有比较过的数一一进行比较,发现新的数比min的值还小的话,就修改 min的值为新比较的数,直到所有的数都比较过为止。 参考程序: #include "stdio.h" main( ) { int a,b,c,min; printf("请输入三个数"); scanf("%d,%d,%d",&a,&b,&c); min=a; if(min>b) min=b; if(min>c) min=c; printf("%d,%d,%d中最小的数为 %d\n",a,b,c,min); }
2. 双分支语句
【语法】 if(表达式)语句组1 else 语句组2 /*表达式值为非0时,执行语句组1,为0时,执行语句组2*/ 【流程图】
【例如】若a=3,b=4,c=5, 则执行语句 if(a>b)c=a; else c=b; 后c的值为4。 执行语句 if(a<b)c=a; else c=b; 后c的值为3。
任务1 输入学生成绩,判断其合法性
一、任务要求 输入一个学生的成绩,判断它是否合法(成绩采用百分制)。 分析: 本任务知识点: 二、具体实现 二、具体实现 方法一:首先判断输入的成绩是 方法二:判断输入的成绩是否 1、关系运算符与关系表达式 方法二: 方法一: 否在 在 1到 1到 100 100 之间,是的话输出提 之间,是的话输出提 2、逻辑运算符与逻辑表达式 参考程序: 参考程序: 示信息“输入成绩合法”;再判 示信息“输入成绩合法”;否 3、if 和if else语句 #include "stdio.h" #include "stdio.h" 断输入的成绩是否在 0到100以外, 则的话输出提示信息“输入的 main() main() 成绩不合法”。 是的话输出提示信息“输入的成 {{float floatx; x; 绩不合法”。 printf(" 请输入一个学生成绩 "); printf(" 请输入一个学生成绩 "); 程序流程图: 程序流程图 scanf("%f",&x); scanf("%f",&x); if(x>=0&&x<=100) printf(" 输入成 if(x>=0 && x<=100) printf(" 输入成绩合法\n"); 绩合法 "); if(x<0||x>100) printf("输入成绩不合法\n"); else } printf("输入成绩不合法"); }
c语言中选择语句的差异
c语言中选择语句的差异C语言中的选择语句有三种,分别是if语句、switch语句和三元运算符。
下面我将分别从这三个方面来介绍它们的差异。
首先是if语句。
if语句用于基于条件执行代码块。
它的基本形式是if (condition) { statement; } else { statement; }。
在这种形式下,如果条件为真,就执行if后面的语句,否则执行else后面的语句。
if语句可以嵌套,形成多层条件判断。
if语句的灵活性很高,可以根据不同的条件执行不同的代码块。
其次是switch语句。
switch语句用于基于表达式的值选择执行代码块。
它的基本形式是switch (expression) { caseconstant1: statement; break; case constant2: statement; break; default: statement; }。
在这种形式下,表达式的值会依次与各个case后面的常量进行比较,如果匹配则执行相应的语句,直到遇到break语句或者switch语句结束。
如果都不匹配,则执行default后面的语句。
switch语句适合用于多个条件分支的情况,可以提高代码的可读性和执行效率。
最后是三元运算符。
三元运算符是C语言中唯一的三目运算符,它的基本形式是condition ? expression1 : expression2。
如果条件为真,则返回expression1的值,否则返回expression2的值。
三元运算符适合于简单的条件判断,可以在一行代码中完成条件判断和赋值操作。
总的来说,if语句适用于复杂的条件判断,可以根据条件执行不同的代码块;switch语句适用于多个条件分支的情况,可以提高代码的可读性和执行效率;三元运算符适用于简单的条件判断,可以在一行代码中完成条件判断和赋值操作。
这三种选择语句在不同的场景下有不同的应用,程序员需要根据具体情况来选择合适的语句来实现逻辑。
c语言中的条件语句关键字
c语言中的条件语句关键字1.引言1.1 概述在C语言中,条件语句是一种重要的编程概念,它允许程序根据条件的真假来执行不同的代码块。
条件语句关键字是C语言中实现条件判断的基础,包括if、else if和else关键字。
通过使用这些关键字,我们可以根据不同的条件来决定程序的执行路径,从而实现灵活的控制流程。
if关键字是最常用的条件语句关键字之一。
它的语法结构如下:if (条件){如果条件为真,执行这里的代码块}通过if关键字,我们可以根据条件的真假来选择是否执行特定的代码块。
当条件为真时,if语句块内的代码将被执行;当条件为假时,if语句块内的代码将被跳过。
除了if关键字之外,C语言还提供了else if和else关键字来实现多个条件判断的情况。
else if关键字用于在前一个条件为假的情况下进一步检查另一个条件。
它的语法结构如下:if (条件1){如果条件1为真,执行这里的代码块}else if (条件2){如果条件1为假且条件2为真,执行这里的代码块}在这个例子中,当条件1为假时,程序将检查条件2是否为真。
如果条件2为真,则执行else if语句块内的代码;如果条件2也为假,则else if语句块将被跳过。
最后,else关键字用于在前面的条件均为假的情况下执行一个默认的代码块。
它的语法结构如下:if (条件1){如果条件1为真,执行这里的代码块}else if (条件2){如果条件1为假且条件2为真,执行这里的代码块}else{如果前面的条件均为假,执行这里的代码块}在这个例子中,如果条件1和条件2均为假,则执行else语句块内的代码。
总结来说,条件语句关键字在C语言中扮演着重要的角色,它们允许程序根据不同的条件来决定执行不同的代码块。
通过if、else if和else关键字的组合,我们可以实现复杂的条件判断逻辑,从而使程序更加灵活和智能。
在接下来的文章中,我们将更详细地介绍这些关键字的用法和示例。
C语言条件语句详解
C语言条件语句详解条件语句是编程语言中的一种重要结构,用于在程序执行过程中根据条件的真假来决定是否执行特定的代码块。
在C语言中,主要有if 语句、if-else语句和switch语句三种形式的条件语句。
本篇文章将详细介绍这三种条件语句的使用方法和注意事项。
一、if语句if语句是最简单的条件语句形式,它用于根据某个条件的真假来执行特定的代码块。
其基本语法如下:if (条件) {// 条件为真时执行的代码块}在以上代码中,条件为真时会执行大括号内的代码块,否则跳过这部分代码继续执行后续的代码。
下面是一个简单的例子:```c#include<stdio.h>int main() {int num = 10;if (num > 0) {printf("数字大于0");}return 0;}```在这个例子中,if语句的条件是`num > 0`,由于num的值为10,大于0,所以会打印出"数字大于0"。
如果将num的值改为-10,if语句的条件结果为假,代码块将不会执行。
二、if-else语句if-else语句在条件为真时执行一个代码块,在条件为假时执行另外一个代码块,其基本语法如下:if (条件) {// 条件为真时执行的代码块} else {// 条件为假时执行的代码块}下面是一个例子:```c#include<stdio.h>int main() {int num = 10;if (num > 0) {printf("数字大于0");} else {printf("数字小于或等于0");}return 0;}```在这个例子中,如果num的值为正数,将会执行if语句的代码块并打印"数字大于0";如果num的值为非正数,将会执行else语句的代码块并打印"数字小于或等于0"。
详解C语言中条件判断语句if和switch的用法
详解C语⾔中条件判断语句if和switch的⽤法if 语句⽤ if 语句可以构成分⽀结构,它根据给的条件进⾏判定,以决定执⾏哪个分⽀程序段。
C 语⾔的 if 语句有三种基本形式第⼀种形式:if(条件表达式){语句1;}if(条件表达式){语句1;}这种形式运⾏顺序为:当条件表达式为真,执⾏语句1,否则,直接跳过语句1,执⾏后⾯的语句。
例⼦1:BOOL result = YES;if(result){printf("result is true\n");}BOOL result = YES;if(result){printf("result is true\n");}输出结果为:result is true如果把 result 的值改为 NO,那么就什么都不输出了。
例⼦2:int a = 5;int b = 6;if(a >= b){printf("a⼤于b\n");}int a = 5;int b = 6;if(a >= b){printf("a⼤于b\n");}输出结果为:什么都不输出如果改成这样:if(a <= b){printf("a⼩于b\n");}if(a <= b){printf("a⼩于b\n");}那么输出结果为:a⼩于b。
第⼆种形式:if(条件表达式){语句1;}else{语句2;}if(条件表达式){语句1;}else{语句2;}这种结构的执⾏顺序为:当条件表达式为真时,执⾏语句1,否则执⾏语句2。
例⼦1:BOOL result= YES;if(result){printf("result 为真\n");}else{printf("result 为假\n");}BOOL result= YES;if(result){printf("result 为真\n");}else{printf("result 为假\n");}这⾥的两个输出语句绝对不会同时输出。
利用C语言判断输入数据所在等级(同时含有if语句与switch语句)
利⽤C语⾔判断输⼊数据所在等级(同时含有if语句与switch语句)题⽬: 输⼊学⽣的百分制成绩(0~100的整数),输出对应的成绩等级(A~E)。
对应规则如下: [90,100]:等级 A [80,90):等级 B [70,80):等级 C [60,70):等级 D [0,60):等级 E具体要求: (1)输⼊,输出要有提⽰信息,输⼊成绩后要检查数据的结合性,如果输⼊的成绩不是0~100的数,则输出“输⼊错误!”。
程序运⾏结果⽰例如下: 请输⼊百分制成绩:86 成绩等级: B (2)分别使⽤嵌套的if语句和switch语句实现多分⽀选择 (3)分别输⼊109,59,60,70,80,90,100和其他整数,对程序进⾏测试。
Tip: 注意定义变量使⽤的语句(int,double,float等)#define _CRT_SECURE_NO_WARNINGS 1与scanf_s可以⼆选⼀在这⾥⾯代码如下: 先⽤if语句根据⽤户输⼊的数据,进⾏判断输⼊对应的数字,再根据数字对应输出成绩等级其实本⼈认为,这个题可以⽤if语句直接解决,有效的节省空间,但是不知道怎么了,在写代码的时候想if语句和switch语句⼀起使⽤,就⽤了现在的结果,还应该有最优解,欢迎斧正!#define _CRT_SECURE_NO_WARNINGS 1#include<stdio.h>main(){int k, j;k = 0;printf("请输⼊百分制成绩:");scanf_s("%d", &j);if (j <= 100 && j >= 90){k = 1;}else if (j < 90 && j >= 80){k = 2;}else if (j < 80 && j >= 70){k = 3;}else if (j < 70 && j >= 60){k = 4;}else if (j < 60 && j >= 0){k = 5;}else{printf("\t输⼊错误!\n");}switch (k){case1:printf("\t成绩等级:A\n"); break;case2:printf("\t成绩等级:B\n"); break;case3:printf("\t成绩等级:C\n"); break;case4:printf("\t成绩等级:D\n"); break;case5:printf("\t成绩等级:E\n"); break;}printf("欢迎使⽤李同学所写的代码,希望能给到你⼀些帮助!");}在此就给出:⼀张输⼊数据正确的截图和⼀张输⼊错误数据的截图书上说这个题难度:两颗星有想看什么程序的可以评论喔~~~阿婆主的粉丝少肯定会回的啦我是李同学,希望此篇内容对你有帮助。
C语言switch语句
input 10 characters: Reold 123? blank=1, digit=3, other=6
blank ++;
break;
case '0' : case '1' : case '2' : case '3‘:
case '4' : case '5' : case '6' : case '7' :
假(0) 表达式=常量表达式n?
假(0)
无break语句
有break语句
真(非0)
语句序列2
break
无break语句
真(非0)
有break语句
语句序列n
break
无break语句 语句序列n+1
说明:
04:06:15
switch语句不等同于if语句:
只进行值的相等性 的检查,不是逻辑判断!
1. switch只能进行值的相等性的检查. 2. if语句不但可以进行相等性的检查, 还可以计算关 系表达式或逻辑表达式,进行逻辑判断的真假.
printf("十进制数: %d\n", ch-'0');
break;
04:06:16
ASCII值: ‘0’ 48 ‘A’ 65 ‘a” 97
case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': printf("十进制数: %d\n", ch-55);
C语言中的条件语句
C语言中的条件语句条件语句在C语言中是一种重要的控制结构,它根据指定条件的真假决定程序的执行路径。
通过使用条件语句,我们可以基于不同的情况执行不同的代码块,以实现程序的灵活性和逻辑判断。
C语言中的条件语句主要使用if语句和switch语句。
一、if语句if语句是最常用的条件语句,它用于根据指定条件的真假来执行不同的代码块。
if语句的基本语法如下:```if (条件){// 代码块}```条件部分可以是一个表达式,如果该表达式为真,则执行花括号内的代码块;如果为假,则跳过该代码块。
条件语句的执行结果只与条件部分的真假有关。
除了基本的if语句外,C语言还提供了扩展的条件语句,包括if-else语句和嵌套if语句。
1. if-else语句if-else语句用于在条件为真时执行一个代码块,否则执行另一个代码块。
它的语法如下:```if (条件){// 代码块1}else{// 代码块2}```如果条件为真,则执行代码块1;如果条件为假,则执行代码块2。
if-else语句提供了一种简单的二选一的选择机制。
2. 嵌套if语句嵌套if语句是指在if语句的代码块中再次使用if语句。
通过嵌套if语句,可以根据多个条件进行逐层判断,实现更复杂的逻辑控制。
下面是一个示例代码:```#include <stdio.h>int main(){int score = 85;if (score >= 90){printf("优秀\n"); }else if (score >= 80) {printf("良好\n"); }else if (score >= 60) {printf("及格\n"); }else{printf("不及格\n");}return 0;}```上面的代码根据不同的分数段输出不同的评级,通过嵌套if语句实现了多个条件的判断。
if、switch语句的语法格式要求
if、switch语句的语法格式要求
在编写程序时,if和switch语句是常用的条件语句,用于根据不同的条件执行不同的操作。
但是,这些语句在使用时需要遵循一定的语法格式要求,以保证程序的正确性和可读性。
if语句的语法格式要求如下:
if (条件表达式)
{
// 执行操作
}
其中,条件表达式必须是一个布尔类型的值或能够被转换成布尔类型的值,可以是一个比较运算符、逻辑运算符或其他表达式。
switch语句的语法格式要求如下:
switch (表达式)
{
case 值1:
// 执行操作1
break;
case 值2:
// 执行操作2
break;
...
default:
// 执行默认操作
break;
}
其中,表达式必须是一个整数类型或能够被转换成整数类型的值,每个case后面跟着的值必须是一个常量表达式。
需要注意的是,在if和switch语句中,代码块必须用大括号{}括起来,即使只有一行代码也不能省略。
此外,在switch语句中,
每个case后面必须有break语句,否则会出现程序流程错误。
以上是if、switch语句的语法格式要求,希望能够对大家的程
序编写有所帮助。
c语言条件判断框
c语言条件判断框C语言条件判断框在C语言中,我们经常需要使用条件判断语句来控制程序的流程。
C 语言中的条件判断框分为三类,分别是if语句、switch语句和三目运算符。
一、if语句if语句是C语言中最常用的条件控制语句之一,可以根据不同的条件执行不同的程序块。
if语句的格式如下:if(条件){//条件成立时执行的程序}else{//条件不成立时执行的程序}其中,条件是一个表达式,其值为真或假。
如果条件为真,那么执行if语句中的程序块;如果条件为假,则会执行else语句中的程序块。
if 语句可以嵌套使用,如下所示:if(条件){//条件成立时执行的程序}else if(条件){//条件成立时执行的程序}else{//所有条件都不成立时执行的程序}二、switch语句switch语句是一种多分支的条件判断语句,适用于多个条件下的不同执行情况。
switch语句的格式如下:switch(变量){case 值1://当变量等于值1时执行的程序break;case 值2://当变量等于值2时执行的程序break;……default://变量值不匹配时执行的程序}switch语句首先将变量的值跟case后面的值进行比较,如果匹配则执行相应的程序块,执行完毕后遇到break语句则立即退出switch语句,否则继续执行下一个case语句。
如果所有的case语句都不匹配,则执行default语句中的程序块。
三、三目运算符三目运算符也称为条件运算符,是C语言中的一种特殊运算符,可以将if语句中的操作简化为一行代码。
三目运算符的格式如下:条件 ? 程序1 : 程序2当条件为真时,执行程序1;当条件为假时,执行程序2。
三目运算符虽然代码简单,但其可读性不如if语句和switch语句高。
综上所述,C语言中的条件判断框主要包括if语句、switch语句和三目运算符。
在实际使用中,我们需要根据程序的需求选择不同的条件判断框,从而使程序运行更加高效、简洁和可读。
c语言if结构和switch的判断条件
c语言if结构和switch的判断条件在C语言中,if结构和switch是两种常用的条件判断语句,用于根据不同的条件执行不同的代码。
本文将对这两种判断条件进行详细介绍,并对它们的使用场景和注意事项进行阐述。
一、if结构的判断条件1. 单条件判断if结构最简单的形式是单条件判断,即根据一个条件的真假来决定是否执行某段代码。
语法如下:```if (condition){// 如果条件为真,则执行这里的代码}```其中,condition是一个可以返回真或假的表达式或变量。
如果condition为真,则执行if语句块中的代码;如果为假,则直接跳过if语句块。
2. 双条件判断有时候我们需要根据两个条件的组合决定是否执行某段代码。
if结构可以通过使用逻辑运算符来实现双条件判断,常用的逻辑运算符包括与(&&)、或(||)和非(!)。
示例代码如下:```if (condition1 && condition2){// 如果condition1和condition2都为真,则执行这里的代码}```其中,condition1和condition2可以是任意返回真或假的表达式或变量。
只有当两个条件都为真时,才会执行if语句块中的代码。
3. 多条件判断有时候我们需要根据多个条件的组合情况决定是否执行某段代码。
在C语言中,可以使用if-else if-else结构来实现多条件判断。
示例代码如下:```if (condition1){// 如果condition1为真,则执行这里的代码}else if (condition2){// 如果condition1为假且condition2为真,则执行这里的代码}else{// 如果condition1和condition2都为假,则执行这里的代码}```其中,condition1、condition2等可以是任意返回真或假的表达式或变量。
if-else if-else结构会按照从上到下的顺序依次判断条件,只有第一个满足条件的语句块会被执行。
