C语言程序设计————基本数据类型(变量)

前言:

前面讲了常量(在程序运行过程中,其值不能改变的量),今天讲它的另一半------变量,所谓变量,就算在程序运行过程中其值可以改变的量,通常用来保存程序运行过程中的输入数据,计算的中间结果和最终结果。定义一个变量需要三个基本要素:变量名,,变量类型和变量值。

C语言中的变量遵循先定义后使用的原则,变量定义的一般形式为:

变量类型 变量名表;

其中变量类型为变量中所储存数据的类型(等下就会讲到),变量名表的形式为:变量名1,变量名2,...,变量名n,最后以分号结束,它可以定义多个变量名。

本篇讲到的变量分为整型变量,浮点型变量和字符变量三类。

整型变量:

整型数据在内存中的存放:

在昨天讲到了,整型有三种表现形式(十进制,八进制和十六进制),但是这三种数据在电脑中存放是都是以二进制的形式存放的。

整型变量的分类和定义:

整型变量的基本类型说明符为 int 。根据占用内存字节数不同,可以将整型变量分为以下三种类型(以16位系统举例):

1,基本整型:变量类型用 int 表示,占2个字节。

2,短整型:变量类型用 short int 或 short 表示,占2个字节。

3,长整型:变量类型用 long int 或 long 表示,占4个字节。

                                                C语言程序设计————基本数据类型(变量)_第1张图片

 整型数据的溢出:

在 C 语言中,如果一个变量的值超过了其类型所允许的最大值,则会出现溢出现象。例如,一个 short int 型变量的最大允许值为32767,如果再给其加1,通过程序,得到的结果是-32768。这种现象就叫做溢出。运行不报错,但是结果和我们的意愿不同。

由于溢出的原因,数据在超出它的表示范围以后将是一个循环的表示。

 浮点型变量:

1,浮点型数据内存中的存放

浮点型数据在内存中占4个字节,按照指数形式存放。系统将一个浮点型数据分为两部分存放:小数部分和整数部分,小数部分采用规范化的指数形式。

2,浮点型变量的分类和定义

C 语言提供的常用的浮点型变量类型有单精度浮点型双精度浮点型,类型名分别为float和double 。有时也用长双精度浮点型,类型名为 long double 。C语言程序设计————基本数据类型(变量)_第2张图片

 3,浮点型数据的舍入误差

#include
int main()
{
    float a,b;
    a=123456789;
    b=a+20;
    printf("b=%f",b);
    return 0;
}

运行结果为:b=123456812.000000

上例可得:变量b只保留了前7位数字,从第八位起已不准确。

浮点型数据的数值精度和取值范围是两个不同的概念。例如,1234567.89在单精度浮点型的取值范围之内,但它的有效数字超过了8位。如果将其赋值给一个float型的变量,该变量可能是1234567.80,最后一位是一个随机值,损失了有效数字,从而降低了精度。

字符变量:

 字符在内存中的存放

每个字符占用一个字节的储存空间,在内存中,C语言规定,将一个字符放在一个字符变量中,并不是将该字符放在内存单元中,而是将该字符的ASCⅡ码存放在该变量的内存单元中。因此,可以将浮点型常量(变量)看成整型常量(变量),即浮点型和整型可以通用。 c 语言允许对整型赋以字符值,也允许对字符变量赋以整型值。在输出时,允许把字符变量按整型量输出,也允许将整型量按学符量输出。

include
int main()
{
    char c1,c2;
    int x,y;
    c1=97;
    c2=98;
    x='a';
    y='b';
    printf("%c,%c,%d,%d",c1,c2,c1,c2);
    printf("%c,%c,%d,%d",x,y,x,y); 
    return 0;  
}
运行结果为:a,b,97,98
           a,b,97,98

你可能感兴趣的:(c语言,开发语言,后端)