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

相关文章

python使用fastapi实现多语言国际化的操作指南

《python使用fastapi实现多语言国际化的操作指南》本文介绍了使用Python和FastAPI实现多语言国际化的操作指南,包括多语言架构技术栈、翻译管理、前端本地化、语言切换机制以及常见陷阱和... 目录多语言国际化实现指南项目多语言架构技术栈目录结构翻译工作流1. 翻译数据存储2. 翻译生成脚本

Linux流媒体服务器部署流程

《Linux流媒体服务器部署流程》文章详细介绍了流媒体服务器的部署步骤,包括更新系统、安装依赖组件、编译安装Nginx和RTMP模块、配置Nginx和FFmpeg,以及测试流媒体服务器的搭建... 目录流媒体服务器部署部署安装1.更新系统2.安装依赖组件3.解压4.编译安装(添加RTMP和openssl模块

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

浅析如何使用Swagger生成带权限控制的API文档

《浅析如何使用Swagger生成带权限控制的API文档》当涉及到权限控制时,如何生成既安全又详细的API文档就成了一个关键问题,所以这篇文章小编就来和大家好好聊聊如何用Swagger来生成带有... 目录准备工作配置 Swagger权限控制给 API 加上权限注解查看文档注意事项在咱们的开发工作里,API

Go语言中三种容器类型的数据结构详解

《Go语言中三种容器类型的数据结构详解》在Go语言中,有三种主要的容器类型用于存储和操作集合数据:本文主要介绍三者的使用与区别,感兴趣的小伙伴可以跟随小编一起学习一下... 目录基本概念1. 数组(Array)2. 切片(Slice)3. 映射(Map)对比总结注意事项基本概念在 Go 语言中,有三种主要

C语言中自动与强制转换全解析

《C语言中自动与强制转换全解析》在编写C程序时,类型转换是确保数据正确性和一致性的关键环节,无论是隐式转换还是显式转换,都各有特点和应用场景,本文将详细探讨C语言中的类型转换机制,帮助您更好地理解并在... 目录类型转换的重要性自动类型转换(隐式转换)强制类型转换(显式转换)常见错误与注意事项总结与建议类型

springboot启动流程过程

《springboot启动流程过程》SpringBoot简化了Spring框架的使用,通过创建`SpringApplication`对象,判断应用类型并设置初始化器和监听器,在`run`方法中,读取配... 目录springboot启动流程springboot程序启动入口1.创建SpringApplicat

通过prometheus监控Tomcat运行状态的操作流程

《通过prometheus监控Tomcat运行状态的操作流程》文章介绍了如何安装和配置Tomcat,并使用Prometheus和TomcatExporter来监控Tomcat的运行状态,文章详细讲解了... 目录Tomcat安装配置以及prometheus监控Tomcat一. 安装并配置tomcat1、安装

MySQL的cpu使用率100%的问题排查流程

《MySQL的cpu使用率100%的问题排查流程》线上mysql服务器经常性出现cpu使用率100%的告警,因此本文整理一下排查该问题的常规流程,文中通过代码示例讲解的非常详细,对大家的学习或工作有一... 目录1. 确认CPU占用来源2. 实时分析mysql活动3. 分析慢查询与执行计划4. 检查索引与表

Go语言利用泛型封装常见的Map操作

《Go语言利用泛型封装常见的Map操作》Go语言在1.18版本中引入了泛型,这是Go语言发展的一个重要里程碑,它极大地增强了语言的表达能力和灵活性,本文将通过泛型实现封装常见的Map操作,感... 目录什么是泛型泛型解决了什么问题Go泛型基于泛型的常见Map操作代码合集总结什么是泛型泛型是一种编程范式,允