c++自学教程第一课——你好世界,我是柠檬鲸。(代码片段)

liuary liuary     2022-12-11     578

关键词:

 大家好啊,一年一度的柠檬节——额,好像不止一度的柠檬节,它又到了!在这个悲伤的日子,我决定开启一个C++的教程,主要是为了复习自己的C++知识,另外顺便给新手们一个了解C++的方向。


 本教程主要面向C++初学者,如果你先前学过C语言或者Java,学起来将会比较轻松一点。


 C++是C语言的继承,它既可以进行C语言的过程化程序设计,又可以进行以抽象数据类型为特点的基于对象的程序设计,还可以进行以继承和多态为特点的面向对象的程序设计。

在我真正接触编程之前,我向往的一直是Java,因为当时喜欢玩Minecraft,而Minecraft的mod开发需要用到Java,然而在我认识了C++以后,我再也不想碰Java了。

C++的好处和坏处此处也不科普,自行百度。

废话少说,正片开始。


 一、创建一个C++项目

  虽然我不是很喜欢MS的VS,但不得不说这玩意确实很好用。另外Visual Studio的颜值确实高,虽然我更喜欢Vs code,但是VS code用GNU GCC编译的C++程序中文乱码太烦了,所以还是直接用了VS2019进行C++的开发。

  第一步,打开Visual Studio,单击创建新项目。

    技术图片

  第二步,选择空项目并点击下一步。

    技术图片

  第三步,为项目起个名字、设定位置并且点击下一步。

    技术图片

  这样我们就生成了一个空项目。

  第四步,在解决方案资源管理器中的 项目名>>源文件 文件夹上右键 添加>>新建项 。

    技术图片

  第五步,在 添加新项窗口中左侧点击Visual C++,选择中央的 C++文件,起个名字然后点击添加。

    技术图片

二、HelloWorld!我是一只柠檬鲸

  第一步,在代码区输入以下内容:

    

1 #include <iostream> // 包含标准输入输出流的库
2 
3 int main(int argc, char* argv[]) // 标准MAIN函数开场
4 
5     std::cout << "HelloWorld!" << std::endl; // 单个字符串输出并换行
6     std::cout << "我是一只"; // 单个字符串输出并不换行
7     std::cout << "柠檬" << "" << std::endl; // 多个字符串输出并换行
8     return 0;
9 

   第二步,选择Debug X86 ,并且点击本地Windows调试器。

    技术图片

  第三步,控制台窗口弹出,显示输出结果。

    技术图片

  PS:如果出现编译问题,先检查代码是否正确,然后仔细对照我前面的操作,看看是否有出入。

