经典中的品味:第一章 C++的Hello,World!

1.1 程序

何为程序?简单的说,就是为了使计算机能够做事,你需要在繁琐的细节中告诉它怎么做。对于怎么做的描述就是程序。
编程是书写和测试怎么做的过程。维基百科上说,一个程序就像一个用汉语(程序设计语言)写下的红烧肉菜谱(程序),用于指导懂汉语和烹饪手法的人(体系结
构)来做这个菜。做一个形象的比喻,在生活中某种意义上,你都见到程序。石器时代,“我们用石头打它”。就是个程序。

图1.1 ”我们用石头打它“  摘自 《数学之美》

其中,他用怪叫和动作告诉小伙伴这行为,叫做程序。只有懂这个的伙伴才会一起拿起石头砸。但相对计算机来说,计算机很“笨”,为了像计算机解释这些,我们需要一种特定语法精确定义的语言。那就是编程语言,例如C++。

 

1.2 经典品味 ”Hello,world!“

这是经典的例子,在屏幕中输出”Hello,world!“:


1

2

3

4

5

6

7

8

#include <iostream>

using namespace std;

 

int main()

{

    cout << "Hello,World!\n";

    return 0;

}

运行的结果:打印Hello,World!然后,下面新的一行.一个光标位于下一行的开始。


图1.2 Hello,World!输出

程序中,主要工作的代码:


1

cout << "Hello,World!\n";

cout是一个标准输出流,使用 << 操作符可以将字符显示到屏幕上。很自然,这是你第一次看到缩写,cout:character outputstream的缩写。刚开始会不适应,但是当你遇见缩写多了的话,你会爱上他。

 

第一行:


1

#include <iostream>

他是个指令,这个具体是让我们使用标准的C++流I/O功能。这里,我们使用了cout和它的操作符<<.此外,使用#include
包含的文件通常后缀有.h,称为头文件或头。我们基本上是使用C++自己提供的各种功能源代码。比如上面,我们需要什么功能就引入啥头文件。

 

程序入口:


1

2

3

4

int main()

{

    return 0;

}

大家都知道一个程序要告诉计算机哪里开始执行,C++每个程序必须有个main函数。一个函数基本是个指令集也称指令序列,计算机会按着原定的顺序执行。一个函数通常包括:

  • 返回类型:这里是int,用来指定返回结果类型。
  • 名字:这里是main
  • 参数列表:这里为空,如果有参数,会写在()
  • 函数体:{}里面写了函数要执行的语句。

 

程序的结束:


1

return 0;

要知道,main函数是系统调用的,自然我们需要告诉系统何时结束。返回值可以用于检查程序是否成功,特别在有些系统(unix/linux)。有main()返回的一个 0 表示程序成功终止。

 

1.3你看不到的程序代码之外:编译 链接

”Hello,world!“程序的运行,通过C++编程语言。在它从人可读可改的格式转换为计算机可以理解的东西,这个过程我们需要一个成为“编译器”的程序。

何为编译器?

维基百科上说,编译器(Compiler),是一种电脑程序,它会将用某种编程语言写成的源代码(原始语言),转换成另一种编程语言(目标语言)。
它主要的目的是将便于人编写,阅读,维护的高级计算机语言所写作的源代码程序,翻译为计算机能解读、运行的低阶机器语言的程序,也就是可执行文件。做个比
喻,一个声控电灯,我们如果想说“把灯打开”,灯显然是不知道这句话的意思。它的世界是:”有声音我就亮“。进而,你的仆人就大叫一声,灯亮了。这个仆人
的工作就是编译器的程序原理。

一个现代编译器的主要工作流程如下: 源代码(source code)→ 预处理器(preprocessor)→
编译器(compiler)→ 汇编程序(assembler)→ 目标代码(object code)→ 链接器(Linker)→
可执行文件(executables)。因此,可读可写的称为源代码,计算机可执行的是目标代码。在未来的日子里,你将接触到这个朋友,他非常严格。但请
你记住,编译器是你编程中最好的朋友。下面我们展现程序的流程:

图1.3 Hello,World!的一生

 

1.4 第一章 小结 及 思考

Hello,World! 其实不重要,重要我们熟悉基本思想和工具。曾经看透菜谱,成为了大厨。曾经看破历史的,当了作家或者其他。勤奋,专注,锲而不舍。C++并不难。

时间: 2024-09-10 23:33:44

经典中的品味:第一章 C++的Hello,World!的相关文章

经典中的品味:第二章 C++基本的对象,类型和值(上)

2.1 一个简单问候的例子 最常见的就是keyBorad input(键盘输入).从HelloWorldd的输出,我们也想得到用户的输入.通常,实行中的程序会给它的输入产生输出.例如,输入你的名字,输出 一句问候.有时候它就在身边,像我最爱的苹果手机一样.人机交互就是那么简单~ 图2.1.1 人机交互(.net) 回 到技术点,为了读取用户输入的数据,我们需要在计算机内存中某个地方放置读取所需的内容.这就是对象(Class).对象是什么,对象时一个某种类型的内 存区域.其中类型则确定了对象的信息

