1.1 调用GNU编译器的默认命令是g++:
$ g++ prog.cc -o prog
UNIX 的shell窗口
$ CC prog.cc
标准的输入与输出对象
处理输入时使用的命令:cin(cin为istream类型对象)
处理输出时使用的命令:cout(cout为ostream类型对象)
标准库的另外两个ostream对象,分别命名为cerr和clog
1.2 一个简单的求两个数和的例子:
vim sum_test.cc
#include <iostream>
int main()
{
std::cout << "Enter twonumbers: " << std::endl;
int v1, v2;
std::cin >> v1 >> v2;
std::cout << "The sum of" << v1 << " and " << v2 << "is " << v1+v2 << std::endl;
return 0;
}
编译:g++ sum_test.cc -o sum_test
执行:./sum_test
结果:Enter two numbers:
8 9
The sum of 8 and 9 is 17
分析:
-
endl是一个特殊值,称为操纵符(mainipulator),将它写入输出流时,具有换行的效果,并刷新与设备相关的缓冲区(buffer)。
-
程序中使用的是std::cin、std::cout,不是cin、cout。前缀std::表明cin、cout是定义在命名空间(namespace)std中的。使用命名空间,可以避免由于无意中使用来与库中所定义名字相同而引起的冲突。
-
读入流 (输入操作符>>) 定义两个变量,从键盘输入
int v1, v2;
std::cin >> v1 >> v2;
-
输出(输出操作符<<)
std::cout<< "v1 = " << v1 << std::endl;
1.3关于注释
单行注释://……
多行注释:/* …… */
注释对不可嵌套
1.4 控制结构
-
while语句提供迭代执行功能
eg:编写一个从1—10的求和程序
#include <iostream>
int main()
{
int val = 1, sum = 0;
while (val <= 10){
sum += val;
val ++ ;
}
std::cout << "Thesum is " << sum << std::endl;
return 0;
}
-
for 语句
eg:编写一个从1—10的求和程序
#include <iostream>
int main()
{
int sum = 0;
for(int val = 1; val <=10; val++)
sum += val;
std::cout << "Thesum is " << sum << std::endl;
return 0;
}
-
if 语句
if (…)
{ …… }
else
{ …… }
-
读入未知数目的输入
#include <iostream>
int main()
{
int sum = 0, val;
while ( std::cin >>val )
sum += val;
std::cout << "Thesum is " << sum << std::endl;
return 0;
}
输入为:("."
用来结尾)
1 2 3 4 5 .
输出是:
The sum is 13
1.5类的简介
使用类时,我们需要回答三个问题:
(1)类的名字是什么?
(2)它在哪里定义?
(3)它支持什么操作?
注解:标准库的头文件用尖括号<> 括起来,非标准库的头文件用双引号” ” 括起来。
-
成员函数
是由类定义的函数,有时称为类方法。
当调用成员函数时,(通常)指定函数要操作的对象。语法是使用点操作符(.)
注解:与大多数其他操作符不同,点操作符(.)的右操作数不是对象或值,而是成员的名字。