亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Industrial programming >> C语言

C 条件语句:IF、IF Else 和嵌套 IF Else 示例

什么是 C 中的条件语句?

C 中的条件语句 编程用于根据条件做出决策。当语句周围没有条件时,条件语句按顺序执行。如果为语句块设置条件,则执行流程可能会根据条件评估的结果而改变。这个过程在“C”中称为决策。

在“C”编程中,条件语句可以在以下两个结构的帮助下实现:

1.if语句

2. if-else语句

它也称为分支,因为程序根据评估条件的结果决定执行哪个语句。

在本教程中,您将学习-

如果语句

它是强大的条件语句之一。 If语句负责修改程序的执行流程。 If 语句总是与条件一起使用。在执行 If 主体内的任何语句之前,首先评估条件。 if语句的语法如下:

 if (condition) 
     instruction;

条件评估为真或假。 True 始终是非零值,而 false 是包含零的值。指令可以是单条指令,也可以是用大括号 { } 括起来的代码块。

以下程序说明了 if 结构在“C”编程中的使用:

#include<stdio.h>
int main()
{
	int num1=1;
	int num2=2;
	if(num1<num2)		//test-condition
	{
		printf("num1 is smaller than num2");
	}
	return 0;
}

输出:

num1 is smaller than num2

上面的程序演示了使用 if 构造来检查两个数是否相等。

  1. 在上面的程序中,我们用num1、num2分别初始化了两个变量,其值分别为1、2。
  2. 然后,我们使用 if 和一个测试表达式来检查哪个数字是最小的,哪个数字是最大的。我们在 if 构造中使用了关系表达式。由于 num1 的值小于 num2,因此条件将评估为真。
  3. 因此它将打印If块内的语句。之后,控件将跳出块,程序将以成功的结果终止。

关系运算符

C 有六个关系运算符,可用于制定布尔表达式,用于做出决策和测试条件,返回 true 或 false:

<小于

<=小于或等于

> 大于

>=大于或等于

==等于

!=不等于

请注意,等号测试 (==) 与赋值运算符 (=) 不同,因为它是程序员通过混淆它们而面临的最常见问题之一。

例如:

int x = 41;
x =x+ 1;
if (x == 42) {
   printf("You succeed!");}

输出:

 You succeed

请记住,计算结果为非零值的条件被视为真。

例如:

int present = 1;
if (present)
  printf("There is someone present in the classroom \n");

输出:

There is someone present in the classroom

If-Else 语句

if-else is 语句是 If 的扩展版本。 if-else的一般形式如下:

if (test-expression)
{
    True block of statements
}
Else
{
    False block of statements
}
Statements;

在这种类型的构造中,如果 test-expression 的值为 true,那么将执行真正的语句块。如果 test-expression 的值为 false,则将执行 false 语句块。无论如何,执行完后,控制权会自动转移到出现在If块外的语句上。

以下程序说明了 if-else 结构的使用:

我们将用某个值初始化一个变量,并编写一个程序来确定该值是小于 10 还是大于 10。

开始吧。

