c++算法入门教程(2)

C++是一种功能强大且广泛应用的编程语言,对于想要深入学习编程和算法的人来说,掌握C++是一个重要的里程碑。本文将带你逐步了解C++编程的基础知识,并介绍一些常见的算法和编程技巧帮你入门c++算法。

c++算法入门教程(1) 中,我讲解了什么是编程、安装编译环境、输出、变量、输入、for循环,没看第一篇的可以去看看。

一、if选择语句

在C++中,if属于选择语句(conditional statement)。选择语句用于根据条件的真假来执行不同的代码块。if语句允许程序根据条件表达式的结果来确定要执行的代码路径。如果条件为真,则执行if代码块中的语句;如果条件为假,则跳过if代码块或执行与之关联的else代码块,简单来说就是如果的意思,例如:

if (1+1 == 1) {cout << "1+1=1";  // 如果条件为真,则执行这里的代码
} else {cout << "1+1不等于1";  // 如果条件为假,则执行这里的代码
}

以上代码的意思就是“如果1+1=1,那么输出1+1=1,否则输出1+1不等于1”,这里顺便讲一下,在c++中,“==”的意思是“等于”,而“=”的用处是“赋值”,所以在第一行不用=而用==。

二、switch多分支选择语句

在C++中,除了if语句,我们还可以使用switch语句来进行多分支的选择。switch语句通常用于当有多个互斥的条件需要判断时,使得代码更加清晰和易于维护。switch语句的基本结构如下:

switch (expression) {case value1:// 当expression的值等于value1时执行这里的代码break;case value2:// 当expression的值等于value2时执行这里的代码break;// ...可以有多个casedefault:// 如果没有匹配的case,执行这里的代码break;
}

这里的`expression`是要判断的变量或表达式,`value1`、`value2`等是与`expression`进行比较的值。如果`expression`的值与某个`case`的值相匹配,就会执行对应的代码块。`break`语句用于退出switch语句,防止执行到下一个`case`。如果所有`case`都不匹配,就会执行`default`部分的代码。

举个例子,假设我们有一个数字,想要根据这个数字输出对应的信息:

int number = 2;
switch (number) {case 1:cout << "你输入的是1" << endl;break;case 2:cout << "你输入的是2" << endl;break;case 3:cout << "你输入的是3" << endl;break;default:cout << "输入的不是1、2、3" << endl;break;
}

在这个例子中,如果`number`的值为2,那么会输出“你输入的是2”。

三、循环结构

我们已经介绍了`for`循环,除此之外,C++还提供了其他类型的循环结构,如`while`循环和`do-while`循环。

1. `while`循环

`while`循环在条件为真时重复执行代码块,直到条件为假。它的基本结构如下

while (condition) {// 循环体代码
}

