进入C++

news2024/11/10 7:40:24

开始学习C++

我们学习编程语言是从语言的本身入手,一步一步去认识每段程序所代表的含义。在国内学习编程语言,大部分的老师都是比较注重学生的基础,因此我在写这篇文章的同时也考虑到这一点。因此,本系列C++的学习专辑中主要带着大家将基础部分做好。

下面开始学习,来看一段程序:myfirst.cpp

// 我的第一个C++程序,它用于输出文字

#include <iostream>
int main()
{
	using namespace std;
	cout << "欢迎学习C++程序设计";
	cout << endl;
	cout << "我相信你一定可以学好";
	return 0;
}

main( )函数

int main()
{
    statements
    return 0;
}

这几行代码表明了有一个名字为main的函数,函数由两部分构成:函数体(statements)和return 0

在一个函数中要实现的内容,或者说要执行的指令都是放在函数体中,并且由花括号{ }包含。在main函数中的最后一句是return 0,它代表的含义是一个程序的结束,原因是当所有的执行结束之后,程序就会清除所有的数据,一切清零,因此返回0这个标记数字。

这个main函数是程序的入口函数,意思是要执行C++中的任何一条语句都必须先经过这个main,它也是作为是与操作系统之间的接口,因为所有的程序运行都离不开操作系统的调度。当main中的程序被执行时都是由操作系统调用并让CPU去执行,最后将执行的结果返回使用程序的用户,因此,才将其称为是入口函数。

C++中的注释

