【C++】c++入门,认识c++版本的Hello world!

Hello,everybody!在c语言,数据结构初阶学完之后,咱们就要开始c++的学习了。关于c++的语法,有很多是为了弥补c语言的不足。在咱们学习c++的过程中,随着你对c++语法掌握的越来越熟练。我相信你会逐渐爱上c++。那我们直接进入正题。

1.c++兼容c

c++兼容c的意思就是百分之99的c语法在c++中同样适用。

在text.cpp文件中写标准的c语言同样可以运行。

2.cin,cout

那既然在c++文件中咱们就要写c++的语法,下面我给大家展示一下c++版本的Hello world!

大家对比一下这两个Helld world!有什么不同?

下面我将针对这个简单的c++程序逐步讲解:

1.首先,咱们c++的头文件是iostream,注意这个文件没有后缀。

2.cout你可以把它看作屏幕。

3.符号<<就相当于河流一样,字符串通过<<流向cout(屏幕)。

4.endl可以理解为换行符。

当然,也可以不要endl,输出的结果也就不会换行。

如果要进行格式化的输出,就需要用到cin(键盘)。

cin>>i,我们可以理解为:cin就是键盘,从键盘上输入数据并通过符号>>流向i中,再通过cout打印在屏幕上。

也是挺生动形象的。这里我们要注意在c++中不需要%d,%c,%s进行数据类型匹配,编译器可以对数据类型自动匹配。

了解这些知识后,再看这个程序就顺眼多了。

3.命名空间

在c语言中,在同一个作用域中不可以有同名变量。例如:

在main函数中,如果定义两个整型变量i,在编译的过程中,编译器会给一个重定义的报错信息。

如果在以后的工作中,有多人共同完成一个大型项目,可能会出现两人或多人命名冲突的现象。为了解决这个问题,c++语法给出了解决方案:命名空间。

下面我来解释一下命名空间:

1.我在main函数的上面写了两个命名空间,如果你的名字叫leo,你同事的名字叫lisa。就可以以名字来做为命名空间的名字,这方面没有什么要求,类似于函数命名,方便就好。

2.要以namespace开头,后面跟上你给出的名字。

3.接下来就可以在这个命名空间里定义你的变量了。注意不同的命名空间可以有同名变量,它们互不影响。但在同一个命名空间里不可以。

4.如果想要访问命名空间里的变量,有两种方法:

一种就是上面图中给出的。如果我要访问leo中的i,就需要用leo::i,来向编译器指明具体要访问的变量。

还有一种方法就是展开命名空间:如果我要展开leo,就可以用:using namespace leo;将该命名空间展开后,其中的变量就和全局变量差不多,不用特殊指明,可以直接访问。

4.关于using namaspace std

如果你学过c语言的预处理并且把命名空间看明白了,我想你可以猜到using namespace std;是什么意思了。

在代码文件形成可执行程序的过程中,第一步就是预处理,这一阶段会将头文件展开。也就是说在文件iostream中定义了各种变量,函数等。其中就有一个命名空间,它的名字叫std,在这个命名空间中定义了变量cout,cin,endl等等。所以,咱们在平时的学习中,如果要频繁用到该命名空间中定义的变量,为了方便,可以将该命名空间展开,也就是这条语句:using namespace std;

当然,如果你不想展开,就需要想编译器指定我要访问命名空间std中的变量。

好,如果以上我介绍的这些你都听懂了的话那开头的Hello world!是否就可以全部理解了呢?

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

【taro react】 ---- 自动化【根据运行命令直接编译对应的是测试环境或正式环境】

1. 场景 开发和发布程序中遇到最常见的问题,需要一个环境配置文件,然后在启动或者编译前,需要开发者去修改对应的环境变量来控制启动或者编译的环境是测试环境还是正式环境。同时如果是需要维护小程序的 Jenkins 自动上传,就会更加的麻烦,上传的小程序越多,我们需要维护…

STM32单片机学习5--STM32中断

