Sign in
or
Register
Courses
Textbook
Compiler
Contests
Topics
Courses
C++。 基本
(C++) 子例程:过程和函数 - 1
Module:
(C++) 子例程:过程和函数 - 1
Problem
9
/12
局部和全局变量
Theory
Click to read/hide
局部和全局变量
通常需要使用仅在子程序中使用的附加变量。此类变量称为
本地
(或本地),只能在创建它们的子例程内进行操作。
Local variable scope
是声明它的花括号块
C++中的主程序也是一个子程序,所以在
main()
中声明的所有变量都是局部变量。
其他子程序对其他子程序的局部变量一无所知。
因此,可以将变量的作用域(scope)限制在真正需要它的子程序中。在编程中,这种技术称为
封装
-
隐藏变量不被外部更改。
如果有必要声明一个在程序中任何地方(在任何子程序中)都可见的变量,则此类变量在所有子程序之外声明(参见下表中的程序 3)。
此类变量称为
全局
。
在C++中,当程序启动时,所有全局变量都会自动设置为零(
布尔变量取值false
)。
分析三个程序:
<正文>
1) 在这个程序中,变量 i 是局部变量。在子程序中声明局部变量
2) 这里即使主程序中有变量i(值为7),也会新建一个值为5的局部变量i。
当你运行这个程序时,屏幕会显示值75
3) 这个程序有一个
全局变量i。
它的值可以在子程序和主程序中改变
该过程将使用全局变量 i 并为其分配一个等于 2 的新值。值 2
显示在屏幕上
无效测试() { 诠释我= 5; 输出 <<我; }
无效测试() { 诠释我= 5; 输出 <<我; } 主要的() { 诠释我= 7; 输出 <<我; 测试(); }
#include
; 使用命名空间标准; 诠释我; 无效测试() { 我 = 2; } 主要的() { 测试(); 输出 <<我; }
表>
Problem
使用
n
参数编写一个过程,显示一棵树冠高度为
n
的圣诞树。
主程序必须包含变量
n
的值的输入和过程的调用。
例子
<头>
<日>#日>
输入
输出
东西> <正文>
1
5
<前> o 哦 呜呜呜 呜呜呜 呜呜呜
表>
1000
ms
256 Mb
Rules for program design and list of errors in automatic problem checking
Teacher commentary