iOS笔记:第四篇 C语言 流程控制

2024-09-02 12:08

本文主要是介绍iOS笔记:第四篇 C语言 流程控制,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!


第一节  switch-case结构

一、switch-case结构

1. switch-case结构选择结构.

2. 语法:

     switch(表达式)

     {

        case 1:

             执行代码;

             break;

        case 2:

             执行代码;

             break;

        case 3:

             执行代码;

             break;

        default:

             执行代码;

             break;

     }

 3. 执行步骤

    先计算switch后的表达式的结果.然后将这个结果依次的从上到下的和每1case块后的值做相等比较。

    只要有1case后的值和表达式的结果相等就会执行该case块中的代码然后结束整个switch结果往下执行.如果不相等再判断下1.

    如果所有的值都不和表达式的结果相等那么就执行default中的代码.

4. ifswitch的区别.

    a. switch-case结构只能做等值判断,判断switch后的表达式的结果是否和case的值相等.

    b. if结构不仅仅可以判断等值还可以判断范围.

5. switch结构的使用注意.

    1). switch小括弧后的表达式不能是浮点型的.其他都是可以的.

    2). case后的break可以不写,但是后果很严重.

        case穿透:如果case的后面没有break,而这个case被匹配上了.就会执行这个case中的代码.并且往下面的case执行.

        遇到break才会结束.

    3). 如果多个case块的处理逻辑是一样的那么可以简写.

    4). case后面可以写1个表达式,但是表达式不能有变量参与否则报语法错误.

  5.  1case块中不要去访问另外1case块中定义的变量这样会出问题的.

        1case块可以写大括弧.

        建议:如果在case中要定义变量这个时候建议加上大括弧.

 6. 选择if还是switch

    凡是可以用switch写的代码都可以用if结构写.

    但是可以用if写的不一定可以使用switch

    建议:等值判断时使用switch

          范围判断使用if结构.

   

第二节  while循环

 1. 什么是循环

    同一件事情,反复不停的去做,这个叫做循环。

    循环的特点:

    1). 1件事情.

    2). 反复不停.

    3). 循环仍然有停止的时刻.

 2. 在代码世界中我们也会有类似的需求:

    同一段代码,我们希望它反复不停的执行指定的次数

 3. 如何让我们的代码反复不停的执行指定的次数呢?

    -> 使用简单复制和粘贴.

       缺点:代码冗余.,后期的维护和修改非常的不方便.

    -> 使用循环结构来将代码反复不停的执行指定的次数.

       优先:代码简洁,修改维护方便.

 4. 循环结构在C语言中有3.

    while循环结构 do-while循环结构 for循环结构.

    他们的功能:可以将一段代码反复不停的执行指定的次数.

    最大的区别语法不同,但是他们实现的功能都是一样的.

 5. while循环结构

   a.  作用:可以将一段代码进行反复不停的执行指定的次数.

   b.  语法:

       while(条件表达式)

       {

           执行代码;

           循环体;

       }

   c. 执行步骤

      1步骤:判断while后面的条件表达式的真假.

         1.1 如果为真,就执行循环体,循环体执行完毕之后再跳回第1步骤.

         1.2 如果为假,就结束while循环结构往下执行.

   d. 死循环.

      定义:每次执行完循环体,去判断条件表达式的真假,每次都得到真,则循环就永远没有结束的时候,像这种永远不会结束的循环我们叫做死循环.

      死循环的后果:就是一直在反复不停的执行循环体,不会结束,那么循环后面的代码是永远不会被执行到。

   e. 注意以下几点.

      C语言中的真假判断.结果为0就认为是假0就认为是真.

6. 如何使用循环结构.

   写循环之前.

   a. 你要确定那段代码是需要被反复不停的执行的.

   b. 什么时候需要结束循环.

