让我们来看一看C++ 一.对世界说你好

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

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

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

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

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

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

  首先,开头这个#是一定要有的,至于为什么,我只能说这是一种规范。然后是后面的include <iostream>,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位有效数字

  

时间: 2024-10-19 01:21:45

让我们来看一看C++ 一.对世界说你好的相关文章

让我们来看一看C++ 简短自序

如果有个人连写博文都要写序言的话,那么无疑这个人是十分奇怪的,恰好,我就是这么一个奇怪的人. 作为一个无人问津博客的博主,我一直致力于在自己学习的同时,也能帮助别人学习.如果博客园不是一个IT社区的话,我肯定会加上很多别的东西,可是它只是一个IT社区,所以,我只能写下一篇又一篇的IT博文. 必须承认,在众多博主中,我的水平算是比较低的,至今为止,我不过懵懵懂懂的在这个圈子里转了一年多,相比那些奋斗在各个岗位的业界精英,我真的算是一只完完全全的菜鸟.而且,我目前的目的是在OI竞赛中出线,自然写不出

让我们来看一看C++ 二.对象的定义、初始化和赋值

---恢复内容开始--- 距离写完第一篇已经过了好几个月,一直想写,不知道从哪里下笔. 第一篇被很多网站爬了去,其实我并不排斥被爬,因为这不是什么盈利性的文章,只是希望诸位能最后署上一个萧瑟风声或者Xstsow的名字. 回归正题,我在第一章中讲到了main是一个主函数,int是主函数的数据类型,在开始下面的内容之前,还是很有必要把数据类型重新或者说更详细地介绍一遍. 数据类型包括一个集合和一系列运算,不同的数据类型对应的集合也不尽相同,比如int对应的就是-2^(32-1) ~ 2^(32-1)

让我们来看一看C++ 三.表达式与运算符

所谓表达式,就是由数字.运算符号.约束变量等以能求得数值的有意义的排列方式形成的组合,我们平时说的算式,去掉得数和等号后就是一个表达式. 变量.数字什么的,看过第二章的读者应该都懂了,我这里要讲的是运算符号. 在我们日常生活中,运算符号不外乎+ - × ÷ 一类,在C++中,可以直接完成的运算有五种,分别是加法(+).减法(-).乘法(*).整除(/)和去余(%). 首先乘法并不是用×来表示的,这是因为,那个符号在我们使用的各式各样的键盘配位中,都是一个很难打出的符号,而*只需要左手左移,右手上

曝光AG视讯到底是如何套路玩家的,进来看一看

AG视讯技巧玩法,网止[7766855.c0M]ag套路是根据人的心里设置的陷阱,人心是贪婪的也是侥幸的,就算是抛硬币都是一样的50%的概率,这样一来只要一开始玩就买庄或者闲无限下去的情况下,是步会有人输,但是有个致命的硬伤就是个人的本金是有限的,不可能能跟庄家斗下去,所以说玩家主要是要考虑怎么在有限的本金下能红利就是赚的.看到其他的说ag有后台控制什么的,那是不可能发生的,除非你玩的是私网.不要一shu钱了就怀疑ag,有这时间还不如找找自己的问题,心态,规律看看自己是哪方面还不足.玩ag游戏选

荒废了很久的java以及微信公众平台今天拿起来看了看:这里有很好的教程

我的微信公众号刚刚起步: ,感兴趣可以关注一下. 关于java开发微信公众号有一个很好的教程博客:推荐一下:http://blog.csdn.net/lyq8479/article/details/8937622 希望有兴趣的道友可以和我多多交流,QQ1006367538. 另外,本人在做ionic+angular.js方面的移动端开发,有相同的或者有兴趣的也可以和我多多交流.

累了、倦了、撑不下去了,静下心来看一看

The Chance should be taked by the one who was ready! 希望百倍的获取,必须千倍的付出.

C#排列组合类,写彩票算法的朋友们可以来看一看

public class PermutationAndCombination<T>    {        /// <summary>        /// 交换两个变量        /// </summary>        /// <param name="a">变量1</param>        /// <param name="b">变量2</param>       

信管专业的同学都进来看一看叭~~~~~

由于毕业论文需要,我在做一份关于信管专业的调查问卷,请各位信管的同学动一动你们可爱的小手填一下吧~~~谢谢啦,绝对不会侵犯个人隐私的. ps.本人也是信管专业的学生哟! 链接:https://www.wjx.cn/jq/64238498.aspx 原文地址:https://www.cnblogs.com/khqhbu/p/12527184.html

隐马可夫模型:探索看不到的世界的数学工具

这篇要讨论的可不是哲学议题,而是希望以一个“数学工具”的角度来看隐马可夫模型(Hidden Markov Model, HMM)是什么,它的背后假设.长处与限制,以理解这样的工具可以拿来做什么用,而不是只与特定的应用绑在一起. 隐马可夫模型?隐藏的马可夫模型? 隐马可夫模型是机器学习(Machine Learning)领域中常常用到的理论模型,从语音识别(Speech Recognition).手势辨识(gesture recognition),到生物信息学(Bioinformatics)里的种