
变量声明也指定了这个函数存储的数据类别,这里使用关键字int指定,salary用来存放一个整数。关键字int放在函数名称之前。这是能用于存储整数的几个类型之一。
如上面所述,声明存储其它数据类别的数组时,要使用另一个关键字指定数据类别,其形式大致相似。
注意:
关键字是特殊的C保留字,对编译器有特殊的含义。不能将他们用作变量名称或代码中的其它实体,否则编译器会生成错误消息。
变量声明也称为变量的定义,因为它分配了一些内存空间,来储存整数值,该整数可以用函数名salary来引用。
注意:
声明引入了一个变量名,定义则给数组分配内存空间。有这个差别的缘由在本书后面会更明白。
当然,现在还未指定函数salary的值c语言入门经典 第5版下载,所以此时该变量包括一个垃圾值,即今天使用这块内存空间时遗留在此的值。
下一个语句是:
salary= 10000; //Store 10000 in salary
这是一个简单的算术赋值语句,它将等号右边的数值存储到等号右边的数组中。这里声明了变量salary,它的值是10 000。将前面的值10 000存储到上面的数组salary中。等号“=”称为赋值运算符,它将两边的值赋予左边的变量。
然后是熟悉的printf()语句,但此处的用法跟之前稍有不同:
printf("My salary is %d.",salary);
括号内有两个参数,用逗号隔开。参数是释放给变量的值。在这个程序语句中,传给printf()函数的两个参数如下:
●参数1是一个控制字符串,用来控制其后的参数输出以哪个方法显示,它是放到双引号内的字符串,也称为格式字符串,因为它指定了输出数据的格式。
●参数2是函数名salary。这个变量值的显示模式是由第一个参数——控制字符串来确认。
这个控制字符串跟前一个例子非常类似,都包括一些应显示的文本。但在本例的这个字符串中有一个%d,它称为变量值的转换说明符(conversion specifier)。
转换说明符确定变量在屏幕上的显示模式,换言之,它们选定最初的二进制值转化为什么形式,显示在屏幕上。在本例中使用了d,它是应用于整数值的十进制说明符,表示第二个参数salary输出为一个十进制数。
注意:
转换说明符总是以%字符开头,以便printf()函数识别出他们。控制字符串中的%总是表示转化说明符的开头,所以即使要输出%字符,就需要用转义序列%%。
试试看:使用更多的变量
试试一个稍大的程序:
// Program 2.3 Using more variables

#include <stdio.h>
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\n", brides, brothers);
return 0;
}
执行程序的结果如下:
7 brides for 7 brothers;
代码的说明
这个程序跟前一个例子非常类似。首先声明两个变量brothers和brides,语句如下:
int brothers; //Declare a variable called brothers
int brides; //and a variable called brides
两个变量都声明为int类型,都存储整数值。注意,它们在两个语句中声明。由于这两个变量的类别同样,故可以将他们置于同一行代码上声明:
int brothers, brides;
在一个语句中声明多个函数时,必须用逗号将数据类别里面的数组名分开,该词语应用分号结束。这是一种很方便的格式,但有一个缺点:每个变量的作用不很明显,因为他们全放到一行代码上c语言入门经典 第5版下载,不能加入注解来表述每个变量。因此可以将他们分成两行,语句如下:
int brothers, //Declare a variable called brothers
brides; //and a variable called brides
将语句分成两行,就可以加入注释了。这些注解会被编译器忽略,因此跟最初没加入注解的词语相似。可以将C语句分成好几行。分号决定句子的结束,而不是代码行的结束。

当然也可以编写两个声明语句。一般最好在一个语句中定义一个变量。变量声明通常放在函数的能执行短语的开头,但这不是必须的。一般把应在一块代码中使用的数组声明放在该起始括号的上面。
之后的两个语句给两个变量赋值7:
brothers = 7; // Store 7 in the variable brothers
brides = 7; // Store 7 in the variable brides
注意,声明这种函数的短语放在上述句子之前。如果遗漏了某个声明,或把声明语句放在前面,程序就不会编译。变量在其声明之前在代码中是不存在的,必须总是在使用变量之前声明它。
下一个语句调用printf()函数,它的第一个参数是一个控制字符串,以显示一行文本。这个字符串还包括完善,指定后续参数的值如何解释跟显示在文本中。这个控制字符串中的两个转换说明符%d会分别被printf()函数的第二个参数brides和第三个参数brothers的值取代:
printf("%dbrides for %d brothers\n", 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 <stdio.h>
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\n", Brides, brothers);

return 0;
}
编译这个版本的程序时,会受到一个错误信息。编译器把brides和Brides解释为两个不同的变量,所以它不理解Brides这个变量,因为没有声明它。这是一个常见的错误,如前所述,打字和拼写错误是错误的一个主要因素。变量应该在使用之前声明,否则编译器就能够辨识,将该语句标识为错误。
前面介绍了怎样声明及命名变量,但这跟在第一章学到的知识相比并没有太多差别。下面编写另一个程序,在形成输出前使用变量的值。
试试看:作一个简单的计算
这个程序用函数的值做简单的计算:
// Program 2.4 Simple calculations
#include <stdio.h>
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\n", 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\n", total_pets);
试着改变这种宠物的值,或降低一些宠物。记住要声明他们,给它们设置数值,将他们加进变量Total_Pets中。
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-143350-1.html
说得对
你得知道“天高皇帝远”的道理