@1405010312
2017-07-16T11:18:39.000000Z
字数 3786
阅读 589
C++PrimerPlus(第6版)中文版
C++对大小写敏感
程序清单2.1 myfirst.cpp
//myfirst.cpp -- displays a message
#include <iostream>
int main(){
using namespace std;
cout << "Come up and C++ me some time.";
cout << endl;
cout << "You won't regret it!" << endl;
return 0;
}
程序调整
1. 要在自己的系统上运行本书示例,可能需要对其进行修改.有些窗口环境在独立的窗口中运行程序,并在程序运行完毕后自动关闭该窗口.正如第一章讨论的,要让窗口一直打开,直到你按任何键,可在return 语句前添加如下语句:cin.get();
对于有些程序,要让窗口一直打开,直到你按任何键,必须添加两条这样的语句.
2. 如果你使用的版本过旧,它可能不支持C++98新增的特性.
3. 有些程序要求编译器对C++11标准提供一定的支持.对于这样的程序,将明确的指出这一点,并在可能的情况下提供非C++11代码.
C语言输入和输出
1. 一般用cout,cin函数来进行输入输出,但一般这个函数会比printf,scanf函数要慢一下.
你使用函数来创建C++程序.通常,先将程序组织为主要任务,然后设计独立的函数来处理这些任务,程序清单2.1中的示例非常简单,只包含一个名为main()函数.myfirst.cpp示例包含下述元素.
- 注释,由前缀//
标识(或者也可以用/**/
)
- 预处理器编译指令#include
.
- 函数头: int main()
- 编译指令: using namespace
- 函数体: 用{和}括起
- 使用C++的cout
工具显示消息的语句
- 结束main()函数的return语句
下面详细介绍这些元素.先来看看main()函数,因为了解了main()的作用后,main()前面的一些特性将更易于理解.
去掉修饰后,程序清单2.1中的示例程序基本结构如下:
int main(){
statements
return 0;
}
这几行表明有一个名为main()函数,并描述了该函数的行为.这几行代码构成了函数定义.该定义由两部分组成:第一行int main()叫函数头,花括号({和})中包含的部分叫函数体.函数体是指出函数应做什么的计算机指令.在C++中,每条完整的指令都称为语句.所有的语句都以分号结束,因此在输入示例代码时,不要省略分号.main()中最后的一条语句叫做返回语句,它结束该函数.
语句和分号
语句是要执行的操作.为理解源代码,编译器需要知道一条语句何时结束,另一条语句何时开始.有些语句使用语句分隔符.例如FORTRAN通过行尾将语句分隔开来,Pascal使用分号分隔语句.在Pascal中,有些情况可以省略分号,例如END前的语句后面,这种情况下,实际上并没有将两条语句分开.不过C++和c一样,也使用终止符,而不是分隔符.终止符是一个分号,它是语句结束的标识,是语句的组成部分,而不是语句之间的标记.
作为接口的函数头
为什么main()不能使用其他名称
/*
开头*/
结尾如果需要使用C++输入或输出工具则必须提供这样两行代码:
#include <iostream>
using namespace std;
#include <iostream>
导致预处理器将iostream文件的内容添加到程序中.这是一种典型的预处理器操作:在源代码被编译之前,替换或添加文本.头文件类型 | 约定 | 示例 | 说明 |
---|---|---|---|
C++旧式风格 | 以.h结尾 | iostream.h | C++程序可以使用 |
C旧式风格 | 以.h结尾 | math.h | C,C++程序可以使用 |
c++新式风格 | 没有扩展名 | iostream | C++程序可以使用,使用namespace std |
转换后的c | 加上前缀c,没有扩展名 | cmath | C++程序可以使用,可以使用的不是C的特性,如namespace std |
输出是一个流,即从程序流出的一系列字符.cout对象表示这种流,其属性是在iostream文件中定义的.cout的对象属性包括一个插入运算符(<<),他可以将其右侧的信息插入到流中.
\n
视为一个字符,名为换行符.
- 每条语句占一行
- 每个函数都有一个开始花括号和一个结束花括号
- 函数中的语句都相对于花括号进行缩进
- 与函数名称相关的圆括号周围没有空白
清单2.2 carrots.cpp
//carrots.cpp --- food processing program
//uses and displays a variable
#include <iostream>
using namespace std;
int main(){
int carrots;
carrots = 25;
cout << "I have ";
cout << carrots;
cout << " carrots.";
cout << endl;
carrots = carrots - 1;
cout << "Crunch, crunch. Now I have " << carrots << " carrots." << endl;
return 0;
}
=
来赋值给存储单元.cout << 变量
实际上是将变量替换成变量值,然后把值转换为合适的输出字符.程序清单2.3 getinfo.cpp
//getinfo.cpp -- input and output
#include <iostream>
int main(){
using namespace std;
int carrots;
cout << "How many carrots do you have? " << endl;
cin >> carrots;
cout << "Here are two more.";
carrots = carrots + 2;
cout << "How you have " << carrots << " carrots." << endl;
}