章节目录

第1章总结

本节阅读量:

章节回顾

语句是一种指令类型,它使程序执行某些操作。通常以分号结尾。

函数是按顺序执行的语句集合。C++程序必须包含一个名为main的特殊函数。运行程序时,执行从main函数的顶部开始。

控制C++语言元素如何构造的规则称为语法。当违反语言的语法规则时,会有语法错误。

注释,允许程序员在代码中留下注释。C++支持两种类型的注释。行注释以//开头,一直到行的末尾。块注释以/开头,然后以/符号结束。不要嵌套块注释。

可以使用注释临时禁用代码的行或节。称为注释掉代码。

数据是计算机可以移动、处理或存储的任何信息。存储在内存中的一段数据称为值。

变量是一块命名的内存,用来存储值。变量的名称称为标识符。创建变量时,使用变量定义语句。程序运行时,定义的变量被实例化,并被分配内存地址。

数据类型告诉编译器如何将数据解释为有意义的值。整数是在没有分数的情况下写入的数字,例如4、27、0、-2或-12。

复制赋值(通过操作符=)用于为已创建的变量赋值。

初始化用于在创建时为变量赋值。C++支持3种类型的初始化:

  1. 拷贝初始化。
  2. 直接初始化(也称为括号初始化)。
  3. 列表初始化(也称为统一初始化或大括号初始化)。

尽管可以在单个语句中定义多个变量,但最好在单独的语句中定义和初始化每个变量。

std::cout和operator«将表达式的值输出到控制台。endl输出换行符,强制控制台光标移动到下一行。std::cin和operator»从键盘获取值。

尚未给定值的变量称为未初始化变量。试图获取未初始化变量的值将导致未定义的行为,可能会获取到随机的值。

C++保留一组名为关键字的名称。在语言中具有特殊意义,不能用作变量名。

字面值常量是直接插入到源代码中的固定值。例如5和“Hello world!”。

操作符有零个或多个操作数。要执行的操作由操作符表示。运算结果产生输出值。

一元操作符有一个操作数。二元操作符有两个操作数,称为左操作数和右操作数。三元操作符有三个操作数。零元操作符无操作数。

表达式是字面值常量、变量、操作符和函数调用的组合,被计算并产生单个输出值。输出值的计算称为求值。产生的值是表达式结果。

在表达式尾部放置分号,则转化为表达式语句。

在编程时,不要等到写完整个程序后才编译!每写完几行或一个函数后,就进行编译,解决错误,并确保其正常工作。

先让代码能够正常工作。一旦确定要保留某些代码,就可以花时间删除(或注释掉)临时/调试代码、添加注释、处理错误情况、格式化代码、遵循最佳实践、删除冗余逻辑等。

第一版编写的代码通常是凌乱和不完美的。大多数代码需要经过清理和细化才能变得更好!


习题

问题 1

初始化和赋值有什么区别?一个变量可以被初始化或赋值多少次?

查看答案

初始化是在变量创建时为它提供初始值;赋值是在变量已经定义之后为它赋予新的值。

由于变量只会被创建一次,因此它只能被初始化一次。而变量可以被赋值任意多次。

问题 2

未定义的行为在什么时候发生?未定义的行为会导致什么后果?

查看答案

当程序员做了C++语言规范没有明确定义的事情时,就会发生未定义的行为。后果几乎可以是任何情况,从程序崩溃、得到错误答案,到居然正常运行。

问题 3

编写一个程序,要求用户输入一个数字,然后再输入第二个数字。程序应当告诉用户这两个数字相加和相减的结果。

程序的输出应与下面一致(假设输入的6和4):

Enter an integer: 6
Enter another integer: 4
6 + 4 is 10.
6 - 4 is 2.

提示:要打印一个句点再加换行,请使用".\n",而不是'.\n'。

查看答案
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
#include <iostream>

int main()
{
	std::cout << "Enter an integer: ";
	int x{};
	std::cin >> x;

	std::cout << "Enter another integer: ";
	int y{};
	std::cin >> y;

	std::cout << x << " + " << y << " is " << x + y << ".\n";
	std::cout << x << " - " << y << " is " << x - y << ".\n";

	return 0;
}

1.10 开发第一个程序

上一节

2.0 函数简介

下一节