C++Primer再起航

本文介绍:

  • 编写简单的C++程序
  • 初窥输入/输出
  • 关于注释
  • 控制结构
  • 类的简介
  • 参考文献

编写简单的C++程序

`int main()
{
    return 0;
}`

1. 每个 C++ 程序都包含一个或多个函数,而且必须有一个命名为 main。函数由执行函数功能的语句序列组成。操作系统通过调用main 函数来执行程序

2. main 函数则执行组成自己的语句并返回一个值给操作系统。

3. main 函数的返回值必须是 int 型,该类型表示整数。int 类型是内置类型,即该类型是由 C++ 语言定义的。

4. 函数体函数定义的最后部分,是以花括号开始并以花括号结束的 语句块:

{

return 0;

}

例中唯一的语句就是 return,该语句终止函数。

注意 return 语句后面的分号。在 C++ 中多数语句以分号作为

结束标记。分号很容易被忽略,而漏写分号将会导致莫名其妙

的编译错误信息

  1. 当 return 带上一个值(如 0)时,这个值就是函数的返回值。返回值类型

    必须和函数的返回类型相同,或者可以转换成函数的返回类型。对于 main 函数,

    返回类型必须是 int 型,0 是 int 型的。

  2. 在大多数系统中,main 函数的返回值是一个状态指示器。返回值 0 往往表

    示 main 函数成功执行完毕。任何其他非零的返回值都有操作系统定义的含义。

    通常非零返回值表明有错误出现。每一种操作系统都有自己的方式告诉用户

    main 函数返回什么内容


调用 GNU 或微软编译器

调用 C++ 编译器的命令因编译器和操作系统的不同而不同,常用的编译

器是 GNU 编译器和微软 Visual Studio 编译器。调用 GNU 编译器的默

认命令是 g++:

$ g++ prog1.cc -o prog1

这里的 $ 是系统提示符。这个命令产生一个为 prog1 或 prog1.exe 的

可执行文件。在 UNIX 系统下,可执行文件没有后缀;**而在 Windows 下,

后缀为 .exe**。

-o prog1 是编译器参数以及用来存放可执行文件的文件名。如果省略 -o prog1,那么编译器在 UNIX 系统下产生名为 a.out 而

在 Windows 下产生名为 a.exe 的可执行文件。

微软编译器采用命令 cl 来调用:

C:\directory> cl -GX prog1.cpp

这里的 C:directory> 是系统提示符,directory 是当前目录名。cl 是

调用编译器的命令。-GX 是一个选项,该选项在使用命令行界面编译器

程序时是必需的。

微软编译器自动产生与源文件同名的可执行文件,这

个可执行文件具有 .exe 后缀且与源文件同名。本例中,可执行文件命

名为 prog1.exe。

从命令行编译器

例如 UNIX 的 shell 窗口或

Windows 的命令提示窗口)编译程序

`$ CC prog1.cc`

1. 这里 CC 是编译器命令名,$ 表示系统提示符。编译器输出一个可执行文件,我们可以按名调用这个可执行文件。

2. 在我们的系统中,编译器产生一个名为a.exe 的可执行文件。

3. UNIX 编译器则会将可执行文件放到一个名为 a.out 的文件中。

运行可执行文件,可在命令提示符处给出该文件名

`$ a.exe`

在 UNIX 系统中,即使在当前目录,有时还必须指定文

件所在的目录

$ ./a.exe

“.”后面的斜杠表明文件处于当前目录下

访问 main 函数的返回值的方式和系统有关。不论 UNIX 还是 Windows 系

统,执行程序后,必须发出一个适当的 echo 命令。UNIX 系统中,通过键入如

下命令获取状态:

`$ echo $?`

Windows 系统下查看状态

`C:\directory> echo %ERRORLEVEL%`

初窥输入/输出

iostream 库的基础是两种命名为 istream 和 ostream 的类型,分别表示输入

流和输出流。

标准库定义了 4 个 IO 对象:

  • cin 标准输入
  • cout 标准输出
  • cerr 标准错误
  • clog 一般信息

1.从cin 读入时,数据从执行程序的窗口读入,当写到 cin、cerr 或 clog 时,输

出写至同一窗口。

