变量不过是程序可以操作的存储区域的名称。C语言中的每个变量都有一个特定的类型,该类型确定变量的内存大小和布局。可以存储在该内存中的值的范围;以及可以应用于该变量的一组操作。
变量的名称可以由字母,数字和下划线字符组成。它必须以字母或下划线开头。大写和小写字母是不同的,因为C区分大小写。
C语言中的变量定义
变量定义告诉编译器在何处以及为变量创建多少存储空间。变量定义指定一种数据类型,并包含一个或多个该类型变量的列表。
在这里,类型必须是有效的C数据类型,包括char,w_char,int,float,double,bool或任何用户定义的对象;和variable_list可以包含一个或多个以逗号分隔的标识符名称。
int i, j, k; char c, ch; float f, salary; double d;
int i,j,k; 声明并定义变量i,j和k;它指示编译器创建名为int的i,j和k变量。
变量可以在其声明中进行初始化(分配初始值)。初始化程序由一个等号和一个常量表达式组成.
int d = 3, f = 5; // declaration of d and f. int d = 3, f = 5; // definition and initializing d and f. byte z = 22; // definition and initializes z. char x = 'x'; // the variable x has the value 'x'.
对于没有初始化程序的定义:具有静态存储持续时间的变量隐式初始化为NULL(所有字节的值均为0);所有其他变量的初始值均未定义。
C语言中的变量声明
变量声明向编译器保证存在具有给定类型和名称的变量,以便编译器可以继续进行进一步的编译,而无需有关该变量的完整详细信息。变量定义仅在编译时具有其含义,编译器在链接程序时需要实际的变量定义。
当使用多个文件并且在其中一个文件中定义变量时,变量声明很有用。在程序链接时,这些文件中的一个将可用。在任何地方使用关键字extern声明变量。尽管可以在C程序中可以多次声明变量,但是只能在文件,函数或代码块中定义一次。
常量
常量是指程序在执行过程中可能不会更改的固定值。
常量可以是任何基本数据类型,例如整数常量,浮点常量,字符常量或字符串文字。也有枚举常量。
常量与常规变量的处理方式相同,只不过其值在定义后无法修改。
整数字面量
整数文字可以是十进制,八进制或十六进制常量。前缀指定基数或基数:十六进制为0x或0X,八进制为0,十进制为空。
整数文字也可以具有后缀,该后缀是U和L的组合,分别表示无符号和长整数。后缀可以是大写或小写,并且可以是任何顺序
212 / * Legal * /
215u / *合法* /
0xFeeL / *合法* /
078 / *非法:8不是八进制数字* /
032UU / *非法:无法重复后缀* /
85 / *十进制* /
0213 / *八进制* /
0x4b / *十六进制* /
30 / *int* /
30u / * unsigned int * /
30l /* long */
30ul /* unsigned long */
浮点文字
浮点文字具有整数部分,小数点,小数部分和指数部分。可以用十进制或指数形式表示浮点文字。
以小数形式表示时,必须包括小数点,指数或两者都包括在内。并且在表示指数形式时,必须包括整数部分,小数部分或两者。有符号数由e或E引入。
3.14159 / *合法* /
314159E-5L / *合法* /
510E / *非法:不完整的指数* /
210f / *非法:无小数或指数* /
.e55 / *非法:缺少整数或分数* /
字符常量
字符文字用单引号引起来,例如,“ x”可以存储在char类型的简单变量中。
字符文字可以是普通字符(例如'x'),转义序列(例如'\ t')或通用字符(例如'\ u02C0')。
C中的某些字符带有反斜杠时表示特殊含义,例如,换行符(\ n)或制表符(\ t)。
字符串文字
字符串文字或常量用双引号“”括起来。字符串包含与字符文字相似的字符:纯字符,转义序列和通用字符。可以使用字符串文字将长行分成多行,并使用空格分隔它们。
定义常数
C中有两种简单的方法来定义常量-
-
使用#define预处理程序。
-
使用const关键字。
#define预处理程序
使用#define预处理器定义常量的形式: #define identifier value
#include <stdio.h>#define LENGTH 10
#define WIDTH 5
#define NEWLINE '\n'int main() {int area; area = LENGTH * WIDTH;printf("value of area : %d", area); //输出:value of area : 50printf("%c", NEWLINE);return 0;
}
const关键字
可以使用const前缀来声明具有特定类型的常量:const type variable = value;
#include <stdio.h>int main() {const int LENGTH = 10;const int WIDTH = 5;const char NEWLINE = '\n';int area; area = LENGTH * WIDTH;printf("value of area : %d", area); //输出:value of area : 50printf("%c", NEWLINE);return 0;
}