基于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就会打印其他数值,对于编译器来说仍然是正的 。

相关推荐
qetfw21 分钟前
UOS DHCP Relay:跨网段分配与 IP、DNS、网关验证
linux·服务器·网络·tcp/ip·uos
ShineWinsu33 分钟前
对于Qt:QRadioButton常见属性以及QButtonGroup的解析
数据库·c++·qt·microsoft·gui·qradiobutton·qbuttongroup
傲世仙尊1 小时前
多态-虚表才活到运行期符号表早已消失
c++
开开心心_Every1 小时前
快速隐藏程序工具自定义快捷键一键切换
java·开发语言·前端·spring·智能手机·word·intellij-idea
chenbingjie_c1 小时前
C++ 多态完全指南:从虚函数重写到虚函数表原理
开发语言·c++
是main不是漫1 小时前
【双指针——移动零】数组划分类题目的入门基石
c++·算法
吴卫斌1 小时前
定投ETF实战指南(四):行业/主题ETF——定投的“进攻端“
开发语言·python·股票·量化
·present·1 小时前
CSAPP(Bomb lab)
c语言·c++
王老师青少年编程1 小时前
2026年信奥赛c++普及组csp-j第二轮复赛真题
c++·真题·csp·信奥赛
超级架构师2 小时前
PRAXO-CORE 2.5.0:用 conformance 和显式边界构建 Go Agent 框架
开发语言·人工智能·后端·golang·ai编程·智能体框架·praxo-core