文章目录 一、前言二、NVIC中断控制器2.1、NVIC结构体成员2.2、抢占优先级和响应优先级2.3、NVIC的优先级组 三、EXTI外部中断四、中断实战4.1、确定连线4.2、配置中断控制端口4.3、配置中断端口4.4、配置中断服务函数4.5、主函数调用 一、前言 单片机无系统执行逻辑&#xff…

Unity之Cinemachine教程

前言 Cinemachine是Unity引擎的一个高级相机系统&#xff0c;旨在简化和改善游戏中的相机管理。Cinemachine提供了一组强大而灵活的工具&#xff0c;可用于创建令人印象深刻的视觉效果&#xff0c;使开发人员能够更轻松地掌控游戏中的摄像机行为。 主要功能和特性包括&#x…

Linux代码行数统计工具cloc

这里推荐个Perl语言开发的开源代码统计工具cloc&#xff0c;全称为Count Lines of Code。支持多平台使用、多编程语言识别。 在Ubuntu下安装cloc&#xff1a; sudo apt-get install cloc运行cloc可以cd到指定目录运行&#xff1a; cloc . # 或者例如统计src目录下的代码行数 …

微信小程序跳转第三方网站链接

很简单&#xff0c;先定义一个跳转外网的页面&#xff0c;利用 web-view 标签&#xff0c;通过src设置你要跳转的外网地址 <web-view src"https://www.baidu.com"></web-view>然后在你的跳转按钮写跳转函数即可 wx.navigateTo({url: /pages/webView/inde…

微信小程序(十一)表单组件(进阶)

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a;&#xff08;涉及内容较多&#xff0c;建议细看源码&#xff09; 1.radio-group的使用与数据处理 2.checkbox-group的使用与数据处理 3.picker的使用与数据同步处理(此处示范了地域与日期) 源码&#xff1a; form…

使用API有效率地管理Dynadot域名,使用API进行域名注册

关于Dynadot Dynadot是通过ICANN认证的域名注册商&#xff0c;自2002年成立以来&#xff0c;服务于全球108个国家和地区的客户&#xff0c;为数以万计的客户提供简洁&#xff0c;优惠&#xff0c;安全的域名注册以及管理服务。 Dynadot平台操作教程索引&#xff08;包括域名邮…

国标GB28181协议EasyCVR启动失败报错“Local Machine Check Error”的解决方法

国标GB28181安防监控系统EasyCVR平台采用了开放式的网络结构&#xff0c;可支持4G、5G、WiFi、有线等方式进行视频的接入与传输、处理和分发。安防视频监控平台EasyCVR还能支持GIS电子地图模式&#xff0c;基于监控摄像头的经纬度地理位置信息&#xff0c;将场景中的整体安防布…

如何设计性能测试用例!一文1000字详解(建议收藏)

性能测试是确保软件应用在各种负载和条件下都能保持良好性能的关键活动&#xff0c;涉及到系统的响应时间&#xff0c;还包括吞吐量、资源利用率、可靠性和系统的可伸缩性。 性能测试用例设计需要对业务需求和系统行为有深刻理解&#xff0c;设计过程涉及确定测试目标、选择相…

基于无线脉冲,超宽带技术的高精度人员定位系统源码,可实现人员、物资的精准定位

随着工业4.0深入推进信息化&#xff0c;智能化&#xff0c;数据化管控成为企业不可或缺的竞争力&#xff0c;其中人员物资等实时位置信息成为变革关键&#xff0c;因此&#xff0c;uwb超宽带高精度定位系统应运而生&#xff0c;高精度的位置数据作为智能工厂数据流的重要组成部…

【EI会议征稿】第三届光电信息与功能材料国际学术会议(OIFM 2024)

第三届光电信息与功能材料国际学术会议&#xff08;OIFM 2024&#xff09; The 3rd International Conference on Optoelectronic Information and Functional Materials 第三届光电信息与功能材料国际学术会议&#xff08;OIFM 2024&#xff09;将于2024年4月5-7日在武汉召开…

