C语言for循环语句及嵌套(误区,易错点要理解)

article/2025/9/24 3:28:40

目录

前言

例题1:

例题2:

 for循环中contiune的使用:


前言

大家好,相信刚学C语言的小白们,觉得for循环是比较好用的,但是有时候写for循环语句的程序时,写出来的代码结果,和自己想要的不是一个结果,认为自己写的是对的,但其实是错的,我刚学习的时候也是,下面我分享一下两个程序一个是单循环,一个是for的循环嵌套,是经典易错的误区一起来看看吧。

首先来了解一下for循环语句;如果了解的小伙伴可以直接跳过,看例题;

我们都知道for循环分为三个部分为:

for(表达式1;表达式2;表达式3)

表达式1:可以用来赋初值。可以写多个语句,但是这多个语句要用逗号分开。(也可以不写,根据需求来进行编写)

表达式2:判断条件是否成立,如果成立,进入循环体;(同样也可以省略不写,如果不写就默认是1,也就是恒成立的,也就是死循环。如果要跳出循环,需要在循环体中编写break语句)

表达式3:一般用来定义循环变量的自增或自减;(同样也可以省略不写;这个循环变量可以在循环体中进行设置)

所以我们可以这三个语句我们都可以省略不写。但是切记用来分隔三个表达式的分号‘;’不可不写。

例题1:

其实乍一看这两程序是一样的,但仔细看,其是是有很大的不同的。第一个for的循环中有‘{}’,而第二个没有,那么这两个程序的结果,就是不一样的,而且,如果不注意这点,以后编写调用函数利用for循环,那么结果可是截然不同的,这两个结果分别为:

因为如果不加花括号,和其他循环体一样只会判断它下面的第一条语句是否为真,如果为真,则执行完这条语句后返回循环首部进行判断是否再次进入循环,并不是往下进行下一条语句。直到循环结束,然后执行下面的语句,如果不为真,则直接返回循环首部,进行第二次判定是否进入循环,直到不满足条件,循环结束,跳出循环。执行下面的语句。for语句和它下面的第一条语句构成一个循环体结构,如果有花括号,就是for语句和花括号里的内容构成循环体结构,就会依次执行花括号里面的语句,进行循环。(搭配一个小草图)

例题2:

如果上面的你已经掌握了,那么来试着想想这道程序的结果吧,我把结果留在最后,理解的朋友可以直接跳过看结果,不理解的朋友可以看看讲解。

这个程序和上面的程序,其实是一样的只不过是进行了一次嵌套,里面的for语句叫内循环,外面的for语句叫外循环。外循环执行一次,内循环执行一轮,全部执行完之后,返回外循环,重新判断,是否第二次进入内循环。

首先进入外循环,i的值为0,然后进入第二层循环,j的初值为0;进入内循环,判断a[i]是否等于b[j],如果等于,跳出第二层循环执行第一层循环i++;如果你是这么理解的,那么说明你还对上面的不太了解在这里其实并不是跳出内循环,然后去执行外循环语句,而是依次执行下面的语句,直到碰到花括号,结束本次花括号里的内容,返回外循环;因为上面说过for循环中没有花括号的话,只执行它下面的第一条语句;如果a[i]的值不等于b[j]不成立,则返回第内循环首部进行j++,然后判断是否再次进入内循环,直到循环结束如果都不满足下面的语句,那么循环结束,自动返回外循环首部,它下面的换行是不会执行的,直到外循环结束,才会执行。同理如果内循环中有花括号'{}',那么就会依次执行了。不论第一条语句是否成立,都会依次往下进行。(再次搭配一个小草图)

 for循环中contiune的使用:

下面用一个小栗子来说明:

int main()
{int i;for(i=1;i<6;i++){if(i%2)printf("*");else continue;printf("#");}return 0;
}

看下这个的结果:*#*#*#

首先,介绍一下continue的作用,它的用法是结束本轮循环,而并不是结束整个循环。

我相信有的小伙伴会认为结果是:***

