[C++教程②]--基本语法(一.输出语句)_c++输出语句_离殇ya的博客-程序员秘密

技术标签: c++  c++教程系列  后端  开发语言  

C++ 程序可以定义为对象的集合,这些对象通过调用彼此的方法进行交互。现在让我们简要地看一下什么是类、对象,方法、即时变量。

  • 对象 - 对象具有状态和行为。例如:一只狗的状态 - 颜色、名称、品种,行为 - 摇动、叫唤、吃。对象是类的实例。
  • 类 - 类可以定义为描述对象行为/状态的模板/蓝图。
  • 方法 - 从基本上说,一个方法表示一种行为。一个类可以包含多个方法。可以在方法中写入逻辑、操作数据以及执行所有的动作。
  • 即时变量 - 每个对象都有其独特的即时变量。对象的状态是由这些即时变量的值创建的。

今天,我们就来学习最简单的输出语句。

#include <iostream>
using namespace std;
 
// main() 是程序开始执行的地方
 
int main()
{
   cout << "Hello World"; // 输出 Hello World
   return 0;
}

这就是输出(hello,word)的代码。

来分类下:

第一部分:

#include <iostream>

因为

  • C++ 语言定义了一些头文件,这些头文件包含了程序中必需的或有用的信息。上面这段程序中,包含了头文件 <iostream>

这就是c++程序的“头”

第二部分:

using namespace std;

 告诉编译器使用 std 命名空间。命名空间是 C++ 中一个相对新的概念。

范围

所谓namespace,是指标识符的各种可见范围。C++标准程序库中的所有标识符都被定义于一个名为std的namespace中。

一 :<iostream>和<iostream.h>格式不一样,前者没有后缀,实际上,在你的编译器include文件夹里面可以看到,二者是两个文件,打开文件就会发现,里面的代码是不一样的。后缀为.h的头文件c++标准已经明确提出不支持了,早些的实现将标准库功能定义在全局空间里,声明在带.h后缀的头文件里,c++标准为了和C区别开,也为了正确使用命名空间,规定头文件不使用后缀.h。 因此,当使用<iostream.h>时,相当于在c中调用库函数,使用的是全局命名空间,也就是早期的c++实现;当使用<iostream>的时候,该头文件没有定义全局命名空间,必须使用namespace std;这样才能正确使用cout。

二: 由于namespace的概念,使用C++标准程序库的任何标识符时,可以有三种选择:

1、直接指定标识符。例如std::ostream而不是ostream。完整语句如下: std::cout << std::hex << 3.4 << std::endl;

2、使用using关键字。 using std::cout; using std::endl; using std::cin; 以上程序可以写成 cout << std::hex << 3.4 << endl;

3、最方便的就是使用using namespace std; 例如: using namespace std;这样命名空间std内定义的所有标识符都有效(曝光)。就好像它们被声明为全局变量一样。那么以上语句可以如下写: cout <<hex << 3.4 << endl;因为标准库非常的庞大,所以程序员在选择的类的名称或函数名时就很有可能和标准库中的某个名字相同。所以为了避免这种情况所造成的名字冲突,就把标准库中的一切都被放在名字空间std中。但这又会带来了一个新问题。无数原有的C++代码都依赖于使用了多年的伪标准库中的功能,他们都是在全局空间下的。所以就有了<iostream.h>和<iostream>等等这样的头文件,一个是为了兼容以前的C++代码,一个是为了支持新的标准。命名空间std封装的是标准程序库的名称,标准程序库为了和以前的头文件区别,一般不加".h"

 第三部分:

// main()

 这个呢,就是程序开始执行的地方 是一个单行注释。单行注释以 // 开头,在行末结束。

第四部分:

int main()
{
   cout << "Hello World"; // 输出 Hello World
   return 0;
}
  •  int main() 是主函数,程序从这里开始执行。
  • 下一行 cout << "Hello World"; 会在屏幕上显示消息 "Hello World"。
  • 下一行 return 0; 终止 main( )函数,并向调用进程返回值 0。

今天,我们通过了解输出*****学习了输出语句。

【尾声】:字字不易,请三连

部分来源:菜鸟教程

未经允许,不得转载

作者:离殇ya

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_56613538/article/details/122838176

智能推荐

ABAP dump 发邮件_Bruce_yin的博客-程序员秘密

Setup automatic email trigger for ABAP Short Dumps in the system发贴人 Apeksha Maniar 在 SAP Business Warehouse 打开 2015-8-28 2:33:19inShare3Tweet1. Business Scenario

图像处理pcb图像的直线提取-直线检测-Hough_Line_图像提取直线 角度分辨_王崇卫的博客-程序员秘密

我的图像处理的一个作业。1.任务PCB图的直线提取2.使用平台Windows10专业版VS2015企业版C++ opencv3.23.图像处理的思路第一部分:图像的前期处理。二值化、滤波、形态学操作等等第二部分:直线检测与标记Hough变换直线检测图像预处理的三种尝试第一种:灰度二值化后,不做其他处理第二种:灰度二值化后,经过形态学操作去掉不感兴趣大块区域(焊盘)...

Helm部署rancher 高可用集群_helm安装rancher_NingKangMing的博客-程序员秘密

Helm部署rancher 高可用集群,使用自签SSL证书方式和使用官方cert-manager两种高可用搭建方式

android获取指定位置经纬度,Android - 如何获取当前位置(经度和纬度)?_Daydayydayyy的博客-程序员秘密

我使用以下代码来获取当前位置即(纬度和经度),但我没有获得当前位置(纬度和经度).谁知道为什么?package com.ram.currentlocation;import android.app.Activity;import android.content.Context;import android.location.Location;import android.location.Loca...

FZU 2147_shcoc的博客-程序员秘密

题目Fat brother and Maze are playing a kind of special (hentai) game by two integers A and B. First Fat brother write an integer A on a white paper and then Maze start to change this integer. Every time

ES-基础-集群中的原理_es横向扩容和纵向扩容_纸笔写余生的博客-程序员秘密

ES-基础-集群中的原理二、集群内的原理ElasticSearch 的主旨是随时可用和按需扩容。 而扩容可以通过购买性能更强大( 垂直扩容 ,或 纵向扩容 ) 或者数量更多的服务器( 水平扩容 ,或 横向扩容 )来实现。虽然 Elasticsearch 可以获益于更强大的硬件设备,但是垂直扩容是有极限的。 真正的扩容能力是来自于水平扩容—为集群添加更多的节点,并且将负载压力和稳定性分散到这些节点中。对于大多数的数据库而言,通常需要对应用程序进行非常大的改动,才能利用上横向扩容的新增资源。 与之相反的

随便推点

IMX6ULL驱动学习--Platform驱动开发_imx6ul的platform_Turing图灵的博客-程序员秘密

Platform平台驱动Platform设备驱动业务逻辑驱动和设备匹配BUS定义匹配过程Platform驱动驱动结构体定义驱动实现过程驱动模板Platform设备platform_device结构体platform_device 结构体定义platform_device设备信息框架设备树设备信息编辑Platform测试程序设备信息结构体版platform_deviceplatform_driver设备树版设备树信息platform_driverPlatform设备驱动Platform 设备驱动,又称平台

Servlet中tomcat服务器常见错误_三月计划的博客-程序员秘密

02-Sep-2020 19:52:46.079 信息 [RMI TCP Connection(15)-127.0.0.1] org.apache.jasper.servlet.TldScanner.scanJars At least one JAR was scanned for TLDs yet contained no TLDs. Enable debug logging for this logger for a complete list of JARs that were scanned but

ESP8266上传传感器数据到远端与远端反向控制终端--Arduino_跋扈洋的博客-程序员秘密

上传传感器数据到远端与远端反向控制终端功能硬件连接程序后续功能集上传传感器数据到远端与远端反向控制终端本例采用TCP协议,通过WiFi透传模式进行远端控制与传输。采用读取DHT11温湿度采集模块采集到的数据发送到远端(平台)、远端控制LED灯和蜂鸣器演示远端控制功能说明:上电后,DHT11温湿度传感器不断获取周围的温湿度等状态值并把数据发送到物联网数据平台,在平台上通过反向控制的方式控制LED灯的亮灭和蜂鸣器的开闭,可在串口看到相关响应;硬件连接DHT11温湿度传感器–D4LED灯–D5有源

解决type=file中获取不到value值_Jouryjc的博客-程序员秘密

做前端开发的童鞋肯定会遇到这样的需求,获取表单里面全部input的值。但是也不难发现这样的bug,给type=“file”的input标签赋值value,然后再通过js去获取value的时候,发现根本拿不到想要的那个值,拿到的是空字符串。通过zepto或者jquery的源码也可以看出来,form表单的参数序列化方法serialize$.fn.serializeArray = function() {

Python3——列表:Python主力___矮油不错哟的博客-程序员秘密

2. 列表:Python主力2.1 函数list2.2. 基本的列表操作1. 修改列表:给元素赋值3. 删除元素 del4. 给切片赋值3. 列表的方法2. 列表:Python主力list是类型,而不是函数。(tuple和str亦是如此)2.1 函数listlist(&amp;amp;amp;quot;hello,&amp;amp;amp;quot;)&amp;amp;amp;amp;gt;&amp;amp;amp;amp;gt;['h', 'e',

总结java学习(B站狂神说和动力节点老杜)——day06面向对象编程_小小怪下的博客-程序员秘密

面向对象编程包和import包机制包机制的作用是为了方便程序的管理,不同功能的类分别存放在不同的包下。(按照功能划分,不同的软件包具有不同的功能)package语句样式:package 公司域名后置package语句只允许出现在java源代码的第一行importA和B不在同一个包下,需要使用import语句java.lang.*;这个包下的类不需要使用import导入位置在package之下,class语句声明之前访问权限控制种类一共4个public 公开p

推荐文章

热门文章

相关标签