1.19日c语言学习记录——分支与循环(第一节课)

一、语句类型

c语言中的基本语句类型:

1. 表达式语句
2. 函数调用语句
3. 控制语句
4. 复合语句
5. 空语句

二、分支与循环(控制语句)

生活中的各种事情都可以用顺序,选择,循环,这三种状态描述与组合。

如果c语言中只有一句句按顺序执行的代码,那么在处理很多事情的时候会出现麻烦。

在对一个事情进行判断时,就需要if语句。如果需要打印1~100的所有数字,如果只是用简单的printf函数输入100行,工作量极大,并且代码十分不简洁,所以有循环语句也是十分有必要的。

c语言中还提供了一种转向语句——break语句、goto语句、continue语句、return语句。

可以用于结束某种循环。

c语言中对于选择判断语句提供了if与switch两种,循环语句有while、for、do while。下面进行分类介绍。

三、分支语句If 与 Switch

If语句中跟上的判断语句如果为真,就执行下面的代码,在c语言中,0为假,任何非0数都是真。

特别地,EOF也是真。

1、单个情况

if (判断语句)

        需要执行的代码

2、如果有多个情况,则需要使用if+else if组合语句

if (判断情况1)

        需要执行的代码

else if(判断情况2)

        需要执行的代码

3、if+else组合语句

if (判断情况1)

        需要执行的代码

else 

        需要执行的代码

Note:如果if 语句后跟的需要执行的代码有多句,需要跟上一个大括号!

悬空else语句:

先来看这样的代码

#include <stdio.h>

int main()

{
    int a = 0 ;
    int b = 2 ;
    if ( a == 1 )
        if ( b == 2 )
            printf ( "hehe\n" );
    else
        printf ( "haha\n" );
    return 0 ;
}
大多数人第一次见到都觉得,输出的结果是haha,认为if(a==1)是与else绑定的。但实际上在编译器里什么都没有输出,也就是说else语句没有输出。事实上,else是与if(b==2)合在一起,作为一个代码块, 原因是c语言中,else语句总是选择与它最相近的if语句合在一起。
这种代码总是会引起歧义,下面给出改正后的代码——
#include <stdio.h>
int main ()
{
    int a = 0 ;
    int b = 2 ;
    if ( a == 1 )
  {
        if ( b == 2 )
      {
            printf ( "hehe\n" );
      }
  }
    else
  {
        printf ( "haha\n" );
  }      
    return 0 ;
}

Switch 语句:

为什么要提出Switch语句?——在判断情况过多的时候,选择Switch语句会是一个好的选择。

Switch的结构:

给出一个具体的例子——

#include <stdio.h>
int main ()
{
    int day = 0 ;
    switch ( day )
  {
        case 1
            printf ( " 星期一 \n" );
            break ;
        case 2 :
            printf ( " 星期二 \n" );
            break ;
        case 3 :
            printf ( " 星期三 \n" );
            break ;    
        case 4 :
            printf ( " 星期四 \n" );
            break ;    
        case 5 :
            printf ( " 星期五 \n" );
            break ;
        case 6 :
            printf ( " 星期六 \n" );
            break ;
        case 7 :
            printf ( " 星期天 \n" );    
            break ;
  }
    return 0 ;
}
Switch后跟的是一个整形的变量,编译器会将这个常量与case后面的量进行判断是否相等,如果相等就执行这个case内的语句。
NOTE:如果不跟上break的话,从某一个case进入后,仍会执行下面的case语句,即使判断值不相等。所以,不管什么情况下都建议加上break
Switch中还可以在最后跟上一个default子句,用来判断所有情况都不成立下需要执行的语句。
四、循环语句While For 与 Do While
while循环语句:
        1、定义循环变量
        int 循环变量 =
        2、while语句
        while (循环变量的范围)
        3、在循环体内部进行对循环变量的调整。
                循环变量++
for循环语句:
        for (初始化循环变量;循环变量的范围;循环变量的调整)
                执行的语句
for循环中的变量建议以前闭后开的形式给出——只是可以提高部分情况下的代码可读性,并不是硬性要求。
for语句和while语句后不要加上分号“;”,否则会变成空语句使得循环失效!
DO while循环语句:
        do{
                要执行语句}
        while(判断语句)
NOTE:do while先执行do的内容 再进行循环判断 ,所以不管怎么样它都有一次循环。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值