C++学习——第一节课-初识C++

news2024/10/7 8:27:40

大家好,我是涵子。今天我们来开始学习C++。

目录

一、课前准备

二、C++的第一个程序

2.1.C++是个啥

2.2.C++的第一个程序编写

2.2.1.头文件

2.2.2.命名空间

2.2.3.主程序函数

2.2.4.输出流

2.2.5.代码结束

三、其它的应用

3.1.输出三角形,矩形和勾

3.2.应用程序

四、总结


一、课前准备

首先大家准备好编译器和编辑器,这里推荐DEVC++,安装和设置就不详细讲解了,大家都知道。这里给大家一个链接:SourceForge DEV C++下载

二、C++的第一个程序

2.1.C++是个啥

C++究竟是个啥?C++ 是一种高级语言,它是由 Bjarne Stroustrup 于 1979 年在贝尔实验室开始设计开发的。C++ 进一步扩充和完善了 C 语言,是一种面向对象的程序设计语言。C++ 可运行于多种平台上,如 Windows、MAC 操作系统以及 UNIX 的各种版本。

那么我们开始学习第一个程序吧!

2.2.C++的第一个程序编写

大家经常会看到这一个基础的C++代码:

#include<iostream>
using namespace std;

int main(){
    cout<<"Hello, C++!"<<endl;
    return 0;
}

运行的结果(DEV C++):

Hello, C++!

--------------------------------
Process exited after 0.02335 seconds with return value 0
请按任意键继续. . .

很多人都会好奇什么是include<iostream>,什么是namespace,什么是int main。不急,我们来分析一波:

首先我们来了解一下C++运行和注释的方法和过程

C++运行程序先要转换成汇编语言(操作系统语言),再转换成机器语言(010101)
编译或者运行速度取决于电脑性能,包括CPU,RAM等等
// 注释方法1:双右斜杠,适用于单行注释
/* 注释方法2:右斜杠+*,最后*+右斜杠,适用于多行注释 */

然后来逐行分析:

2.2.1.头文件

#include<iostream>

头文件,引入程序的代码,可以实现各种功能。例如iostream,即可实现输出和输入流。

Tips:什么是输出流?输入流呢?

输出流顾名思义,即是在控制台或者程序中输出内容,例如数字、列表、字符等等。输入流则反过来。

2.2.2.命名空间

using namespace std;

命名空间,不会让重复内容造成歧义。例如std,在平时写是这样的:

std::cout<<"Hello, C++!"<<std::endl;

这样很麻烦,所以可以使用命名空间,可以节省时间,也不会造成歧义。注意分号。

2.2.3.主程序函数

int main(){
    // 主程序
}

这里的int后面跟的一定得是main,否则编译器会识别为一个整数,然后报错。在花括号内写主程序。还是一样,注意每一行代码进本都要写分号,以此表示这行代码结束。后面的代码可以换行写,或者在一行之内写,节省空间,例如:

#include<iostream>
using namespace std;

int main(){
	cout<<"Hello, C++!"<<endl; return 0;
}

至于一些不用分号作为结尾的代码,在后面的课程中做介绍。

2.2.4.输出流

cout<<"Hello, C++!"<<endl; // 或者std::cout<<"Hello, C++!"<<std:endl;

输出流在前面介绍过,在iostream中,输出流就是cout,后面跟上两个小于号,然后是字符(串)、计算公式等内容,然后再跟上两个小于号,然后再是endl或者其它字符(串)结束一行,这个可以省略。

注意括号中的“串”,这很重要,为什么呢?

Tips:C++的字符和字符串

在C++中,字符是用单括号(‘’)括起来的,只能放一个字符(例如a、b、c)

而字符串使用双括号(“”)括起来的,可以放多个字符(不能一个)(例如Hello)

2.2.5.代码结束

return 0;

返回0,即代表程序结束,不要输出,杀死程序进程。可以不放在最后一行,实现其它功能。这个后面的课程中会用到。

三、其它的应用

这里不再解释,内容一样,自己看注释,运行一下看看。

3.1.输出三角形,矩形和勾

全靠“肝”,像打印图片这种的只能靠“肝”。

// 第二个程序:在控制台中输出三角形,矩形和勾
// 此程序没有注释

#include<iostream>
using namespace std;

int main()
{
    cout<<"三角形:"<<endl;
    cout<<"*"<<endl;
    cout<<"**"<<endl;
    cout<<"***"<<endl;
    cout<<"矩形:"<<endl;
    cout<<"***"<<endl;
    cout<<"***"<<endl;
    cout<<"***"<<endl;
    cout<<"勾:"<<endl;
    cout<<"     *"<<endl;
    cout<<"*   *"<<endl;
    cout<<" * *"<<endl;
    cout<<"  *"<<endl;
    return 0;
}

