C 变量、数据类型、常量

什么是变量?

变量是用于存储某个值的标识符。常量在执行期间永远不会改变。变量可以在程序执行期间改变,并更新其中存储的值。

一个变量可以在程序中的多个位置使用。变量名必须有意义。它应该代表变量的用途。

Example: Height, age, are the meaningful variables that represent the purpose it is being used for. Height variable can be used to store a height value. Age variable can be used to store the age of a person

变量在使用前必须先声明。变量名由字符、数字和下划线组成。

以下是创建变量时必须遵守的规则

  1. 变量名只能包含字母、数字和下划线。
  2. 变量名不能以数字开头。
  3. 变量名不能包含空格。
  4. 变量名不能是关键字。
  5. “C”是一种区分大小写的语言,这意味着名为“age”和“AGE”的变量是不同的。

以下是“C”程序中有效变量名的示例

height or HEIGHT
_height
_height1
My_name

以下是“C”程序中无效变量名的示例

1height
Hei$ght
My name

例如,我们声明一个整型变量 my_variable 并为其赋值 48

int my_variable;
my_variable = 48;

顺便说一句,我们可以在单个语句中声明和初始化(赋值初始值)变量

int my_variable = 48;

数据类型

“C”提供了各种数据类型,以便程序员可以根据应用程序的要求轻松选择合适的数据类型。以下是三种数据类型

  1. 基本数据类型
  2. 派生数据类型
  3. 用户定义数据类型

有五种主要的基本数据类型,

  1. int 用于整型数据
  2. char 用于字符数据
  3. float 用于浮点数
  4. double 用于双精度浮点数
  5. void

数组、函数、指针、结构是派生数据类型。“C”语言提供了上述主要数据类型的更扩展版本。每种数据类型在大小和范围上都与其他数据类型不同。下表显示了每种数据类型的尺寸和范围。

数据类型 字节大小 范围
Char 或 signed char 1 -128 至 127
Unsigned char 1 0 至 255
int 或 signed int 2 -32768 至 32767
Unsigned int 2 0 至 65535
Short int 或 Unsigned short int 2 0 至 255
Signed short int 2 -128 至 127
Long int 或 Signed long int 4 -2147483648 至 2147483647
Unsigned long int 4 0 至 4294967295
float 4 3.4E-38 至 3.4E+38
double 8 1.7E-308 至 1.7E+308
Long double 10 3.4E-4932 至 1.1E+4932

注意:在 C 语言中,没有布尔数据类型。

整型数据类型

整数是整数。整数数据类型的范围因机器而异。整数数据类型的标准范围是 -32768 至 32767。

一个整数通常是 2 字节,这意味着它在内存中占用 16 位。单个整数值占用 2 字节内存。整数数据类型进一步分为其他数据类型,如 short int、int 和 long int。

即使它们属于整数数据类型系列,每种数据类型的范围也不同。整数系列中每种数据类型的尺寸可能不会改变。

short int 主要用于存储较小的数字,int 用于存储中等大小的整数值,long int 用于存储较大的整数值。

每当我们想使用整数数据类型时,我们都会在标识符前加上 int,例如,

int age;

这里,age 是一个整数数据类型的变量,可用于存储整数值。

浮点数据类型

与整数类似,在“C”程序中,我们也可以使用浮点数据类型。“float”关键字用于表示浮点数据类型。它可以容纳浮点值,这意味着一个数字包含小数部分。浮点值是包含小数点实数。整数数据类型不存储小数部分,因此我们可以使用 float 来存储值的小数部分。

通常,float 最多可以包含 6 位精度。如果 float 不够,那么我们可以使用可以容纳更大浮点值的其他数据类型。double 和 long double 数据类型分别用于存储精度高达 14 位和 80 位的实数。

使用浮点数时,必须在标识符前放置 float/double/long double 关键字。有效示例是,

float division;
double BankBalance;

字符数据类型

字符数据类型用于存储用单引号括起来的单个字符值。

字符数据类型占用最多 1 字节内存空间。

示例,

Char letter;

Void 数据类型

void 数据类型不包含或返回任何值。它主要用于在“C”中定义函数。

示例,

void displayData()

变量的类型声明

int main() {
int x, y;
float salary = 13.48;
char letter = 'K';
x = 25;
y = 34;
int z = x+y;
printf("%d \n", z);
printf("%f \n", salary);
printf("%c \n", letter);
return 0;}

输出

59
13.480000
K

我们可以通过用逗号分隔来在一行中声明多个相同数据类型的变量。另外,请注意在 printf 输出函数中格式说明符 float (%f)、char (%c) 和 int (%d) 的使用。

常量

常量是在程序执行过程中永不改变的固定值。以下是各种类型的常量

整数常量

整数常量是由数字或数字组成的值。这些值在程序执行期间不会改变。整数常量可以是八进制、十进制和十六进制。

  1. 十进制常量包含 0-9 的数字,例如,
Example, 111, 1234

以上是有效的十进制常量。

  1. 八进制常量包含 0-7 的数字,这类常量总是以 0 开头。
Example, 012, 065

以上是有效的八进制常量。

  1. 十六进制常量包含 0-9 的数字以及 A-F 的字符。十六进制常量总是以 0X 开头。
Example, 0X2, 0Xbcd

以上是有效的十六进制常量。

八进制和十六进制整数常量在“C”编程中很少使用。

字符常量

字符常量只包含用单引号(')括起来的单个字符。我们也可以通过提供其 ASCII 值来表示字符常量。

Example, 'A', '9'

以上是有效的字符常量示例。

字符串常量

字符串常量包含用双引号("”)括起来的字符序列。

Example, "Hello", "Programming"

这些是有效的字符串常量示例。

实数常量

就像始终包含整数值的整数常量一样。“C”也提供实数常量,其中包含小数点或分数。实数常量也称为浮点常量。实数常量包含小数点和分数。

Example, 202.15, 300.00

这些是“C”中的有效实数常量。

实数常量也可以写成,

Mantissa e Exponent

例如,要声明一个不随时间变化的值,例如经典的圆周率常数 PI,有两种声明此常量的方法

  1. 通过在变量声明中使用 const 关键字,这将保留存储空间
  2. #include <stdio.h>
    int main() {
    const double PI = 3.14;
    printf("%f", PI);
    //PI++; // This will generate an error as constants cannot be changed
    return 0;}
  3. 通过使用 #define 预处理器指令,该指令不使用内存进行存储,并且在语句末尾不加分号
  4. #include <stdio.h>
    #define PI 3.14
    int main() {
    printf("%f", PI);
    return 0;}

摘要

  • 常量是在程序执行过程中不发生变化的值。
  • 变量是用于存储值的标识符。
  • 有四种常用的数据类型:int、float、char 和 void。
  • 每种数据类型的大小和范围都不同。