C语言编程0基础学习历程(5)——C的选择控制结构
目录
在实际生活中,我们往往要面临许许多多形式各异的选择,这往往让我们非常头痛,比如一个世界级难题:今天中午吃什么?
当然,在计算机的程序设计中也免不了要对不同情况进行判断并选择,那么应该如何实现呢?
1、判断条件
在C语言中对于简单的判断条件可以用关系表达式来表示,对于复杂一些的条件可用逻辑表达式表示。其中用关系运算符将两个操作数连接起来组成的表达式称为关系表达式;用逻辑运算符连接操作数组成的表达式称为逻辑表达式。
2、用於单分支控制的条件语句
if(表达式) 语句A
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a=1;
int b=2;
if(a<b)
printf("%d\n",a);
if(b<=a)
printf("%d\n",b);
return 0;
}
运行结果:
3、用于双分支控制的条件语句
if(表达式) 语句1
else 语句2
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a=4;
int b=2;
if(a<b)
printf("%d\n",a);
else
printf("%d\n",b);
return 0;
}
运行结果:
4、用于多分支控制的条件语句
if(表达式1) 语句1
else if(表达式2) 语句2
……
else 语句n
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a=2;
int b=2;
if(a<b)
printf("%d\n",a);
else if(b<a)
printf("%d\n",b);
else
printf("a=b");
return 0;
}
运行结果:
5、用于多路选择的switch语句
switch(表达式)
{
case 常量1:
可执行语句序列1;break;
case 常量2:
可执行语句序列2;
……
case 常量3:
可执行语句序列n;
default:
可执行语句序列n+1;
}
注:若在可执行语句n后加“break”,则在进行此次判断后跳出switch,否则继续向下顺序执行至下一个“break”或末尾。
例:
#include <stdio.h>
const double PI=3.14159;
int main()
{
int a;
scanf("%d",&a);
switch(a%2)
{
case 1:printf("输入的是奇数。");break;
case 0:printf("输入的是偶数。");break;
}
return 0;
}
运行结果:
6、条件表达式
表达式1?表达式2:表达式3
(若表达式1的值非0,则该表达式是表达式2的值,否则为3的值。)
#include <stdio.h>
int main()
{
int a,b,max;
printf("请输入两个数(形式为:a,b):\n");
scanf("%d,%d",&a,&b);
max=a>b?a:b;
printf("max = %d\n",max);
return 0;
}
运行结果: