C语言支持最基本的三种程序运行结构:顺序结构、选择结构、循环结构。
顺序结构:程序按顺序执行,不发生跳转。
选择结构:依据是否满足条件,有选择的执行相应功能。
循环结构:依据条件是否满足,循环多次执行某段代码。
对于这些程序结构我相信,绝大多数同学在学习c语言的时候一定是略有耳闻的。此文呢,就来谈谈这些及其常用的流程结构!
正文开始!!!
一、选择结构
(if...、if...else...、if...else if...else...else、switch)
1、"if" 结构:
"if" 的汉语意思是 "如果" , 在c语言中的用法正如它的名字,“如果”某条件成立,就执行以下的语句。它的流程如下:
#include <stdio.h>
int main()
{
int a = 2;
int b = 1;
if (a > b) //()内的是判断内容。
//如果 a > b 就执行 { }内的语句。
{
printf("%d\n", a);
}
return 0;
}
在此,有两点需要注意:
1、"if()" 之后的的 “{}” 是可以省略的,但是如果将“{}”省略的话,此if就只能控制它下面的第一
话。
#include <stdio.h>
int main()
{
int a = 1;
int b = 2;
if (a > b)
printf("%d\n", a);
printf("%d\n", b);
return 0;
}
此代码段,我们可知 a < b , 正是因为省略的 "if()" 之后的 “{}”,所以程序在执行的过程中,会打印:2(b);若加上大括号:就不会打印。
#include <stdio.h>
int main()
{
int a = 1;
int b = 2;
if (a > b)
{
printf("%d\n", a);
printf("%d\n", b);
}
return 0;
}
2、if() 括号内的是判断内容,我们知道c语言中 “0”为假,“非0”为真”,所以我们要避免以下错误:错误一
#include <stdio.h>
int main()
{
int a = 1;
int b = 2;
if (a = 2)
//此错误是不小心将a==1的判断语句,写成了a=2的赋值语句
//就有违我们最开始a==2的前提下执行的意图
//有一种方式可以很好的帮助我们避免这个问题:
//if(2 = a)
//我们这样将a的值赋给常数2,这样会导致程序编译不过去