数据及数据类型

数据分为动态和静态,动态数据存储在内存中,静态数据存储在硬盘中
数据类型分为整型、实型(小数)、字符型

常量

常量包含整型常量、实型常量、字符型常量、字符串常量

  • 整型常量就是整常数

    • 二进制
    • 八进制
    • 十进制
    • 十六进制
  • 实型常量

    • 单精度(float)
    • 双精度(double)
  • 字符型常量

    • 普通字符
    • 转义字符
  • 字符串常量

    • 将一个或者多个字符用双引号("")括起来,这样构成的就是字符串常量
    • 注意字符串常量和字符型常量是不一样的
#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    // 整型常量
    10;
    
    
    // 实型常量(小数)
    // 单精度float / 双精度double
    // 注意:默认情况下编写的小数都是双精度的实型常量(double)
    10.1;   // 双精度double
    88.88;  // 双精度double
    
    5.2f;   // 单精度float(使用f结尾的小数,表示是单精度)
    
    
    // 字符型常量,用单引号括起来的就是字符型常量
    // 注意:字符型常量的单引号中只能写一个字符,如果写多个会报错
    'a';    // 字符型常量
    'ab';   // 错误写法
    '1';    // 字符型常量
    '12';    // 错误写法
    '李';    // 错误写法,一个汉字占3个字节
    
    // 特殊的字符常量,在C语言中,系统给某些字符的组合定义了特殊的函数,这些字符的组合可以当做单个字符来使用
    '\t';
    '\n';
    '\\';
    
    
    // 字符串型常量,用双引号括起来的就是字符串型常量
    // 注意:只要使用双引号括起来的字符,都是字符串常量
    "abc";
    "a";
    "1";

    return 0;
}

变量

当一个数据需要经常改变或者不确定时,就应该使用变量进行表示

定义变量的格式:数据类型 变量名称;

// 定义一个基本数据类型的变量
int number;     // 定义一个名称叫做 number 的整型变量


// 连续定义,如果多个变量都是相同类型的,那么可以采取连续定义
int age, sex;

注意: 变量中不能随便存储数据,只能存储与之对应的数据

int number;		// 初始化变量
number = 10;	// 会将等号右边的数据放到等号左边的变量对应的存储空间中

使用变量

int number = 10;
// 占位符号,%号是占位符的起始符号
printf("number --> %i\n", number);

float floatValue = 10.1f;
printf("floatValue --> %f\n", floatValue);

char charValue = 'a';
printf("floatValue --> %c \n", charValue);

变量作用域

变量的作用域从定义的那一行开始,一直到函数结束为止
C语言中所有变量都有自己的作用域,申明变量的类型不同,其作用域不同。C语言中的变量,按照作用域的范围可分为两种,即局部变量和全局变量

  • 局部变量
    局部变量也称为内部变量,局部变量是在函数内定义说明的。其作用域仅限于函数内(代码块),离开该函数后再使用这种变量是非法的。

  • 全局变量
    全局变量也称为外部变量,它是在函数外部定义的变量

#include <stdio.h>

// 定义全局变量,在函数外的变量称之为全局变量,全局变量可以在其它函数中使用
int age;

int main(int argc, const char * argv[]) {
    age = 10;   // 使用全局变量
    printf("全局变量 age --> %i\n", age);
    
    // 定义局部变量,在函数内部定义得变量称之为局部变量,局部变量只能在函数中使用
    int age = 50;

    printf("局部变量 age --> %i\n", age);
    {
        // 此处可以使用外层函数中定义的局部变量 age
        printf("局部变量 age --> %i\n", age);
    }
    return 0;
}

查看变量内存地址

#include <stdio.h>

int main(int argc, const char * argv[]) {
    
    // 使用&符号加变量名称可以获取到变量对应的内存地址,使用 %p 可以输出变量对应的内存地址进行格式化输出
    int age = 10;
    printf("&age --> %p\n", &age);      // 0x7ffeefbff52c
    
    age = 20;
    printf("&age --> %p\n", &age);      // 0x7ffeefbff52c
   
    return 0;
}

猜你喜欢

转载自blog.csdn.net/crazy_zhangcong/article/details/87910723