C++的注释是以双斜杠(//)作为开头,注释的意思是对代码做出解释说明,不过在程序的编译与运行中不会被识别。

C++的预处理器和iostream文件

预处理器指的就是在代码编译之前对源文件进行处理,用户不需要执行任何特殊的操作来调用,它在编译程序时会自动运行。

#include <iostream>

预处理器会将该指令自动添加到程序中,这就是典型的预处理器的操作。

iostream文件是什么呢?它指的是与外部沟通的必要程序,从名字来看你应该知道,它代表的是一个IO流,意思就是输入与输出。表示客户可以与计算机进行交互。

#include指令会将该iostraem文件与代码文件合并在一起,共同发送给编译器。

名称空间

using namespace std;

这个是C++中的一种特性,譬如在程序中使用cout或者endl,这些名字它都是存在于std中,便于开发者使用这些名称。

使用了using指令,开发者便可以直接使用std中的各种名字。否则使用cout会变成如下:

std::cout << "欢迎学习C++";

使用cout输出内容与endl换行

C++是如何显示消息的呢?

cout << "欢迎学习C++程序设计";

可以将cout其实是一个预定义对象,它的主要作用是显示字符串、数字和单个字符,其属性是在iostream中定义好的。<< 代表将要显示的信息传送到流中,将其展示在计算机的屏幕上。

endl的主要作用就是让计算机的显示光标跳转至下一行的开头,简单的说就是换行的意思。因为cout它是不包含换行功能的。

cout << "你一定";
cout << "可以";
cout << "学好C++";

如果是这样使用cout的话,那么它们一定是在同一行显示的。

C++语句

#include <iostream>

int main()
{
	using namespace std;
	int carrots;
	carrots = 25;
	cout << "I have ";
	cout << carrots;
	cout << "carrots";
	cout << endl;
	carrots = carrots - 1;
	cout << "now I have " << carrots << " carrots." << endl;
	return 0;
}

声明语句和变量

计算机是一种精确的、有条理的机器。要将信息存储到计算机中,必须指出信息的存储位置和需要的内存空间,利用C++的声明语句即可简单的完成操作。

int carrots;

这个语句提供了两个信息:需要的内存以及内存单元的名称。

在C++中利用int来表明数据类型为整数,它是最基本的数据类型,而carrots则表示给存储单元的名称,使用此名称来标识存储在该单元中的值。另外carrots也被称为是变量,它里面存储的值是可以被修改的

声明通常就是指出了要存储的数据类型,以及对存储在该单元中数据的名称。

赋值语句

carrots = 25;

赋值语句指的是将值赋给存储单元,上面的语句表明的就是将25赋值给carrots

=这各符号要与数学中的等于号作好区分,它仅仅代表的是赋值符号,将右边的值赋值给左边的变量。

另外赋值符号的右边除了是具体的数值外也可以是一个表达式。例如:

carrots = carrots - 1;

上述语句在赋值符号的右边就是一个表达式,它的意思是将carrots的值减去1,得到结果24,再将24赋值给carrots。

其他C++语句

#include <iostream>

int main()
{
	using namespace std;
	int carrots;

	cout << "How many carrots do you have?" << endl;
	cin >> carrots;
	cout << "Here are two more " << endl;
	carrots = carrots + 2;
	cout << "Now you have " << carrots << " carrots." << endl;
	return 0;

使用cin

cin >> carrots;

上述语句的值表明的是将键盘输入的值赋给carrots,cin的作用就是从键盘中获取输入,并将输入的结果流向carrots。

其次cincout一样它们都是智能对象,在代码的前面已经声明了carrots的数据类型,cin从键盘输入获取的值也将会转换为整型存储到carrots中。

类的简介

现在先简单对类有个了解,后面的文章中会对类做一个详细的讲解。

类是用户定义的一种数据类型,要定义一个类需要知道它可以表示什么信息和对数据执行哪些操作。类之于对象就相当于类型之于变量。

int carrots;

上面的代码中定义了一个整数类型的变量,那么这个carrots就可以执行加减乘除等操作。

总结

本文主要讲解了C++程序的组成,C++是由函数头和函数体构成,函数头指出函数的返回类型和函数期望通过参数传递给它的信息组成,C++程序是从main函数开始启动,它是程序的入口函数,缺少它是万万不可的。

最后还讲解了变量的定义声明、赋值以及cout和cin的用法。

带你开始学习C++的知识。

路漫漫其修远兮,吾将上下而求索。

与君共勉之!

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

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

相关文章

Gradio 自定义组件

如何使用 Gradio 自定义组件&#xff0c;Gradio 前端使用 Svelte&#xff0c;后端使用的 Python。如何自定义一个组件呢&#xff1f;Gadio 提供了类似于脚手架的命令&#xff0c;可以生成需要开发组件的前后和后端代码。 创建组件 运行如下命令&#xff0c;gradio 会自动生成…

OBC充电机测试的步骤和规范

一、测试前准备 1. 确认测试环境&#xff1a;确保测试环境的温度、湿度等条件符合设备的工作要求。 2. 检查设备&#xff1a;检查OBC充电机是否完好无损&#xff0c;电源线、插头等是否连接良好&#xff0c;显示屏是否正常显示。 3. 准备工具&#xff1a;准备好电压表、电流…

ubuntu20.04安装cudnn

先登入账号 网址&#xff1a;https://developer.nvidia.com/cudnn 选择ubuntu20.04 x86_64&#xff08;Deb&#xff09; 在下载好文件的文件夹下打开终端 sudo apt-get install zlib1gsudo dpkg -i cudnn-local-repo-${distro}-8.x.x.x_1.0-1_amd64.debsudo cp /var/cudnn-lo…

大数据时代:历史、发展与未来

文章目录 引言1980年&#xff1a;大数据的先声2006年&#xff1a;云计算与大数据的诞生2008年&#xff1a;大数据的科学探索2009年&#xff1a;大数据成为行业热词2011年&#xff1a;大数据的商业价值2013年&#xff1a;世界大数据元年结语 引言 在信息技术飞速发展的今天&…

钢铁焦化水泥超低排的原因

钢铁、焦化和水泥行业实施超低排放的原因&#xff0c;朗观视觉小编建议大家可以从环境保护、产业升级、政策推动以及企业可持续发展等多个方面进行分析。 一、环境保护需求 空气质量改善&#xff1a;钢铁、焦化和水泥行业是传统的高污染行业&#xff0c;其排放的颗粒物、二氧化…

表格HTML

//test.html <!DOCTYPE html> <html lang"en"> <head> <meta charset"UTF-8"> <meta name"viewport" content"widthdevice-width, initial-scale1.0"> <title>表格与CSS分开示例</tit…

【STL】string 基础,应用与操作

string 1.string相关介绍 STL&#xff08;标准模板库&#xff09;中的string容器是C标准库提供的用于处理和操作字符串的类&#xff0c;位于头文件中。std::string提供了比传统的C风格字符串&#xff08;字符数组&#xff09;更方便和安全的功能&#xff0c;具有动态内存管理…

python脚本编译为.so速度对比

有两个好处&#xff1a; 产品代码保护&#xff0c;so文件不可读 计算能力加速&#xff0c;本质上编译过程为python -> c -> so文件&#xff0c;相当于动态语言转换为静态语言&#xff0c;程序执行能力和计算能力有所提升 编译为so文件后比原始python代码执行时间快2ms左…

VISIA 皮肤检测

费用:自费158元 不能医保报销 先清洁肌肤,然后做一个皮肤检测. 1200万像素高清摄像头,一个白光,一个偏正光,还有一个紫外光,三种模式,分析面部情况. 8张图 反应皮肤情况应用: 在医美前和医美一次修复完成后,皮肤情况对比. 数值越高 越好 斑点图: 皱纹图: 分数比较低的话,皮肤…

【计算机基础题目】二叉树的前序中序后续遍历之间相互转换 详细例子

创作日志&#xff1a; 笔试题目&#xff0c;掌握了技巧之后这道题就是 so easy~ 一、 1、已知二叉树的 前序和中序&#xff0c;可以求出后序 2、已知二叉树的 中序和后序&#xff0c;可以求出前序 3、已知二叉树的 前序和后序&#xff0c;无法求出唯一的中序 二、求法 求法是…

828华为云征文|华为云Flexus云服务器X实例之openEuler系统部署Docker Compose管理工具Dockge

828华为云征文&#xff5c;华为云Flexus云服务器X实例之openEuler系统部署Docker Compose管理工具Dockge 前言一、Flexus云服务器X实例介绍1.1 Flexus云服务器X实例简介1.2 Flexus云服务器X实例特点1.3 Flexus云服务器X实例使用场景 二、Dockge介绍2.1 Dockge简介2.2 Dockge功能…

华为云DevSecOps和DevOps

目录 1.华为云DevSecOps和DevOps 1.1 DevSecOps 1.1.1 核心功能 1.1.2 优势 1.2 DevOps 1.2.1 核心功能 1.2.2 优势 1.3 DevOps和DevSecOps的区别 1.3.1 安全性集成 1.3.2 自动化的安全工具 1.3.3 团队协作 1.3.4 质量与合规性 1.3.5 成本与风险管理 1.3.5 总结 …

添可2024新品发布会,让智能家电成为“美好家”的具象表达

9月19日&#xff0c;添可以“万物新生&#xff0c;智领美好家”为主题&#xff0c;于上海浦东美术馆举办2024年度新品发布会。 会上&#xff0c;添可凭借对智能家电与家居设计领域的深刻洞察&#xff0c;全新发布了芙万Art Station智能洗地机、芙万Artist洗地机、饮万水纪元净…

《拿下奇怪的前端报错》:npm install卡住了一个钟- 从原理搞定安装的全链路问题

相信前端的小伙伴稍微入行一段时间的&#xff0c;接触过不同的项目&#xff0c;就可能遇到过npm install卡住的情况&#xff0c;下面我就来分析下几种场景、定位的方法和解决办法。不再只是删除node_modules然后重来了&#xff0c;虽然它能解决80%的问题 1 npm install 的原理…

Vue 常用高级指令解析

Vue 高级指令的重要性 Vue 高级指令是一种扩展 Vue.js 框架的功能的方式&#xff0c;可以让你在处理 DOM 元素时具有更多的控制权。它们可以通过自定义指令的方式进行编写和应用。 高级指令的重要性在于&#xff0c;它们使开发者能够通过 Vue 框架来创建更加复杂和灵活的交互…

数据库函数

1.字符串函数 例子&#xff1a; 2.数值函数 例子&#xff1a; 3.日期函数 例子&#xff1a; 4.流程函数 例子&#xff1a; 参考视频&#xff1a;27. 基础-函数-字符串函数_哔哩哔哩_bilibili

FinGPT金融大模型

FinGPT仓库https://github.com/AI4Finance-Foundation/FinGPT 功能&#xff1a; Adviser。根据新闻判断市场情绪&#xff08;积极、消极、中性&#xff09;&#xff0c;给出投资建议。Quantitative Trading。定制属于自己的金融助手。叫它关注某几个股票、监测消息等。可以直…

Linux安装、Nginx反向代理、负载均衡学习

系列文章目录 第一章 基础知识、数据类型学习 第二章 万年历项目 第三章 代码逻辑训练习题 第四章 方法、数组学习 第五章 图书管理系统项目 第六章 面向对象编程&#xff1a;封装、继承、多态学习 第七章 封装继承多态习题 第八章 常用类、包装类、异常处理机制学习 第九章 集…

代码管理-使用TortoiseGit同步项目到Github/Gitee

1 什么是TortoiseGit TortoiseGit下载地址 TortoiseGit是Git的Windows桌面可视化工具&#xff0c;通过软件的操作来实现Git命令的效果&#xff0c;使所有的操作都能用图形化实现。TortoiseGit安装很简单&#xff0c;这里不对安装流程进行讲解。下载之后即可按照普通软件的方式…

无人机之AI跟踪篇

无人机的AI识别技术依托于计算机视觉和深度学习技术&#xff0c;实现了对目标的快速精准识别&#xff0c;在多个领域展现出了巨大的应用潜力和价值。以下是对无人机AI识别技术的详细解析&#xff1a; 一、无人机AI识别算法的基础原理 无人机AI识别算法主要基于先进的计算机视觉…