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
变量在使用前必须先声明。变量名由字符、数字和下划线组成。
以下是创建变量时必须遵守的规则
- 变量名只能包含字母、数字和下划线。
- 变量名不能以数字开头。
- 变量名不能包含空格。
- 变量名不能是关键字。
- “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”提供了各种数据类型,以便程序员可以根据应用程序的要求轻松选择合适的数据类型。以下是三种数据类型
- 基本数据类型
- 派生数据类型
- 用户定义数据类型
有五种主要的基本数据类型,
- int 用于整型数据
- char 用于字符数据
- float 用于浮点数
- double 用于双精度浮点数
- 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) 的使用。
常量
常量是在程序执行过程中永不改变的固定值。以下是各种类型的常量
整数常量
整数常量是由数字或数字组成的值。这些值在程序执行期间不会改变。整数常量可以是八进制、十进制和十六进制。
- 十进制常量包含 0-9 的数字,例如,
Example, 111, 1234
以上是有效的十进制常量。
- 八进制常量包含 0-7 的数字,这类常量总是以 0 开头。
Example, 012, 065
以上是有效的八进制常量。
- 十六进制常量包含 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,有两种声明此常量的方法
- 通过在变量声明中使用 const 关键字,这将保留存储空间
- 通过使用 #define 预处理器指令,该指令不使用内存进行存储,并且在语句末尾不加分号
#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;}
#include <stdio.h> #define PI 3.14 int main() { printf("%f", PI); return 0;}
摘要
- 常量是在程序执行过程中不发生变化的值。
- 变量是用于存储值的标识符。
- 有四种常用的数据类型:int、float、char 和 void。
- 每种数据类型的大小和范围都不同。