7. 循环的应用之一:确定循环体确定循环的次数.

   循环体的代码就会被循环结构反复不停的执行,所以将要反复执行的代码塞到循环体之中.

   1). 声明1int类型的变量.循环增量.并赋默认值为0.

   2). while的条件 i <次数

   3).在循环体之中,要去修改循环增量的值.

   原理:

   循环条件有循环增量参与.而循环增量的值每次循环都要变化.前面几次的变化不足以让这个条件表达式不成立.

   最后一次的变化就可以让这个条件表达式不成立从而结束循环.

   注意:

    1). 不要忘记在循环体之中修改循环增量的值.

   2). 当你确定这个是一个循环的时候,并且也知道循环多少次,先将循环指定次数的架子搭起,然后再分析每一次要做什么事情.然后将每一次要做的事情写在循环体之中.

   3). 找不到循环体的时候

      先用最简单的复制粘贴的方式来实现,复制的那段代码基本上就是循环体了.

8. 循环应用之二:确定循环体,但是不确定循环多少次.知道循环结束的条件.

   请用户输入密码.只要密码不正确(123)就让用户重新输入,直到输入正确为止.

   分析:

   循环体:接收用户输入密码;

   循环次数:不确定.

   循环结束:当密码正确的时候, 只要密码不正确那么就要反复的循环.

   解决方案:

   1). 先搭建循环,把循环体搞定.

   2). 在分析循环继续的条件.

   3). 在循环条件那个地方写上循环要继续的条件.

       一般情况下,那个变量应该定义在外面.

  //循环结束的条件是用户名正确并且密码正确

//   int userName = 0,pwd = 0;

//   while (1)

//   {

//       printf("请输入用户名和密码:");

//       scanf("%d%d",&userName,&pwd);

//       if(userName == 123456 && pwd == 888888)

//       {

//            break;

//       }

//   }

 9. 关于scanf的缓冲区.

   1. 用户输入的数据包括回车空格都会被放在缓冲区之中.

   2. 当接收数字(整型和浮点型)的时候,会自动忽略掉缓冲区中的空格回车 Tab

   3. 当我们接收字符型数据的时候,这个时候就不会忽略任何的数据了.

10. 循环的第三种应用:遍历指定范围的数.

    1-10之间的每1个整数打印出来。

    这肯定是1个指定次数的循环。

    实现步骤.遍历n-m之间的整数.

    1). 先定义1个循环增量并赋值为最小值n

    2). 循环条件 i <= m最大值.

    3). 在循环体之中,循环增量的值就是这个范围中的每1个整数.

    4). 记得在循环体之中修改循环增量的值.

    我们将循环增量的值给利用起来了.每次循环的时候打印循环增量的值都是不一样的因为循环增量的值每次循环的时候都在发生变化.

 11. 循环应用之四:求指定范围中符合特定条件的数.

    请找出1-100之间可以被7整除的数.

    思路与步骤:

    1). 先将这个范围之中的每1个整数遍历出来.

    2). 判断遍历出来的这个数是不是符合特定条件的.

 12. 循环的应用之五:求累加和与平均值.

    请计算1-10之间每1个整数的累积和.

    思路:

    1). 先准备一个容器.这个容器就是用来装累加和的.

    2). 把这一堆数中的每一个数遍历出来.

        将遍历出来的数累加到容器里面去.

    3). 当遍历完成以后,框中的数据就是这堆数据的总和.

    练习:

    让用户输入5个数求用户输入的5个数的累加和.

    #include <stdio.h>

    int main()

{

//   int sum = 0;

//   int i = 1;

//   while (i < 6)

//   {

//       int num = 0;

//       printf("请输入%d个数:",i);

//       scanf("%d",&num);

//       i++;

//     }

//    printf("这些数的和是:%d",sum);

//    return  0;

//    }

13. 循环应用之六:求最大值和最小值.

14. break

    1). break也可以使用在循环体之中.如果在循环体之中遇到了break,就表示立即结束当前循环结构.

        结束循环的方式:

        -> 判断循环条件得到假就结束.

        -> 在循环体之中遇到了break就结束.

    continue

    1). 只能用在循环体之中。如果在循环体之中遇到了continue就会立即结束当前次的循环,然后进入下次循环,当遇到了continue就会立即结束本次循环。如果循环体后还有         代码,是不会执行的,立即进入下次循环,

 


