概述
C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。
- 顺序结构:程序按顺序执行,不发生跳转。
- 选择结构:依据是否满足条件,有选择的执行相应功能。
- 循环结构:依据条件是否满足,循环多次执行某段代码。
选择结构
if语句
if…else语句
if…else if…else语句
示例一:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int score;
scanf("%d", &score);
//如果表达式结果为真,执行{}对应的代码
//if(表达式) {}
//if(表达式){} else {}
//if(表达式1) {} else if(表达式2) {} else
if (score > 700)//只会执行一个条件分值,满足第一则不再执行下面的语句。个
{
printf("我要上清华。\n");
if (score > 720)//条件嵌套。
{
printf("我要学习算机。\n");
}
else if (score > 710)
{
printf("我要学习自动化。\n");
}
else
{
printf("我要学习人工智能。");
}
}
else if (score > 680)
{
printf("我要上北大。");
}
else
{
printf("我要上传智。");
}
return 0;
}
结果:
712
我要上清华。
我要学习自动化。
示例二:三只小猪称体重
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int a, b, c;
printf("请输入三只小猪的体重:");
scanf("%d%d%d", &a, &b, &c);
if (a > b)
{
if (a > c)
{
printf("a小猪是最重的。");
}
else
{
printf("c小猪是最重的。");
}
}
else
{
if (b > c)
{
printf("b小猪是最重的。");
}
else
{
printf("c小猪是最重的。");
}
}
return 0;
}
结果:
请输入三只小猪的体重:22 23 24
c小猪是最重的。
三目运算符
表达式1 ?表达式2 :表达式3
当表达式1满足的时候,执行表达式2,否则执行表达式3
示例:
#include<stdio.h>
#define MAX(a,b) (a)>(b)?(a):(b) //宏定义一个函数
int main1101(void)
{
int a = 10;
int b = 20;
int c;
//表达式1?表达式2:表达式3
//c = a > b ? a : b;
//printf("最大值为:%d\n", c);
printf("最大值为:%d\n", a > b ? a : b);
//if (a > b)
//{
// printf("a大\n");
//}
//else
//{
// printf("b大\n");
//}
return 0;
}
int main(void)
{
int a = 10;
int b = 20;
printf("%d\n", MAX(a, b));
return 0;
}
结果:
最大值为:20
switch语句
switch根据开关判断比if语句的执行效率高,但是在判断区间时只能判断一个区间。不允许嵌套
示例:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
int main(void)
{
int score;
scanf("%d", &score);
switch (score/10)
{
case 10:
printf("优秀\n");
break;
case 9:
printf("优秀\n");
break;
case 8:
printf("良好\n");
break;
case 7:
print