Chapter 1.Getting Started
Section 1.1 Writing a Simple C++ Program
The operating system uses the value returned by main to determine whether the program succeeded or failed.
A return value of 0 indicates success.
The main function is special in various ways, the most important of which are that the function must exist
in every C++ program and it is the (only) function that the operating system explicitly calls.
The main function is required to have a return type of int, which is the type that represents integers.
g++: $ g++ prog1.cc -o prog1
cl: C:\directory> cl -GX prog1.cpp
Section 1.2 A First Look at Input/Output
In the case of the input/output operator, the result is the value of its left-hand operand. That is, the
value returned by an input/output operation is the input/output stream itself.
The fact that the operator returns its left-hand operand allows us to chain together input/output requests.
"endl" is a special value, called a manipulator, that when written to an output stream has the effect of
writing a newline to the output and flushing the buffer associated with that device.
Namespaces allow programmers to avoid inadvertent collisions with the same names defined by a library.
When writing a C++ program, in most places that a space appears we could instead use a newline. One exception
to this rule is that spaces inside a string literal cannot be replaced by a newline. Another exception is
that spaces are not allowed inside preprocessor directives.
Section 1.3 A Word About Comments
There are two kinds of comments in C++: single-line and paired.
A single-line comment starts with a double slash (//). Everything to the right of the slashes on the current
line is a comment and ignored by the compiler.
The other delimiter, the comment pair (/* */), is inherited from the C language. Such comments begin with a
/* and end with the next */. The compiler treats everything that falls between the /* and */ as part of the
comment.
Comment pairs can span multiple lines of a program but are not required to do so. When a comment pair does
span multiple lines, it is often a good idea to indicate visually that the inner lines are part of a multi-
line comment. Our style is to begin each line in the comment with an asterisk, thus indicating that the
entire range is part of a multi-line comment.
Comment Pairs Do Not Nest.
Section 1.4 Control Structures
while:
int sum = 0, val = 1;
while (val <= 10) {
sum += val;
++val;
}
for:
int sum = 0;
for (int val = 1; val <= 10; ++val)
sum += val;
if:
int lower, upper;
if (v1 <= v2) {
lower = v1;
upper = v2;
} else {
lower = v2;
upper = v1;
}
Operating systems use different values for end-of-file. On Windows systems we enter an end-of-file by typing
a control-z:simultaneously type the "ctrl" key and a "z."
On UNIX systems, including Mac OS-X machines, it is usually control-d.
Section 1.5 Introducing Classes
Headers for the standard library are enclosed in angle brackets (< >). Nonstandard headers are enclosed in
double quotes (" ").
A member function is a function that is defined by a class. Member functions are sometimes referred to as
the methods of the class.
When we call a member function, we (usually) specify the object on which the function will operate. This
syntax uses the dot operator (the "." operator).
To call a function, we follow the function name by the call operator (the "()" operator).
Section 1.6 The C++ Program
Chapter Summary
Defined Terms
argument
A value passed to a function when it is called.
block
Sequence of statements enclosed in curly braces.
buffer
A region of storage used to hold data. IO facilities often store input (or output) in a buffer and read or
write the buffer independently of actions in the program. Output buffers usually must be explicitly flushed
to force the buffer to be written. By default, reading cin flushes cout; cout is also flushed when the
program ends normally.
built-in type
A type, such as int, defined by the language.
cerr
ostream object tied to the standard error, which is often the same stream as the standard output. By default,
writes to cerr are not buffered. Usually used for error messages or other output that is not part of the
normal logic of the program.
cin
istream object used to read from the standard input.
class
C++ mechanism for defining our own data structures. The class is one of the most fundamental features in C++.
Library types, such as istream and ostream, are classes.
class type
A type defined by a class. The name of the type is the class name.
clog
ostream object tied to the standard error. By default, writes to clog are buffered. Usually used to report
information about program execution to a log file.
comments
Program text that is ignored by the compiler. C++ has two kinds of comments: single-line and paired. Single-
line comments start with a //. Everything from the // to the end of the line is a comment. Paired comments
begin with a /* and include all text up to the next */.
condition
An expression that is evaluated as true or false. An arithmetic expression that evaluates to zero is false;
any other value yields true.
cout
ostream object used to write to the standard output. Ordinarily used to write the output of a program.
curly brace
Curly braces delimit blocks. An open curly ({) starts a block; a close curly (}) ends one.
data structure
A logical grouping of data and operations on that data.
edit-compile-debug
The process of getting a program to execute properly.
end-of-file
System-specific marker in a file that indicates that there is no more input in the file.
expression
The smallest unit of computation. An expression consists of one or more operands and usually an operator.
Expressions are evaluated to produce a result. For example, assuming i and j are ints, then i + j is an
arithmetic addition expression and yields the sum of the two int values. Expressions are covered in more
detail in Chapter 5.
for statement
Control statement that provides iterative execution. Often used to step through a data structure or to
repeat a calculation a fixed number of times.
function
A named unit of computation.
function body
Statement block that defines the actions performed by a function.
function name
Name by which a function is known and can be called.
header
A mechanism whereby the definitions of a class or other names may be made available to multiple programs.
A header is included in a program through a #include directive.
if statement
Conditional execution based on the value of a specified condition. If the condition is true, the if body is
executed. If not, control flows to the statement following the else if there is one or to the statement
following the if if there is no else.
iostream
library type providing stream-oriented input and output.
istream
Library type providing stream-oriented input.
library type
A type, such as istream, defined by the standard library.
main function
Function called by the operating system when executing a C++ program. Each program must have one and only
one function named main.
manipulator
Object, such as std::endl, that when read or written "manipulates" the stream itself. Section A.3.1 (p. 825)
covers manipulators in more detail.
member function
Operation defined by a class. Member functions ordinarily are called to operate on a specific object.
method
Synonym for member function.
namespace
Mechanism for putting names defined by a library into a single place. Namespaces help avoid inadvertent name
clashes. The names defined by the C++ library are in the namespace std.
ostream
Library type providing stream-oriented output.
parameter list
Part of the definition of a function. Possibly empty list that specifies what arguments can be used to call
the function.
preprocessor directive
An instruction to the C++ preprocessor. #include is a preprocessor directive. Preprocessor directives must
appear on a single line. We'll learn more about the preprocessor in Section 2.9.2.
return type
Type of the value returned by a function.
source file
Term used to describe a file that contains a C++ program.
standard error
An output stream intended for use for error reporting. Ordinarily, on a windowing operating system, the
standard output and the standard error are tied to the window in which the program is executed.
standard input
The input stream that ordinarily is associated by the operating system with the window in which the program
executes.
standard library
Collection of types and functions that every C++ compiler must support. The library provides a rich set of
capabilities including the types that support IO. C++ programmers tend to talk about "the library," meaning
the entire standard library or about particular parts of the library by referring to a library type. For
example, programmers also refer to the "iostream library," meaning the part of the standard library defined
by the iostream classes.
standard output
The output stream that ordinarily is associated by the operating system with the window in which the program
executes.
statement
The smallest independent unit in a C++ program. It is analogous to a sentence in a natural language.
Statements in C++ generally end in semicolons.
std
Name of the namespace used by the standard library. std::cout indicates that we're using the name cout
defined in the std namespace.
string literal
Sequence of characters enclosed in double quotes.
uninitialized variable
Variable that has no initial value specified. There are no uninitialized variables of class type. Variables
of class type for which no initial value is specified are initialized as specified by the class definition.
You must give a value to an uninitialized variable before attempting to use the variable's value.
Uninitialized variables can be a rich source of bugs.
variable
A named object.
while statement
An iterative control statement that executes the statement that is the while body as long as a specified
condition is true. The body is executed zero or more times, depending on the truth value of the condition.
() operator
The call operator: A pair of parentheses "()" following a function name. The operator causes a function to
be invoked. Arguments to the function may be passed inside the parentheses.
++ operator
Increment operator. Adds one to the operand; ++i is equivalent to i = i+ 1.
+= operator
A compound assignment operator. Adds right-hand operand to the left and stores the result back into the
left-hand operand; a += b is equivalent to a =a + b.
. operator
Dot operator. Takes two operands: the left-hand operand is an object and the right is the name of a member
of that object. The operator fetches that member from the named object.
:: operator
Scope operator. We'll see more about scope in Chapter 2. Among other uses, the scope operator is used to
access names in a namespace. For example, std::cout says to use the name cout from the namespace std.
= operator
Assigns the value of the right-hand operand to the object denoted by the left-hand operand.
<< operator
Output operator. Writes the right-hand operand to the output stream indicated by the left-hand operand:
cout << "hi" writes hi to the standard output. Output operations can be chained together: cout << "hi
<< "bye" writes hibye.
>> operator
Input operator. Reads from the input stream specified by the left-hand operand into the right-hand operand:
cin >> i reads the next value on the standard input into i. Input operations can be chained together: cin >>
i >> j reads first into i and then into j.
== operator
The equality operator. Tests whether the left-hand operand is equal to the right-hand.
!= operator
Assignment operator. Tests whether the left-hand operand is not equal to the right-hand.
<= operator
The less-than-or-equal operator. Tests whether the left-hand operand is less than or equal to the right-hand.
< operator
The less-than operator. Tests whether the left-hand operand is less than the right-hand.
>= operator
Greater-than-or-equal operator. Tests whether the left-hand operand is greater than or equal to the right-hand.
> operator
Greater-than operator. Tests whether the left-hand operand is greater than the right-hand.
分享到:
相关推荐
C++Primer中文第三版(C++从入门到精通)第一章的读书笔记,主要是C++程序、预处理器指示符、iostream库等的基础知识点读书笔记。
C++Primer中文版第5版
C++ Primer Plus第6版.pdf
C++ Primer(5e,Addison Wesley,201208).epub 这是老外网站上刚泄露出来的正式版本(绝对的正式版,还有ISBN和出版日期),不是以前网上出现过的草稿 这本书的上一版(第4版)还是2005年的事了 拖了很多年之后,去年...
C++ primer课后习题参考答案.zip
C++ Primer课后习题部分答案.zip
C++ primer中文第四版.part3.经典的书籍不用说了。!!
C++primerplus笔记.pdf
《C++ Primer 第五版 答案》这个压缩包文件是针对知名编程教材《C++ Primer》第五版的学习辅助资料。《C++ Primer》是一本深入浅出介绍C++编程语言的经典书籍,适合初学者和有经验的程序员作为参考。第五版更新了...
也如此,Standely Lippman 和 Josee Lajoie所著的畅销书《C++ Primer 3/e》中出现了许多问题,用来协助C++ 程序员获得实际经验,并能更深刻地了解这一语言的复杂度。 但是当其中的某些习题阻挡了你的进步时,你将...
### C++ Primer 读书笔记概览 #### 操作系统与主函数 - **主函数返回值的意义**:操作系统依据`main`函数返回的值来判定程序执行的状态,其中,0值意味着程序成功运行至结束。非零返回值,具体含义由操作系统定义...
C++ Primer中文第四版.pdf 经典C++进阶教程 四大经典书之一 由于资源较大,解压后大概100M,所以分两部分上传,这是第一部分。
C++Primer.pdf.part1.rar 文件太大,一次上传不完,只有分两次上传,还有一文件名为C++Primer.pdf.part2.rar
C++ Primer 是一本经典的C++学习书籍,涵盖了C++的基础知识和高级特性。这篇学习笔记主要涉及了C++编程的一些核心概念,包括程序结构、变量、基本类型、初始化与赋值、可读性、常量与引用、typedef、枚举以及标准库...
C++ Primer 笔记 C++ Primer 是一本深入学习C++编程语言的经典教材,它涵盖了C++的基础到高级概念,包括语法、数据类型、控制结构、复合类型、类和对象等核心主题。以下是对笔记中提及的一些关键知识点的详细解释:...
C++ Primer中文第四版.pdf 经典C++进阶教程 四大经典书之一 由于资源较大,解压后大概100M,所以分两部分上传,这是第二部分。
1. C++基础语法与程序结构:文件提到了C++程序的基本结构,包括main函数的定义、输入输出流的使用、变量的声明、标准库头文件的包含等。例如,使用#include来包含标准输入输出流库,以及main函数的返回类型int。 2....