回顾

在上一节中,我们编写了如下代码,完成了 HelloWorld程序的编写:

#include<iostream>
using namespace std;int main(){cout <<"Hello World";return 0;
}

本小节将会对该代码进行讲解,并且解释一下专业名词。

释义

#include<iostream>
以上代码中,#include 表示引入一个头文件,头文件是一个“工具库”。当我们在编写代码时,往往会使用到一些功能,这些功能在某些头文件(工具库)中,这时通过#include这一串代码,就可以将指定的头文件(工具库)引入到当前编写的代码之中。
在 HelloWorld 程序中,需要完成的功能为在程序运行时,显示 HelloWorld、显示HelloWorld 需要使用的工具在 iostream 这个头文件中。因为#include的语法(指使用方法)为 #include<头文件名>,所以只需要将iostream 填写在尖括号中即可,写为 #include<iostream>

int main(){}
以上代码中 int main() 表示一个程序的入口,我们主要看main,int之后会详细说明。main函数整个程序只能存在一个,表示你这个程序的一个入口。计算机在执行你程序时,需要知道你程序时从哪开始的,这个main就表示你当前编写的程序要从哪里开始。main后面紧跟着一对圆括号()之后再一对花括号{},花括号内编写代码。

cout <<"Hello World";
以上代码是main入口括号中的第一句,cout表示输出,换句话说cout是显示的意思,之后两个 << 符号,紧接着是双引号加一串字符串"Hello World"。在C++中,a、b、c、d、?、【等单个字母或符号成为字符,组合在一起成为字符串,并且需要使用双引号引起来。在这里cout是显示字符串,语法为cout <<“你要显示的字符串”,如果想显示 Hello World 就写为 cout <<"Hello World";

return 0;
此代码之后将会讲解。

using namespace std;
为了防止在不同的头文件中有相同的“工具”名称,使用 命名空间 来区分这些工具是哪个区域的。例如一个学校里面有3个人叫小明,分别是六年级一班有一个小明,六年级二班有一个小明,五年级一班也有一个小明。这些小明在操场上,校长点名,叫到小明时需要添加年级班别,不然三个小明都不知道叫谁,其中这个年就班别名就像命名空间,用这个区分是不同区域的同名角色。
以上 using namespace std;表示使用命名空间 std,语法为 using namespace 命名空间名。(之后命名空间将会详细讲解)这样引入了这个命名空间则不需要使用如 std::cout 的方式使用这个个cout“工具”(我们把std当作一个区域名,cout表示这个工具)。我们可以删除 引入命名空间代码,然后使用 std::cout 方式输出:

 #include<iostream>int main(){std::cout <<"Hello World";return 0;
}

以上代码删除了std的话会报错,因为不知道你是要使用哪一个工具箱的cout输出工具:

如果想省略std::的话,在头文件下引入一个命名空间即可:

#include<iostream>
using namespace std;int main(){cout <<"Hello World";return 0;
}

以上的代码结构为最上部为引入头文件,接着引入一个命名空间,下面是一个main入口,在入口的花括号中编写你想要实现的代码。这个结构并不是一个完整表示的结构,在接下来的学习中将会逐步了解这个过程。

简单的来说,在编写代码时,一般皆是使用系统提供的一些“指令”,这些“指令”成为关键字,例如 cout、main、namespace等,这些关键字都有特定的作用。这些关键字的固定使用“格式”,我们称之为语法。通过制定的语法进行代码编写,最终组成了程序,完成了我们的需求。

例如以上代码,我想把 Hello World 更改为 Hello Xiaoming,只需要更换显示内容即可。代码如下:

#include<iostream>
using namespace std;int main(){cout <<"Hello Xiaoming";return 0;
}

最终是显示出我替换的内容:

编程提示

在C++的代码编写中,大多数语句的结尾需要使用分号表示结束。例如cout <<"Hello Xiaoming";以及 return 0;,这个是需要注意的。而且在编程中使用的特殊作用的标点符号必须是英文,很多初学者在这一步上会出现错误,迟迟得不到解决,这就是其中一个原因。并且在编写代码时,需要注意,程序要同一种风格形式进行对齐,这样会使程序清晰、可读性强,方便自己的排错和解读等。

知识点须知

本篇学习完后须了解以下知识点:
1.什么是头文件及头文件使用方式
2.命名空间及使用命名空间内的“工具”
3.什么是main?程序入口指什么
4.如何显示数据
5.大多数语句结束后使用什么表示结束
6.入口程序写在什么括号内

