目录

  • 一、(工具)DevC++的安装和使用
    • 1.1 DevC++介绍
    • 1.2 下载
    • 1.3 部分使用技巧
      • 1.3.1 快捷键介绍
      • 1.3.2 调试快捷键
  • 二、第一个C++程序
    • 2.1 基础程序
    • 2.2 main函数
    • 2.3 字符串
    • 2.4 头文件
    • 2.5 cin和cout初识
    • 2.6 名字空间
  • 三、注释
  • 四、题目练习
    • 3.1 输出第二个整数
    • 3.2 字符三角形
  • 总结


前言
今天是大一下学期6月19日23:01,正式开始记录我的蓝桥杯备赛过程,我个人计划是在4个月内从0开始将算法能力提升到国赛水准,争取在蓝桥杯中取得好的成绩,当然我最理想的目标当然是拿下国奖哈哈,尽请期待吧。

一、(工具)DevC++的安装和使用

1.1 DevC++介绍

DevC++(有时候也称为Dev-Cpp)是一个免费软件,在开发出来后更行到5.11版本之后就比较少了,也有一些其他开发人员陆续参与开发维护并发布了一些分支版本,比如小熊猫C++就是对DevC++的魔改。

DevC++是C/C++编程语言的全功能集成开发环境(IDE)和代码编辑器。它使用GCC(GNU Compiler Collection)的Mingw端口作为其编译器。

1.2 下载

Orwell Dev-C++下载链接
目前使用最多的一个版本,在学校的机房、实验室、一些竞赛都会使用该版本。

