关于人工智能:逍遥自在学C语言-变量常量与数据类型

38次阅读

共计 4359 个字符,预计需要花费 11 分钟才能阅读完成。

前言

一、人物简介

  • 第一位闪亮退场,有请今后会始终教咱们 C 语言的老师 —— 自在。
  • 第二位上场的是和咱们一起学习的小白程序猿 —— 逍遥。

二、根本数据类型

1、整型

C 语言中的整型数据如下表所示:

数据类型 含意 长度(字节) 取值范畴(有符号) 取值范畴(无符号)
short 短整型 2 [-$2^{15}$ , $2^{15}$-1 ] [0 , $2^{16}$-1 ]
int 整型 4 [-$2^{31}$ , $2^{31}$-1 ] [0 , $2^{32}$-1 ]
long 长整型 4 或 8
long long 长长整型 8 [-$2^{63}$ , $2^{63}$-1 ] [0 , $2^{64}$-1 ]
  • 整型数据能够是有符号的,也能够是无符号的。
  • 有符号的整型能够示意正数和负数,而无符号的整型只能示意非负整数。

2、浮点型

浮点型用于示意实数,它分为单精度浮点型(float)和双精度浮点型(double)。单精度浮点型占用 4 个字节,双精度浮点型占用 8 个字节。它们的取值范畴和精度如下表所示:

数据类型 长度(字节) 取值范畴 精度
float 4 1.2E-38 ~ 3.4E38 约 6 位小数
double 8 2.2E-308 ~ 1.8E308(15 位有效数字) 约 15 位小数

🚩 浮点型数据在计算机外部以二进制模式存储,因而可能会存在精度问题。在进行浮点型数据的比拟时,应该应用适当的误差范畴进行比拟。

3、字符型

字符型用于示意单个字符,它占用 1 个字节。

数据类型 含意 长度(字节) 取值范畴(有符号) 取值范畴(无符号)
char 字符型 1 [-$2^7$ , $2^7$-1] [0 , $2^8$-1]

字符型数据能够作为单个字符应用,也能够作为整型数据应用,示意该字符在 ASCII 码表中的对应数值。

4、布尔型

布尔型 (bool) 用于示意虚实值,它只有两个取值:true 和 false。

在 C 语言中,布尔型数据被定义为一个整型数据类型,0 示意 false,非 0 示意 true。

三、变量

1、变量的定义和申明

在 C 语言中,变量必须先被定义或申明能力应用。定义一个变量意味着为它分配内存,申明一个变量意味着通知编译器这个变量的类型和名称。

  • 变量的定义格局如下:
type variable_name;

其中,type 是变量的数据类型,variable_name 是变量的名称。例如:

int apple;
short i = 5;
float voltage;
  • 变量的申明有两种状况:

1️⃣一种是须要建设存储空间的。例如:int apple 在申明的时候就曾经建设了存储空间。
2️⃣另一种是不须要建设存储空间的,通过应用 extern 关键字申明变量名而不定义它。例如:extern int apple,其中变量 apple 能够在别的文件中定义。

extern int apple; // 申明,不是定义
int students; // 申明,也是定义

📔 一般来讲,除非有 extern 关键字,否则都是变量的定义

2、变量类型

在 C 语言中,变量的类型指的是变量所存储的数据类型。咱们后面介绍的根本数据类型,都能够作为变量的类型。

  • int:整型,用于存储整数。
  • long: 长整型,用于存储更大的整数。
  • float:单精度浮点型,用于存储浮点数。
  • double:双精度浮点型,用于存储更大的浮点数。
  • char:字符型,用于存储字符。
  • bool:布尔型,用于存储布尔值。

C 语言还提供了一些复合数据类型,如构造体、联合体和枚举等,这些合乎数据类型,咱们在当前的文章中再介绍。

3、变量命名规定

  • 变量名能够由字母、数字和下划线组成,但必须以字母或下划线结尾。
  • 变量名不能应用 关键字 作为名称,变量名的长度没有限度,但倡议应用有意义的名称。

✔️ 正确的变量命名

int _gCount = 1;
int m_Age = 18;
long time2 = 20;

❌ 谬误的变量命名

int 1round = 0; // 不能以数字结尾

int case = 1; // 不能以关键字作为变量名

int %age = 16; // 不能用标点符号

int name age = 18; // 不能用空格

4、变量的初始化和赋值

  • 在 C 语言中,能够应用赋值运算符(=)将一个值赋给一个变量。

例如,上面的代码将值 20 赋给变量 num:

int num;
num = 20;
  • 变量的初始化是指在申明变量时将其赋初值。

例如,上面的代码申明并初始化了一个名为 num 的整数变量:

int num = 10;

5、变量作用域

在 C 语言中,变量的作用域指的是变量在程序中可见的范畴。变量能够在函数外部或内部定义。

  • 在函数外部定义的变量称为局部变量,只在该函数中可见。
  #include <stdio.h>
  
  void print_local_num() {
      int local_num = 20;    // 局部变量
      printf("local_num = %d\n", local_num);
  }
  
  int main()
  {print_local_num();  // 输入 local_num = 20
      return 0;    
  }
  • 在函数内部定义的变量称为全局变量,能够在整个程序中应用。