我举出一个草图,来看一下吧;

 如果,想法出错的小伙伴还是对加括号的循环不太理解,if-continue,也是一条语句,如果执行的是输出‘*’,执行完后会继续向下执行,输出‘#’;而如果执行的是continue则会直接返回到循环句首,执行表达式3;

好了以上就是本篇,内容,希望对困惑的小伙伴有帮助。如果哪里有不对的,请立刻指正,不要让我错下去。(手动滑稽) 。


http://chatgpt.dhexx.cn/article/OctBulh8.shtml

相关文章

for循环嵌套

文章目录 一、什么是循环嵌套&#xff1f;二、实例1.输出一个矩阵2.输出九九乘法表 一、什么是循环嵌套&#xff1f; 外层循环和内层循环交叉执行&#xff0c;外层 for 每执行一次&#xff0c;内层 for 就要执行符合循环条件的次数。 二、实例 1.输出一个矩阵 代码如下&…

44. python的for循环嵌套

44. python的for循环嵌套 文章目录 44. python的for循环嵌套1. 什么是嵌套2. for循环中嵌套有if条件判断语句2.1 先创建一个奇数序列2.2 判断一个数是否能被7整除2.3 将2部分代码合二为一 3. for循环中嵌套有for循环 1. 什么是嵌套 嵌套是指一个对象中包含另一个与它相似的对象…

【C语言初学必看】一知半解的for循环嵌套for循环

&#x1f525;&#x1f680;前言目录&#xff1a; 初学C语言&#xff0c;常常遇到for循环中嵌套个for循环&#xff0c;初学者对于这种形式总是一知半解&#xff0c;这次我就整理了常见的for循环嵌套for循环的题目&#xff0c;我们一起争取一举拿下这类题。学废他们&#xff0c;…

双重for循环(嵌套for循环)

什么是双重循环&#xff1f; 双重循环&#xff1a;我们从字面上理解它&#xff0c;就是有两个循环套在一起 详细解释 双重for循环就是在一个for循环里在嵌套另一个for循环&#xff0c;即两个循环嵌套&#xff0c;还有多重循环嵌套的情况&#xff0c;但用的比较少&#xff0c…

DRN ---Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 这篇博客主要介绍一下DRN&#xff0c;这是2020年最新出来超分辨重建文章。相信大家都阅读过很多超分辨率的文章&#xff0c;都知道超分辨率是一病态的问题。因为在现实生活中一张低分辨率图…

深度学习——Dual Regression Networks for Single Image Super-Resolution(DRN)

CVPR2020原论文&#xff1a;Closed-loop Matters: Dual Regression Networks forSingle Image Super-Resolution 开源代码&#xff08;pytorch框架&#xff09;&#xff1a;https://github.com/guoyongcs/DRN 1.问题 1&#xff09;低分辨率图像&#xff08;Low Resulotion&…

DRN(CVPR2020)Dual Regression Networks

DRN: [ Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution ]DRN文论链接 SISR两个潜在的局限 学习LR到HR的隐射是一个病态问题&#xff0c;因为从HR下采样到LR&#xff0c;可以有无限个HR与LR对应。所以解空间太大&#xff0c;很难找到很好的…

DRN:Dilated Residual Networks(论文解读十四)

Title&#xff1a;Dilated Residual Networks From&#xff1a;CVPR2017 Note data&#xff1a;2019/06/12 Abstract&#xff1a;提出一种有利于分类任务的扩张残差网络DRN。 Code &#xff1a;pytorch 目录 DRN论文解读 1 Abstra 2 Introduction 3 Method Degridding …

浅谈深度神经网络 — ResNet(DRN)

Deep Residual Learning for Image Recognition 1. 思想 作者根据输入将层表示为学习残差函数。实验表明&#xff0c;残差网络更容易优化&#xff0c;并且能够通过增加相当的深度来提高准确率。 核心是解决了增加深度带来的副作用&#xff08;退化问题&#xff09;&#xff0…

深度学习——BRNN和DRNN

双向循环神经网络&#xff08;Bidirectional RNN&#xff09; 双向 RNN 模型可以让你在序列的某点处不仅可以获取之前的信息&#xff0c;还可以获取未来的信息 why we need BRNN&#xff1f; 这个网络有一个问题&#xff0c;在判断第三个词 Teddy&#xff08;上图编号 1 所示&a…

