变量和赋值

 大多数程序在产生输出之前往往需要执行一些列的计算,因此需要在程序执行过程中有一种临时存储数据的方法。和大多数编程语言一样,c语言中的这类存储单元被称为变量。

类型

 每一个变量都必须有一个类型,类型用来说明变量所存储的数据的种类。c语言用于广泛多样的类型。但是现在,我们将只限定在两种类型范围内:int类型和float类型,以后还有其他类型变量由于类型会影响变量的存储方式以及允许对变量进行操作,所以选择合适的类型是非常关键的。数值型变量的类型决定了变量所能存储的的最大值和最小值,同时叶决定了是否允许在小数点后出现数字。
 int型变量可以存储整数,如0,,392,-2553,但是,整数的取值范围是有限制的。最大的整数通常是2147483647,但是在某些计算机上也可能只有32767.
 float型变量可以存储比int型变量大的多的数值,而且float型变量可以存储带小数位的数,如379.125.但是float型变量也有一些缺陷。进行运算时float型变量通常比int型变量慢;更重要的是。float型变量所存储的数值往往只是实际数值的一个近似值。如果在一个float型变量中存储0.1,以后可能会发现变量的值为0.0999999999999987,这是舍入的误差。

声明

 在使用变量之前必须对其进行声明(为编译器所做的描述),为了声明变量,首先要指定变量的类型,然后说明变量的名字。(程序员决定变量的名字,名字的规则以后还会提到),例如,我们可以声明这样的变量height和profit。

int height;
float profit;

 第一条声明说明height是一个int 型变量,这也就意味着height可以存储一个整数值,第二条声明则表示profit是一个float类型变量。
 如果几个变量具有相同的类型,就可以把他们的声明合并。

int height,length,width,volume;
float profit,loss;

注意每一条完整的声明语句都要以分号结尾。
 在main函数的第一个模块中并没有包含声明。当main函数包含声明时,必须把声明放置在语句之前。

int main(void)
{
	声明
	语句
}

赋值

 变量通过赋值的方式获得值,例如语句

height = 8;
length = 12;
width = 10;

把数值8,12和10分别赋值给height,length,和width,8,12和10称为常量。
变量在赋值或以其他方式使用之前必须声明,也就是说我们可以这样写:

int height;
height = 8;

但下面这样是不行的:

height = 8;
int height = 8;

赋值float型变量的常量通常都带小数点,例如,如果profit是一个float型的变量,可能会这样对其赋值;

profit = 20180.48;

当我们把一个包含小数点的常量赋值给float型变量时,最好在该常量后面加一个字母f(代表float)
不加f可能会引发编译器的警告。
正常情况下,要将int型的值赋给int型的变量,将float型的值赋给float型的变量,混合类型赋值(如把int型的值赋给float型变量或者把float型的值赋给int型变量)是可以的,但是不一定安全,后续还会继续介绍。
一旦变量被赋值,就可以用它来辅助计算其他变量的值;

int height,length,width,volume;
height = 8;
length = 12;
width = 10;
volume = height * length *width;

在c语言中,符号*表示乘法运算,因此上述语句把存储在height,length和width这三个变量中的数值相乘,然后把运算结果赋值给变量volume。通常情况下,赋值运算的右侧可以是一个含有常量,变量和运算符的公式(在c语言的术语中称为表达式)

显示变量的值

用printf可以显示出变量的当前值,以
Height:h
为例,这里的h表示变量height的当前值。我们可以通过如下的printf调用来实现输出上述信息的要求:
printf(“Height :%d\n”,height);
占位符%d用来指明在显示过程中变量height的值的显示位置。注意,由于在%d后面放置了\n,所以printf在显示完height的值后会跳到下一行。
%d仅用于int变量。如果要显示float型变量,需要用%f来代替%d,默认情况下,%f会显示小数点后6位数字。如果要强制%f显示小数点后p位数字,可以把p放在%和f之间,例如,为了显示信息:
profit:¥2150.48
可以把printf写为如下形式:

printf("Profit:$%.2f",profit);

c语言没有限制调用一次printf可以显示的变量的数量。为了同时显示变量height和变量length的值,可以使用下面的printf调用语句。

printf("Height: %d  length :%d\n",height,length);

初始化

当程序开始执行时,某些变量会被自动设置为0,但是大多数变量是不会的。没有默认值并且尚未在程序中被赋值的变是未初始化的。
注意
如果试图访问未初始化的变量(例如:用printf显示变量的值,或者在表达式使用该变量),可能会得到不可预知的结果,在某些编译器中,可能会发生更坏的情况,有可能还会导致程序崩溃。
我们当然可以总是采用赋值的方法给变量赋初始值,但还有更简便的方法:在变量声明中加入初始值,例如,可以在一步操作中声明变量height并同时对其进行初始化:

int height = 8;

按照c语言的术语,数值8是一个初始化式。
在同一个声明中可以对任意数量的变量进行初始化;

int height = 8,length = 12,width = 10;

注意,上述每个变量都有属于自己的初始式,在接下来的例子中,只有变量width拥有初始化 式10,而变量height和变量length都没有(也就是说这两个变量任然为初始化):

int height,length,width = 10;
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值