#include <stdio.h>

int global_num = 10; // 全局变量

void print_global_num() {printf("global_num = %d\n", global_num);
}

int main() {print_global_num();  // 输入 global_num = 10
    return 0;
}

6、变量存储类型

在 C 语言中,变量的存储类型指的是变量所存储的地位。C 语言中的存储类型包含主动、动态、寄存器和内部等。

  • 主动变量:主动变量在函数外部申明,在函数执行时被创立,在函数完结时被销毁。
  • 动态变量:动态变量在函数外部或函数内部申明,它们在程序开始执行时被创立,在程序完结时被销毁。
  • 寄存器变量:寄存器变量是指被存储在 CPU 寄存器中的变量,它们通常用于在计算密集型的代码中进步性能。
  • 内部变量:内部变量是在程序文件内部申明的全局变量,能够被程序的所有文件拜访。

🌴主动变量的默认存储类别为 auto。例如,上面的代码定义了一个主动变量 num:

#include <stdio.h>

void print_num() {
    auto int num = 30;
    printf("num = %d\n", num);
}

int main() {print_num();  // 输入 num = 30
    return 0;
}

🌴动态变量默认存储类别为 static,在程序执行期间始终存在,它的值在函数调用之间放弃不变。例如,上面的代码定义了一个动态变量 static_num:

#include <stdio.h>

void print_static_num() {
    static int static_num = 40;
    printf("static_num = %d\n", static_num);
    static_num++;
}

int main() {print_static_num();  // 输入 static_num = 40
    print_static_num();  // 输入 static_num = 41
    print_static_num();  // 输入 static_num = 42
    return 0;
}

🌴寄存器变量的默认存储类别为 register。例如,上面的代码定义了一个寄存器变量 reg_num:

#include <stdio.h>

void print_reg_num() {
    register int reg_num = 50;
    printf("reg_num = %d\n", reg_num);
}

int main() {print_reg_num();  // 输入 reg_num = 50
    return 0;
}

🌴内部变量的默认存储类别为 extern。例如,上面的代码定义了一个内部变量 extern_num,并在另一个文件中拜访它:

// other_file.c
int extern_num = 60;

// main.c
#include <stdio.h>

extern int extern_num;

void print_extern_num() {printf("extern_num = %d\n", extern_num);
}

int main() {print_extern_num();  // 输入 extern_num = 60
    return 0;
}

四、常量

在 C 语言中,常量能够是整数、浮点数、字符或字符串。

1、整数常量

整数常量是指不带小数局部的数字。在 C 语言中,整数常量能够用十六进制、八进制或十进制示意。下表列出了不同进制下整数常量的示意办法:

进制 格局 示例
十进制 间接写数字 10, 20, 30
八进制 以 0 结尾 012, 034, 076
十六进制 以 0x 或 0X 结尾 0x10, 0x1E, 0xFF

例如,上面的代码定义了三个整数常量:

#include <stdio.h>

int main() {
    int decimal_num = 10;
    int octal_num = 012;
    int hex_num = 0xFF;
    printf("decimal_num = %d, octal_num = %d, hex_num = %d\n", decimal_num, octal_num, hex_num);
    return 0;
}

输入后果为:decimal_num = 10, octal_num = 10, hex_num = 255。

2、浮点数常量

浮点数常量是指带有小数局部的数字。在 C 语言中,浮点数常量能够用小数点示意,也能够用迷信计数法示意。例如,上面的代码定义了两个浮点数常量:

#include <stdio.h>

int main() {
    float float_num = 1.23;
    double double_num = 1.23e-5;
    printf("float_num = %f, double_num = %f\n", float_num, double_num);
    return 0;
}

输入后果为:float_num = 1.230000, double_num = 0.000012。

3、字符常量

字符常量是指用单引号括起来的单个字符。例如,上面的代码定义了两个字符常量:

#include <stdio.h>

int main() {
    char char_a = 'A';
    char char_b = 'B';
    printf("char_a = %c, char_b = %c\n", char_a, char_b);
    return 0;
}

4、字符串常量

字符串常量是指用双引号括起来的多个字符。在 C 语言中,字符串常量实际上是一个字符数组,以空字符(’\0’)结尾。例如,上面的代码定义了一个字符串常量:

#include <stdio.h>

int main() {char str[] = "Hello, world!";
    printf("%s\n", str);
    return 0;
}

输入后果为:Hello, world!。

小结

通过这篇文章,咱们曾经学会了 C 语言中根本的数据类型、变量和常量的应用。持续加油,你会成为 C 语言大佬的!

以上,如果感觉对你有帮忙,点个赞再走吧,这样 @知微之见也有更新上来的能源!

也欢送私信我,一起交换!

正文完
 0