C++Primer——第一讲

news/2025/2/22 22:43:25/

重制C++Primer

目录

一、第一个程序

二、代码 

二、题目


前言

我们会从一个C++程序开始,这里默认您已经安装了Dev-C++或其他的IDE软件。


一、第一个程序

下面这串代码是可以输出“Hello world”的代码。

#include<bits/stdc++.h>
using namespace std;
int main(){cout<<"Hello world"<<endl;return 0;
}

 如果要运行它,就应该先将它编译成程序。先打开IDE,新建一个文件(Ctrl+N):

接着,您可以复制代码到该cpp(Ctrl+C,Ctrl+V),也可以试着打一份: 

 

当我们要编译的时候,应该先保存(Ctrl+S):

现在,将会出现这个界面:

按照自己的想法,起一个名字。这里cpp是一种文件格式 ,即普通C++源文件。点击“保存”。现在,点击编译运行(或按下Fn+F11):

如果代码没有错误的话,您将会看到这个: 

就这样,您成功的编写、编译、运行了您的第一个C++程序。

现在我们来讲解代码。

二、代码 

您看见,第一行是这样的:

#include<bits/stdc++.h>

这个是头文件,属于预处理,所以不用加分号。您也可以自己编写、导入头文件,类似于下面这样:

#include “xxx”

我们将会在以后学到它。现在我们来看第二行:

using namespace std;

请您注意,这里是要加分号的。意为:使用命名空间std(即标准命名空间),这是为了下面的代码cout做准备的。

若省略这一行,代码也可以变成这样:

#include <bits/stdc++.h>
int main(){std::cout<<"Hello world"<<std::endl;return 0;
}

您看到,我们在cout前面加了一个std::。这里,“::”就是作用域运算符。如果您学过C语言,可以使用这行代码:

#include<bits/stdc++.h>
int main(){printf("Hello world")
}

效果是一样的,原因是C++兼容C语言。不过反过来是不成立的。按照我的个人风格,我偏爱用cout。

我们再往下看:

int main(){· · ·
}

其实这就是定义了一个叫main的函数,我们来看一下它的组成:

返回类型 函数名(形参列表){函数体
}

这里的main函数形参列表为空,我们以后也会接触到有形参列表的main函数。

现在我们再往下看函数体部分:

cout<<"Hello world"<<endl;

您要注意,语句后面都要加上分号。大部分函数体里的语句结尾都要加分号。就像您写作文,会有句号一样。

然后我们来看cout,这个是用来输出的,即标准输出(standard output),endl则是用来换行的。这里提一下,cout和endl都是std库里面的。

return 0;

即返回值为0。

二、题目

如果您想练习,可以试试这些题目:

洛谷P1000

洛谷B2002


总结

以上就是今天要讲的内容,谢谢您的观看。


http://www.ppmy.cn/news/96858.html

相关文章

238页9万字大数据治理与服务平台建设及数据服务实施方案(word)

本资料来源公开网络&#xff0c;仅供个人学习&#xff0c;请勿商用&#xff0c;如有侵权请联系删除。 1 项目解决方案 1.1 建设类业务技术方案 1.1.1 业务需求分析 根据对招标要求的理解&#xff0c;建设业务需求主要包括如下几个方面&#xff1a; &#xff08;1&#xff…

测试C#分词工具jieba.NET(续1:提取关键词及并行分词)

jieba.NET支持通过两种算法提取文本关键词&#xff1a;TF-IDF算法和TextRank算法&#xff0c;关于这两种算法的介绍详见参考文献10-11&#xff0c;在jieba.NET中对应的类为TfidfExtractor和TextRankExtractor&#xff0c;这两个分词都都支持调用ExtractTags和ExtractTagsWithWe…

ubuntu安装搜狗输入法,图文详解+踩坑解决

搜狗输入法已支持Ubuntu16.04、18.04、19.10、20.04、20.10&#xff0c;本教程系统是基于ubuntu18.04 一、添加中文语言支持 系统设置—>区域和语言—>管理已安装的语言—>在“语言”tab下—>点击“添加或删除语言”。 弹出“已安装语言”窗口&#xff0c;勾选中文…

Protobuf协议初级详解(python使用)从安装到序列化-反序列化

教程 一、前言二、效果三、教程1&#xff09;安装2&#xff09;使用1.创建.proto文件2.proto语法3.protoc.exe文件编译.proto语法文件4.序列化5.反序列化 四、借鉴 一、前言 Protobuf是一种轻便高效的结构化数据存储格式&#xff0c;可以用于结构化数据序列化&#xff0c;很适合…

辅助驾驶功能开发-功能规范篇(24)-2-影子模式功能触发规范

书接上回 3.3.算法功能模块 算法功能模块包含八种触发事件:主动接管事件、提醒接管事件、拥堵上匝道事件、拥堵下匝道事件、汇入口避让事件、拥堵变道事件、决策冲突事件以及预测冲突事件,对这八种事件进行触发测试。 对于算法功能模块,其所需要接收的信号如下表所示: 信号…

Linux(进程间通信)

目录&#xff1a; 1.进程间通信的介绍 2.管道通信 3.管道的原理 ------------------------------------------------------------------------------------------------------------------------------- 1.进程间通信的介绍 2.管道通信 当我们在创建子进程时&#xff0c;我们的…

Go快速上手之基础语法 | 青训营笔记

Go快速上手之基础语法 &#xff5c; 青训营笔记 文章目录 Go快速上手之基础语法 &#xff5c; 青训营笔记系列介绍本文摘要1. Go 介绍2. Go 的环境配置2.1 :sparkles: IDE2.2 Gitpod 和 Jetbrians Gateway 的使用 3. Go的基础语法3.1 Hello World3.2 变量与常量3.3 条件控制语句…

第3章 Class and Object

构造函数 Guaranteed initialization with the constructor使用构造函数保证初始化 • If a class has a constructor, the compiler automatically calls that constructor at the point an object is created, before client programmers can get their hands on the o…