#include<stdio.h>
int main()
{
	int num=19;
	if(num<10)
	{
		printf("The value is less than 10");
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

输出:

The value is greater than 10

  1. 我们已经初始化了一个值为 19 的变量。我们必须使用“C”程序找出这个数字是大于还是小于 10。为此,我们使用了 if-else 构造。
  2. 这里我们提供了一个条件 num<10,因为我们必须将我们的值与 10 进行比较。
  3. 如您所见,第一个块总是一个真块,这意味着,如果 test-expression 的值为真,那么第一个块是 If,将被执行。
  4. 第二个块是一个 else 块。此块包含如果 test-expression 的值变为 false 将执行的语句。在我们的程序中,num 的值大于 10,因此测试条件变为 false,然后执行 else 块。因此,我们的输出将来自“值大于 10”的 else 块。在 if-else 之后,程序将以成功的结果终止。

在“C”编程中,我们可以在彼此之间使用多个 if-else 结构,这被称为 if-else 语句的嵌套。

条件表达式

还有另一种表达 if-else 语句的方法是引入 ?: 操作员。在条件表达式中 ?: 运算符只有一条语句与 if 和 else 相关联。

例如:

#include <stdio.h>
int main() {
  int y;
  int x = 2;
   y = (x >= 6) ?  6 : x;/* This is equivalent to:  if (x >= 5)    y = 5;  else    y = x; */
   printf("y =%d ",y);
  return 0;}

输出:

y =2

嵌套 If-else 语句

当需要一系列决策时,使用嵌套的 if-else。嵌套意味着在另一个结构中使用一个 if-else 结构。

让我们编写一个程序来说明嵌套 if-else 的使用。

#include<stdio.h>
int main()
{
	int num=1;
	if(num<10)
	{
		if(num==1)
		{
			printf("The value is:%d\n",num);
		}
		else
		{
			printf("The value is greater than 1");
		}
	}
	else
	{
		printf("The value is greater than 10");
	}
	return 0;
}

输出:

The value is:1

上面的程序检查一个数字是小于还是大于 10,并使用嵌套的 if-else 构造打印结果。

  1. 首先,我们声明了一个值为 1 的变量 num。然后我们使用了 if-else 构造。
  2. 在外部 if-else 中,提供的条件检查一个数字是否小于 10。如果条件为真,那么只有这样它才会执行内部循环。在这种情况下,条件为真,因此处理内部块。
  3. 在内部块中,我们再次有一个条件来检查我们的变量是否包含值 1。当条件为真时,它将处理 If 块,否则它将处理 else 块。在这种情况下,条件为真,因此 If a block is executed and the value is printed on the output screen.
  4. 上面的程序会打印一个变量的值并成功退出。

尝试更改变量的值,看看程序的行为如何。

注意: 在嵌套的 if-else 中,我们必须小心缩进,因为在这个过程中涉及到多个 if-else 结构,因此很难找出单个结构。适当的缩进使程序易于阅读。

嵌套的 Else-if 语句

当需要多路径决策时使用嵌套的 else-if。

在“C”编程中如何构造 else-if 梯形图的一般语法如下:

 if (test - expression 1) {
    statement1;
} else if (test - expression 2) {
    Statement2;
} else if (test - expression 3) {
    Statement3;
} else if (test - expression n) {
    Statement n;
} else {
    default;
}
Statement x;

这种类型的结构被称为 else-if 阶梯。这个链通常看起来像一个梯子,因此它也被称为 else-if 梯子。测试表达式从上到下进行评估。每当找到一个真正的测试表达式时,就会执行与其关联的语句。当所有 n 个测试表达式都为 false 时,则执行默认的 else 语句。

让我们在程序的帮助下看看实际工作。

#include<stdio.h>
int main()
{
	int marks=83;
	if(marks>75){
		printf("First class");
	}
	else if(marks>65){
		printf("Second class");
	}
	else if(marks>55){
		printf("Third class");
	}
	else{
		printf("Fourth class");
	}
	return 0;
}

输出:

First class

上述程序根据测试中的分数打印成绩。我们在上面的程序中使用了 else-if 梯形结构。

  1. 我们已经用标记初始化了一个变量。在 else-if 阶梯结构中,我们提供了各种条件。
  2. 变量标记的值将与第一个条件进行比较,因为与它相关的语句将被打印在输出屏幕上。
  3. 如果第一个测试条件为假,则将其与第二个条件进行比较。
  4. 此过程将一直持续到所有表达式被求值,否则控制将退出 else-if 阶梯,并打印默认语句。

尝试修改值并注意输出的变化。

总结


C语言

  1. C# 表达式、语句和块(附示例)
  2. C# if, if...else, if...else if 和嵌套 if 语句
  3. C++ if, if...else 和嵌套 if...else
  4. C if...else 语句
  5. Java if...else 语句
  6. C++ 中的运算符示例:什么是、类型和程序
  7. 带有示例的 C++ Switch Case 语句
  8. C++ 结构与示例
  9. 带有示例的 C++ 类和对象
  10. C++ 中的 std::list 示例
  11. 结构和类的区别:用 C++ 示例解释
  12. C# 枚举(枚举)与示例