cpp_02_start_to_learn
Ch2 开始学习C++
进入C++
第一个程序
// myfirst.cpp--displays a message |
C++使用预处理器(preprocessor),在程序进行主编译之前对源文件进行处理,它处理名称以 #
开头的编译指令。 #include <iostream>
会导致预处理器将 iostream
文件的内容添加到程序中。 iostream
中的 io
指的是 input
和 output
,使用 cin
和 cout
时必须包含 iostream
。像 iostream
这样的文件叫包含文件(include file),也叫头文件(header file)。
使用 using namespace std;
名称空间编译指令来使得 iostream
中的定义对程序可用,这叫做 using
编译指令。这里简单介绍,详细看第9章。如果只想让所需的名称可用,可以这样声明:
using std:cout; |
使用 cout << "message" << endl
来显示消息。<<
符号把字符串发送给 cout
,其指出了信息流动的路径。从概念上看,输出是一个流, cout
对象表示这种流,其属性在 iostream
中定义。属性中包括一个插入运算符 <<
,它把右侧的信息插入到了流中。对于 cin
来说也一样,信息从 cin
流到了变量。
cout
对象的属性 <<
是一个重载运算符的例子。通过重载,同一个运算将有不同的含义,在标准的定义中, <<
表示按位左移运算符。编译器通过上下文来确定运算符的含义。
endl
是一个特殊的 c++
符号,和 cout
一样,它在 iostream
中定义,并位于名称空间 std
中。将其插入输出流时,将导致屏幕光标移动到下一行开头。这类符号被称为 控制符(manipulator) 。另一种输出换行的旧式方法:C语言符号 \n
。
C++语句
要将信息存储在计算机中,必须指出信息的存储位置和所需的内存空间,C++使用了声明语句来指出存储类型并且提供位置标签。声明语句叫作定义声明(defining declaration) ,简称为定义(definition) ,这意味着编译器将为变量分配内存空间。
赋值语句将值赋值给存储单元,赋值从右向左进行。例如:
int a, b, c; |
首先,6 会被赋值给 c ,然后 c 的值被赋值给 b, 最后 b 的值被赋值给 a。
函数
被调用的函数叫作 called function, 包含函数调用的函数叫作 calling function。
在有些语言中,有返回值的函数被称为函数 function ,没有返回值的函数被称为过程 procedure 。
在多函数程序中使用 using
编译指令,可以避免名称空间的混乱:
// ourfunc.cpp -- defining your own function |
总结
C++程序由一个或多个函数组成。程序从 main()
函数开始执行。
C++语句的类型有:
- 声明语句:定义函数中使用的变量的名称和类型;
- 赋值语句:使用赋值运算符
=
给变量赋值; - 消息语句:将消息发送给对象;
- 函数调用:执行函数,called function执行完毕后,程序返回到函数调用语句后面的语句;
- 函数原型:声明函数的返回类型、函数接受的参数数量和类型;
- 返回语句:将一个值从 called function 那里返回到调用函数中;
类是用户定义的数据类型规范,描述了如何表示信息以及可对数据执行的操作。对象是根据类规范创建的实体。
C++提供了两个用于处理输入输出的预定义对象( cin
和 cout
),它们是类 istream
和 类ostream
的实例,这两个类在 iostream
文件中定义。ostream
类将运算符 <<
重载为(重新定义为)插入运算符,使得数据插入输出流。 istream
类将运算符 >>
重载为抽取运算符,能够从输入流中抽取信息。
编程练习
|