1.顺序结构
2.选择结构(在c语言中体现在分支语句或叫做选择语句中)
· if语句
1) ①if(表达式)
语句; 若表达式成立,输出语句1;否则什么都不输出。
②if(表达式)
语句1;
else
语句2; 若条件符合表达式,则输出语句1;若条件在表达式1之外,输出语句2;
③if(表达式1)
语句1;
else if(表达式2) else if要与else的使用区分,使用else if时表达的是完全不同的条件,而 else是除了以上条件之外的所有条件,没有其他限制。
语句2;
2) if语句中的悬空else
c语言中else取就近原则,例如上图中else就与第二个if链接。所以因为a不等于1,所以第一个if语句都没有进入,所以什么都不执行。
· switch语句
一般用于多分支语句,多种情况选择。
举以下例子:列举星期一到星期日,用if...else...语句未免冗长繁琐。
那就需要引入switch多分支语句用法。
switch语法:
switch(整型表达式)
{
语句项; (每一个语句项由case 整型常量表达式:语句)
}
可以用此语法改写上面列举周一至周日的代码:
注意:①switch() 根据括号中表达式的结果决定从case几进去,如果在此case下不加break的话,那么此case后面的所有case都会被执行一遍。所以要在我们需要的结果的case后面加break来中止。 ②switch可以嵌套使用
如果有情况不属于case列举的各种情况之一的,用default链接,例如输入星期八,会显示错误。
3.循环结构(在C语言中体现在循环语句)
·while循环
语法: while(表达式)
循环语句;
若表达式为真,则执行循环语句;执行结束之后,再次返回表达式判断是否依旧为真,若依旧为真,再判断,再执行,以此循环。直到我们发现某一个条件使表达式不成立,则跳出循环。
若循环语句中遇到break;则永久中止循环,直接跳出循环之外。若遇到continue;则直接返回while处继续判断,而不是继续向下执行的意思。遇到continue代表此次循环结束,返回while再判断,直到循环不再遇到continue,不再执行它。
·for循环
(可以有效解决使用while语句时循环变量和循环条件和循环变量的调整如[i++]三者距离过远的问题)
语法:for(表达式1;表达式2;表达式3)
循环语句;
其中初始化,判断条件,调整变量都可以省略。如果判断部分被省略那就,认为判断部分恒为真。但是对代码不熟练建议不要随便省略。举个随便省略出错的例子:
若i,j初始化条件都没有省略,在括号中,那么应该打印出10*10=100个hehe
但是若省略,则只能打出10个。这是因为当i=0进入循环时,j=0<10,然后循环执行10次,打印10次hehe后 j 的值已经变为10了,所以出了内部循环后,i++,但 j 一直是10不再变化,所以就不再执行内部循环,只等 i 变到10后跳出整个循环
在for循环中,break的使用方法与while语句相同。而continue有所不同,以为代码的执行顺序不同,所以输出结果也不同。左边代码会输出1,2,3,4,6,7,8,9,10;而右边只会出现1,2,3,4;是因为在第三步遇到continue返回以后,还有机会执行第四步i的调整,而右边代码执行完第三步的continue后直接返回到2,没有机会对 i 进行调整。
·do...while
语法:do (不管怎样,先执行一次)
循环语句;
while(表达式);
先执行后判断,符合条件再次循环。
以上是小白的看法,有错误请指正。(截图来自于b站网课老师)