如果条件一开始就为假,那么循环体内的代码将不会被执行。举个例子:

	int n = 3;while (n) {//只要n不为假(0)那么执行循环体内语句cout << n;n --;   //使n-1	}

代码运行后会显示“123”。

2. `do-while`循环

`do-while`循环至少执行一次循环体,然后再判断条件。如果条件为真,继续执行循环。它的基本结构如下:

do {// 循环体代码
} while (condition);

即使条件一开始就为假,`do-while`循环也会执行一次循环体。

四、数组

数组是C++中用于存储多个值的变量。数组可以存储固定大小的同类型元素序列。声明数组的语法如下:

type arrayName[arraySize];//数据类型 数组名[数组中的变量数]

例如,声明一个整型数组:

int numbers[5];

这将创建一个名为`numbers`的数组,它可以存储5个整数。数组的索引从0开始,所以`numbers[0]`是第一个元素,`numbers[4]`是最后一个元素。比如:

	int n[3];for (int i = 0;i < 3;i ++)n[i] = i;for (int i = 0;i < 3;i ++)cout << n[i];

运行后会输出“012”。

五、函数

函数是一段可重复使用的代码块,它可以接受输入(参数)并返回一个值,也可以不接收参数,只运行代码。在C++中,函数的基本结构如下:

type functionName(parameters) {//返回值类型 函数名 (输入的参数)// 函数体代码return value;//返回一个值
}

例如,创建一个计算两个数之和的函数:

int add(int a, int b) {return a + b;
}
int main() {cout << add(1,2);return 0;
}

在这个例子中,`add`函数接受两个整数参数`a`(1)和`b`(2),返回它们的和(3),然后主函数再输出和,还有一种特殊的返回值类型:void(无类型),这种函数只可以运行代码,不能返回值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/712258.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GEE:使用Sigmoid激活函数对单波段图像进行变换(以NDVI为例)

作者:CSDN @ _养乐多_ 本文将介绍在 Google Earth Engine (GEE)平台上,对任意单波段影像进行 Sigmoid 变换的代码。并以对 NDVI 影像像素值的变换为例。 文章目录 一、Sigmoid激活函数1.1 什么是 Sigmoid 激活函数1.2 用到遥感图像上有什么用?二、代码链接三、完整代码一…

查询每个会话使用内存大小(DM8达梦数据库)

DM8达梦数据库查询每个会话使用内存大小 1 环境介绍2 查询每个sql会话使用内存大小3 达梦数据库学习使用列表 1 环境介绍 在某些环境数据库内存增长到服务器内存用完,发生OOM事件,可以分析sql会话使用内存大小; 2 查询每个sql会话使用内存大小 --创建SQL会话占用内存记录表 …

共享栈的C语言实现

共享栈&#xff1a;所谓共享栈就是为了节省空间&#xff0c;让两个栈共享一片连续的存储空间&#xff0c;两个栈从这片连续的共享空间的两端向中间扩充自己的存储空间&#xff0c;设这片存储空间的大小为maxSize&#xff0c;采用栈顶指针始终指向当前栈顶元素的方式来实现共享栈…

简单认识算法的复杂度

时间复杂度与空间复杂度 1.算法的复杂度 ​ 算法在编写成可执行程序后&#xff0c;运行时需要耗费时间资源和空间(内存)资源 。因此衡量一个算法的好坏&#xff0c;一般是从时间和空间两个维度来衡量的&#xff0c;即时间复杂度和空间复杂度。 ​ 时间复杂度主要衡量一个算法…

MYSQL02高级_目录结构、默认数据库、表文件、系统独立表空间

文章目录 ①. MySQL目录结构②. 查看默认数据库③. MYSQL5.7和8表文件③. 系统、独立表空间 ①. MySQL目录结构 ①. 如何查看关联mysql目录 [rootmysql8 ~]# find / -name mysql /var/lib/mysql /var/lib/mysql/mysql /etc/selinux/targeted/tmp/modules/100/mysql /etc/seli…

前端src中图片img标签资源的几种写法?

在 Vue 项目中引用图片路径有几种不同的方法&#xff0c;具体取决于你的项目结构和配置。以下是几种常见的方式&#xff1a; 1. 静态资源目录 (Public) 如果你的图片放在了项目的 public 目录下&#xff08;例如&#xff0c;Vite 和 Create Vue App 脚手架工具通常使用这个目…

05 OpenCV图像混合技术

文章目录 理论算子示例 理论 其中 的取值范围为0~1之间 算子 addWeighted CV_EXPORTS_W void addWeighted(InputArray src1, double alpha, InputArray src2, double beta,double gamma, OutputArray dst, int dtype -1 ); 参数1&#xff1a;输入图像Mat …

2024年【广东省安全员A证第四批(主要负责人)】考试试卷及广东省安全员A证第四批(主要负责人)作业模拟考试

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 广东省安全员A证第四批&#xff08;主要负责人&#xff09;考试试卷根据新广东省安全员A证第四批&#xff08;主要负责人&#xff09;考试大纲要求&#xff0c;安全生产模拟考试一点通将广东省安全员A证第四批&#x…

钉钉机器人发送折线图卡片 工具类代码

钉钉机器人 “创建并投放卡片 接口 ” 可以 发送折线图、柱状图 官方文档&#xff1a;创建并投放卡片 - 钉钉开放平台 0依赖、1模板、2机器人放到内部应用、3放开这个权限 、4工具类、5调用工具类 拼接入参 卡片模板 自己看文档创建&#xff0c;卡片模板的id 有用 0、依赖…

Springboot项目中定时任务的四种实现方式

文章目录 1. 使用Scheduled注解1.1 时间间隔执行1.2 固定时间点执行 2. 使用EnableScheduling注解启用定时任务3. 实现SchedulingConfigurer接口4. 使用Quartz框架4.1 配置QuartzScheduler4.2 定义Job类和Trigger类 5. 总结 在开发现代应用时&#xff0c;定时任务是一个非常常见…

地图可视化绘制 | R-ggplot2 NC地图文件可视化

在推出两期数据分享之后&#xff0c;获取数据的小伙伴们也知道&#xff0c;数据格式都是NetCDF(nc) 格式网格数据&#xff0c;虽然我在推文分享中说明使用Python、R或者GIS类软件都是可以进行 处理和可视化绘制的&#xff0c;但是&#xff0c;还是有小伙伴咨询使用编程软件Pyth…

牛客周赛 Round 34(A,B,C,D,E,F,G)

把这场忘了。。官方也迟迟不发题解 比赛链接 出题人题解 A 小红的字符串生成 思路&#xff1a; 枚举四种字符串打印出来即可&#xff0c;为了防止重复可以用set先去一下重。 code&#xff1a; #include <iostream> #include <cstdio> #include <cstring&g…

Opencv实战(4)详解轮廓

轮廓 Opencv实战系列&#xff0c;前文&#xff1a; 文章目录 轮廓(1).查找绘制1.findContours()2.drawContours() (2).层级结构(3).筛选轮廓(4).凸包 (1).查找绘制 预处理&#xff1a; 灰度化&#xff1a;使用cv::cvtColor()图像去噪&#xff1a;使用高斯滤波cv::Gaussian(…

Acwing-基础算法课笔记之数学知识(扩展欧几里得算法)

Acwing-基础算法课笔记之数学知识&#xff08;扩展欧几里得算法&#xff09; 一、扩展欧几里得算法1、裴蜀定理2、过程模拟3、代码模板 二、线性同余方程1、定义2、模拟过程3、结论证明 一、扩展欧几里得算法 1、裴蜀定理 对于任意正整数 a a a&#xff0c; b b b&#xff0…

day48 ● 198.打家劫舍 ● 213.打家劫舍II ● 337.打家劫舍III

一遍过。 当前房屋偷与不偷取决于 前一个房屋和前两个房屋是否被偷了。所以这里就更感觉到&#xff0c;当前状态和前面状态会有一种依赖关系&#xff0c;那么这种依赖关系都是动规的递推公式。 class Solution { public:int rob(vector<int>& nums) {vector<vec…

门店纵深不足、入口有遮挡影响客流准确率?近景客流帮你搞定!

为了优化运营策略、提升门店营收&#xff0c;很多店铺和商场都会安装客流摄像机。但是在实际应用中&#xff0c;由于门店纵深受限等原因&#xff0c;导致无法使用之前的常规客流产品。 针对这种情况&#xff0c;悠络客最新研发了近景客流产品&#xff0c;即使存在入口被遮挡或门…

内网信息搜集

目录 内网基础知识 基本流程图 怎么判断是否在域内 常规信息类收集-应用&服务&权限等 cs信息搜集 bloodhound安装及使用 内网基础知识 工作组&#xff1a;将不同的计算机按照功能分别列入不同的组&#xff0c;想要访问某个部门的资源&#xff0c;只要在【网络】里…

pyqt教程

一、组件安装配置 1.安装组件 在Anaconda Prompt下进入自己的python环境 pip install PyQt5 pip install PyQt5-tools 2.vscode安装插件 3.配置路径 配置Pyuic:Cmd与Qtdesigner:Path路径 1.Pyuic:Cmd路径 一般是在你安装的python环境下的 \Scripts\pyuic5.exe 2.Qtdesigner:P…

anaconda简介以及安装(Windows)

介绍 Anaconda是一个开源的Python发行版本&#xff0c;它是一个打包的集合&#xff0c;里面预装了conda、Python、众多packages、科学计算工具等。Anaconda的目的是方便使用Python进行数据科学研究&#xff0c;它涵盖了数据科学领域常见的Python库&#xff0c;并且自带了专门用…

Python的循环结构练习

归纳编程学习的感悟&#xff0c; 记录奋斗路上的点滴&#xff0c; 希望能帮到一样刻苦的你&#xff01; 如有不足欢迎指正&#xff01; 共同学习交流&#xff01; &#x1f30e;欢迎各位→点赞 &#x1f44d; 收藏⭐ 留言​&#x1f4dd; 生命对某些人来说是美丽的&#xff0c…