C语言入门简明教程
0x05 顺序、选择、循环
写在开头
一个程序当然不能只有从头执行下去不拐弯不反复,要不然就像流水账一样,也许小程序挺好,但一旦复杂,就会变得又长又啰嗦。因此,我们需要用一些更为灵活的程序结构来优化代码。
1.顺序结构
顺序结构就是从头到尾、按照顺序运行的结构,我们前面的一些简单的输入输出和数字操作就是顺序的,一条语句执行完就直接往下。
#include<stdio.h>
int main() {
int a=1;
a=2;
a=3;
a=5;//顺序执行
}
顺序结构也是各种编程语言中最常见的,在后面将介绍的两种结构中也蕴含着顺序结构。
2.选择结构
选择结构又称分支结构,是如同红绿灯一般通过条件来选择如何运行的语句。
if语句
一看就会
if(条件){
...执行内容...
}
if…else
相对if语句多了当条件不成立时的处理
一看就会:
if(条件){
...执行内容...
} else {
...条件不符时执行的内容...
}
if…else if…(else…)
相当于对不同条件的一个判断,如果第一条成立,则只执行第一个判断,因此一长串的if…else if…最终只会最多执行一个,没有else也可能什么都不执行。
一看就会:
if( 条件1 ){...条件1成立执行内容...}
else if( 条件2 ){...条件2成立且1不成立执行内容...}
else if( 条件3 ){...条件3成立且1、2均不成立执行内容...}
...
else{...全不成立执行内容,可加可不加...}
switch
switch是一种更为特殊的分支语句,它通过和其中的每个情况“case”进行分支执行,switch中不进行大小比较,只进行是否相等的比较,下面是例子:
int a=1;
switch(a){
case 1:
//do something...
break;//不能忘记break,这代表着当前case的结束
case 2:
//do some other thing...
break;
......
default:
//当所有情况都不符合时执行default中内容
break;
}
特别地,如果多种情况执行同一代码块则可以这么书写:
case 1919810:
case 114514:
printf("哼哼哼哈哈啊啊啊啊啊啊啊啊");//当switch值为这两个的时候都执行printf函数
break;
更特别地,如果不加break,能一直执行到下一个break或者switch结束~
3.循环结构
给你计算1+2+…+10000000,当然可以用等差数列求和,但是如果记不住公式,可以使用循环语句来进行重复的工作。
while
while语句先判断条件是否成立,然后成立才执行其中内容、
一看就会:
while(条件){
...执行内容...
}
do…while
和单纯的while不同的是,do…while会至少执行一次,先执行再判断是否满足条件进入下一轮循环。
一看就会:
do{
...执行内容...
}while(条件);
for
for语句算是非常常用了,它有三部分:
for(初始的赋值;循环条件;循环完一轮后的操作)
中间用分号隔开,可以不填但分号一定要有,如果要连着赋初值、连着操作和连着判断,可以用逗号隔开,如:
int a,b;
for(a = 0, b = -1; a < 100; a++, b--){...}
一看就会:
for(...;...;...){
循环内容
}
循环的跳出和强制下一轮循环
在平常编写代码的过程中,有时候需要我们跳出循环(比如判断是否成立,不成立下面都不需要判断的情况)或直接下一轮循环,这时我们就会用到两个操作:
break:跳出循环,如果有多重则跳出最里面一层
continue:忽略continue后的操作语句并进入下一轮循环
总结
程序三大结构就在这里啦~
EOF