1. 流程控制概述
即控制程序代码执行的顺序
分类:顺序执行;选择执行;循环执行
2. 选择执行(if语句;)
2.1 最简单用法
#include<stdio.h>
int main()
{
int i=3;
if (i>2)
printf("hahahahaha");
return 0;
}
/*
输出结果:
hahahahaha
*/
2.2 if范围
#include<stdio.h>
int main()
{
int i=3;
if (i>4)
printf("hahahahaha");
printf("aaaaaa");
return 0;
}
/*
输出结果:
aaaaaa
*/
从上述代码可以看出,if范围默认仅针对下一行代码
可通过添加中括号改变范围,如下,零输出
#include <stdio.h>
int main()
{
int i = 3;
if (i > 4)
{
printf("hahahahaha");
printf("aaaaaa");
}
return 0;
}
/*
输出结果:
*/
2.3 if else用法
#include <stdio.h>
int main()
{
int i, j;
scanf("%d %d",&i,&j);
if (i>j)
printf("i大于j");
else
printf("i小于j");
return 0;
}
/*
输出结果:
5 6
i小于j
*/
else也是默认控制一个,可加中括号。
2.4 if ……else if…… else 用法(即多选一)
#include<stdio.h>;
int main()
{
int a;
scanf_s("%d", &a);
if (a > 0)
printf("有两个解");
else if (a == 0)
printf("有一个解");
else
printf("无解");
return 0;
}
/*
输出
-1
无解
*/
2.5 真假处理
非零为真,0为假
2.6 举例-求分数等级
#include<stdio.h>;
int main()
{
//判断成绩等级,90-100为“成绩优秀”80-90为“成绩良好”60-80为“及格”0-60为“不及格”
int chengji;//声明成绩变量
scanf_s("%d", &chengji);//输入成绩
if (chengji >= 90)
printf("成绩优秀");
else if (chengji >= 80)
printf("成绩良好");
else if (chengji >= 60)
printf("及格");
else
printf("不及格");
return 0;
}
/*
输出
95
成绩优秀
85
成绩良好
75
及格
40
不及格
*/
或者运用&&
如下
#include<stdio.h>;
int main()
{
//判断成绩等级,90-100为“成绩优秀”80-90为“成绩良好”60-80为“及格”0-60为“不及格”
int chengji;//声明成绩变量
printf("请输入你的成绩\n");
scanf_s("%d", &chengji);//输入成绩
if (chengji > 100)
printf("Are you dreaming?");
else if (chengji >= 90 && chengji <= 100)
printf("成绩优秀");
else if (chengji >= 80 && chengji < 90)
printf("成绩优秀");
else if (chengji >= 60 && chengji <= 80)
printf("及格");
else
printf("不及格");
return 0;
}
/*
输出
105
Are you dreaming?
95
成绩优秀
85
成绩良好
75
及格
40
不及格
*/
2.7 举例-互换两个数字
即多定义一个变量。
#include <stdio.h>
int main()
{
int i, j, t;
i = 3;
j = 4;
t=i;
i=j;
j=t;
printf("i=%d,j=%d",i,j);
return 0;
}
/*
输出结果:
i=4,j=3
*/
2.8 举例-任意三个数字排序
自撰写代码
#include <stdio.h>
int main()
{
int a, b, c, t;
printf("请输入三个数字(输完一个数字后空格)\n");
scanf("%d %d %d", &a, &b, &c);
if (a >= b && a >= c)
{
a = a;
if (b >= c)
b = b;
else
{
t = b;
b = c;
c = t;
}
}
else
{
if (a >= c)
{
t = a;
a = b;
b = t;
c = c;
}
else if (a >= b)
{
t = a;
a = b;
b = t;
t = a;
a = c;
c = t;
}
else
{
t = a;
a = c;
c = t;
if (a <= b)
{
t = a;
a = b;
b = t;
}
}
}
printf("%d %d %d\n", a, b, c);
return 0;
}
/*
输出结果:
2233 5656 8988
8988 5656 2233
*/
课程代码
#include <stdio.h>
int main()
{
int a, b, c, t;
printf("请输入三个数字(输完一个数字后空格)\n");
scanf("%d %d %d", &a, &b, &c);
if (a<b)
{
t=a;
a=b;
b=t;
}
if(a<c)
{
t=a;
a=c;
c=t;
}
if(b<c)
{
t=b;
b=c;
c=t;
}
printf("%d %d %d\n", a, b, c);
return 0;
}
/*
输出结果:
请输入三个数字(输完一个数字后空格)
56 23 99
99 56 23
*/