第1
讲
第一部分
开始学习C++
内容安排
- 注释
- #include 指令
- 主函数
- 花括号
- 使用标准库输出
- 返回语句
Hello, world!
程序
// a small C++ program
#include <iostream>
int main()
{
std::cout << "Hello, world!" << std::endl;
//
此语句做本程序的实际工作
return 0;
}
(实验课上要求学生上机运行)
1
注释 comments
Hello, world!
程序第一行:
// a small C++ program
•
字符 //
表示一段注释的开始
•
注释延伸至该行结束
•
用途:为阅读该程序的人解释程序
2 #include
指令
•
核心语言
(core lunguage)
可用于所有C++
程序
•
标准库(standard library)
C++
中许多基本工具,如
I/O (
输入、输出)
,不属于核心语言
•
使用标准库时,必须明确指定要使用的部分
#include
指令出现在程序开头
本程序所使用的标准库是 input-output
,即:
#include <iostream>
•
iostream: i-input, o-output, stream-
,(
即流)
•
iostream—
支持一连串的符号输入、输出
不支持随机存储、图形输入、输出
•
C++ library standard header
标准头文件:尖括号 angle brackets (< >)
3
主函数 main function
int main (parameters)
依次的含义:interger
整数
;函数;参数。
4
花括号curly braces
int main()
{ // left brace
// the statements go here
} // right brace
5
使用标准库输出
Using the standard library for output
Using the standard library for output
以下语句执行程序的实际工作:
std::cout << "Hello, world!" << std::endl;
output operator(
输出运算符)
: <<
l
cout & endl
是名称为std
的namespace(
名字空间)
的一部分。
l
std::cout
标准输出流,
所有C++
实现普通输出的工具
6
返回语句
The return statement
The return statement
返回语句(return
),如
return 0;
终止函数执行,返回一个值给调用其的程序;返回值在return
& semicolon
分号 (
本例中为0)
7 A
slightly deeper look
l
本程序使用两个 C++
中常见概念: expressions(
表达式) & scope(
作用域).
l
expression
包括 operators(
运算符) & operands(
操作数)
(见后页)
l
每个操作数有一个类型,类型通常有名称,如
ü
core language
定义
int
为类型名称,此类型代表整数
ü
library
(库)定义
std::ostream
作为提供流输出的类型
l
本程序中
,
std::cout
类型是
std::iostream
l
名字的作用域scope
是程序的一部分
名字只有在这部分才有意义
Std:cout “hello,world!” std:endl
为操作数
<< <<
为输出运算符
Cout
为标准输出流,类型为
std
::
ostream
Endl
为控制器
mainpulator
结束当前输出行
A slightly deeper look (continue
…)
l
Namespace
(
名子空间
)
相关名称的集合
l
名称std::cout
是一个qualified name
(
限定名称
),
它使用 :: operator (scope operator
作用域运算符).
l
std::cout
表示:
在(名字空间)作用域std
中的名称cout
l
Curly braces(
花括号)
另一种scop(
作用域).
8
小节Details
我门学习了C++
的基本概念:
注释、标准头文件、作用域、表达式、
语句、字符串直接量、输出。
1)
程序结构: free form
自由风格
ü
C++
程序通常具有free form
自由风格
ü
只在防止相邻符号混在一起时,才必须使用空白符
ü
新行(即系统环境从程序一行转换至下行)也是一种空白形式
ü
空白符space
:出现位置影响(提高/
降低)程序可读性
程序结构 (continue…)
不具有自由风格的实体:
1.
字符串直接量
:用双引号括住的字符,不可跨行
2. #include
名称
:必出现在单独的一行(注释除外)
3. //
注释
://
后面可跟任何东西;本行结束
NOTE:
以 /*
开始、 */
结束的注释有自有风格;且可跨越多行。
2) Types
类型
l
Types
定义数据结构及对其的操作
l
C++
有两种types:
ü
核心语言提供的内建类型,如int
ü
定义在核心语言外的类型,如std::cout
3) Namespaces
名字空间
l
把相关名称聚集在一起的技术
l
在名为std
的Namespace
中定义来自标准库的名称
4) string literals
字符串直接量
字符串直接量
ü
双引号开始&
结束
ü
所有字符串直接量在程序的同一
行中
ü
特殊含义:/n
换行符;
//
普通字符“/”
5)
定义 &
头文件
Definitions and headers
Definitions and headers
ü
standard library
标准库
:
头文件中定义其名称
ü
名称必须在使用前定义
ü
#include name
:
程序通过此指令访问
6)
主函数 main
•
所有C++
程序必须且只能一个主函数main
C++
程序
ç
若干文件
ç
若干函数
è
必须
&
只有一个主函数
main
•
系统通过调用main
来运行程序
执行程序时,系统先找到唯一的主函数
main
,并从
main
开始执行
•
其他函数通过
main
或被
main
调用的函数进行调用。
•
函数的调用可以嵌套
--
•
通常,函数必包含至少一条return
语句(在函数尾)
•
main
特殊,可没有返回语句:
complier
假设返回0
•
main
返回一个int
类型的值:
main
返回0
:成功;非0
:失败
7)
花括号和分号
Braces and semicolons
Braces and semicolons
•
一对匹配的花括号之间的语句构成一个作用域
scope
•
由分号结尾的表达式是一条语句
8)
输出 Output
•
std::cout << e
进行运算时将e
的值写到标输出流中
•
同时产生 ostream
类型的std::cout
为结果值,以便进行链式输出操作
•