选择结构要求程序员指定程序要评估或测试的一个或多个条件,以及在条件被确定为真时要执行的语句,以及可选的,如果条件要执行的其他语句被认定是假的。
下面显示的是大多数编程语言中的典型选择结构的一般形式
判断语句
C 语言提供了以下类型的判断语句。
? : 运算符(三元运算符)
条件运算符 ? :,可以用来替代 if...else 语句。它的一般形式如下:
Exp1 ? Exp2 : Exp3;
其中,Exp1、Exp2 和 Exp3 是表达式。请注意,冒号的使用和位置。
评估Exp1。如果是,那么Exp2会被评估并成为整个值
如果Exp1为false,则计算Exp3,其值将成为表达式的值。
实例
以下实例通过输入一个数字来判断它是否为奇数或偶数
#include int main()
{
int num;
printf("输入一个数字 : ");
scanf("%d",&num); (num%2==0)?printf("偶数"):printf("奇数");
}
三目(元)运算的例子
#include
int A=10;int B=20;char buy;int sum,number;
int main(){
printf("以下是本店的商品及价格:\n A 商品每个十元;\n B 商品每个二十元;\n\n");
printf("请输入你所需的产品(A 或 B):");
scanf("%c",&buy);
printf("请输入所需的数量:");
scanf("%d",&number);
sum=buy=='A'?A*number:B*number;
printf("\n你所需要的%d个%c商品总共%d元。\n",number,buy,sum);
return 0;
}
switch语句一般形式
意思是先计算表达式的值,再逐个和 case 后的常量表达式比较,若不等则继续往下比较,若一直不等,则执行 default 后的语句;若等于某一个常量表达式,则从这个表达式后的语句开始执行,并执行后面所有 case 后的语句。
与 if 语句的不同:if 语句中若判断为真则只执行这个判断后的语句,执行完就跳出 if 语句,不会执行其他 if 语句;而 switch 语句不会在执行判断为真后的语句之后跳出循环,而是继续执行后面所有 case 语句。在每一 case 语句之后增加 break 语句,使每一次执行之后均可跳出 switch 语句,从而避免输出不应有的结果.
switch案例
#include
int main(){
int a;
printf("input integer number: ");
scanf("%d",&a);
switch(a)
{
case 1:printf("Monday\n");
break;
case 2:printf("Tuesday\n");
break;
case 3:printf("Wednesday\n");
break;
case 4:printf("Thursday\n");
break;
case 5:printf("Friday\n");
break;
case 6:printf("Saturday\n");
break;
case 7:printf("Sunday\n");
break;
default:printf("error\n");
}
}
作者:这个人很懒什么都没留下
链接:https://www.jianshu.com/p/dbd06b263d77