C语言的三种结构

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站网课老师)

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值