编辑图片加文字的软件?分享4款!

在数字时代&#xff0c;图片和文字的结合已经成为信息传递的重要方式。为了满足广大自媒体人和内容创作者的需求&#xff0c;本文将为您推荐几款编辑图片加文字的软件&#xff0c;帮助您轻松实现创意表达。 魔法抠图大师 作为一款专业的图片编辑软件&#xff0c;还提供了多种编…

MySQL 8.3 发布, 它带来哪些新变化?

1月16号 MySQL 官方发布 8.3 创新版 和 8.0.36 长期支持版本 (该版本 没有新增功能&#xff0c;更多是修复bug )&#xff0c;本文基于 官方文档 说一下 8.3 版本带来的变化。 一 增加的特性 1.1 GTID_NEXT 支持增加 TAG 选项。 之前的版本中 GTID_NEXTUUID:number &#xff…

GPSR路由算法的MATLAB实现

GPSR基于节点地理位置路由信息&#xff0c;采用贪婪策略和右手准则的结合在邻居节点中选择下一跳节点进行数据转发。节点在进行路由选择时&#xff0c;只需知道自己、邻居和目标节点的地理位置信息&#xff0c;无需维护全局网络的链路状态&#xff0c;这在很大程度上降低了网络…

【JavaEE进阶】 MyBatis使用注解实现增删改查

文章目录 &#x1f343;前言&#x1f334;传递参数&#x1f38b;增(Insert)&#x1f6a9;返回主键 &#x1f384;删(Delete)&#x1f332;改(Update)&#x1f333;查(Select)&#x1f6a9;起别名&#x1f6a9;结果映射&#x1f6a9;开启驼峰命名(推荐使用) ⭕总结 &#x1f343…

电源模块测试项目:输入低压点循环测试及测试方法

输入低压点循环测试是什么? 电源输入低压点循环测试是检测电源在低压条件下的性能和稳定性&#xff0c;它是一次电源模块的输入欠压点保护的设置回差测试。当输入电压较低&#xff0c;接近一次电源模块欠压点关断时&#xff0c;带载时欠压; 断后由于电源内阻原因&#xff0c;负…

初识Docker(架构、安装Docker)

一、什么是Docker Docker 是一个开源的应用容器引擎&#xff0c;它允许开发者将应用程序及其依赖打包到一个轻量级、可移植的容器中。这些容器可以在不同的计算平台上运行&#xff0c;如Linux和Windows&#xff0c;并且可以实现虚拟化。Docker 的设计目标是提供一种快速且轻量…

智能机器人与旋量代数(12)

Chapt 4. 旋量代数在机器人学中的应用 4.1 串联机器人正运动学的指数积(PoE, Product of Exponetial)公式 4.1.1 回顾&#xff1a;机器人正运动学的Denavit-Hartenberg (D-H)参数公式 D-H 建模法: D-H 建模方法是由 Denavit 和 Hartenberg (ASME, 1955) 提出的一种建模方法&…

谷歌浏览器新增3个重磅生成式AI!自动生成文本、壁纸等

1月24日&#xff0c;谷歌在官网宣布&#xff0c;在谷歌浏览器&#xff08;Chrome最新版本M121&#xff09;中新增自动生成文本、壁纸以及自动管理标签3个全新生成式AI功能&#xff0c; 这也是为数不多支持生成式AI的浏览器。需要注意的是&#xff0c;由于这三项功能处于预览测…

33、WEB攻防——通用漏洞文件上传中间件解析漏洞编辑器安全

文章目录 一、中间件文件解析——IIS&Apache&Nginx1、IIS2、Apache3、Nginx 二、web编辑器 一、中间件文件解析——IIS&Apache&Nginx 1、IIS IIS爆过漏洞的版本&#xff1a;IIS6.0&#xff08;windows server 2003&#xff09;、IIS7.0和IIS7.5&#xff08;w…