三、代码分析

  第一行:

 1 #include <iostream> 

    include是一个计算机专业术语,一指C/C++中包含头文件命令,用于将指定头文件嵌入源文件中。效果等同于将后面括号内包含的文件的全部内容在#include的位置全部写一遍。

    iostream的意思是输入输出流,直接点说就是in(输入) out(输出) stream(流),取in、out的首字母与stream合成。这个库的作用就是让你能够在控制台进行输入输出。

  第二行:

 1 // 这是一个空行 

    第二行打个空行纯属个人爱好,因为我觉得这样看起来更好看一些。

  第三行:

 1 int main(int argc, char* argv[]) 

    首先我们要知道这个是一个函数,形式上类似数学中的函数,如:f(x) = x + 1,f(1) = 2;

    int 表示返回类型是整型,整型表示某变量或常量里面的值只能是整数而不能是小数或者文本等。意思就是后面这一串代码最终会变成一个数字。就像是上面提到的数学函数,f(1)其实最终是一个2。

    main 是这个函数的名字。main是C/C++程序的入口,程序从main处开始运行。函数名的意义就类似数学中,f(x),g(x)等,函数名不同,一般其函数(表达式)也不同。

    (int argc, char* argv[]) 是函数的参数列表,就类似于 f(x) 中的 x ,就是向函数传递的值。在C++原生代码中,int argc, char* argv[] 不是必须的,也就是说你可以只写一个 int main(),但是建议加上,因为学习某些库多半要用到。

  第四、九行:

 1 2 // 函数体 3  

    我们可以看到main函数后面的内容都被一对花括号包裹,这对花括号包含的内容就是函数体,就像是之前的数学函数的例子, f(x) = x + 1, 其中 x + 1 就是函数体。

  第五行:

  1 std::cout << "HelloWorld!" << std::endl; 

    std 在C++语言中,std其实就是standard标准的意思。std是C++预置的一个命名空间,其中包含了许多必要的函数,比如cout、cin、string,你可以在你的代码之前加上

     1 using namespace std; 

    这样就可以直接使用cout、cin等函数,而不需要std::cout、std::cin。

    命名空间,也就是namespace的作用是划定一块区域,用来定义变量等等,然后这些变量只在这片区域有效,离开这片区域必须使用预作用符,比如std::cout,这样就有效避免因为变量名相同导致代码冲突的问题,因此并不建议使用using namesapce,因为可能导致重复定义。

    std::cout 的作用是在控制台打印输出后面所有被<<限定的内容,直到本行结束。std::cout本身不换行,因此存在std::endl用来换行,而std::ends可以打出空格。

    分号的作用是一行代码的结束。

    后面两行的意思相差不大,因此不再赘述。

  第八行:

 1 return 0; 

    这一行的意义是函数最终返回了一个值,就像之前的f(1)最终等于2,这里返回一个0,意思是当函数结束,就返回一个0。犹豫在这个例子中,和main函数对接的是控制台,因此返回的0会在控制台出现。

      技术图片

    如果你return设置为1,那么返回的就是1,只要你设定的返回值符合返回类型,都可以返回对应类型的值。

    return是十分重要的功能,不可忽视,因为后面运用到函数,都需要返回值来进行相应操作。


 

C++的第一课就这样吧,希望大家能够学到一些知识,如有错误,大佬请指正,谢谢。

java自学第一课:安装jdk,写第一条java程序

一、安装jdk650)this.width=650;"src="https://s5.51cto.com/wyfs02/M02/A4/7F/wKioL1mszr6wK0cvAACm1WyznFM934.png"style="float:none;"title="1.png"alt="wKioL1mszr6wK0cvAACm1WyznFM934.png"/>650)this.width=650;"s 查看详情

“你好世界!”在 C++ 中冻结

】“你好世界!”在C++中冻结【英文标题】:"Helloworld!"freezeinc++【发布时间】:2015-11-1214:03:32【问题描述】:我尝试在C++中编译一个简单的HelloWorld,以测试我在Windows10上的VisualStudio2013是否运行良好,但我遇到了问题。我... 查看详情

bashshell第一课

    自学shell,又被老师说教,上英语课不好好学习英语四级怎么过,哈哈,那也没有数据对我的吸引力大啊,为了爱与梦想!!!     回忆一下文件格式: 文件名的扩展名为.sh              ... 查看详情

markdown自学一

Markdown第一课斜体粗体粗斜体下划线*无序列表1*无序列表21.有序列表12.有序列表21.列表1*子表1*子表22.列表2*子表1*子表21.列表1>区块1>区块22.列表2>区块1>区块2‘‘‘Pythonprint("hello")‘‘‘菜鸟教程姓名年龄小明26 查看详情

sublimetext3插件编写教程_第一课

