学学习网 手机版

学学习网

学习路径: 学习首页 > 应用开发 > c++ >

第二节 C++语法规则(2)

设置字体:
----------------------------------
* 字节数一列和范围一列可能根据程序编译和运行的系统不同而有所不同。这里列出的数值是多数32位系统的常用数据。对于其他系统,通常的说法是整型(int)具有根据系统结构建议的自然长度(即一个字one word的长度),而4中整型数据char, short, int, long的长度必须是递增的,也就是说按顺序每一类型必须大于等于其前面一个类型的长度。同样的规则也适用于浮点数类型float, double和 long double,也是按递增顺序。
除以上列出的基本数据类型外,还有指针(pointer)和void 参数表示类型,我们将在后面看到。
变量的声明(Declaration of variables
在C++中要使用一个变量必须先声明(declare)该变量的数据类型。声明一个新变量的语法是写出数据类型标识符(例如int, short, float...) 后面跟一个有效的变量标识名称。例如:
int a;
float mynumber;
以上两个均为有效的变量声明(variable declaration)。第一个声明一个标识为a 的整型变量(int variable),第二个声明一个标识为mynumber 的浮点型变量(float variable)。声明之后,我们就可以在后面的程序中使用变量a和 mynumber 了。
如果你需要声明多个同一类型的变量,你可以将它们缩写在同一行声明中,在标识之间用逗号(comma) 分隔。例如:
int a, b, c;
以上语句同时定义了a、b、c 3个整型变量,它与下面的写法完全等同:
int a;
int b;
int c;
整型数据类型 (char, short, long 和 int) 可以是有符号的(signed)或无符号的(unsigned ),这取决于我们需要表示的数据范围。有符号类型(signed)可以表示正数和负数,而无符号类型(unsigned)只能表示正数和0。在定义一个整型数据变量时可以在数据类型前面加关键字 signed 或 unsigned 来声明数据的符号类型。例如:
unsigned short NumberOfSons;
signed int MyAccountBalance;
如果我们没有特别写出signed或 unsigned,变量默认为signed,因此以上第二个声明我们也可以写成:
int MyAccountBalance;
因为以上两种表示方式意义完全一样,因此我们在源程序通常省略关键字signed 。
唯一的例外是字符型(char)变量,这种变量独立存在,与signed char 和 unsigned char型均不相同。
short 和 long 可以被单独用来表示整型基本数据类型,short 相当于 short int, long 相当于 long int。也就是说 short year; 和 short int year; 两种声明是等价的。
最后,signed 和 unsigned 也可以被单独用来表示简单类型,意思分别同signed int 和 unsigned int 相同,即以下两种声明互相等同:
unsigned MyBirthYear;
unsigned int MyBirthYear;
下面我们就用C++代码来解决在这一节开头提到的记忆问题,来看一下变量定义是如何在程序中起作用的。
// operating with variables

#include <iostream.h>
using namespace std;

int main ()
{
    // declaring variables:
    int a, b;
    int result;

    // process:
    a = 5;
    b = 2;
    a = a + 1;
    result = a - b;

    // print out the result:
    cout << result;

    // terminate the program:
    return 0;
}
4
如果以上程序中变量声明部分有你不熟悉的地方,不用担心,我们在后面的章节中很快会学到这些内容。
 
变量的范围(Scope of variables
所有我们要使用的变量都必须事先声明过。C和C++语言的一个重要区别是,在C++语言中我们可以在源程序中任何地方声明变量,甚至可以在两个可执行(excutable)语句的中间声明变量,而不象在C语言中变量声明只能在程序的开头部分。
然而,我们还是建议在一定程度上遵循C语言的习惯来声明变量,因为将变量声明放在一处对debug程序有好处。因此,传统的C语言方式的变量声明就是把变量声明放在每一个函数(function)的开头(对本地变量local variable)或直接放在程序开头所有函数(function)的外面(对全局变量global variable)。
一个变量可以是本地(local)范围内有效,叫做本地变量,也可以是全局(global)范围内有效,叫做全局变量。全局变量要定义在一个源码文件的主体中,所有函数(包括主函数main())之外。而本地变量定义在一个函数甚至只是一个语句块单元中。如下图所示:
----------------------------------
课程列表
重点难点
赞助链接