设为首页 加入收藏

TOP

C语言入门经典(第5版)之编程初步(三)
2014-11-23 20:25:11 来源: 作者: 【 】 浏览:34
Tags:语言 入门 经典 编程 初步
rothers , brides, brothers);

转换说明符按顺序被printf()函数的第二个参数brides和第三个参数brothers的值取代:变量brides的值对应第一个%d,变量brothers的值对应第二个%d。如果将设置变量值的语句改为如下所示,将会更清楚:

brothers = 8; // Store 8 in the variable brothers

brides = 4; // Store 4 in the variable brides

在这个比较明确的例子中,printf()语句会清楚地显示变量和转换说明符的对应关系,因为输出如下所示:

4 brides for 8 brothers

为了演示变量名是区分大小写的,修改printf()函数,使其中一个变量名以大写字母开头,如下所示:

// Program 2.3A Using more variables

#include

int main(void)

{

int brothers; // Declare a variable called brothers

int brides; // and a variable called brides

brothers = 7; // Store 7 in the variable brothers

brides = 7; // Store 7 in the variable brides

// Display some output

printf(%d brides for %d brothers , Brides, brothers);

return 0;

}

编译这个版本的程序时,会得到一个错误信息。编译器把brides和Brides解释为两个不同的变量,所以它不理解Brides这个变量,因为没有声明它。这是一个常见的错误,如前所述,打字和拼写错误是出错的一个主要原因。变量必须在使用之前声明,否则编译器就无法识别,将该语句标识为错误。

2.3.1 变量的使用

前面介绍了如何声明及命名变量,但这和在第一章学到的知识相比并没有太多用处。下面编写另一个程序,在产生输出前使用变量的值。

试试看:作一个简单的计算

这个程序用变量的值做简单的计算:

// Program 2.4 Simple calculations

#include

int main(void)

{

int total_pets;

int cats;

int dogs;

int ponies;

int others;

// Set the number of each kind of pet

cats = 2;

dogs = 1;

ponies = 1;

others = 46;

// Calculate the total number of pets

total_pets = cats + dogs + ponies + others;

printf(We have %d pets in total , total_pets); // Output the result

return 0;

}

执行程序的结果如下:

Wehave 50 pets in total

代码的说明

与前面的例子一样,大括号中的所有语句都有相同的缩进量,这说明这些语句都包含在这对大括号中。应当仿效此法组织程序,使位于一对大括号之间的一组语句有相同的缩进量,使程序更易于理解。

首先,定义5个int类型的变量:

int total_pets;

int cats;

int dogs;

int ponies;

int others;

因为这些变量都用来存放动物的数量,它们肯定是整数,所以都声明为int类型。

下面用4个赋值语句给变量指定特定的值:

cats = 2;

dogs = 1;

ponies = 1;

others = 46;

现在,变量Total_Pets还没有设定明确的值,它的值是使用其他变量进行计算的结果:

total_pets= cats + dogs + ponies + others;

在这个算术语句中,把每个变量的值加在一起,计算出赋值运算符右边的所有宠物数的总和,再将这个总和存储到赋值运算符左边的变量Total_Pets中。这个新值替代了存储在变量Total_Pets中的旧值。

printf()语句显示了变量Total_Pets的值,即计算结果:

printf(Wehave %d pets in total , total_pets);

试着改变某些宠物的值,或增加一些宠物。记住要声明它们,给它们设定数值,将它们加进变量Total_Pets中。

2.3.2 变量的初始化

在上面的例子,用下面的语句声明每个变量:

intcats; //The number of cats as pets

用下面的语句设定变量Cats的值:

Cats = 2;

将变量Cats的值设为2。这个语句执行之前,变量的值是什么?它可以是任何数。第一个语句创建了变量Cats,但它的值是上一个程序在那块内存中留下的数值。其后的赋值语句将变量Cats的值设置为2。但最好在声明变量时,就初始化它,语句如下所示:

int Cats = 2;

这个语句将变量Cat声明为int类型,并设定初值为2。声明变量时就初始化它一般是很好的做法。它可避免对初始值的怀疑,当程序运作不正常时,它有助于追踪错误。避免在创建变量时使用垃圾值,可以减少程序出错时计算机崩溃的机会。随意使用垃圾值可能导致各种问题,因此从现在起,就养成初始化变量的好习惯,即使是0也好。

上面的程序是第一个真正做了些事情的程序。它非常简单,仅仅相加了几个数字,但这是非常重要的一步。它是运用算术语句进行运算的一个基本例子。下面介绍一些更复杂的计算。

1. 基本算术运算

C语言中,算术语句的格式如下:

变量名= 算术表达式;

赋值运算符右边的算术表达式指定使用变量中存储的值和/或明确给出的数字,以及算术运算符如加(+)、减(-)、乘(*)及除(/)进行计算。在算术表达式中也可以使用其他运算符,如后面所述。

前面例子中的算术语句如下:

total_pets= cats + dogs + ponies + others;

这个语句先计算等号右边的算术表达式,再将所得的结果存到左边的变量中。

C语言中,符号“=”定义了一个动作,而不是像数学中那样说明两边相等。它指定将右边表达式的结果存到左边的变量中。因此可以编写下面的语句:

total_pets= total_pets + 2;

以数学的观点来看,它是很荒唐的,但对编程而言它是正确的。假定重新编写程序,添加上面的语句。添加了这个语句的程序段如下:

total_pets = cats + dogs + ponies + others;

total_pets =total_pets + 2;

printf(The total number of petsis: %d, total_pets);

在执行完第一个语句后,Total_Pets的值是50。之后,第二行提取Total_Pets的值,给该值加2,再将结果存储回变量Total_Pets。因此最后显示出来的总数是52。

注意:

在赋值运算中,先计算等号右边的表达式,然后将结果存到等号左边的变量中。新的值取代赋值运算符左边的变量中的原值。赋值运算符左边的变量称为lvalue,因为在这个位置可以存储一个值。执行赋值运算符右边的表达式所得的值称为rvalue,因为它是计算表达式所得的一个值。

计算结果是数值的表达式称为算术表达式,下面都是算术表达式:

3 1 + 2 total_pet

首页 上一页 1 2 3 4 5 下一页 尾页 3/5/5
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
分享到: 
上一篇C语言图形编程--俄罗斯方块制作(.. 下一篇C语言图形编程--俄罗斯方块制作(..

评论

帐  号: 密码: (新用户注册)
验 证 码:
表  情:
内  容: