每个程序员的Hello World程序

//This is a small c++ program

#include <iostream>

int main()
{
std::cout << "Hello, World" << std::endl;
system("pause");
return ;
}

1.注释

符号//开始,到行末都是注释。编译器忽略注释。写注释的原因是:告诉程序相关信息,方便理解。

2.#include

在c++中,有很多基础设施(编写好的类和方法)。例如输入和输出函数,都是标准库的一部分,而不是c++语言的一部分。c++语言随时可以使用,但是要使用标准库的方法,就得告诉编译器。#include<>。 <>之间的被称为标准头文件。标准库如何实现,我们不关心,我们只需要告诉编译器要使用标准库,#include导入头文件,就可以使用标准库中的类和方法了。

3.main 函数

函数: 返回值  函数名 (参数)

main()函数是程序的入口,所有c++程序都调用这个函数。

4.{}

{}之间的是函数的函数体

int main()
{ // left brace
// the statements go here.
} // right brace

5.使用标准库输出

std::cout << "Hello, World" << std::endl;

std 命名空间名称。为什么要有命名空间? 如果你有3个名称是一样的函数 show()。  sld::show() std::show() sfd::show() 表示3个命名空间中的不同函数,这样就不容易混淆。

cout 标准库中的一个类。 cout重载了 << 操作符。 << 之后""之间的语句被传送到标准输出流中。

endl 标准库中的一个类。std::endl表示换行。

6.返回值

return ;

return语句表示当前函数结束。return返回值的类型必须和函数返回值的类型兼容,否则程序会报错。

7.深度思考

该程序使用两个的概念,涵盖C ++编程:表达式和范围。

一个表达式要求程序来计算某些东西。 计算产生一个结果,也可能产生一些效果(效果影响程序的状态)。

+

表达式3+4,计算出一个结果7,没有产生额外的效果。

std::cout << "Hello, world!" << std::endl

表达式  std::cout << "Hello, world!" << std::endl 没有计算结果,但是改变了程序的状态,窗口显示 Hello, world!

一个表达式包含运算符和运算数。

在Hello World例子中,std::cout、"Hello, world!"、std::endl都是运算数, 两个<<都是运算符。

运算数都有自己的类型。类型表示数据结构和对该数据结构有意义的操作的含义。

类型通常有名字。例如,c++将int定义为表示整数的类型的名称,并且库将std :: ostream定义为提供基于流的输出的类型。在我们的程序中,std :: cout类型为std :: ostream。

<<运算符需要两个操作数,但是我们写了两个<<运算符和三个操作数。

<<运算符的优先级,从左到右。所以先执行 std::cout << "Hello, world!"。执行返回的结果也是std::cout类型。 第二次 <<运算,实际上是 返回的std::cout << std::endl

范围: 这个例子中我们看到 2个范围,命名空间和函数体{}。临时变量只在声明它的范围中有效。

8.课后习题

1)编译Hello World程序。

#include <iostream>

int main()
{
std::cout << "Hello, World" << std::endl;
system("pause");
return ;
}

2)表达式3+4产生什么结果?

计算值7,对程序状态没有影响。

3)编译输出

This (") is a quote, and this (\) is a backslash.
#include <iostream>

int main()
{
std::cout << "This (\") is a quote, and this (\\) is a backslash." << std::endl;
system("pause");
return ;
}

4)重写Hello,World! 程序,以便在程序中出现空格的地方发生换行。

#include <iostream>
#include <cstdio> int main()
{
char c;
while( (c = std::getchar()) != 'r')
{
if(c == ' ')
std::cout << std::endl;
else
std::putchar(c);
}
system("pause");
return ;
}

  

