📅  最后修改于: 2020-10-22 01:04:05             🧑  作者: Mango
C编程中的if-else语句是一个条件语句,该条件语句基于true或false条件执行一组不同的语句。仅当指定条件为真时才执行“ if”块,如果指定条件为假,则将执行else块。
if-else语句的语法如下:
if(expression)
{
// statements;
}
else
{
// statements;
}
switch语句是C编程中使用的条件语句,用于检查变量的值并将其与所有情况进行比较。如果该值与任何情况都匹配,则将执行其相应的语句。每个案例都有一些名称或编号,称为标识符。用户输入的值将与所有案例进行比较,直到找到案例为止。如果用户输入的值与任何情况都不匹配,则将执行默认语句。
switch语句的语法如下:
switch(expression)
{
case constant 1:
// statements;
break;
case constant 2:
// statements;
break;
case constant n:
// statements;
break;
default:
// statements;
}
if-else和switch都是决策语句。在这里,决策语句意味着表达式的输出将决定要执行的语句。
以下是if-else和switch语句之间的区别:
如果别的
根据“ if-else”语句中表达式的结果,将执行语句块。如果条件为真,则将执行“ if”块,否则将执行“ else”块。
切换语句
switch语句包含多种情况或选择。用户将决定要执行的情况。
如果别的
它可以包含一个表达式或用于多个选择的多个表达式。在这种情况下,将根据值或条件的范围评估表达式。它检查相等性和逻辑表达式。
开关
它仅包含一个表达式,该表达式可以是单个整数对象或字符串对象。它仅检查相等表达式。
如果别的
if-else语句可以评估几乎所有类型的数据,例如整数,浮点数,字符,指针或布尔值。
开关
switch语句可以计算整数或字符。
如果别的
对于’if-else’语句,将根据条件执行’if’块或’else’块。
开关
对于’switch’语句,将连续执行一种情况,直到找不到break关键字或执行默认语句为止。
如果别的
如果在’if’语句中条件不成立,则默认情况下,将执行else块语句。
开关
如果switch语句中指定的表达式与任何一种情况都不匹配,则将执行默认语句(如果已定义)。
如果别的
值基于’if’语句中指定的条件。该值将决定执行“ if”还是“ else”块。
开关
在这种情况下,价值由用户决定。根据用户的选择,案件将被执行。
如果别的
它评估条件为真还是假。
开关
switch语句将变量的值与多种情况进行比较。如果该值与任何一种情况都匹配,则将执行与此情况相关的语句块。
如果别的
在’if-else’语句中进行编辑并不容易,就像我们删除’else’语句一样,这将造成严重破坏。
开关
与’if-else’语句相比,在switch语句中进行编辑更容易。如果我们从开关中删除任何案例,那么它将不会中断其他案例的执行。因此,可以说switch语句易于修改和维护。
如果别的
如果选择多个,则“ if-else”语句的执行速度会很慢。
开关
switch语句中的case常量在编译时创建一个跳转表。该跳转表根据表达式的值选择执行的路径。如果我们有多种选择,那么switch语句的执行将比’if-else’语句的等效逻辑快得多。
让我们以表格形式总结以上差异。
If-else | switch | |
---|---|---|
Definition | Depending on the condition in the ‘if’ statement, ‘if’ and ‘else’ blocks are executed. | The user will decide which statement is to be executed. |
Expression | It contains either logical or equality expression. | It contains a single expression which can be either a character or integer variable. |
Evaluation | It evaluates all types of data, such as integer, floating-point, character or Boolean. | It evaluates either an integer, or character. |
Sequence of execution | First, the condition is checked. If the condition is true then ‘if’ block is executed otherwise ‘else’ block | It executes one case after another till the break keyword is not found, or the default statement is executed. |
Default execution | If the condition is not true, then by default, else block will be executed. | If the value does not match with any case, then by default, default statement is executed. |
Editing | Editing is not easy in the ‘if-else’ statement. | Cases in a switch statement are easy to maintain and modify. Therefore, we can say that the removal or editing of any case will not interrupt the execution of other cases. |
Speed | If there are multiple choices implemented through ‘if-else’, then the speed of the execution will be slow. | If we have multiple choices then the switch statement is the best option as the speed of the execution will be much higher than ‘if-else’. |