C语言学习笔记之(变量篇)
一、变量的介绍
变量是程序运行过程中其值可以改变的量。变量有三个属性,包括变量名、变量值和存储空间,如图所示。
二、变量的格式
只能以字母(A-z)或者数字(0-9)或_为开头
如:a、A、_number、2A、Abc
下列为非法变量名:$a、?A
但是给变量起名的时候尽量使用英文单词或者缩写起名,如
num或者number
int a; /*定义一个整型变量a*/
也可以同时定义多个变量,此时各变量名之间用逗号隔开,例如:
double r,l,s; /*定义三个双精度类型的变量r、l和s*/
在C语言中,对任何变量都必须“先定义,后使用”,只有在定义了变量的名字和数据类型之后,才能对变量进行各种运算。
三、给变量赋值
例如,定义一个整型变量a,并为其赋值0的方法如下:
int a; /*定义一个整型变量a*/
a=0; /*为a赋值0*/
用户也可定义变量的同时为变量赋初值,这种形式称为变量的初始化。例如:
int a=0; /*定义一个整型变量a并初始化为0*/
四、整型变量
1.短整型
我们定义的变量a和b都是有符号的短整型,其取值范围为-32768~32767,所以无法表示大于32767或者小于-32768的数,所以当a的值加1变成了32768后就发生了“溢出”。但运行时并不报错,它好像汽车里程表一样,达到最大值以后,又从最小值开始计数。所以32767加1后得到的结果不是32768,而是-32768。从这里可以看到:C语言的用法比较灵活,即使程序存在潜在问题,系统也不会给出“出错信息”,此时只能依靠程序员的经验来保证结果的正确。在这里,我们只需把变量b改成int型或者long型,就可以得到预期的结果了(32768)。
#include <stdio.h>
int main()
{
short a,b; /*定义两个短整型变量a和b*/
a=32767; /*将值32767赋给变量a*/
b=a+1; /*将a的值加1后赋给变量b*/
printf("a=%d,b=%d\n",a,b); /*输出a和b的值*/
return 0; /*函数返回值*/
}
#最后程序输出值为:
a=32767,b=-32768
修正代码
#include <stdio.h>
int main()
{
int/*或者是long int*/ a,b; /*定义两个短整型变量a和b*/
a=32767; /*将值32767赋给变量a*/
b=a+1; /*将a的值加1后赋给变量b*/
printf("a=%d,b=%d\n",a,b); /*输出a和b的值*/
return 0; /*函数返回值*/
}
#最后程序输出值为:
a=32767,b=32768
五、实型变量(浮点型)
整数类型并不适用于所有应用。有时需要变量能够存储带小数点的数,或者能够存储极大数或极小数。这类数可以用实型变量进行存储,实型变量也称为浮点型变量。实型变量根据精度可以分为单精度类型、双精度类型和长双精度类型等3种类型。具体的关键字表示和各类型的取值范围如表所示。
| 类型名称 | 关 键 字 | 字 节 数 | 精 度 | 取值范围(绝对值) |
|---|---|---|---|---|
| 单精度型 | float | 4 | 6个数字 | 0以及1.2×10-38~3.4×1038 |
| 双精度 | double | 8 | 15个数字 | 0以及2.3×10-308~1.7×10308 |
| 长双精度 | long double | 8 | 15个数字 | 0以及2.3×10-308~1.7×10308 |
1.单精度类型
单精度类型使用关键字float来进行定义变量,它在内存中占4个字节,提供6位有效数字,取值范围为-3.4×1038~-1.2×10-38、0以及1.2×10-38~3.4×1038。
列如以下代码:由于float型只接受6位有效数字,因此显示的数据中只有前6位是保证正确的,后面的数据将无法正确处理,显示的是编译器随机给出的数。为了扩展有效数字范围,可使用double类型或long double类型。
#include <stdio.h>
int main()
{
float f; /*定义单精度型变量f*/
f=1234567.95789; /*将值1234567.95789赋给变量f*/
printf("f=%f\n",f); /*输出变量f的值*/
return 0; /*函数返回值0*/
}
#最后程序输出结果:
f=12345678.000000
修正代码
#include <stdio.h>
int main()
{
double f; /*定义单精度型变量f,这里的单精度float换成双精度double*/
f=1234567.95789; /*将值1234567.95789赋给变量f*/
printf("f=%f\n",f); /*输出变量f的值*/
return 0; /*函数返回值0*/
}
#最后程序输出结果:
f=1234567.95789
C语言学习笔记之(变量篇)
https://www.wsjj.top/archives/c1
评论