2.运行程序时,大部分操作系统都提供了重定向输入或输出流的方法。利用重定向可以将这些流与所选择的文件联系起来

关于注释

  1. 程序通常混用两种注释形式。注释对一般用于多行解释,而双斜线注释则常

    用于半行或单行的标记。

  2. 太多的注释混入程序代码可能会使代码难以理解,通常最好是将一个注释块

    放在所解释代码的上方。

  3. 代码改变时,注释应与代码保持一致。程序员即使知道系统其他形式的文档

    已经过期,还是会信任注释,认为它会是正确的。错误的注释比没有注释更糟,

    因为它会误导后来者。

控制结构

  1. C++的缩排和格式

    • C++ 程序的格式非常自由,花括号、缩排、注释和换行的位置通常对程

      序的语义没有影响。例如,表示 main 函数体开始的花括号可以放在与

      main 同一行,也可以像我们那样,放在下一行的开始,或放在你喜欢的

      任何地方。唯一的要求是,它是编译器所看到在 main 的参数列表的右

      括号之后的第一个非空格、非注释字符。

    • 在选择格式化风

      格时,要考虑提高程序的可读性,使其更易于理解。一旦选择了某种风

      格,就要始终如一地使用。

  2. 再谈编译
    1. 语法错误
    2. 类型错误
      • 传递了字符串字面值给应该得到整型参数的函数。
    3. 声明错误
      • 从标准库中访问名字时忘记使用“std::”,
      • 以及由于疏忽而拼错标识符名:
    4. 从键盘输入文件结束符
      • 操作系统使用不同的值作为文件结束符。Windows 系统下我们通过键入

        control—z——同时键入“ctrl”键和“z”键,来输入文件结束符。

        Unix 系统中,包括 Mac OS—X 机器,通常用 control—d。

类的简介

注意:

  • 对于自定义的类,必须使得编译器可以访问和类相关的定义
  • 类类型存储在一个文件中,其文件名如同程序的源文件名一样,由文件名和文件后缀两部分组成。
  • 通常文件名和定义在头文件中的类名是一样的。通常后缀是 .h,但也有一些程序员用 .H、.hpp 或 .hxx。编译器通常并不挑剔头文件名
  • 点操作符:仅仅应用与类类型的对象,左侧必须是类对象,右侧必须是该类型成员

参考文献

时间: 2024-11-11 21:29:06

C++Primer再起航的相关文章

中软国际首届嘉年华晚会召开 “解放号”勿忘初心再起航

1月29日,中软国际首届“解放号”嘉年华晚会暨2015年度表彰大会在北京国际会议中心举行.当日北京.上海.武汉.南京.西安.广州.深圳等八个地区同步进行,各级领导直接空降现场,各地优秀员工汇集于此,共同缔造属于中软国际人的年度盛宴.届时,走红毯.看表演.抽大奖.颁表彰,一个都不能少. 此次中软国际首届嘉年华晚会,由中软国际线上业务核心“解放号”团队精心策划,打造了一大波只有在“解放号”嘉年华晚会上才能见到的精品之作:记录成长历程的“解放日记”,嘉年华专属剧透悬疑小说<小明传>,融入“解放号”初

再起航,平静的开始

再起航,放眼望去,学生时代的终点从原来的隐隐约约到现在的清晰可见,原来真的很近了.我不会用什么郑重的仪式去祭奠我逝去的学生时代,也不愿意用什么隆重的仪式去宣告我即将开始的属于我自己的新的时代,我只想认真的结束前一个时代,平静的开始下一个,因为要知道,春天的道路依然充满宁静,前行的人们还需留心. 这一次的结束,我不知道他是否来的太晚,还是恰如其分,又或者是为时尚早.也许人就是这个样子的,原本就没有什么恰如其分的时间点,赶上了,在某个时间点想做什么,那就去做.一如张爱玲在她的<爱>中所说的那样,于

《激荡三十年》十一、邓公南巡,中国再起航