3.2.应用程序

计算器,非常简单。 

// 第三个程序:应用程序
#include<iostream>
using namespace std;

int main()
{
    cout<<(1 + 3) * 2<<endl;
    return 0;
}

四、总结

今天我们学习了C++的第一个程序,了解了输出流,那么今天的课程到此结束,我们下期再见!程序内容详见Github主页中的CPPStudy,到总纲中查看:

C++学习——总纲_大展宏兔的超级涵子的博客-CSDN博客icon-default.png?t=N4P3https://blog.csdn.net/B20111003/article/details/129971420?spm=1001.2014.3001.5502

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

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

相关文章

单例模式C++实现和观察者模式C++实现

目录 1、单例模式介绍 2、单例代码实现 2.1 static介绍 2.2 C中static的三种用法&#xff1a; &#xff08;1&#xff09;静态局部变量 &#xff08;2&#xff09;静态成员变量 &#xff08;3&#xff09;静态成员函数 3、观察者模式介绍 4、观察者代码实现 1、单例模…

.ini配置文件介绍与解析库使用

【前言】 ini 文件是英文"Initialization"的缩写&#xff0c;即初始化文件。它用来配置特定应用软件以实现对程序初始化或进行参数设置。.ini文件由节(section)、键(key)、值(value)三种模块构成。在windows系统/嵌入式软件中有很多XXX.ini文件&#xff0c;例如Syste…

IDC机房相电压与线电压的关系

380V电动机&#xff08;三相空调压缩机&#xff09;的电流计算公式为&#xff1a;Ⅰ&#xff1d;额定功率&#xff08;1.732额定电压功率因数效率&#xff09;。 功率因数是电力系统的一个重要的技术数据。功率因数是衡量电气设备效率高低的一个系数。功率因数低&#xff0c;说…

通过源码编译安装搭建 LNMP平台

搭建LNMP平台 一. 安装Nginx服务1.1 安装依赖包1.2 创建运行用户1.3 编译安装1.4 优化路径1.5 添加 Nginx 系统服务 二. 安装mysql服务2.1 安装Mysql环境依赖包2.2 创建运行用户2.3 编译安装2.4 修改mysql 配置文件2.5 更改mysql安装目录和配置文件的属主属组2.6 设置路径环境变…

VMware安装Windows11

VMware安装Windows11 嘚吧嘚准备工作VMware下载Windows11下载 VMware安装Windows11VMware配置安装Windows11 嘚吧嘚 最近在搞一些自己感兴趣的东西&#xff0c;需要(临时)安装一些软件来验证&#xff0c;考虑到用完还要卸载&#xff0c;不想把自己的电脑搞得乱七八糟&#x1f…

字节序及IP地址转换

一、主机字节序和网络字节序 1.什么是字节序&#xff1f; 字节序是指多字节数据在计算机内存中存储或者网络传输时各字节的存储顺序&#xff0c;分为&#xff1a;大端字节序&#xff08;Big endian&#xff09;、小端字节序&#xff08;Little endian&#xff09;。 示例&am…

前端技术双周刊 2023-06-04:React 发布 10 周年整

项目地址&#xff1a;olivewind/weekly 微信公众号&#xff1a;依赖注入 发布时间&#xff1a;2023.06.04 本周内容&#xff1a;资讯x3、开源x4、文章x5 动态 React 圆桌会议 - Server Components, Suspense 和 Actions 为庆祝 React 成立 10 周年&#xff0c;Delba de Oliveir…

MySQL 约束控制

文章目录 约束控制非空约束主键约束默认值约束唯一约束外键约束 约束控制 数据的完整性约束&#xff08;简称“约束”&#xff09;是在表和字段上强制执行的数据检测规则&#xff0c;是为了防止不规范的数据进入数据库。当我们对数据进行 DML 操作时&#xff0c;数据库管理系统…

被面试官上过一课后,我学到的不止是如何答题

写在前面双向奔赴切勿急于否定自己做足功课关于简历关于简历投递常见面试题汇总● 按照一般的面试流程&#xff0c;先来一个自我介绍吧● 你的优点和缺点是什么● 你理解的项目经理是干什么的● 能完整的说一下软件项目的整个流程么● 项目经理和产品经理的区别在哪里● 项目管…

UniAD:实现多类别异常检测的统一模型