2.一个简单的c++程序。的更多相关文章

  1. 编写一个简单的C++程序

    编写一个简单的C++程序 每个C++程序都包含一个或多个函数(function),其中一个必须命名为main.操作系统通过调用main来运行C++程序.下面是一个非常简单的main函数,它什么也不干, ...

  2. 使用Go开发一个简单的服务器程序

    最近有个小项目,需要一个简单的后台程序来支撑,本来想用Nodejs来做,但是由于本人js一直很菜,并且很讨厌callback,虽然我也很喜欢异步模型,但我一直都觉得JS是反人类的.后台就用了go处理, ...

  3. 一个简单的flask程序

    初始化 所有Flask程序都必须创建一个程序实例. 程序实例是Flask类的对象,经常使用下述代码创建: from flask import Flask app = Flask(__name__) F ...

  4. 利用JSP编程技术实现一个简单的购物车程序

    实验二   JSP编程 一.实验目的1. 掌握JSP指令的使用方法:2. 掌握JSP动作的使用方法:3. 掌握JSP内置对象的使用方法:4. 掌握JavaBean的编程技术及使用方法:5. 掌握JSP ...

  5. 输出多行字符的一个简单JAVA小程序

    public class JAVA { public static void main(String[] args) { System.out.println("-------------- ...

  6. 如何创建一个简单的struts2程序

    如何创建一个简单的Struts2程序 “计应134(实验班) 凌豪” 1.创建一个新的Web项目test(File->new->Web Project) 2.Struts2框架的核心配置文 ...

  7. Linux系统学习笔记之 1 一个简单的shell程序

    不看笔记,长时间不用自己都忘了,还是得经常看看笔记啊. 一个简单的shell程序 shell结构 1.#!指定执行脚本的shell 2.#注释行 3.命令和控制结构 创建shell程序的步骤 第一步: ...

  8. 第一讲 一个简单的Qt程序分析

    本文概要:通过一个简单的Qt程序来介绍Qt程序编写的基本框架与一些Qt程序中常见的概念 #include <QApplication> #include <QPushButton&g ...

  9. Java入门篇(一)——如何编写一个简单的Java程序

    最近准备花费很长一段时间写一些关于Java的从入门到进阶再到项目开发的教程,希望对初学Java的朋友们有所帮助,更快的融入Java的学习之中. 主要内容包括JavaSE.JavaEE的基础知识以及如何 ...

  10. 用C语言编写一个简单的词法分析程序

    问题描述: 用C或C++语言编写一个简单的词法分析程序,扫描C语言小子集的源程序,根据给定的词法规则,识别单词,填写相应的表.如果产生词法错误,则显示错误信息.位置,并试图从错误中恢复.简单的恢复方法 ...

随机推荐

  1. log4j及其log4j2的使用

    简单的说 log4j2 是log4j2的升级版,据说采用了一些新技术(无锁异步.等等),使得日志的吞吐量.性能比log4j 1.x提高10倍,并解决了一些死锁的bug,而且配置更加简单灵活.其使用方式 ...

  2. 一个靠谱的maven仓库镜像地址

    <mirror>   <id>sprintio</id>  <mirrorOf>central</mirrorOf>  <name&g ...

  3. emqtt 2 (我要连服务器)

    这一篇,主要分析下,client 是怎么 connect server的,以及成功connect server 之后,会做哪些事情,session是怎么 start的. 由protocol 开始 之前 ...

  4. CAN总线扩展数据帧介绍

    在扩展CAN 数据帧中,紧随SOF 位的是32 位的仲裁字段.仲裁字段的前11 位为29 位标识符的最高有效位(Most Significant bit,MSb)(基本lD) .紧随这11 位的是替代 ...

  5. Linux下查询一个包是32位还是64位

    Linux下查询一个包是32位还是64位 [root@localhost ~]# rpm -qa  --queryformat %-{name}-%{version}-%{release}-%{arc ...

  6. Tair ldb(leveldb存储引擎)实现介绍

    简介 tair 是淘宝自己开发的一个分布式 key/value 存储引擎. tair 分为持久化和非持久化两种使用方式. 非持久化的 tair 可以看成是一个分布式缓存. 持久化的 tair 将数据存 ...

  7. FTP协议完全详解

    1. 介绍 FTP的目标是提高文件的共享性,提供非直接使用远程计算机,使存储介质对用户透明和可靠高效地传送数据.虽然我们也可以手工使用它,但是它的主要作用是供程序使用的.在阅读本文之前最好能够阅读TC ...

  8. 1141 PAT Ranking of Institutions

    题意:给出考生id(分为乙级.甲级和顶级),取得的分数和所属学校.计算各个学校的所有考生的带权总成绩,以及各个学校的考生人数.最后对学校进行排名. 思路:本题的研究对象是学校,而不是考生!因此,建立学 ...

  9. linux lcd设备驱动剖析二

    上一节中,分析了s3c2410fb,c的入口出口函数,以及一些重要结构体的分析,初步知道了这是一个平台驱动的架构. 上一节文章链接:http://blog.csdn.net/lwj103862095/ ...

  10. PHP class 继承

    1.执行结果 成员名 成员修饰符 方法名 方法修饰符 执行结果 name private setName private 在构造函数函数中执行父类私有方法,子类未能覆盖private成员变量和方法,修 ...