C++ 知识量:19 - 82 - 316
C++表达式语句是C++程序中最基本的语句形式之一,它由一个表达式和分号组成。表达式可以是算术表达式、布尔表达式、赋值表达式等。
下面是一些示例表达式语句:
1. 算术表达式语句:
int a = 10; int b = 20; int c = a + b; // 算术表达式语句
2. 布尔表达式语句:
int x = 10; int y = 20; if (x < y) { // 布尔表达式语句 cout << "x is less than y"; }
3. 赋值表达式语句:
int p = 30; p = 40; // 赋值表达式语句
4. 自增自减表达式语句:
int q = 50; q++; // 自增表达式语句 q--; // 自减表达式语句
注意:表达式语句可以带有括号,例如:
(a + b) * c; // 带括号的表达式语句
在C++中,空语句(empty statement)是一个不执行任何操作的语句,它仅由一个分号组成。空语句在语法上是合法的,但没有任何实际作用。它通常用于提供一个占位符,在程序中需要一个语句但没有任何实际操作时使用。例如:
int x = 10; int y = 20; ; // 空语句
在这个例子中,空语句没有任何影响,它只是为了满足语法要求。
C++中的复合语句(compound statement)是一种包含多个语句的语句,通常使用花括号({})将多个语句组合在一起。复合语句可以包含多个变量定义、表达式、控制结构等。
下面是一个简单的复合语句示例:
{ int x = 10; int y = 20; cout << "x + y = " << x + y << endl; }
在这个例子中,花括号将三个语句组合成一个复合语句。首先定义了两个整型变量x和y,然后计算它们的和并打印输出。
需要注意的是,在C++中,花括号可以用于组合多个语句,但并不是必须的。如果复合语句只包含一个语句,则可以省略花括号。例如:
int x = 10; // 只有一个语句,可以省略花括号
C++语句作用域(scope)是指变量的可见性和生命周期。在C++中,变量的作用域可以是局部(local)、成员(member)、全局(global)或命名空间(namespace)级别的。
1. 局部作用域:局部作用域是指在一个函数或代码块内部定义的变量。这些变量的作用域仅限于它们被定义的地方,在函数或代码块之外是不可见的。当函数或代码块执行完毕后,局部变量会被销毁。
例如:
void myFunction() { int x = 10; // 局部变量 cout << x << endl; }
在这个例子中,变量x的作用域仅限于myFunction函数内部,在函数外部是不可见的。
2. 成员作用域:成员作用域是指在一个类中定义的变量。这些变量只有在类的成员函数内部可见,并且它们的生命周期与类的生命周期相同。
例如:
class MyClass { private: int x; // 成员变量 public: void setX(int value) { x = value; } int getX() { return x; } };
在这个例子中,变量x的作用域仅限于MyClass类的成员函数内部,在类的外部是不可见的。
3. 全局作用域:全局作用域是指在所有函数和类之外定义的变量。这些变量在整个程序中都是可见的,并且它们的生命周期与程序的执行时间相同。
例如:
int globalVar = 10; // 全局变量
在这个例子中,变量globalVar的作用域是全局的,可以在程序的任何地方访问。
4. 命名空间作用域:命名空间作用域是指在一个命名空间内部定义的变量。这些变量的作用域仅限于它们所属的命名空间内部,但可以在其他命名空间中使用前缀来访问。
例如:
namespace MyNamespace { int x = 10; // 命名空间变量 }
在这个例子中,变量x的作用域仅限于MyNamespace命名空间内部,但可以在其他命名空间中使用前缀"MyNamespace::x"来访问。
Copyright © 2017-Now pnotes.cn. All Rights Reserved.
编程学习笔记 保留所有权利
MARK:3.0.0.20240214.P35
From 2017.2.6