来源&#xff1a;投稿 作者&#xff1a;Mr.Eraser 编辑&#xff1a;学姐 论文标题&#xff1a;用于多类异常检测的统一模型 论文链接&#xff1a;https://arxiv.org/abs/2206.03687 论文贡献&#xff1a; 提出UniAD&#xff0c;它以一个统一框架完成了多个类别的异常检测。 …

Jetson 硬件 安装SSD固态作为启动盘以及安装CUDA等

Jetson硬件的自带闪存一般较小&#xff0c;只能安装jetpack等基本的环境&#xff0c;所以需要额外增加SSD固态或SD卡作为存储空间&#xff0c;很明显SSD的读取速度远远大于SD卡&#xff0c;所以为更好发挥出Jetson 的计算性能&#xff0c;我们选择使用SSD固态作为存储 1. 安装…

随机森林原理和性能分析

文章目录 随机森林入门构造随机森林随机森林性能随机森林特点 随机森林入门 决策树入门、sklearn实现、原理解读和算法分析中针对决策树进行了详细的描述&#xff0c;但是其只考虑了一颗决策树的情况。俗话说&#xff0c;三个臭皮匠&#xff0c;顶个诸葛亮。本文将研究如何通过…

C++:深入理解多态,多态实现原理及拓展

文章目录 1. 理解虚表1.1 虚表1.2 验证1.3 子类虚表1.4 相同类不同对象的虚表 2. 静态绑定和动态绑定2.1 静态绑定2.2 动态绑定 3. 多态的实现原理3.1 向上转型3.2 多继承3.3 原理 4. 拓展4.1 构造函数能不能是虚函数4.2 父类和子类的析构函数在底层的命名问题4.3 对象之间无法…

[论文阅读] (30)李沐老师视频学习——3.研究的艺术·讲好故事和论点

《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座&#xff0c;并分享给大家&#xff0c;希望您喜欢。由于作者的英文水平和学术能力不高&#xff0c;需要不断提升&#xff0c;所以还请大家批评指正&#xff0c;非常欢迎大家给我留言评论&#xff0c;学术路上期…

SpringMVC第十一阶段:SpringMVC 拦截器执行源码解析

SpringMVC 拦截器执行源码解析&#xff1a; 1、执行doDispatcher做请求分发处理 1.1、调用getHandler()获取请求处理器&#xff0c;处理器中包含请求的方法和拦截器信息 getHandlerInternal() 根据请求地址获取对应的目标方法getHandlerExecutionChain() 获取请求地址对…

(转载)基于鱼群算法的函数寻优算法(matlab实现)

1 理论基础 1.1 人工鱼群算法概述 人工鱼群算法是李晓磊等人于2002年提出的一类基于动物行为的群体智能优化算法。该算法是通过模拟鱼类的觅食、聚群、追尾、随机等行为在搜索域中进行寻优&#xff0c;是集群体智能思想的一个具体应用。生物的视觉是极其复杂的&#xff0c;它…

Java006——对第一个Java程序HelloWorld的简单介绍

一、HelloWorld.java程序整体认识 public class HelloWorld { //创建一个名字叫HelloWorld的类&#xff08;Java中的类叫class&#xff09;public static void main(String[] args) {//主程序入口&#xff0c;类似C语言main函数System.out.println("He…

python之scipy.signal重采样

前言 在复现LiftingNet过程中&#xff0c;了解到作者对于不同转速设备的机械信号进行重采样来矫正转速&#xff0c;也就是固定长度的样本包含了相同旋转周期的设备信息&#xff0c;而非相同时间长度。po一下原文&#xff1a; 这里其实用到了阶次分析的原理&#xff0c;该样本…

【vue】生命周期,组件,插槽,依赖注入,实现分页器组件,异步组件,keep-alive

❤️ Author&#xff1a; 老九 ☕️ 个人博客&#xff1a;老九的CSDN博客 &#x1f64f; 个人名言&#xff1a;不可控之事 乐观面对 &#x1f60d; 系列专栏&#xff1a; 文章目录 生命周期总结组件例子轮播图组件 在组件中使用v-modelMixin插槽具名插槽实现一个分页器 依赖注入…

【软件测试】软件测试总结笔记(1)

软件测试理论总结 1.Introduction1.1 What is Software Bug1.2 Tester的职责和目标其他概念软件测试的分类 2.软件开发生命周期Software Development ProcessSoftware Development Lifecycle ModelsTDD - Test-Driven Development测试驱动开发&#xff08;一种敏捷开发&#x…