精华内容
下载资源
问答
  • 请问vb6.0平台编程语言开发怎么实现使用循环语句对控件的列举,循环变量的写法是什么?怎么用循环变量表示控件?
  • C语言循环

    千次阅读 多人点赞 2019-08-03 19:39:45
    在C语言程序中,一共有三种程序结构:顺序结构、选择结构(if和switch分支结构)、循环结构; 顺序结构:从头到尾一句接着一句的执行下去,直到执行完最后一句; 选择结构:到某个节点后,会根据一次判断的结果来...

       

    程序结构

           在C语言程序中,一共有三种程序结构:顺序结构、选择结构(if和switch分支结构)、循环结构;

           顺序结构:从头到尾一句接着一句的执行下去,直到执行完最后一句;

           选择结构:到某个节点后,会根据一次判断的结果来决定之后向哪一个分支方向执行,由if、switch实现,前面的章节我们已经学习过。

           循环结构:循环结构有一个循环体,循环体里是一段代码。对于循环结构来说,关键在于根据判断的结果,来决定循环体执行多少次,由while、for和do while来实现。

    while循环

           while循环的一般形式为:

          

           意思是,先计算“表达式”的值,当值为真时(表达式的值非0即是真),执行“语句块”;执行完“语句块”,再次计算表达式的值,如果为真,继续执行“语句块”……,这个过程会一直重复,直到表达式的值为假,就退出循环,执行while后面的程序代码。

           循环也常常出现在我们的生活中,以用餐为例:

           

           人们的用餐就是一个循环,“没有吃饱并且还有饭菜”是循环首部要判断的表达式,它的取值会随着循环次数的增加而改变,“夹一把菜”、“吃一口菜“、吃一口饭”是循环体,随着循环次数的增加,一定会吃饱或者饭菜被吃完,循环结束。

           do-while循环的一般形式为:

           

           表达用餐的过程如下:

          

           do-while先执行一次循环,然后再判断表达式的值,如果为真,再执行循环体,如此重复去下。

           实际编程中使用while循环较多,我从来不用 do-while,在接下来的章节中就不讲它了。

           continue和break两个关键字用在循环体中,用于处理异外情况。

           continue用于跳转到循环的首部。

           break用于跳出循环。

           继续以用餐为例:

           

           用餐的循环体一般来说有夹菜、吃菜、吃饭三条语句,因为胃口不好,可能跳过吃饭语句,只吃菜。

          

           各位在用餐的时候,眼睛应该会看着饭菜,应该也会判断是否有虫子,如果有虫子,估计也会跳出循环体。

           如果不知道循环的次数,以达到某个目标为目的比较合适用while,例如:利用一个循环,把用户每次从键盘输入的数据累加起来,如果总和超过了5000,循环结束。

           示例(book31.c)

          

           运行结果

          

    for循环

           for循环的一般形式为:

           

           1)for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1。

           2)接着判断表达式的条件,如果条件成立,就会执行循环体中的语句块。

           3)循环体语句块执行完毕后,接下来会执行语句2。

           4)重复执行第2)步和第3),直到条件不成立就结束for循环。

           注意:

           1)在for循环中,语句1;表达式;语句2都可以空,for (;;)等同于while (1)。

           2)continue和break两个关键字也可以用在循环体中。

           for循环应用于事先知道循环总次数的场景,一般与计数器或数组结合一起使用。例如:利用一个循环,把1到100之间的数值累加起来。

           示例(book33.c)

          

           运行结果

          

    for循环嵌套

           我们来看一个生活中的例子,某宾馆有3层,每层有4个房间,打扫房间的阿姨利用了循环嵌套来安排工作。

           示例(book35.c)

          

           运行结果

          

    循环的选择

           for循环可以实现while循环的功能,while循环也可以实现for循环的功能,没有那个更好的说法,要看应用场景。

           for循环应用于事先知道循环总次数的场景,一般与计数器或数组结合一起使用。

           while循环事先不知道循环的总次数,以达到某个目标为目的循环场景,例如用餐,没人关心过一顿饭要吃多少口,吃饱或没东西可吃是循环结束。

    死循环

           死循环是指循环的条件永远为真,并且循环体中也没有满足跳出的条件,死循环有两种写法:

          

           出现死循环的情况有两种:1)程序的逻辑错误;2)程序员故意为之。第一种情况就不说了,程序员自己去解决,第二种是程序功能的需要,但是程序员仍有其它的办法让程序中止,这么说可能难以理解,没关系,在以后的课程中将会介绍。

           如果你的程序不小心进入了死循环,可以用Ctrl+c中止。

    应用技巧

           1)for循环的计数器,习惯的写法是for (ii=0;ii<=10;ii++),表示从0、1……到10,从小到大的方式计数,但是在某些应用场景中,可能需要从大到小的方式计数,for (ii=10;ii>=0;ii--),也是可以的。

           2)for循环的计数器,习惯的写法是for (ii=0;ii<=10;ii++),表示从0、1……到10,从小到大一次增加1的方式,但是在某些应用场景中,计数器不一定是增加ii++,ii=ii+2也是可以的。

    版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发我的文章,谢谢!!!

    如果文章有错别字,或者内容有误,或其他的建议或意见,请您留言指正,非常感谢!!!

    展开全文
  • 当删除给定指针指向的结点,我们已经找到了要删除的结点,需要找到他的前驱结点,单链表不支持获取前驱结点,所以,为了找到前驱结点,还是要从头开始获取前驱结点。但是对于双向链表来说,有前驱指针,所以只需要O...

    链表

    链表不需要一块连续的内存空间,它通过指针将一组零散的内存块串联起来使用。其中每个内存块叫做链表的结点,记录下个结点地址的指针叫做后继指针。

    一 单链表

    链表的插入和删除是非常快速的,因为不需要做数据搬移,但是链表想要随机访问第k个元素就没有数组那么高效了,因为链表的数据不是连续的,没办法将首地址和下标带入寻址公式直接计算出对应的内存地址,而是需要根据指针一个结点一个结点的一次遍历,直到找到相应的结点,需要O(n)的时间复杂度。

    二 循环链表

    在单链表基础上,尾结点的指针指向链表的头结点

    三 双向链表

    每个结点不止有一个后继指针next指向后面的结点,还有一个前驱指针prev指向前面的结点。

    • 删除和访问操作
      当删除结点中“值等于某个给定值”的结点,无论单链表还是双向链表,为了查找到匹配的结点,都需要从头指针一个一个一次遍历,然后将其删除。尽管删除操作时间复杂度是O(1),但是遍历查找的时间复杂度是O(n)。

    当删除给定指针指向的结点,我们已经找到了要删除的结点,需要找到他的前驱结点,单链表不支持获取前驱结点,所以,为了找到前驱结点,还是要从头开始获取前驱结点。但是对于双向链表来说,有前驱指针,所以只需要O(1)的时间复杂度就可以。

    除此之外,对于一个有序链表,双向链表在按值查询时,可以记录上次查找的位置,每次查询的时候,根据查找的值判断大小,然后决定往前找还是往后找,平均只需要查找一半的数据。

    • 空间换时间设计思想
      在实际的开发中,尽管双向链表比较耗费内存,也比单链表应用更加广泛,比如java中的linkedHashMap,这里体现一种用空间换时间的思想,当我们内存空间充足的时候,如果我们更加追求代码的执行速度,就可以选用空间复杂度相对较高,但时间复杂度相对较低的算法或者数据结构。反过来也类似。

    四 数组和链表的缺点

    • 数组的缺点是大小固定,且需要占用整块连续的内存空间,如果声明的数组过大,系统可能没有足够的连续内存空间分配给它,导致out of memory,如果声明的过小,又容易产生动态扩容发现数据搬移。

    • 链表的缺点是需要耗费额外的存储空间去存储指针,而且对链表的频繁插入、删除操作,还会导致频繁的内存申请和释放,容易造成内存碎片,如果是Java语言,就有可能频繁的GC。

    五 如何实现一个LRU缓存淘汰算法?

    链表使用的经典场景,LRU(least recently userd),最少最近使用策略。

    我的思路是这样的,维护一个按时间排序的有序单链表,越靠近尾部的结点是最早被访问的,当有一个新的数据被访问时,分以下两种情况:

    • 如果数据已经在链表中,先遍历找到这个数据对应的结点,将原来数据删除,然后把数据插入到链表的头部。
    • 如果数据不在链表中,要判断链表是否已经满了,如果未满,将数据插入到链表头部,如果已满,将链表尾结点删除,再将新的数据插入链表头部。

    在这里插入图片描述
    时间复杂度分析的话,不管缓存满不满,我们都需要遍历一遍链表,所以是O(n)的时间复杂度。实际上可以引入散列表来记录每个数据的位置,将缓存访问的时间复杂度降低到O(1),在后续散列表会详细说明。

    展开全文
  • C语言while循环

    千次阅读 2020-04-16 11:00:34
    意思是,先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值...

    1、while循环介绍

    while循环的一般形式为:

      while (表达式)
      {
        语句块
      }
    

    意思是,先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值为假,就不再执行语句块。

    循环也常常出现在我们的生活中,以超女选秀为例。

      // 超女已准备出场
    
      while (是否有未出场的超女)
      {
        // 判断超女的年龄
        // 判断超女的身材
        // 判断超女的颜值
        // 送往后宫
      }
    

    超女选秀就是一个循环,是否有未出场的超女是循环首部要判断的条件,它的取值会随着循环次数的增加而改变,判断超女的年龄、判断超女的身材、判断超女的颜值、送往后宫是循环体,随着循环次数的增加,全部的超女已出场,循环体不再执行。

    2、循环的跳转

    continue和break两个关键字用在循环体中,用于控制循环体代码的执行流程。

    continue跳转到循环的首部。

    break跳出循环。

    以超女选秀为例:

      // 超女已准备出场
    
      while (是否有未出场的超女)
      {
        // 判断超女的年龄
        if (年龄小于16) continue;
        // 判断超女的身材
        if (身材不火辣) continue;
        // 判断超女的颜值
        if (颜值不漂亮) continue;
        // 判断已选出的超女数量,如果已经有10位了,就不要再选了
        if (已选出的超女数量等于10) break;
      }
    
      // 送往后宫
    

    超女出场后,先看看身份证上的年龄,如果不够16岁,没到法定年龄,评委就会说直接下一个,即continue,这个不够16岁的小姑娘直接回家。

    如果本次选秀的任务是选出10位超女,如果选出的超女已经有10位了,活动结束,即break,没选上的和没出场的直接回家。

    3、while循环的应用

    利用一个循环,把用户每次从键盘输入的数据累加起来,如果总和超过了5000,循环结束。

    /*
     *  程序名:book31.c,此程序用于演示while循环 
     *  作者:C语言技术网(www.freecplus.net) 日期:20190525
    */
    #include <stdio.h>
    
    int main()
    {
      int times=0;   // 记录用户输入数据的次数
      int value=0;   // 用户每次从键盘输入的数据
      int sum=0;     // 记录用户输入数据的和
    
      while (sum<5000)  // 如果sum的值小于5000,进入循环
      {
        printf("请输入数字:");    // 提示用户输入
        scanf("%d",&value);        // 接受用户从键盘输入的数据
    
        times++;                   // 用户输入数据的次数自增1
        sum=sum+value;             // 记录用户输入数据的和
      }
    
      printf("您一共输入了%d个数据,和为%d。\n",times,sum);
    }
    

    运行效果
    在这里插入图片描述

    4、do while循环

    do while循环的一般形式为:

      do
      {
        语句块
      }  while (表达式)
    

    do while先执行一次循环,然后再判断表达式的值,如果为真,再执行一次循环体,如此重复下去。

    在实际开发中,几乎不用 do while,所以就不讲它了。

    4、获取视频教程

    百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
    https://edu.csdn.net/course/play/29402

    5、版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

    展开全文
  • C语言for循环和while循环的区别

    千次阅读 2020-04-16 11:09:16
    文章目录1、for循环介绍2、while循环介绍3、循环的选择4、版权声明 1、for循环介绍 for循环的一般形式为: for (语句1;表达式;语句2) { 语句块 } 1)for循环开始时,会先执行语句1,而且在整个循环过程中只执行...

    1、for循环介绍

    for循环的一般形式为:

      for (语句1;表达式;语句2)
      {
        语句块
      }
    

    1)for循环开始时,会先执行语句1,而且在整个循环过程中只执行一次语句1。

    2)接着判断表达式的条件,如果条件成立,就执行一次循环体中的语句块。

    3)语句块执行完后,接下来会执行语句2。

    4)重复第2)步和第3),直到表达式的条件不成立才结束for循环。

    注意:

    1)在for循环中,语句1、表达式和语句2都可以为空,for (;;)等同于while (1)。

    2)continue和break两个关键字也可以用在for循环体中。

    for循环一般与计数器一起使用。例如:把1到100之间的数值累加起来。

    示例(book33.c)

    /*
     *  程序名:book33.c,此程序用于演示for循环
     *  作者:C语言技术网(www.freecplus.net) 日期:20190525
    */
    #include <stdio.h>
    
    int main()
    {
      int ii=1;      // 用于for循环的计数器
      int sum=0;     // 记录1到100的累积值
    
      for (ii=1;ii<=100;ii++)
      {
        sum=sum+ii;
      }
    
      printf("1到100的累积值为%d。\n",sum);
    }
    

    运行效果
    在这里插入图片描述

    2、while循环介绍

    while循环的一般形式为:

      while (表达式)
      {
        语句块
      }
    

    意思是,先计算表达式的值,当值为真时(非0即是真),执行语句块,执行完语句块后,回到循环首部再次计算表达式的值,如果为真,又执行一次语句块……,这个过程会一直重复,直到表达式的值为假,就不再执行语句块。

    循环也常常出现在我们的生活中,以超女选秀为例。

      // 超女已准备出场
    
      while (是否有未出场的超女)
      {
        // 判断超女的年龄
        // 判断超女的身材
        // 判断超女的颜值
        // 送往后宫
      }
    

    超女选秀就是一个循环,是否有未出场的超女是循环首部要判断的条件,它的取值会随着循环次数的增加而改变,判断超女的年龄、判断超女的身材、判断超女的颜值、送往后宫是循环体,随着循环次数的增加,全部的超女已出场,循环体不再执行。

    3、循环的选择

    for循环可以实现while循环的功能,while循环也可以实现for循环的功能,没有那个更好的说法,要看应用场景。

    for循环更合适事先知道循环总次数的场景,一般与计数器或数组结合一起使用。

    while循环更合适事先不知道循环总次数的场景,以达到某个目标为目,例如超女选秀,报名有多少人没关系,已选够10位或没人可选是循环的结束。

    4、获取视频教程

    百万年薪程序员录制,《C/C++高性能服务开发基础》视频教程已在CSDN学院发布,优惠价12元,地址如下:
    https://edu.csdn.net/course/play/29402

    5、版权声明

    C语言技术网原创文章,转载请说明文章的来源、作者和原文的链接。

    来源:C语言技术网(www.freecplus.net

    作者:码农有道

    如果这篇文章对您有帮助,请点赞支持,或在您的博客中转发此文,让更多的人可以看到它,谢谢!!!

    展开全文
  • python:while循环、for循环

    千次阅读 多人点赞 2018-03-17 22:59:56
    循环: 在python编程中,python提供了for循环和while循环 while循环: 基本语法为: while 判断条件: 执行语句...... 1、while循环用于循环执行程序,以处理需要重复处理的任务。 2、while循环用于多次...
  • 循环依赖:就是N个类循环(嵌套)引用。 通俗的讲就是N个Bean互相引用对方,最终形成闭环。用一副经典的图示可以表示成这样(A、B、C都代表类,虚线代表引用关系): 注意:其实可以N=1,也就是极限情况的循环依赖:...
  • Python循环语句

    千次阅读 2016-04-16 12:42:23
    编程语言提供了各种控制结构,允许更复杂的执行路径...Python提供了for循环和while循环(在Python中没有do..while循环): 循环类型 描述 while 循环 在给定的判断条件为 true 时执行循环体,否则退出循环体。
  • OpenCV调用TensorFlow是什么意思

    千次阅读 2019-02-21 21:38:30
    什么是DNN? 在介绍DNN之前,我们再来简单看一下OpenCV的安装、代码结构等。有两个地方可以下载OpenCV,一个是官网https://opencv.org,另一个是OpenCV的GitHub。官网上,每个版本都给出了下面这样的列表: ...
  • 时钟频率是什么意思

    万次阅读 2018-09-30 20:39:08
     时钟频率是什么意思  这是我们最关心的,我们所说的233、300等就是指它,一般说来,主频越高,CPU的速度就越快,整机的就越高。  时钟频率即CPU的外部时钟频率,由电脑主板提供,以前一般是66MHz,也有...
  • spring源码系列(一)——spring循环引用

    万次阅读 多人点赞 2019-09-30 21:22:06
    spring循环依赖如何解的?
  • 在成功的加密项目中,激励循环(Incentive Loops)是很常见的。最棒的加密货币平台或代币通常都内置了鲁棒性(Robust)很好的激励循环(机制)。通过有机增长方式(译者注:Organic growth-有机增长,是指一个公司...
  • C++__return 0是什么意思?

    千次阅读 2019-11-02 00:01:10
    return语句用来结束循环,或返回一个函数的值。 1、return 0,说明程序正常退出,返回到主程序继续往下执行。 2、return 1,说明程序异常退出,返回主调函数来处理,继续往下执行。return 0 或 return 1 ...
  • c语言是什么意思

    千次阅读 2008-10-20 09:34:00
    建议你再看下书 在编译运行后就输出什么东西 i); printf(“x2=%8.4f-%8.4fi/n”r x2); } else {r=-b/(2*a); i =sqrt(-d)/(2*a); printf(“x1=%8.4f+%8.4fi/n”r x1 x2=%8.4f/n” 方程有两个实根 要解释这个问题实在...
  • 服务器负载均衡是什么意思

    万次阅读 2017-08-14 20:23:48
    简略有用的负载均衡算法可以配置包括循环法、最少衔接法、散列法或最少失误法等多种不同的负载均衡方法,也可以对个别 服务器 配置最大衔接数量阈值和加权值,以防止 服务器 超载。 高可靠性 架构在专用...
  • linux中的shell是什么意思

    千次阅读 2017-04-12 17:40:16
    他们经常在条件语句和循环 语句中被用来判断某些条件是否满足. test命令的语法格式: test expression 或者 [expression] 在test命令中,可以使用很多shell的内部操作符.这些操作符介绍如下: (1)...
  • 上一篇文章C++各种循环方式梳理及对比之深入到汇编看while和for深入到汇编对比了while和for的效率问题,这篇将集中在另外几种看上去比较高大上的循环写法。 这些写法一般只是for或者while的一层封装,效率与自己实现...
  • [python笔记]for循环循环变量迭代问题在python中,for循环相当于一个迭代器,在循环体中改变循环变量的值对循环次数是没有影响的。
  • Spring源码剖析-Spring如何处理循环依赖

    千次阅读 多人点赞 2021-06-13 16:16:53
    前言 你是不是被这个骚气的标题吸引进来的,_ 喜欢我的文章的...什么是循环依赖 依赖指的是Bean与Bean之间的依赖关系,循环依赖指的是两个或者多个Bean相互依赖,如: 构造器循环依赖 代码示例: public class BeanA {
  • ACM中AC、WA、PE、RE分别是什么意思

    千次阅读 2019-10-12 00:16:55
    如果进入无限循环,通常会发生这种情况。 编译错误(CE):编译器无法编译您的程序。警告消息不视为错误。单击法官的答复,以查看编译器生成的警告和错误消息。 系统错误:评判系统无法运行您的程序。一个例子是您的...
  • 咱们直接先来看for循环。Python for循环可以遍历任何序列的项目,如一个列表或者一个字符串。然后再来看一下它的语法结构:for iterating_var in sequence: statements(s) 这是他的工作流程图: 来,咱们看实例来...
  • http://topic.csdn.net/u/20090910/10/20c6ba01-28ac-482e-94b2-bfce0a952f77.html请问set JAVA_OPTS的各项参数是什么意思? 例如下面的: set JAVA_OPTS=%JAVA_OPTS% -Xms512m -Xmx1024m -XX:PermSize=256M -XX:...
  • C++里面cout.width(4)是什么意思

    千次阅读 2016-05-24 21:25:35
    1.1 什么是C语言...........................1 1.11 C语言的历史..........................58 第二章 方法很多种啦,我们可以这样写: /*一个使用填充,宽度,对齐方式的例子*/ #include <iostream.h> void...
  • ``` 你的浏览器不支持video标签. ``` 很奇怪,在火狐里边这样写是可以循环的,但是Chrome只能播放一次。当我不用Bootatrap框架的时候,它却可以循环播放。请大神帮我解答。
  • for循环用了那么多次,但你真的了解它么?

    千次阅读 多人点赞 2019-12-30 09:52:29
    一、基础的for循环 0、使用while也是一种循环方式,此处探究for相关的循环,就不做拓展了。 1、遍历数组的时候,初学时是使用的如下样式的for循环: for(int i=0;i<a.length;i ){ System.out.println(n); } 2、...
  • 2.1.2 while+break,break的意思是结束本层循环 2.1.2 while+continue,continue的意思是结束本次循环,进入下一次循环 while+continue练习:打印数字1-10,其中不打印数字8 n=1 while n 这里不加n+=1的话,while...
  • shell 数组 循环

    千次阅读 2017-06-02 19:20:11
    #if 语句 判断数字的写法 [ ] 两边都要有空格 -ne 不相等的意思 这里比较的是数字 所以 $(($filesNum-1))这个就要这样写 $((${filesNum}-1)) 都可以 if [ "$j" -ne "$(($i-1))" ]||[ "$j" -ne "$(($filesNum-1))" ]...
  • JS中的事件循环原理以及异步执行过程这些知识点对新手来说可能有点难,但是是必须迈过的坎,逃避是解决不了问题的,本篇文章旨在帮你彻底搞懂它们。 说明:本篇文章主要是考虑浏览器环境,Node环境我没有研究过暂时...
  • RobotFramework之For循环

    千次阅读 2017-08-22 15:49:52
    RobotFramework只支持FOR循环,但是也足够用了,如果有其他要求,可以自定义写。 一、示例 1.FOR......IN...... IN后面可以跟无数的值,然后一个一个读取到循环里执行,如下图 打印结果:把IN后面的值...
  • A:x264里的2pass指的是什么意思?另外stat是什么意思, 比如有个参数--stats <string> Filename for 2 pass stats [/"%s/"]/n", defaults->rc.psz_stat_out ); stats在这是什么意思? 2pass是2次编码的意思,...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 153,838
精华内容 61,535
关键字:

循环支持是什么意思