这篇关于iOS笔记:第四篇 C语言 流程控制的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1129911

相关文章

Spring Security中用户名和密码的验证完整流程

《SpringSecurity中用户名和密码的验证完整流程》本文给大家介绍SpringSecurity中用户名和密码的验证完整流程,本文结合实例代码给大家介绍的非常详细,对大家的学习或工作具有一定... 首先创建了一个UsernamePasswordAuthenticationTChina编程oken对象,这是S

Go语言中nil判断的注意事项(最新推荐)

《Go语言中nil判断的注意事项(最新推荐)》本文给大家介绍Go语言中nil判断的注意事项,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧... 目录1.接口变量的特殊行为2.nil的合法类型3.nil值的实用行为4.自定义类型与nil5.反射判断nil6.函数返回的

Go语言数据库编程GORM 的基本使用详解

《Go语言数据库编程GORM的基本使用详解》GORM是Go语言流行的ORM框架,封装database/sql,支持自动迁移、关联、事务等,提供CRUD、条件查询、钩子函数、日志等功能,简化数据库操作... 目录一、安装与初始化1. 安装 GORM 及数据库驱动2. 建立数据库连接二、定义模型结构体三、自动迁

Go语言代码格式化的技巧分享

《Go语言代码格式化的技巧分享》在Go语言的开发过程中,代码格式化是一个看似细微却至关重要的环节,良好的代码格式化不仅能提升代码的可读性,还能促进团队协作,减少因代码风格差异引发的问题,Go在代码格式... 目录一、Go 语言代码格式化的重要性二、Go 语言代码格式化工具:gofmt 与 go fmt(一)

Spring如何使用注解@DependsOn控制Bean加载顺序

《Spring如何使用注解@DependsOn控制Bean加载顺序》:本文主要介绍Spring如何使用注解@DependsOn控制Bean加载顺序,具有很好的参考价值,希望对大家有所帮助,如有错误... 目录1.javascript 前言2. 代码实现总结1. 前言默认情况下,Spring加载Bean的顺

Android ViewBinding使用流程

《AndroidViewBinding使用流程》AndroidViewBinding是Jetpack组件,替代findViewById,提供类型安全、空安全和编译时检查,代码简洁且性能优化,相比Da... 目录一、核心概念二、ViewBinding优点三、使用流程1. 启用 ViewBinding (模块级

基于Python开发Windows屏幕控制工具

《基于Python开发Windows屏幕控制工具》在数字化办公时代,屏幕管理已成为提升工作效率和保护眼睛健康的重要环节,本文将分享一个基于Python和PySide6开发的Windows屏幕控制工具,... 目录概述功能亮点界面展示实现步骤详解1. 环境准备2. 亮度控制模块3. 息屏功能实现4. 息屏时间

SpringBoot整合Flowable实现工作流的详细流程

《SpringBoot整合Flowable实现工作流的详细流程》Flowable是一个使用Java编写的轻量级业务流程引擎,Flowable流程引擎可用于部署BPMN2.0流程定义,创建这些流程定义的... 目录1、流程引擎介绍2、创建项目3、画流程图4、开发接口4.1 Java 类梳理4.2 查看流程图4

java Long 与long之间的转换流程

《javaLong与long之间的转换流程》Long类提供了一些方法,用于在long和其他数据类型(如String)之间进行转换,本文将详细介绍如何在Java中实现Long和long之间的转换,感... 目录概述流程步骤1:将long转换为Long对象步骤2:将Longhttp://www.cppcns.c

Go语言中泄漏缓冲区的问题解决

《Go语言中泄漏缓冲区的问题解决》缓冲区是一种常见的数据结构,常被用于在不同的并发单元之间传递数据,然而,若缓冲区使用不当,就可能引发泄漏缓冲区问题,本文就来介绍一下问题的解决,感兴趣的可以了解一下... 目录引言泄漏缓冲区的基本概念代码示例:泄漏缓冲区的产生项目场景:Web 服务器中的请求缓冲场景描述代码