...语言的基础语法。学习Python语言,推荐学习廖雪峰的Python教程(http://www.liaoxuefeng.com/)。编写插件处理文本用到正则表达式的地方非常多,尽量了解正则表达式语法。 查看详情

学习java第一课---第一个java程序

题目:打印出HelloWorld!第一步:新建一个文本文档,并命名为HelloWorld.java第二歩:编写源程序第三步:编译源程序,并得到class文件第四步:运行程序  利用工作之便,自学java有一个月了,现在来复习一下。  查看详情

第一课

Python是什么类型的语言?Python是脚本语言脚本语言(Scriptinglanguage)是电脑编程语言,因此也能让开发者藉以编写出让电脑听命行事的程序。以简单的方式快速完成某些复杂的事情通常是创造脚本语言的重要原则,基于这项原则,... 查看详情

腾讯课堂第一课

  使用 vm.title获取值vm.title="我是其他值"  页面也会跟着变化  (可以在console里面敲页面也会变,vue的响应式)vm.$data.title这个写法也可以   第二个demo  查看详情

2016.12.6第一课汇编概述进制

汇编概述机器语言:机器使用的语言,0和1组成。汇编语言:为了便于记忆机器语言,机器语言的助记符,通过编译器翻译成机器能认识的机器语言。高级语言:为了更好的记忆和辨认,编译器将其编译成机器语言。c和c++的关系... 查看详情

收藏第一课第二周作业-学会计算分类各种指标-超详细教程(代码片段)

本次作业文件:在第一课/第一课大作业/week2metric这节课不需要对模型进行预测,所有的预测结果已经在csv文件中给出。作为提醒,我们的数据集包含14种不同情况的X射线,可通过X射线诊断。我们将使用我们在这... 查看详情

java第一课

Java最早是sun公司于1991年基于c++开发的原始目的用于嵌入式开发。创始人JamesGosling。Java分为三个版本JavaSE(平台标准版),JavaEE(平台企业版),JavaME(平台移动版)。Java是面向对象解释性编程语言。具有简单、多线程、跨平台、支持... 查看详情

第一课第三周大作业--mri脑肿瘤自动分割教程(代码片段)

文章目录2.1MRIdata2.2探索数据分别按横断位、冠状位、矢状位显示图像,并且把标签显示在图像上我们还编写了一个实用函数,该函数生成一个GIF,显示在每个轴上迭代的效果2.4使用patch进行数据预处理标准化3DU-Net4.1... 查看详情

html第一课

<标签名属性>内容</标签名><标签/>静态网页与动态网页的区别:是否从数据库提取数据相对路径跟绝对路径../代表高一级的&nbsp牛逼的空格<fontface="微软雅黑"color="#000000"size="7">变换字体</font><strong>加... 查看详情

berkleycs162操作系统第一课文字版-课程介绍

熟肉视频地址:CS162操作系统课程第一课-课程介绍(上)CS162操作系统课程第一课-课程介绍(下)第一节课主要是关于课程介绍以及操作系统是什么、为什么这么重要的简介。现代最伟大的发明之一是互联网,它把全世界不同规模的... 查看详情

第一课第一周大作业-胸部14种疾病分类-代码详解(代码片段)

深度学习胸部X射线诊断本次作业文件:在第一课/第一课大作业/week1classification欢迎来到课程1的第一个作业!在这个任务中!您将通过使用Keras构建最先进的胸部X射线分类器来探索医学图像诊断。你将学会一下内容... 查看详情

萌新接触前端的第一课——html

HTMLweb服务本质(好吧这个先不用知道也可以)importsocketdefmain():sock=socket.socket(socket.AF_INET,socket.SOCK_STREAM)sock.bind((‘localhost‘,8081))sock.listen(5)whileTrue:print("serverisworking.....")conn,address=sock. 查看详情

tinyshop模板开发教程

第一课tiny框架的处理流程与目录结构【录播】第一课tiny框架的处理流程与目录结构(27分钟)02第二课tiny框架的程序入口与url模式【录播】第二课tiny框架的程序入口与url模式(15分钟)03第三课tiny框架的配置文件与配置参数讲解【录... 查看详情

第一课mongodb概述与安装

1.课程大纲本次课主要介绍MongoDB背景知识和MongoDB的安装与配置,让大家对MongoDB有一个初认识。其基本的知识点包含:NoSQL数据库概述MongoDB数据库简单介绍Linux下安装MongoDB数据库Mac和Windows下安装MongoDB数据库2.课程简单介绍MongoDB... 查看详情