以下是决策语句 -
- 简单 - if 语句
- if - else 语句
- 嵌套 - if else 语句
- else – ifladder
- switch 语句
简单 – if 语句
“if”关键字是用于在逻辑条件为真时执行一组语句。
语法
if (condition){
Statement (s)
}
示例
以下示例检查数字是否大于 50。
#include<stdio.h>
main (){
int a;
printf (“enter any number:<p>”);
scanf (“%d”, &a);
if (a>50)
printf (“%d is greater than 50”, a);
}</p>
输出
1) enter any number: 60
60 is greater than 50 .
2) enter any number 20
no output
if else语句
if else语句接受True或False条件。
语法
if (condition){
True block statement(s)
}
else{
False block statement(s)
}
流程图
示例
以下是检查奇偶数的程序 −
#include<stdio.h>
main (){
int n;
printf (“enter any number:<p>”);
scanf (“%d”, &n);
if (n%2 ==0)
printf (“%d is even number”, n);
else
printf( “%d is odd number”, n);
}</p>
输出
1) enter any number: 10
10 is even number
嵌套的 if - else 语句
这里的“if”被放置在另一个 if(或)else 中 -
语法
if (condition1){
if (condition2)
stmt1;
else
stmt2;
}
else{
if (condition3)
stmt3;
else
stmt4;
}
流程图
示例
以下示例是打印给定数字中最大的3个数字。
#include<stdio.h>
main (){
int a,b,c;
printf (“enter 3 numbers”);
scanf (“%d%d%d”, &a, &b, &c);
if (a>b){
if (a>c)
printf (“%d is largest”, a);
else
printf (“%d is largest”, c);
} else {
if (b>c)
printf (“%d is largest”, b);
else
printf (“%d is largest”, c);
}
}
输出
enter 3 numbers = 10 20 30
30 is largest
Else – if ladder
它是一个多路决策条件。
Syntax
if (condition1)
stmt1;
else if (condition2)
stmt2;
- - - - -
- - - - -
else if (condition n)
stmt n;
else
stmt x;
流程图
示例
以下示例求二次方程的根 -
#include <math.h>
main (){
int a,b,c,d;
float r1, r2
printf ("enter the values a b c");
scanf (“%d%d%d”, &a, &b, &c);
d= b*b – 4*a*c ;
if (d>0){
r1 = (-b+sqrt(d)) / (2*a);
r2 = (-b-sqrt(d)) / (2*a);
printf (“root1 ,root2 =%f%f”, r1, r2);
}
else if (d== 0){
r1 = -b / (2*a);
r2 = -b/ (2*a);
printf (“root1, root2 = %f%f”, r1, r2);
}
else
printf ("roots are imaginary”);
}
输出
1) enter the values of a b c : 1 4 3
Root 1 = -1
Root 2 = -3
Switch 语句
它有助于从多个决策中选择一个。
语法
switch (expression){
case value1 : stmt1;
break;
case value2 : stmt2;
break;
- - - - - -
default : stmt – x;
}
语法
示例
#include<stdio.h>
main (){
int n;
printf (“enter a number”);
scanf (“%d”, &n);
switch (n){
case 0 : printf (“zero”)
break;
case 1 : printf (‘one”);
break;
default : printf (‘wrong choice”);
}
}
输出
enter a number
1
One