C++入门指南及实战 第二步 HelloWorld及扩展详解相关推荐

  1. Spring MVC 入门指南(二):@RequestMapping用法详解

    为什么80%的码农都做不了架构师?>>>    一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指 ...

  2. requestmapping配置页面后_Spring MVC 入门指南(二):@RequestMapping用法详解

    一.@RequestMapping 简介 在Spring MVC 中使用 @RequestMapping 来映射请求,也就是通过它来指定控制器可以处理哪些URL请求,相当于Servlet中在web.x ...

  3. 代理后台中间件_Golang Gin 实战(十三)| 中间件详解看这一篇就够了

    6000字大章带你死磕Golang Gin中间件 在Gin的整个实现中,中间件可谓是Gin的精髓.一个个中间件组成一条中间件链,对HTTP Request请求进行拦截处理,实现了代码的解耦和分离,并且 ...

  4. python避坑_Django搭建项目实战与避坑细节详解

    Django 开发项目是很快的,有多快?看完本篇文章,你就知道了. 安装 Django 前提条件:已安装 Python. Django 使用 pip 命令直接就可以安装: pip install dj ...

  5. 【前端就业课 第一阶段】HTML5 零基础到实战(六)表格详解

    注意:手机(APP)打开,内容显示更佳,不会的私聊博主即可 想要拿代码或加入学习计划(** 博主会监督你并且教你写文章 **)的拉到最下面(PC端Web打开)加博主即可,目录也在最下面. 参加博主前端 ...

  6. shell编程系列23--shell操作数据库实战之mysql命令参数详解

    shell编程系列23--shell操作数据库实战之mysql命令参数详解mysql命令参数详解-u 用户名-p 用户密码-h 服务器ip地址-D 连接的数据库-N 不输出列信息-B 使用tab键代替 ...

  7. html页面的盒子边框怎么做的,HTML+CSS入门 用三层盒子结构实现多边框详解

    本篇教程介绍了HTML+CSS入门 用三层盒子结构实现多边框详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 如果想给每个盒子加上美观的border,实现如下效果 如果 ...

  8. STM32开发实战:W25Q32JV SPI Flash详解

    STM32开发实战:W25Q32JV SPI Flash详解 在STM32单片机的应用中,使用SPI Flash能够有效地扩展程序和数据存储空间.W25Q32JV SPI Flash是一种常用的Fla ...

  9. 【入门】广电行业DNS、DHCP解决方案详解(三)——DNS部署架构及案例

    [入门]广电行业DNS.DHCP解决方案详解(三)--DNS部署架构及案例 DNS系统部署架构 宽带业务DNS架构 互动业务DNS架构 案例介绍 案例一 案例二 本篇我们将先介绍DNS系统部署架构体系 ...

最新文章

  1. linux严谨的telnet搭建并用防火墙开通与禁行
  2. 计算机信息技术应用的困惑,信息技术教育的困惑
  3. 个人计算机的安全设置,个人计算机安全设置..doc
  4. apache poi 修改docx表格_word 模板内容的替换和生成word 表格(使用poi)
  5. Docker中RocketMQ的安装与使用
  6. OpenStack精华问答 | OpenStack的网络类型有哪些?
  7. golang的new函数_new()和make()函数以及Golang中的示例
  8. MySQL高级 —— 查询性能优化
  9. java喷泉编码_Java干货分享使用JS实现简单喷泉效果
  10. Jar mismatch! Fix your dependencies的问题(转)
  11. jQuery源码解析之offset()
  12. Java cmd常用命令_java cmd常用命令
  13. 什么是代码评审(Code Review)
  14. 500G JAVA视频网盘分享 (JEECG开源社区)
  15. linux 终端使用aplay播放wav
  16. python Flask快速入门
  17. 320、Vue学习笔记26 -【生产环境部署】 2020.04.20
  18. Java注入bean的方式_多种方式实现Spring的Bean注入
  19. 艾韵智能红外盒子刷写飞阳物联平台红外固件
  20. 桥牌坐庄训练bm2000 level3闯关记录——A6

热门文章

  1. [Abp vNext 源码分析] - 18. 单元测试
  2. 使用 Tye 辅助开发 k8s 应用竟如此简单(一)
  3. C# 9 新特性 —— 增强的 foreach
  4. 在 WSL Ubuntu 上使用 .NET 进行跨平台开发新手入门
  5. TypeScript+vue使用与迁移经验总结
  6. 在C#中使用RESTful API的几种好方法
  7. 使用GUI工具Portainer.io管控Docker容器
  8. 面对万物互联的智能世界,你是否也想分一杯羹
  9. Bumblebee微服务网关之并发限制
  10. .NET Core 迁移躺坑记续集--Win下莫名其妙的超时