c语言基础——分支和循环

       

目录

        1.if语句

1.1 if

1.2 else

1.3 分支中包含多条语句

1.4 嵌套if

2.switch语句

2.1if语句和switch语句的对比

2.2 switch语句中的default

2.3 switch语句中的case和default的顺序问题

3.while循环语句

        3.1while

4. for循环语句

        4.1 for语句

5.do while循环

        5.1 do while语句


今天我们来说一说在我们c语言中一个很重要的东西——分支与循环,在我们c语言中分别有三种结构分别是:顺序结构、选择结构以及循环结构。基本上所有的事我们都能拆成这三种结构来实现,我们使用if、switch实现分支的结构,使用for、while、do while来实现循环。接下来我将一一介绍他们的结构以及用法。

 1.if语句

        1.1 if

        if语句它的语法形式如下:

        if后面括号括起来的表达式用于if语句的判断,表达式成立则为真,表达式不成立则为假,则if语句将不会执行而我们c语言中,0表示假,非0c为真,意思就是说表达式的结果如果为0的话,则if语句不会执行,不是0的话,语句会执行。下面我们便尝试用它来写一串代码,看一下吧。

在这串代码中通过if来判断一个数是不是偶数,input这个数如果%2为0的话则说明这个数是偶数,表达式则为真,if语句将会执行,反之则不会。我们来看看输出的结果:

我们if语句的执行流程如下:

1.2 else

我们前面输入的if代码,其实我们明显能感觉到它的分支不完整,一个数的话不是偶数,那肯定就是奇数了,而刚刚我们只输出了一个数是否为偶数,并没有说它是奇数,所以这个时候我们就要使用到else,else会与if连用,构成我们的if......else语句了,它的形式如下:

它的意思是,if语句如果不能执行,则会执行else中的语句,下面我们来看一串代码:

我们输入123这个数,执行结果为:

1.3 分支中包含多条语句

        这里需要注意的是if和else语句中默认都是只控制一条语句的,例如:

执行结果:

1.

2.

你可以发现在上面结果中无论输入的是不是偶数,他都会打印“%d是偶数”在屏幕上。

        这是因为 if 语句只能控制⼀条语句,就是 printf("%d是偶数\n"); ,if语句为真,则可以整除2, if语句为假,则不打印,对于 printf("%d是偶数\n"); 是独存在的,不管if语句的条件的真 假,都会被执⾏。那如果我们要if语句同时控制2条语句,怎么办呢?那就要使⽤ {} 将代码括起来, else 后也可以跟上大括号。下面我们试着写一串代码:

输出的结果为:

1.4 嵌套if

        if else语句中,else可以与另一个if语句连用,形成多重判断。

        比如:要求输入一个整数,判断输入的整数是0,还是整数或者负树,如下代码:

输入结果为:

再比如这个代码:

要求输⼊⼀个整数,如果是正数,再判断是奇数还是偶数,并输出;如果不是正数则输出:负数。

上面代码中用红框框起来的代码也是嵌套在if语句中的,构成了嵌套if语句。

上面就是嵌套if语句的语法,有了嵌套if语句,我们就能完成更多复杂的逻辑判断了。

2.switch语句

        switch语句作用也是进行分支选择,它是一种特殊形式的if.....else结构,用于判断条件有多个结果的情况。它把else if改成更易用更易读懂的形式。它的形式如下:

                                

         上面的代码中,根据表达式expression不同的值,执行相应的case分支。如果找不到对应的值,就执行default分支。
         这里需要注意的是: 1.switch后的expression必须是整型表达式
                                         2.case后的值,必须是整型常量表达式
2.1if语句和switch语句的对比

        例如:输入任意的一个整数,计算除3后的余数。

        if语句完成的话,例如:

而如果我们用switch语句改写的话,如下:

这里需要强调的是:

1.case和后面的数字之间必须有空格

 2.每一个case语句中的代码执行完成后,需要加上break,才能跳出switch语句。

而如果我们这里如果去掉break会是什么情况呢?我们继续看一串代码:

输出的结果为:

        在这里我们发现,10除以3的话明明余数是1,但是最终输出的结果多出了一行“余数是2”的打印。这是为什么呢?

        原因是 switch 语句也是分⽀效果的,只有在 switch 语句中使⽤ break 才能在跳出 switch 语 句,如果某⼀个 case 语句的后边没有 break 语句,代码会继续玩下执⾏,有可能执⾏其他 case 语句中的代码,直到遇到 break 语句或者 switch 语句结束。就⽐如上⾯的代码就执⾏了 case 2 中的语句。

所以在 switch 语句中 break 语句是⾮常重要的,能实现真正的分⽀效果。

当然, break 也不是每个 case 语句都得有,这就得根据实际情况来看了。

2.2 switch语句中的default

        在使⽤ switch 语句的时候,我们经常可能遇到⼀种情况,⽐如 switch 后的表达式中的值⽆法匹配代码中的 case 语句的时候,这时候要不就不做处理,要不就得在 switch 语句中加⼊default ⼦句。

        当switch后边的expression的结果既不是value1,又不是value2的时候,就会执行default,下面我们我们看一串代码:

        

当我们输入8的时候,其结果为:

2.3 switch语句中的case和default的顺序问题

        在switch语句中并没有规定它们的顺序问题,不是说case只能在default前面,default只能在最后面,这可以根据实际需求来输入,不过我们通常都将default放在最后面来处理。