DPRNN的学习

可以以非常简单的方式组织任意类型的RNN层&#xff08;不重要&#xff0c;因为我这里会换成transformer&#xff09;。 优点&#xff1a; 1.模型更小 2.性能更好&#xff08;SI-SNR&#xff09; 模型组成&#xff1a; 首先肯定是encoder和decoder了&#xff0c;一个声音的…

drndrn_seg代码

问题&#xff1a; drn文件 import pdb #pdb是 ThePythonDebugger 的缩写&#xff0c;为Python标准库的一个模块。pdb模块规定了一个Python程序交互式源代码调试器&#xff0c;支持在设置断点&#xff08;包括条件断点&#xff09;&#xff0c;也支持源码级单步调试&#xff…

深度学习——DRD-Net

CVPR2020原论文&#xff1a;Detail-recovery Image Deraining via Context Aggregation Networks 开源代码&#xff08; tensorflow框架&#xff09;&#xff1a;https://github.com/Dengsgithub/DRD-Net 1.主要工作&#xff1a;提出了双分支去雨网络。一个分支为基于压缩激励…

论文阅读:DRN: A Deep Reinforcement Learning Framework for News Recommendation

文章目录 摘要一、Introduction1、引入原因2、结构框架 二、相关工作1、新闻推荐算法2、推荐中的强化学习3、问题定义 三、实现原理1、模型框架2、特征构造3、深度强化推荐Deep Reinforcement Recommendation4、用户活跃度5、探索 四、实验结果1、数据集2、评价指标3、实验设置…

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络(DRN)

使用飞桨PaddlePaddle复现用于图像光源处理的深度重照明网络&#xff08;DRN&#xff09; 一、效果展示二、实现思路冠军模型&#xff1a;Wavelet Decomposed RelightNet (WDRN)经典模型&#xff1a;Norm-Relighting-U-Net (NRUNet)本次项目&#xff1a;Deep Relighting Networ…

弱监督学习框架 Detectron2/DRN-WSOD-pytorch 在服务器/windows上配置安装及使用

最近做弱监督学习研究&#xff0c;进行相关分析。发现Detectron2是一个不错的框架&#xff0c;其中也有model zoo相当多种类的预训练模型可以拿来直接用。但是安装配置使用中碰到了许多坑。跟各位小伙伴们分享。 推荐使用Linux Ubuntu16.04以上版本安装&#xff0c;虚拟机不太…

大话深度残差网络(DRN)ResNet网络原理

—— 原文发布于本人的微信公众号“大数据与人工智能Lab”&#xff08;BigdataAILab&#xff09;&#xff0c;欢迎关注。 一说起“深度学习”&#xff0c;自然就联想到它非常显著的特点“深、深、深”&#xff08;重要的事说三遍&#xff09;&#xff0c;通过很深层次的网络实现…

DRN: A Deep Reinforcement Learning Framework for News Recommendation学习

欢迎转载&#xff0c;请注明出处https://blog.csdn.net/ZJKL_Silence/article/details/85798935。 本文提出了&#xff08;基于深度Q-learning 的推荐框架&#xff09;基于强化学习的推荐系统框架来解决三个问题&#xff1a; 1&#xff09;首先&#xff0c;使用DQN网络来有效建…

【超分辨率】(DRN)Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution

论文名称&#xff1a;Closed-loop Matters: Dual Regression Networks for Single Image Super-Resolution 论文下载地址&#xff1a;https://arxiv.org/pdf/2003.07018.pdf 论文代码地址&#xff1a;https://github.com/guoyongcs/DRN 但是代码有问题 论文标题&#xff1a; 1…

CNN经典模型:深度残差网络(DRN)ResNet

一说起“深度学习”&#xff0c;自然就联想到它非常显著的特点“深、深、深”&#xff08;重要的事说三遍&#xff09;&#xff0c;通过很深层次的网络实现准确率非常高的图像识别、语音识别等能力。因此&#xff0c;我们自然很容易就想到&#xff1a;深的网络一般会比浅的网络…