之前说过,按照操作的执行顺序,程序可分为3中基本结构,即顺序结构,选择结构,循环结构。选择结构是对给定的条件进行判断,再根据判断的结果决定执行哪一个分支。
1顺序结构
顺序结构是结构化程序设计的3种基本结构中最间单的。它可以独立存在,也可以出现在选择结构或者循环结构中。总之,任何程序都存在顺序结构。在顺序结构中,函数、一段程序或者语句都是按照出现的先后顺序执行的。
例如:求一元二次根的算法
代码如下:
#define _CRT_SECURE_NO_WARNINGS
#include<stdio.h>
#include<math.h>
int main()
{
float a, b, c, p, x1, x2;
scanf("%f %f %f", &a, &b, &c);
p = sqrt(b * b - 4 * a * c);
x1 = (-b + p) / (2 * a);
x2 = (-b - p) / (2 * a);
printf("x1=%6f,x2=%6f\n", x1, x2);
return 0;
}
2if语句
2.1if语句的基本形式
if语句的功能是根据一个条件判断的结果选择执行某一分支。
if (条件)
{
语句1;
}
else
{
语句2;
}
if语句的流程图:
示例代码:
int main()
{
int a,b, max;
scanf("%d %d", &a, &b);
if (a > b)
{
max = a;
}
else
{
max = b;
}
printf("%d", max);
return 0;
}
2.2if语句的嵌套
前两种形式的f语句一般用于两个分支的情况。当有多个分支选择时,可采用if -else if-else语句。换句话说,f语句可以相互嵌套,即当f语句中的语句1或者语句2是一个含有f语句的复合语句时,便形成了if语句的嵌套。
int main()
{
int x, y;
scanf("%d", &x);
if (x <= 0)
{
if (x < 0)
{
y = -1;
}
else
{
y = 0;
}
}
else
{
y = 1;
}
printf("%d %d", x, y);
return 0;
}
3switch语句
当选择的分支较多时,虽然可以用f语句的嵌套实现,但是不够直观;尤其当层次较多时,条件书写麻烦,容易出错。switch语句是C语言中选择结构的另一个常用的实现方式,非常适用于多支路选择的实现。
执行顺序:
(1)先计算并判断表达式的值。
(2)将结果与case分支中常量表达式的值进行比较。如果相等则执行其后的语句。
(3)如果没有相等的值,则执行default后面的语句。
(4)若缺省default语句。则跳出switch结构,执行switch结构的后读语句。
示例代码:
int main()
{
int score;
printf("请输入学生分数");
scanf("%d", &score);
switch (score / 10)
{
case 10:
case 9:printf("成绩优秀\n"); break;
case 8:printf("成绩良好\n"); break;
case 7:printf("成绩中等\n"); break;
case 6:printf("成绩及格\n"); break;
case 5:
case 4:
case 3:
case 2:
case 1:
case 0:printf("成绩不及格\n"); break;
default:printf("成绩错误\n"); break;
}
return 0;
}
4注意
为了文章的严谨性,参考了教材由李绍华,刁建华,李敏主编的《c语言程序设计基础》一书,采用的其他图片皆标注了出处,谢谢大家。如果出现了错误,欢迎指正。