C语言学习笔记(二)- 数据类型、变量、常量

本文介绍了C语言中的数据类型,包括字符型(char)、短整型(short)、整型(int)、长整型(long)等,并展示了通过sizeof运算符获取各类型所占内存大小。同时,文章讨论了变量的分类,如局部变量和全局变量,以及它们的作用域和生命周期。此外,还提到了C语言中的常量类型,包括字面常量、const修饰的常量、#define定义的宏常量和枚举常量。
摘要由CSDN通过智能技术生成

数据类型

在计算机高级语言中,数据有两种表现形式:变量和常量。

变量

变量代表一个有名字的、具有特定属性的一个存储单元。它用来存放数据,也就是存放变量的值。在程序运行期间,变量的值是可以改变的。变量必须先定义,后使用。在定义时应该指定变量的名字和类型。
C语言要求在定义所有的变量时都要指定变量的类型。所谓类型,就是对数据分配存储单元的安排,包括存储单元的长度(占多少字节)以及数据的存储形式。不同的类型分配不同的长度和存储形式。
C语言允许使用的基本数据类型有以下几种。之所以将数据类型细分,是为了合理分配内存。

char         //字符数据类型
short        //短整型
int          //整型
long         //长整型
long long    //更长的整型
float        //单精度浮点数
double       //双精度浮点数

那么每种数据类型的大小是多少呢?

#include<stdio.h>
int main()
{
    printf("%d\n", sizeof(char ));  
    printf("%d\n", sizeof(short));  
    printf("%d\n", sizeof(int));    
    printf("%d\n", sizeof(long));   
    printf("%d\n", sizeof(long long));  
    printf("%d\n", sizeof(float));      
    printf("%d\n", sizeof(double));     
    return 0;
}

程序运行结果如下:
在这里插入图片描述
由以上结果可知,编译系统分配给char型数据1个字节,分配给int型数据2个字节,以此类推。在计算机中,1个字节(byte)是8个比特位(bite),即8个二进制位,1kB = 1024个字节,1MB = 1024kB,GB、TB同理。
C语言没有具体规定各种类型数据所占用存储单元的长度,这是由各编译系统自行决定的。C语言只要求long型数据长度不短于int型,short型不长于int型。即 sizeof(short)≤sizeof(int)≤sizeof(long)≤sizeof(long long) 。

变量的分类

  • 局部变量
  • 全局变量
#include<stdio.h>
int global = 2019;       // 全局变量
int main()
{
    int local = 2018;    // 局部变量
    int global = 2020;   // 局部变量
    printf("global = %d\n",global);   
    return 0;
}

程序运行结果如下:
在这里插入图片描述

上述程序定义了两次global变量,第一次是全局变量,第二次是局部变量,而程序的运行结果,global的值为2020,说明当局部变量和全局变量同名时,局部变量优先使用。当然,局部变量和全局变量的名字建议不要相同。

变量的作用域和生命周期

  • 作用域
    作用域是程序设计概念。通常来说,一段代码中所用到的名字并不总是有效的,而限定这个名字的可用性的代码范围就是这个名字的作用域。
    (1). 局部变量的作用域是变量所在的局部范围。
    (2). 全局变量的作用域是整个工程。
  • 生命周期
    变量的生命周期指的是变量的创建到变量的销毁之间的一个时间段。
    (1). 局部变量的生命周期是:进入作用域生命周期开始,出作用域生命周期结束。
    (2). 全局变量的生命周期是:整个程序的生命周期。

常量

C语言的常量分为以下几种:

  • 字面常量
  • const修饰的常变量
  • #define定义的标识符常量
  • 枚举常量
#include<stdio.h>
// 举例
enum Sex
{
  MALE,
  FEMALE
};
// 括号中的MALE,FEMALE是枚举常量
int main()
{
  // 字面常量
  3.14;
  1000;

  // const修饰的常变量
  const float pai = 3.14f; 

  // #define的标识符常量
  #define MAX 100
  printf("max = %d\n", MAX);

  // 枚举常量演示
  printf("%d\n", MALE);
  printf("%d\n", FEMALE);
  // 枚举常量默认是从0开始的,依次向下递增1
}

程序运行结果如下:
在这里插入图片描述

上面例子的pai被称为const修饰的常变量,const修饰的常变量在C语言中只是在语法层面限制了pai不能被直接改变,但是pai本质上还是一个变量的,所以叫常变量。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lantian313

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值