上期讲到了1988年物价闯关的失败.那么翻过年去,到了1989年元旦.全国上下都弥漫着阴郁的气氛,元旦当天<人民日报>在元旦献词里非同寻常的写道:"我们遇到了前所未有的严重问题,最突出的就是经济生活中明显的通货膨胀,物价上涨幅度过大,党政机关和社会上的某些消极腐败现象也使人触目惊心." 在整个1989年,经济发展的速度降到了改革开放以来的最低点,尤其是刚刚萌芽不久的私营经济,当时的个体户停滞不前甚至倒退.1989年下半年,全国个体户注册数量减少300万户,私营企业从20万家

在踏踏实实的生活里让自己坚持去做梦

[在踏踏实实的生活里让自己坚持去做梦] 1.在踏踏实实的生活里让自己坚持去做梦. 2.除了勇敢地面对人生的不堪,我们谁也没有什么捷径可以靠近幸福. 3.第一个发言人说需要换肾,第二个发方人说被合伙人骗了钱,第三个发言人说儿子目前考虑变性......当这个姑娘发言时,她站起来,愣了愣,然后不好意思地说:“我现在觉得不痛苦了,我觉得我应该走了,谢谢大家,谢谢!” 4.危机感未尝不是件好事,原来一个特定的时间节点恰恰可以提醒你盘点人生的库存,想清楚了,再起航. 5.很多当时无法迈过的坎儿今天都能云淡风

Node.js源码解析----自己实现一个Node.js的难点与思路

前言: 最近在看Node.js,看了一段时间后便想着自己实现一个Node.js现在已经实现了个大概(绝大部分是模仿人家,不过自己实现一遍基本上就理解Node.js的原理了)下面便说说这个过程中的坑,以及一些需要注意的地方: Node.js需要一定C++基础,建议看完C++Primer再看,否则V8的好多表达方式,指针,引用,模板之类的会看不懂: 代码已上传GitHub地址:   https://github.com/sven36/cNode 编译:我用的win10的环境,具体编译请参考Node.

C++学习的方法以及四大名著(荐)

C++学习的方法以及四大名著(荐) 转眼间学习和使用C++已经有近10个年头了,开始学习的时候走了不少的弯路,今天有些时间,希望写下这篇文章并且对开始学习C++的朋友有些帮助.当然我首先需要说明的是,这篇文章是根据本人的感受写的,可能不同的人有不同的观点,欢迎讨论. 开始学习C++的时候中国的互联网环境还不是很好,信息也比较闭塞,所以自己开始的时候是由Thinking in C++ 开始的,买了两卷本的英文版,废了好大的一番周折才算看完了,这个过程大约花费了近6个月的时间,当然期间也要花时间完成

凤凰新闻岳建雄:互联网已经成为传统行业

凤凰网副总裁.凤凰新闻客户端总经理岳建雄分享移动互联网六大未来趋势 11月29日,2016"凤凰新闻客户端5.4.0新版本发布媒体沙龙"在北京凤凰国际传媒中心举行,凤凰网副总裁.凤凰新闻客户端总经理岳建雄,凤凰新闻客户端技术总监刘佳向到场的20余家主流媒体介绍了即将发布的凤凰新闻客户端5.4.0版本. 5.4.0版本是凤凰新闻客户端再起航之作,不仅从内容.交互和UI设计等多个方面迎来创意革新,更在算法上进行革命性提升,是颇具前瞻性.创意性的改变.可以说,本次的优化不仅是一次产品的叠带,

书:《激荡三十年》

古今多少事,都付笑谈中. <激荡三十年>零.前言 <激荡三十年>一.改革开放前的中国(上) <激荡三十年>二.改革开放前的中国(下) <激荡三十年>三.改革开放伊始.邓公开国门 <激荡三十年>四.改革第一将—“老板”袁庚 <激荡三十年>五.乡镇企业的异军突起——鲁冠球 <激荡三十年>六.个体户——“傻子”年广久 <激荡三十年>七.国企难破局—“裁缝神话”步鑫生 <激荡三十年>八.中国现代企业元年19

C++ Primer 学习笔记_73_面向对象编程 --再谈文本查询示例

面向对象编程 --再谈文本查询示例 引言: 扩展第10.6节的文本查询应用程序,使我们的系统可以支持更复杂的查询. 为了说明问题,将用下面的简单小说来运行查询: Alice Emma has long flowing red hair. Her Daddy says when the wind blows through her hair, it looks almost alive, like a fiery bird in flight. A beautiful fiery bird, he