C语言的程序控制结构分为三种:顺序结构、选择结构、循环结构
选择结构不言而喻,是做出选择的语句即通过判断表达式的真假来决定是否执行语句
- 单分支if语句
if(表达式) //无分号
语句;
//当if后面要执行的语句多于一条时要加{}
- 双分支if-else语句
if(表达式)
语句1;
else
语句2; //当语句数多于一条时记得加{}
- if-else嵌套\if-else级联
if(表达式1)
{
if(表达式2)
语句1;
else
语句2;
}
else
{
if(表达式3)
语句3;
else
语句4;
}
//else总是会与离他最近的if相匹配!
- switch语句
switch(表达式)
{
case 常量1: 语句1; break;
case 常量2: 语句2; break;
case 常量3: 语句3; break;
case 常量4: 语句4; break;
......
case 常量n: 语句n; break; //break是跳出选择结构的关键字,视程序算法而言选择用或不用
default: 语句n+1;
}
- 例题:求任意三个整数a b c中的最大值(四种方法)
-
#include<stdio.h> int main( ) { int a, b, c, max; max=0; printf("please enter a, b, c:"); scanf("%d%d%d",&a,&b,&c); if(a>=b&&a>=c) max=a; if(b>=a&&b>=c) max=b; if(c>=a&&c>=b) max=c; printf("max=%d\n",max); return 0; }
-
#include<stdio.h> int main( ) { int a, b, c, max; max=0; printf("please enter a, b, c:"); scanf("%d%d%d",&a,&b,&c); if(a>b) max=a; else max=b; if(max<c) max=c; printf("max=%d\n",max); return 0; }
-
#include<stdio.h> int main( ) { int a, b, c, max; max=0; printf("please enter a, b, c:\n"); scanf("%d%d%d",&a,&b,&c); if(a>=b&&a>=c) max=a; else { if(b>=a&&b>=c) max=b; else max=c; } printf("max=%d\n",max); return 0; }
-
#include<stdio.h> int main( ) { int a, b, c, max; max=0; printf("please enter a, b, c:"); scanf("%d%d%d",&a,&b,&c); if(a>b) { if(a>c) max=a; else max=c; } else { if(b>c) max=b; else max=c; } printf("max=%d\n",max); return 0; }