Embarcadero Dev-C++下载链接
Embarcadero Dev-C++是Bloodshed Dev-C++和Orwell Dev-C++的一个新的改进分支(由Embarcadero(恩把卡德罗)赞助。目前还是在持续更新,但是知道的人比较少。

视频安装教程

网上还有很多的Dev-C++使用体验优化教程,例如Dev-C++分辨率低的解决办法,如何让Dev-C++支持C++11等,我这里就不一一写了,可自行下去查阅相关资料。

1.3 部分使用技巧

1.3.1 快捷键介绍

编译:F9
运行:F10
编译+运行 F11
全部重新编译:F12

为了方便,直接按F11,代码就能运行起来

1.3.2 调试快捷键

调试:F5
停止调试:F6
下一步:F7
单步进入:F8(进入函数内部观察细节使用)

鼠标点在编辑框左边行号的地方,点击设置断点,再点击,取消断点。

因为本人是准备参加C++赛道,这里会写一些C++的基础知识

二、第一个C++程序

2.1 基础程序

//写一个C++程序
#include<iostream>    //头文件
using namespace std;  //使用std的名字空间int main()            
{cout << "hello world" << endl;  //输出:在屏幕上打印“hello world"return 0;
} //运行起来这个C++程序
//1.编译  --F9
//2.运行  --F10//编译+运行 --F11 

2.2 main函数

C++里的main函数和C语言里的main函数作用是一样的,不懂得可以看我最开始的C语言文章

2.3 字符串

由于C++是在C语言的基础上发展出来的,而且C++是完全兼容C语言的,所以这里基本也和C语言一样。

不过有一点,在C++的STL中又引入了string来表示字符串,功能更加强大,C语言不支持,后面会写。

2.4 头文件

在这里插入图片描述
该代码中,写的#include< iostream >,iostream(输入输出流)文件中的i是指input(输入),o是指ouput(输出)。

在C++程序中要完成输入和输出的操作会涉及到iostream文件中的多个定义,所以就要包含这个头文件的。比如:cout是输出流对象,就是用来完成数据输出的,就需要包含头文件。

C++的编译器自带了很多头文件,每个头文件都支持一组特定的工具。

C++库函数相关头文件

注:

  1. 在C语言中头文件的扩展名是.h,但是C++中的用法发生了一些变化,对老式C的头文件(C++中来自C语言的内部的头文件)保留了扩展名.h,例如下图中的C兼容标头。但是C++自己的文件没有扩展名了。
    在这里插入图片描述
    C语言头文件

  2. 有些头文件被转换为C++头文件,这些文件名被重命名,去掉了.h扩展名,并在文件名的前面加上了前缀c(表示来自C语言);例如:C语言中有关数学的头文件名字是math.h,在C++中就是cmath。当然还得注意,有时头文件的C语言版本和C++版本相同,有时候,新版本做了一些修改。
    在这里插入图片描述
    这里IDE就是编译器的意思。

2.5 cin和cout初识

cout << "hello world" << endl;

这句代码中cout是标准输入输出流对象(针对控制台,也就是屏幕),其实还有标准输入流对象(针对的是键盘)cin。

cout是告诉程序把后面双引号里的内容打印到标准输出设备(屏幕)上。
在这里插入图片描述

  1. cin和cout是全局的流对象,cin负责输入数据,cout负责输出数据。

  2. endl是C++中一个特殊的操作符,效果是换行和刷新缓存区,使用时必须包含在iostream头文件。
    在这里插入图片描述
    不使用endl就会在一行打印

  3. <<是流插入运算符,和cout配合使用,>>是流提取运算符,和cin配合使用,两者容易混肴。

  4. 使用C++输入输出比C语言方便很多,不需要像printf/scanf输入输出那样,需要手动控制格式,C++的输入输出可以自动识别变量类型,但实际竞赛中还是前两者用的更多。

具体在代码中的体现
在这里插入图片描述
在这里插入图片描述

2.6 名字空间

using namespace std;

只有这串代码还没有被解释了,这串代码的意思是:使用名字空间std(名字空间也叫命名空间)。
想要理解这到底是个什么东西,这里举一个例子:
一个学校里学生可能会重名,假设这个学校有3个同学叫张三,那么老师每次喊张三的时候,其他两个张三就会误会,是不是在喊自己,这就是因为这三个张三其实在同一个范围(空间)内的,就会有名字的冲突。

但是如果这个学校的学生分为三个班,分别是1班,2班,3班,把三个张三分别安排在不同的班级,那么老师以后喊:1班的张三,那么2班,3班的张三就不会误会了,这就很好的解决了名字冲突的问题。
在这里插入图片描述
在C++中,变量、函数和类都是大量存在的,这些变量、函数和类的名称如果都存在于全局作用域中,可能会导致很多冲突。使用名字空间的目的是对标识符(变量,函数,类)的名称进行隔离,以避免命名冲突或名字污染,namespace关键字的出现就是针对这种问题的。

std是C++标准库的名字空间名,C++将标准库的定义实现都放在这个命名空间中,相当于C++标准库担心自己的一些符号和外部符号冲突,所以它把自己的这些符号全部管理放在std里了。当我们需要使用标准库中的内容时,就需要加上:using namespace std;当有了这句代码的时候,表示名字空间std中信息都是可见和可用的,比如:cin、cout、endl。
在这里插入图片描述
名字空间也是根据需要自己可以定义的,这里就不加详细介绍。

当然直接使用using namespace std;是一种简单粗暴的做法,直接这样使用,就意味着后续std这个名字空间中的各种定义都可以直接使用,但是我们往往只是使用部分。所以名字空间也可以这样使用:
在这里插入图片描述
代码中的std::cout的意思就是使用std名字空间中的cout,相当于只解封了cout,其他的不能用。

补充:采用std::cout这种写法,如果频繁使用,在算法竞赛中比较麻烦,耽搁时间。
但是在企业中做软件开发基本上是这样写的,这样写更好的避免名字冲突的问题。


三、注释

在VS环境中注释和取消注释的快捷键:Ctrl + K + C,Ctrl + K + U
在DecC++中注释和取消注释的快捷键:Ctrl + /


四、题目练习

如果真想提升自己的算法能力,就必须大量的进行刷题,我在这里推荐几个网站
洛谷
牛客

这里还可能经常听过OJ这个词
OJ - online judeg – 在线判题
算法竞赛的题都属于OJ题,而OJ还分两种类型

  1. O1型 – 从0开始写代码,包含main函数,编写所有代码,有输入有输出。
  2. 核心代码模式 - 编写核心函数。

3.1 输出第二个整数

在这里插入图片描述

这是洛谷上面的一道题,正确答案如下:
在这里插入图片描述
这里的n1和n2两个整数,可以分两次读入,也可以一次读入,只有获得到第二个输入值才能输出结果,什么意思呢?
在这里插入图片描述
当然,这里输入的n3部分也可以舍弃掉,因为题目要求只输出第二个值

总结:
cin 和 cout 都是支持连续读入几个数值的。

3.2 字符三角形

在这里插入图片描述
答案如下:
在这里插入图片描述


总结

好了,今天的内容就到这里,现在是2025年6月22日0:02,主播算错时间了,主播还以为10月份就蓝桥杯了,仔细打听之后才知道蓝桥杯在4月份才开赛,主播蓝桥杯系列文章应该就搁置到11月或12月才开始写了,主要还是先把C和数据结构写完,喜欢主播文章的靓仔靓女们不要忘记一键三连支持哦

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

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

相关文章

Bugku-CTF-web(适合初学者)

今天刷了一下 Bugku-CTF-web 的1-10题&#xff0c;比较简单&#xff0c;比较娱乐&#xff0c;基本上看看源代码就可以了&#xff0c;非常适合初学者。能够学习到base64编码&#xff0c;unicode编码&#xff0c;dirb web目录遍历&#xff0c;SourceLeakHacker 备份文件遍历&…

【实时Linux实战系列】基于实时Linux的音频处理应用开发

在实时系统中&#xff0c;音频处理应用&#xff08;如实时音频效果处理、语音通信等&#xff09;需要低延迟和高精度的时间控制。实时Linux通过优化内核调度和提供高效的I/O操作&#xff0c;能够满足音频处理对实时性的严格要求。掌握基于实时Linux的音频处理应用开发对于开发者…

Linux中信号的三种产生方式

在 Linux 中&#xff0c;信号&#xff08;Signal&#xff09;是一种进程间通信的机制&#xff0c;用于通知进程发生了某种事件。理解信号的来源对于开发可靠、健壮的程序至关重要。本文将介绍三种常见的信号产生方式&#xff0c;包括&#xff1a;kill 命令、键盘输入&#xff0…

Android15启动icon界面的背景图颜色

Android15启动icon界面的背景图颜色 在一加Ace 5启动时有个图标在中间的&#xff0c;它界面的背景图是灰色的&#xff0c;不好看&#xff0c;想改为白色。 解决方案&#xff1a; 在app下的AndroidManifest.xml文件的<application这个标签的android:theme增加&#xff1a;…

用福昕阅读器打开pdf文件,整个程序窗口自动缩小的问题

原因&#xff1a; 这个问题&#xff0c;其实是pdf自带了某个缩放比例&#xff0c;与窗口的比例不一致&#xff0c;因此会进行窗口缩放。 解决方法: 用acrobat&#xff08;我没有找到如何用福昕阅读器进行设置的方法&#xff09;&#xff0c;打开【文档属性】&#xff0c;然后打…

Windows环境Browser-Use平台部署与AI自动化远程访问实现过程

文章目录 前言1. 安装Ollama2. Gemma3模型安装与运行3. 虚拟环境准备3.1 安装Python3.2. 安装conda 4. 本地部署Brower Use WebUI4.1 创建一个新conda环境4.2 克隆存储库4.3 安装依赖环境4.4 安装浏览器自动化工具4.5 修改配置信息 5. 本地运行测试6. 安装内网穿透6.1 配置公网…

React + Umi(Umijs/Max) 搭建项目及配置

文章标题 01 环境准备02 快速构建2.1 参数选项2.2 umix 还是 umijs/max2.3 使用 pnpm &#xff08;推荐&#xff09;2.4 使用 npm 和 yarn2.5 启动项目2.6 启用 Prettier&#xff08;可选&#xff09;2.7 打包部署发布 03 Tailwind CSS 插件&#xff08;可选&#xff09;3.1 安…

JDK 17 中 java.lang.System 常用方法及应用场景

概述 java.lang.System 在 JDK 17 中依然是最核心的系统交互类之一。以下是针对 JDK 17 的常用方法详解&#xff0c;包含新特性和最佳实践。 一、标准 I/O 流&#xff08;更新至 JDK 17&#xff09; 1. 控制台输出 // 传统输出方式&#xff08;仍然可用&#xff09; System…

深入探究Manticoresearch Java API:新增与查询文档实战

引言Java 项目集成 Manticoresearch新增文档操作查询文档操作 SQL 查询API 查询 总结 引言 Manticore Search 是一个使用 C 开发的高性能搜索引擎&#xff0c;创建于 2017 年&#xff0c;其前身是 Sphinx Search。它显著改进了 Sphinx 的功能&#xff0c;修复了数百个错误&am…

Linux远程机器无法连接-------解决方案

笔者这几天碰到linux机器远程ssh 无法连接的情况 背景分析 笔者在linux机器进行测试的时候&#xff0c;偶发突然无法连接机器&#xff0c;如下图所示&#xff0c;vscode的远程连接也无法进行。 telnet也无法登录。 解决方案 笔者的登录场景是这样的&#xff0c;所以怀疑是…

网络模型中,应用层支持什么协议

在网络模型中&#xff08;无论是 OSI 七层模型 还是 TCP/IP 四层模型&#xff09;&#xff0c;应用层 是最顶层&#xff0c;直接为用户或应用程序提供网络服务接口。它支持的是各种具体的应用程序协议&#xff0c;这些协议定义了特定类型应用程序如何进行通信和数据交换。 以下…

比特币序数理论与铭文的终极指南

引言&#xff1a;比特币网络的意外趋势 去年&#xff0c;比特币网络上出现了一个意外的趋势——这一趋势令许多比特币纯粹主义者感到愤怒和惊讶&#xff0c;但同时也在更广泛的加密货币社区中点燃了对这个行业最古老、最安全区块链的希望和热情。 这个趋势涉及铭文&#xff0…

C/C++ DLL 动态链接库的开发与示例详解

简介 介绍 QT6&#xff0c;DLL 动态链接库的开发&#xff0c;开发示例 详细 DLL 入口函数 DllMain 是每个 dll 的入口函数&#xff0c;可以写&#xff0c;也可以不写&#xff0c;不影响其他库函数运行。如果使用此函数需要包含头文件#include <objbase.h>。 BOOL WI…

在 CentOS 7 上基于 Docker 的 LNMP 部署 Hexo

时间起因是因为之前BLOG没有备份数据都丢失了,今天在和朋友聊天的时候讨论到到底使用Hexo还是用Halo?最后还是想熟悉下这两种博客的架设和部署方式,每次部署都有各种不同的问题,旨在提升自己的学习认知。以此有机会得到更多大佬们的指导~ 因为我是在 CentOS 7 服务器上使用…

《Go小技巧易错点100例》第三十六篇

本期分享&#xff1a; 1.使用gops获取正在运行的Go进程 2.将静态文件编译到Go程序中 3.Go语言通过多重赋值实现变量值交换 使用gops获取正在运行的Go进程 在 Go 语言开发中&#xff0c;进程诊断和性能分析是保障服务稳定性的关键环节。Google 开源的 gops [https://github.…

Idea新UI

轻松上手Idea新UI&#xff1a;开启高效编程新体验 在软件开发领域&#xff0c;IntelliJ IDEA一直以其强大的功能和出色的性能深受开发者喜爱。而其推出的new ui&#xff0c;更是为我们带来了全新的操作体验&#xff0c;进一步提升了开发效率。今天&#xff0c;就来详细讲讲如何…

QML\QtQuick\QtWidgets适合的场景及其优缺点

在Qt框架中&#xff0c;QML、QtQuick和QtWidgets是三种不同的UI开发技术&#xff0c;各有其适用场景和优缺点。以下是它们的对比分析&#xff1a; 1. QtWidgets 适用场景&#xff1a; 传统的桌面应用程序&#xff08;Windows/macOS/Linux&#xff09;。 需要复杂控件&#xf…

Spring Boot 2.x 项目搭建 (二)

因为Spring Boot 2.x 项目搭建 &#xff08;一&#xff09;访问 start.spring.io 或通过IDE&#xff08;如IntelliJ IDEA&#xff09;的Spring Initializr向导创建项目时&#xff0c;只能使用jdk17以上的版本&#xff0c;这里我需要兼容老项目需要JDK1.8&#xff0c;所以进行一…

Python 前端框架/工具合集

前言 Python 本身并不是为前端开发而设计的语言&#xff0c;但确实有一些 Python 框架可以“变相”地用于前端开发&#xff0c;比如生成 HTML、控制前端页面逻辑&#xff0c;甚至可以直接运行在浏览器中。 目标 本文将对常见的使用python实现的前端框架&#xff0c;先做一个…

Swagger 在 Spring Boot 中的详细使用指南

Swagger 是一个强大的 API 文档生成工具&#xff0c;在 Spring Boot 项目中主要通过 springdoc-openapi 库实现。下面我将详细讲解 Swagger 的配置、注解使用和高级功能。 一、基础配置 1. 添加依赖 在 pom.xml 中添加&#xff1a; xml 复制 下载 运行 <dependency&…