基于Linux的C++学习——循环

一、vim编辑技巧

vimrc:文件通常位于用户的家目录下,路径为~/.vimrc你可以通过执行命令vim ~/.vimrc来编辑这个配置文件。如果该文件不存在,你可以手动创建一个新的.vimrc文件并添加所需的配置选项。

打开后是空的编辑输入下图程序,输入完毕后保存退出。

之后在新建的.cpp文件中,在命令模式下,按下F2,即可生成对应得函数模板,大大提升编码效率

二、while循环

C++while循环得语法

while(condition)

{

statement(s);

}

在这里, statement(s)可以是一个单独的语句,也可以是几个语句组成的代码块。condition可以是任意的表达式。当为任意非零值时都为真,当条件为真时执行循环。

1、i++与++i

下面来测试下图所示的程序,根据结果来看二者有什么区别。

根据下图所示的结果,其实不难看出,++i是先对i进行自增处理,之后再进行输出,而i++则是先输出再对i进行自增。

2、死循环

下面的写法就是一个死循环,while(1){}中放入需要被一直循环的流程。

下面这种写法就是一直在执行空,这样的话也可以这样使用while循环:while(condition);,这个语句就意味着如果满足condition就一直执行空语句,之后不满足condition才会跳出去,执行后面的语句。

2、break语句

编程中,break语句主要用于提前终止循环或跳出switch语句。

一般情况下需要加上一定的约束才会跳出循环,下图所示的程序表示当i大于6的时候才会跳出循环

3、goto语句

在C语言中,goto语句提供了一种无条件跳转到程序中特定标签(label)的方法。尽管goto语句在现代编程中不常见,且通常不推荐使用,但了解其基本用法对于某些特定情况下的错误处理和资源清理仍然有价值。

4、return语句

return 语句用于终止函数的执行,并将控制权返回给调用者,同时可以返回一个值。

5、continue语句

continue语句的作用是在循环中跳过当前迭代的剩余部分,直接进入下一次循环的判断。

6、应用示例

下面这段程序就是循环获取输入的字符如果不是EOF则原样输出。

下面这段程序是发根据键入的内容来判断输入字符串的大小,如果有则getline的返回值应该为true,则将获取到的字符串原样输出。

三、for循环

C++中for循环的语法:

for(进入for循环前的语句; condition ; for循环结束后,进入下一次循环的语句)

{

statement(s);

}

在这里, statement(s)可以是一个单独的语句,也可以是几个语句组成的代码块。condition可以是任意的表达式。当为任意非零值时都为真,当条件为真时执行循环。

下面从while循环的结构上来给出for循环的示例。

对于for循环我们更倾向于用下面的做法

下面我们来看一下作用域的讨论,如下图所示,此时for循环相当于操作的是一个函数的局部变量,使用完成后释放掉,所以i的值仍然是1000.

下图所示的for函数使用的是main函数里的变量,此时for函数对这个变量进行了操作,最后为10.

这里有一个需要注意的事情,就是对于unsigned或者size_t这种类型,进行--运算容易出现错误,如下图所示,如果将打印结果放到记事本上的话,其实是可以观察到前面打印还是正常的,一旦从0之后再减1就会打印其他数值,对于编译器来说仍然是正的 。

相关推荐
To_OC6 小时前
LC 131 分割回文串:刚学回溯时,我连怎么切字符串都想不明白
javascript·算法·leetcode
炸膛坦客6 小时前
单片机/C/C++八股:(二十六)IIC 专题(I²C)---- 上集
c语言·c++·单片机
旖-旎7 小时前
LeetCode 518:零钱兑换||(完全背包)—— 题解
c++·算法·leetcode·动态规划·背包问题
灯澜忆梦7 小时前
GO_并发编程---定时器
开发语言·后端·golang
-银雾鸢尾-7 小时前
C#中的StringBuilder相关方法
开发语言·c#
To_OC7 小时前
LC 42 接雨水:暴力超时卡半天?前后缀数组一用就通了
javascript·算法·leetcode
Henry Zhu1237 小时前
C++中的特殊成员函数与智能指针
c++
-银雾鸢尾-7 小时前
C#中结构体与类的区别;抽象类与接口的区别
开发语言·c#
delishcomcn8 小时前
AI视觉识别+分切算法:电化铝缺陷检测与裁切一体化解锁
人工智能·算法
触底反弹8 小时前
深入理解大模型采样:Temperature、Top-K、Top-P 的原理与实战
人工智能·算法·面试