你好世界!

2024-08-22 10:32
文章标签 你好 世界

本文主要是介绍你好世界!,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

你好,世界!

你好世界!

关于C++就不用介绍了。。。。

\qquad 如果你对一个程序员说“Hello!”的话,他很有可能会回一句“World!”。这是因为对于无数的程序员来说,他们接触的第一个程序,甚至是每一种语言的第一个程序,都是输出“Hello World!”。无论多么自命清高的程序猿,都会对这句话留下深深的印象。所以,我便不免跟随着大部队,来给大家介绍一下如何用C++来输出一个“Hello World!”。

首先,我们先来看一段代码。

[复制代码](javascript:void(0)😉

1 #include <iostream>
2 using namespace std;
3 
4 int main()  
5 {
6     cout << "Hello World!\n"; //分号是一个很重要的东西,他的用法,在你看过大量程序后,自己就会明白
7     return 0;
8 }  

[复制代码](javascript:void(0)😉

如果你之前接触过编程的话,那么看完这段代码,你可能就明白了C++一些基本的东西,但是如果你是一个纯粹的新手,你可能就会很迷茫了,这到底是个什么东西。

无论如何,不要着急,让我给你从第一行开始慢慢来讲。

我们先把第一句翻译成汉语:#包括 <输入输出流>。

首先,开头这个#是一定要有的,至于为什么,我只能说这是一种规范。然后是后面的include ,iostream就是一个库,就像是一个仓库一样,他里面放有各种各样的东西,而iostream这个库里面,放置的就是向程序内输入,和向程序外输出的办法,当我们需要输入或者输出的时候,就要到仓库里看一下,有没有输入输出的方式。如果我们事先没有声明要用到这个库的话,那么当我们后面要输入输出的时候,程序就不知道怎么该怎么输入输出了。而include就是用来说明,程序内包括这个库,也就是要使用这个库了。

然后是第二行 using namespace std;在《Essential C++》上,作者并没有找到一个很好的解释方法。为了防止这一段教程变成学院派的东西,我决定自己编造一个解释方法,如果有大神看到这坑爹的解释,但求不要打脸。

首先,using就是用,你看到代码里,他是蓝色的,而大多东西都是黑色的(不同环境下,颜色可能会有变化)。为什么他是蓝色的那?因为他是C++官方留下的预留字,他本身就具备着一定的含义,在这里,他的目的就是告诉我们,我们要使用namespace std。

而namespace std则是指的一块区域,namespace就是城区,std就是城区的名字,就像我们说海淀区、历城区,但是在C++里,我们要称之为区海淀、区历城。每个城区里都有一堆的仓库,不同的城区仓库不同,iostream这个仓库就在std这个城区里面。所以在说明要使用哪一个库之后,我们还要说明他在哪一个城区内,这样程序才能找到这个仓库。std区,内放着很多的仓库,里面放着一些很常用的东西,因此我们称其内的库为标准库。而namespace的正确叫法,叫做命名空间。

为什么要把这些库分开放置呢,因为这样可以避免应用程序内两个不同的东西有同一个名字,就像是在班级里点名,一个班里有两个小明,那么就没办法直接区分了,我们只好对两个小明进行解析,所以我们把其中一个小明扔到另一个班级里,就不会发生这样的冲突了。命名空间就好像是众多名称之间竖起的一道道围墙。

当然,还存在一些其他的点出命名空间的办法,但是,这个是最简单的。

接下来,我们来讲第四行,我们先来看main,这个main是主函数的意思,C++把程序分成了一个个的函数,main就是最重要的函数,一个程序需要做什么,应该怎么做,都写在这个函数之中。而他前面的int是指该函数的数据类型。他既然是一个函数就肯定有函数值,C++里的函数值可以是一个数字也可以是一个字符,int是一种数字格式,他的数据范围是-2^(32-1) ~ 2^(32-1) -1。后面的括号现在我们用不到,你只需要记住需要加这个东西就好了,接下来的课程中,我会对它进行讲解。

我们得谈一谈为什么会出现数据范围这种东西。我们在现实生活中,写一个数字需要在纸上占据一定的空间,在计算机中储存也需要占据一定的空间。但是,我们在纸上可以调节数字占用空间的大小,但是在电脑里,占用多少空间就不是那么好调整的了。所以我们便创造了好多的数据类型,每种类型占用的空间是一定的,所以他能表示的数字范围也是一定的。

第五行和第八行的{}目的在于把程序内容框起来,告诉程序,你到哪里就不用再走了。

第六行开始的Cout就是输出了,他后面加上<<表示输出内容“”里面框着的东西,就是要输出的东西。但是我们只会用“”框起来一串东西,如果你只想框一个东西的话,那就要用到‘’了。后面//里的东西是注释,程序会把他无视掉,他存在的目的只是为了让我们自己能看懂。

输出这个东西是要有必要细讲一下的。

cout <<"3 + 4 = ";

cout << 3 + 4;

cout << ‘\n’;

这样他会输出3 + 4 = 7然后换行。你发现,第二个输出没有两个引号,这是为什么那?试着看我这样讲会不会吓到你,引号内的东西,程序一般不会在意,将其直接输出。而不加括号,程序就会看一下他是不是变量或者表达式,然后输出变量和表达式对应的值。那么问题又来了,什么是变量(表达式)?变量就是一个值可以变化的量就像y=x里的y和x,我们输出的就是x或者y对应的值。而表达式就是一个式子了,C++里的表达式内涵很丰富。这个以后用到再讲。最后一个’\n’的意思是换行。输出中在\后面的东西一般都会有它特殊的意思,这就是不一般的情况了,\n的意思就是换行。之所以要这么做,是因为有些东西没办法直接输出,比如换行符(‘n’)制表符(‘t’),还有引号、\,这样的会被程序误解的符号。通过前面加\,就可以完成输出了。

输入的写法则是cin >> 。比如cin >> x 就是读入x的值。如果我们需要读入x的话,那么我们要先说明程序中要用到x这一个变量,如果x是一个数字,那么我们就要在他前面加上 int x。int x的意思和int main 差不多,但是这里的x是一个变量而非函数的名称。当然你还可以尝试一些其他的数据类型。

最后我们只剩下一个return 0了,我前面说过函数肯定要有函数值,return 0的作用在于,返回0为函数的值,因为我们并不需要用到main的值,所以你返回几都可以,但是我们还是会习惯性的选取0作为返回值。如果程序返回的不是0,那么就说明程序没有执行成功。一般,当你漏掉这句话后,他会自动被IDE加上。

附录:C++基本数据类型

类型+含义+最小存储空间(按2进制储存)如下:

bool 布尔型

char 字符型 8位

wchar_t 宽字符型 16位

short 短整型 16位

unsigned short 无符号短整型 16位(无符号类型无法表示负数,但是正数的表示范围会大一倍)

long 长整形 32位

unsigned long 无符号长整型 32位

long long 双长型 64位

unsigned long long 无符号双长型 64为

float 单精度浮点型 6为有效数字(浮点数可理解做小数)

double 双精度浮点型 10位有效数字

long double 扩展精度浮点型 10位有效数字

这篇关于你好世界!的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1096020

相关文章

揭秘世界上那些同时横跨两大洲的国家

我们在《世界人口过亿的一级行政区分布》盘点全球是那些人口过亿的一级行政区。 现在我们介绍五个横跨两州的国家,并整理七大洲和这些国家的KML矢量数据分析分享给大家,如果你需要这些数据,请在文末查看领取方式。 世界上横跨两大洲的国家 地球被分为七个大洲分别是亚洲、欧洲、北美洲、南美洲、非洲、大洋洲和南极洲。 七大洲示意图 其中,南极洲是无人居住的大陆,而其他六个大洲则孕育了众多国家和

简单的Q-learning|小明的一维世界(3)

简单的Q-learning|小明的一维世界(1) 简单的Q-learning|小明的一维世界(2) 一维的加速度世界 这个世界,小明只能控制自己的加速度,并且只能对加速度进行如下三种操作:增加1、减少1、或者不变。所以行动空间为: { u 1 = − 1 , u 2 = 0 , u 3 = 1 } \{u_1=-1, u_2=0, u_3=1\} {u1​=−1,u2​=0,u3​=1}

简单的Q-learning|小明的一维世界(2)

上篇介绍了小明的一维世界模型 、Q-learning的状态空间、行动空间、奖励函数、Q-table、Q table更新公式、以及从Q值导出策略的公式等。最后给出最简单的一维位置世界的Q-learning例子,从给出其状态空间、行动空间、以及稠密与稀疏两种奖励函数的设置方式。下面将继续深入,GO! 一维的速度世界 这个世界,小明只能控制自己的速度,并且只能对速度进行如下三种操作:增加1、减

【Linux】萌新看过来!一篇文章带你走进Linux世界

🚀个人主页:奋斗的小羊 🚀所属专栏:Linux 很荣幸您能阅读我的文章,诚请评论指点,欢迎欢迎 ~ 目录 前言💥1、初识Linux💥1.1 什么是操作系统?💥1.2 各种操作系统对比💥1.3 现代Linux应用💥1.4 Linux常用版本 💥2、Linux 和 Windows 目录结构对比💥2.1 文件系统组织方式💥2.2

Elasticsearch:无状态世界中的数据安全

作者:来自 Elastic Henning Andersen 在最近的博客文章中,我们宣布了支持 Elastic Cloud Serverless 产品的无状态架构。通过将持久性保证和复制卸载到对象存储(例如 Amazon S3),我们获得了许多优势和简化。 从历史上看,Elasticsearch 依靠本地磁盘持久性来确保数据安全并处理陈旧或孤立的节点。在本博客中,我们将讨论无状态的数据持

【AI大模型应用开发】2.1 Function Calling连接外部世界 - 入门与实战(1)

Function Calling是大模型连接外部世界的通道,目前出现的插件(Plugins )、OpenAI的Actions、各个大模型平台中出现的tools工具集,其实都是Function Calling的范畴。时下大火的OpenAI的GPTs,原理就是使用了Function Calling,例如联网检索、code interpreter。 本文带大家了解下Function calling,看

005:VTK世界坐标系中的相机和物体

VTK医学图像处理---世界坐标系中的相机和物体 左侧是成像结果                                                    右侧是世界坐标系中的相机与被观察物体 目录 VTK医学图像处理---世界坐标系中的相机和物体 简介 1 在三维空间中添加坐标系 2 世界坐标系中的相机 3 世界坐标系中vtkImageData的参数 总结:

深入RabbitMQ世界:探索3种队列、4种交换机、7大工作模式及常见概念

文章目录 文章导图RabbitMQ架构及相关概念四大核心概念名词解读 七大工作模式及四大交换机类型0、前置了解-默认交换机DirectExchange1、简单模式(Simple Queue)-默认DirectExchange2、 工作队列模式(Work Queues)-默认DirectExchange3、发布/订阅模式(Publish/Subscribe)-FanoutExchange4、路

攻防世界 unseping

unseping 攻防世界web新手练习 -unseping_攻防世界web新手题unseping-CSDN博客 这道题对我来说还是有点难,什么oct绕过命令执行第一次遇到捏,所以基本是跟着别人的wp写的,一点点记录吧 先对源码进行分析 <?phphighlight_file(__FILE__);//定义了一个ease类class ease{private $method;privat

世界公认十大护眼灯数据出炉!一文看懂孩子用的台灯哪个牌子好

近年来,随着科技的迅猛发展,诸如智能手机、电脑等电子设备在工作、学习及娱乐中的应用日益广泛,人们对这些设备的依赖程度也随之加深。然而,长时间面对屏幕不可避免地给眼睛带来伤害,如眼疲劳、干燥甚至近视等问题。因此,市场对能够缓解眼疲劳的照明产品的需求日益增长。这类护眼照明产品通常采用无频闪、无紫外线辐射等技术,旨在减少对眼睛的潜在危害,有效保护视力健康,并降低眼疾的发生率。随着护眼台灯的不断创新进步,