2.2 C++语句

C++程序是一组函数,而每个函数又是一组语句。C++有好几种语句,下面介绍其中的一些。程序清单2.2提供了两种新的语句。声明语句创建变量,赋值语句给该变量提供一个值。另外,该程序还演示了cout的新功能。

程序清单2.2 carrot.cpp

// carrots.cpp -- food processing program
// uses and displays a variable

#include <iostream>

int main()
{
    using namespace std;
    
    int carrots;            // declare an integer variable
    
    carrots = 25;            // assign a value to the variable
    cout << "I have ";
    cout << carrots;        // display the value of the variable
    cout << " carrots.";
    cout << endl;
    carrots = carrots - 1;  // modify the variable
    cout << "Crunch, crunch. Now I have " << carrots << " carrots." << endl;
     cin.get();
	return 0;
}

空行将声明语句与程序的其他部分分开。这是C常用的方法,但在C++中不那么常见。下面是该程序的输出:

I have 25 carrots. Crunch, crunch. Now I have 24 carrots. 

2.2.1 声明语句和变量

要将信息项存储在计算机中,必须指出信息的存储位置和所需的内存空间。在C++中,完成这种任务的一种相对简便的方法,是使用声明语句来指出存储类型并提供位置标签。例如,程序清单2.2中包含这样一条声明语句(注意其中的分号):

int carrots; // declare an integer variable 

这条语句提供了两项信息:需要的内存以及该内存单元的名称。具体地说,这条语句指出程序需要足够的存储空间来存储一个整数,在C++中用int表示整数。编译器负责分配和标记内存的细节。

完成的第二项任务是给存储单元指定名称。在这里,该声明语句指出,此后程序将使用名称carrots来标识存储在该内存单元中的值。carrots被称为变量,因为它的值可以修改,在C++中,所有变量都必须声明。如果省略了carrots.cpp中的声明,则当程序试图使用carrots时,编译器将指出错误。

程序中的声明语句叫做定义声明(defining declaration)语句,简称为定义(definition)。这意味着它将导致编译器为变量分配内存空间。在较为复杂的情况下,还可能有引用声明(reference declaration)。在C语言或Pascal中,所有时变量声明通常都位于函数或过程的开始位置,但C++没有这种限制;实际上,C++通常的做法是,在首次使用变量前前声明它。这样,就不必在程序中到处查找,以了解变量的类型。

2.2.2 赋值语句

赋值语句将值赋给存储单元。例如下面的语句将整数25赋给变量carrots表示的内存单元:

carrots = 25; 

符号=叫做赋值运算符。C++(和C)可以连续使用赋值运算符。下面的代码是合法的:

int steinway; 
int baldwin; 
int yamaha; 
yamaha = baldwin = steinway = 88; 

赋值将从右向左进行。首先,88被赋给steinway;然后,steinway的值(现在是88)被赋给baldwin;然后baldwin的值88被赋给yamaha。

程序清单2.2中的第二条赋值语句表明,可以对变量的值进行修改:

carrots = carrots - 1; // modify the variable 

赋值运算符右边的表达式carrots-1是一个算术表达式。计算机将变量carrots的值25减去1,得到24。然后,赋值运算符将这个新值存储到变量carrots对应的内存单元中。

2.2.3 cout的新花样

程序清单2.2使用cout来打印变量,该变量的值是一个整数:

cout << carrots; 

程序没有打印“carrots”,而是打印存储在carrots中的整数值,即25。实际上,这将两个操作合而为一了。首先,cout将carrots替换为其当前值25;然后,把值转换为合适的输出字符。

cout可用于数字和字符串。但数字25与字符串“25”有天壤之别。该字符串存储的是书写该数字时使用的字符,即字符3和8。程序在内部存储的是字符3和字符8的编码。要打印字符串,cout只需打印字符串中各个字符即可。但整数25被存储为数值,计算机不是单独存储每个数字,而是将25存储为二进制数。在打印之前,cout必须将整数形式的数字转换为字符串形式。另外,cout很聪明,知道carrots是一个需要转换的整数。

文件下载(已下载 515 次)

发布时间:2014/5/29 14:15:47  阅读次数:3383

2006 - 2024,推荐分辨率1024*768以上,推荐浏览器Chrome、Edge等现代浏览器,截止2021年12月5日的访问次数:1872万9823 站长邮箱

沪ICP备18037240号-1

沪公网安备 31011002002865号