《秩序之美——网页中的网格设计》——第一章 引言

第一章 引言 从某种层面上讲,设计可被看做一种利用创造力将想法强加于这个世界的方式,但并非传统意义上的强加于世界,而是以一种更恰当,更人性化的尺度. 在由问题出发,沿着思路解决问题的过程中,设计师可以从商业(业务需要,技术限制)或者艺术(美学,易用性,人文因素)的角度来阐述自己的作品.无论如何,最成功的设计可以简化为一种最本质的目的:在混沌中创造秩序. 怎样的秩序?当然是一种能准确反映设计师世界观的秩序.世界应如何运转,设计师有着自己独特的见解和表达方式,由此创造出不同的秩序.它的力量微弱而有限

【PMP】Head First PMP 学习笔记 第一章 引言

第一章 引言 高效的解决项目中同样的问题 最佳的评估你的任务并合理安排,从而保证项目尽可能迅速而高效的完成 计划和跟踪成本的有关技术 如何针对项目中存在的缺陷做出计划并加以防范 项目经理的特征 知识. 关注项目领域的发展动态,可以从每个人的成功和失误中学习经验教训,从而能更好的完成你的工作.知道所有的工具和技术,并且知道何时使用和如何使用. 绩效. 必须付诸行动,要求你认真而有效地工作. 个人技能. 既然你要管理人,就注意哪些方面能够激励他们,哪些方面会对他们造成障碍.作为一个项目经理,你的任务

Java初级笔记-第一章

第一章 Java概览 1.1 基本简介 Java是一种理想的面向对象的网络编程语言. 1991年,出现了Oak语言,旨在解决编程语言的选择和跨平台的问题. 1994年,随着Internet的迅猛发展,Sun Microsystems公司发现Oak语言所具有的跨平台.面向对象.高安全性等特点非常适合于互联网的需要,于是就改进了该语言的设计且命名为"Java",并于1995年正式向IT业界推出. 1.2 Java的应用范畴 随着Java2一系列新技术(如JAVA2D.JAVA3D.SWIN

《Computer Networks (fifth edition)》第一章学习小结

       由Andrew S. Tanenbaum教授写的<ComputerNetworks>是世界著名的计算机网络教材,现在该书已经出到第五版了.因为前段时间参加CSDN的"我的2011"征文活动获了奖,因此获赠一本<Computer Networks (fifthedition)>的英文原版图书.        拿到此书之后,我很是高兴,便给自己制定了每天阅读几页的计划,以期从这本经典教材中吸取到"营养".今天,我看完了该书的第一章,

第一章 andriod studio 安装与环境搭建

原文 http://blog.csdn.net/zhanghefu/article/details/9286123 第一章   andriod studio 安装与环境搭建   一.Android Studio简介 Android Studio是Google新发布的Android应用程序开发环境,Android Studio是基于IntelliJ IDEA开发而成的.在Android Studio开发环境中,Android开发者可以非常方便地调试Android应用程序,Android Studi

Frontpage2000中文教程:第一章 认识Frontpage2000

frontpage|教程|中文  你是否紧跟时代的潮流上了网?你在聊天室里是否听过别人聊起自己的个人主页,你会不会觉得自己没有个人主页就落伍了?有没有想过自己也要做一个主页?想过?那你还瞎呆在那里干什么?赶快阅读本教程,你就该学会制作自己的主页了. 本教程教你学会使用微软公司的Frontpage2000,学会干什么?当然是做你的个人主页啦.或许你认为制作主页是一门很深奥的工作,需要懂得大量的计算机知识.我现在要告诉你,你错了.在这个流行图形操作系统的今天,制作主页不再需要你去学习复杂,烦躁的HT

第一章 容错机制 &amp;gt;

容错 第一章 容错机制 以国内最流行ASP为例,我不知道有多少人会在写代码时想到"容错"这个概念,实际上当我遇到这种事时,也是不了了之.为什么呢,想想最初的意思是认为写如下代码就能容错了,见示例1-1. <%@ Language=VBScript %> <%option explicit%> <% '出错过滤 on error resume next -----(代码略) %> 示例1-1 常见代码一瞥 以上代码就经常出现在各位同仁的手中,不用说出个

第一章 CSS的基本认识

CSS是『Cascading Style Sheets』的简称,中文翻为「串接样式表」,也有人只翻为「样式表」.CSS用以作为网页的排版与风格设计,在所谓的「新式网页」里 ,CSS不容置疑是相当重要的一环.CSS是以既有的基础,用以弥补既存HTML 规格里的不足,也让网页的设计更为灵活. 这份教学文件就要来为您介绍CSS的应用罗!在这边并不介绍CSS的所有规格 ,仅就您在网页写作上较常用到,较可能用到的语法部份及应用的方法来为您作介绍.也 由於现在两浏览器的相容是渐行渐远,将贴心地为您注明支援该