3.while循环语句

        3.1while

        前面讲了分支,接下来我们就来介绍一下循环吧,循环中的一种便是我们的while语句,while语句它的形式为:

        while语句其实和我们的if语句有点相似,它也是先进行表达式的判断,表达式为真则代表为非0,while语句开始执行,语句执行完后再继续判断,下一次是否还能执行。而如果表达式为假则代表为0,while语句不会执行循环变回结束。我们可以看一下while的执行流程图:

        我们了解了while语句的之后,下面我们试着用while语句来进行数字1——10的打印吧:

输出的结果为:

4. for循环语句

        4.1 for语句

                for语句也是循环语句中的一种,它的形式如下:

        

                表达式1 ⽤于循环变量的初始化

                表达式2 ⽤于循环结束条件的判断

                表达式3 ⽤于循环变量的调整
                for语句的循环执行流程如下:
        
        ⾸先执⾏ 表达式1 初始化循环变量,接下来就是执⾏ 表达式 2 的判断部分, 表达式 2 的结果如果 ==0,则循环结束; 表达式2 的结果如果!=0则执⾏循环语句,循环语句执⾏完后,再去执⾏表 达式 3 ,调整循环变量,然后再去 表达式 2 的地⽅执⾏判断, 表达式 2 的结果是否为0,决定循环是否继续。
        整个循环的过程中,表达式1初始化部分只被执⾏1次,剩下的就是表达式2、循环语句、表达式3在循环。
        接下来我们试着用for语句打印出1——10的数字,代码如下:
输出的结果为:
        

5.do while循环

        5.1 do while语句

        接下里我再来介绍循环语句中的do while,它相比与前两种循环,它的使用频率相对较少

do while语句的形式为:

        while 和 for 这两种循环都是先判断,条件如果满⾜就进⼊循环,执⾏循环语句,如果不满⾜就跳出循环;而do while 循环则是先直接进⼊循环体,执⾏循环语句,然后再执⾏ while 后的判断表达式,表达式为真,就会进⾏下⼀次,表达式为假,则不再继续循环。 它的执行流程如下:
        由于do while这个语句在使用的时候,它至少都会执行一次,所以使用的频率相比于前两个较少,下面我们试着用它写一串代码,要求输入一个数,然后计算他是几位数:
        我们输入1234这个数,输出的结果为:
        这⾥并⾮必须使⽤ do while 语句,但是这个代码就⽐较适合使⽤ do while 循环,因为n即使是 0,也是1位数,要统计位数的。
        好了这就是这期所有关于循环和分支的知识点了,读到这里如果感觉不错的话不妨点个赞,我们下期再见吧!!
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
ava实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),可运行高分资源 Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现的毕业设计&&课程设计(包含运行文档+数据库+前后端代码),Java实现
C语言是一种广泛使用的编程语言,它具有高效、灵活、可移植性强等特点,被广泛应用于操作系统、嵌入式系统、数据库、编译器等领域的开发C语言的基本语法包括变量、数据类型、运算符、控制结构(如if语句、循环语句等)、函数、指针等。下面详细介绍C语言的基本概念和语法。 1. 变量和数据类型 在C语言中,变量用于存储数据,数据类型用于定义变量的类型和范围。C语言支持多种数据类型,包括基本数据类型(如int、float、char等)和复合数据类型(如结构体、联合等)。 2. 运算符 C语言中常用的运算符包括算术运算符(如+、、、/等)、关系运算符(如==、!=、、=、<、<=等)、逻辑运算符(如&&、||、!等)。此外,还有位运算符(如&、|、^等)和指针运算符(如、等)。 3. 控制结构 C语言中常用的控制结构包括if语句、循环语句(如for、while等)和switch语句。通过这些控制结构,可以实现程序的分支循环和多路选择等功能。 4. 函数 函数是C语言中用于封装代码的单元,可以实现代码的复用和模块化。C语言中定义函数使用关键字“void”或返回值类型(如int、float等),并通过“{”和“}”括起来的代码块来实现函数的功能。 5. 指针 指针是C语言中用于存储变量地址的变量。通过指针,可以实现对内存的间接访问和修改。C语言中定义指针使用星号()符号,指向数组、字符串和结构体等数据结构时,还需要注意数组名和字符串常量的特殊性质。 6. 数组和字符串 数组是C语言中用于存储同类型数据的结构,可以通过索引访问和修改数组中的元素。字符串是C语言中用于存储文本数据的特殊类型,通常以字符串常量的形式出现,用双引号("...")括起来,末尾自动添加'\0'字符。 7. 结构体和联合 结构体和联合是C语言中用于存储不同类型数据的复合数据类型。结构体由多个成员组成,每个成员可以是不同的数据类型;联合由多个变量组成,它们共用同一块内存空间。通过结构体和联合,可以实现数据的封装和抽象。 8. 文件操作 C语言中通过文件操作函数(如fopen、fclose、fread、fwrite等)实现对文件的读写操作。文件操作函数通常返回文件指针,用于表示打开的文件。通过文件指针,可以进行文件的定位、读写等操作。 总之,C语言是一种功能强大、灵活高效的编程语言,广泛应用于各种领域。掌握C语言的基本语法和数据结构,可以为编程学习和实践打下坚实的基础

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值