一、基本语法
C语言的令牌
??C语言中的令牌是在C语言中创建程序时最重要的元素。我们可以将令牌定义为C语言中最小的单个元素。 `例如,我们不能不使用单词就创建句子;同样,如果不使用C中的标记就不能在C中创建程序。因此,可以说C中的标记是创建使用C语言编写的程序。C语言可以分为以下类别: C中的令牌
- C语言中的关键字
- C中的标识符
- C中的字符串
- C语言中的运算符
- 常量C
- C中的特殊字符
我们逐个理解每个令牌。
C中的关键字
??C语言中的关键字可以定义为预定义或保留字重要性,每个关键字都有其功能。由于关键字是编译器使用的预定义单词,因此它们不能用作变量名。如果将关键字用作变量名,则意味着我们为关键字分配了不同的含义,这是不允许的。 C语言支持以下32个关键字:
关键字 | 说明 |
---|
auto | 声明自动变量 | break | 跳出当前循环 | case | 开关语句分支 | char | 声明字符型变量或函数返回值类型 | const | 定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变 | continue | 结束当前循环,开始下一轮循环 | default | 开关语句中的"其它"分支 | do | 循环语句的循环体 | double | 声明双精度浮点型变量或函数返回值类型 | else | 条件语句否定分支(与 if 连用) | enum | 声明枚举类型 | extern | 声明变量或函数是在其它文件或本文件的其他位置定义 | float | 声明浮点型变量或函数返回值类型 | for | 一种循环语句 | goto | 无条件跳转语句 | if | 条件语句 | int | 声明整型变量或函数 | long | 声明长整型变量或函数返回值类型 | register | 声明寄存器变量 | return | 子程序返回语句(可以带参数,也可不带参数) | short | 声明短整型变量或函数 | signed | 声明有符号类型变量或函数 | sizeof | 计算数据类型或变量长度(即所占字节数) | static | 声明静态变量 | struct | 声明结构体类型 | switch | 用于开关语句 | typedef | 用以给数据类型取别名 | unsigned | 声明无符号类型变量或函数 | union | 声明共用体类型 | void | 声明函数无返回值或无参数,声明无类型指针 | volatile | 说明变量在程序执行中可被隐含地改变 | while | 循环语句的循环条件 |
C99 新增关键字
_Bool | _Complex | _Imaginary | inline | restrict |
C11 新增关键字
_Alignas | _Alignof | _Atomic | _Generic | _Noreturn | _Static_assert | _Thread_local | ? | ? | ? |
C语言中的标识符
??标识符C中的C 用于命名变量,函数,数组,结构等。C中的标识符是用户定义的词。它可以由大写字母,小写字母,下划线或数字组成,但起始字母应为下划线或字母。标识符不能用作关键字。下面给出了在C中构造标识符的规则:
- 标识符的第一个字符应该是字母或下划线,然后可以跟着任何字符,数字或下划线。
它不能以任何数字开头。 - 在标识符中,大写字母和小写字母都是不同的。因此,我们可以说标识符是区分大小写的。
- 不能在标识符中指定逗号或空格。
- 关键字不能表示为标识符。
- 标识符的长度不能超过31个字符。
- 标识符的编写方式应有意义,简短且易于阅读。
C语言中的字符串 ??字符串C 中的C总是表示为在字符串末尾具有空字符’\ 0’的字符数组。此空字符表示字符串的结尾。 C中的字符串用双引号引起来,而字符则用单引号引起来。字符串的大小是字符串包含的字符数。 ??现在,我们以不同的方式描述字符串:
- char a [10] =“lidihuo”;//编译器将10个字节分配给’a’数组。
- char a [] =“lidihuo”;//编译器在运行时分配内存。
- char a [10] = {‘j’,‘a’,‘v’,‘a’,‘t’,‘p’, ‘o’,‘i’,‘n’,‘t’,’\ 0’};//字符串以字符形式表示。
C语言中的运算符 ??C 中的运算符是用于执行功能的特殊符号。应用了运算符的数据项称为操作数。在操作数之间应用运算符。根据操作数的数量,运算符的分类如下:
- 一元运算符
- 一元运算符是应用于单个操作数的运算符。例如: 增量运算符(++),减量运算符(-),sizeof,(类型)*。
- 二进制运算符
- 二进制运算符是在两个操作数之间应用的运算符。以下是二进制运算符的列表:
??算术运算符 ??关系运算符 ??移位运算符 ??逻辑运算符 ??按位运算符 ??条件运算符 ??分配运算符 ??其他运算符
C中的常量 ??常量是分配给变量的值,该值将在整个程序中保持不变,即常量值不能更改。
有两种声明常量的方法:
- 使用const关键字
- 使用#define预处理器
C中的特殊字符 ??C中使用了一些特殊字符,它们具有特殊的含义,不能用于其他用途目的。
- 方括号[]: 方括号表示一维和多维下标。
- 简单括号(): 用于函数声明和函数调用。例如,printf()是一个预定义的函数。
- 大括号{}: 用于代码的打开和关闭。它用于循环的打开和关闭。
- 逗号(,): 用于分隔多个语句,例如,在函数调用中分隔函数参数,在打印多个变量的值时使用来分隔变量一个printf语句。
- 哈希/预处理程序(#): : 用于预处理程序指令。它基本上表示我们正在使用头文件。
- 星号(*): : 该符号用于表示指针,也用作乘法运算符。
- 波浪号(?): : 它用作释放内存的析构函数。
- 句点(。): : 用于访问结构或联合的成员。
二、数据类型
C语言数据类型可以分为以下四种
序号 | 类型与描述 |
---|
1 | 基本类型: 它们是算术类型,包括两种类型:整数类型和浮点类型。 | 2 | 枚举类型: 它们也是算术类型,被用来定义在程序中只能赋予其一定的离散整数值的变量。 | 3 | void 类型: 类型说明符 void 表明没有可用的值。 | 4 | 派生类型: 它们包括:指针类型、数组类型、结构类型、共用体类型和函数类型。 |
1、基本类型
整数类型
类型 | 存储大小 | 值范围 |
---|
char | 1 字节 | -128 到 127 或 0 到 255 | unsigned char | 1 字节 | 0 到 255 | signed char | 1 字节 | -128 到 127 | int | 2 或 4 字节 | -32,768 到 32,767 或 -2,147,483,648 到 2,147,483,647 | unsigned int | 2 或 4 字节 | 0 到 65,535 或 0 到 4,294,967,295 | short | 2 字节 | -32,768 到 32,767 | unsigned short | 2 字节 | 0 到 65,535 | long | 4 字节 | -2,147,483,648 到 2,147,483,647 | unsigned long | 4 字节 | 0 到 4,294,967,295 |
浮点类型
类型 | 存储大小 | 值范围 | 精度 |
---|
float | 4 字节 | 1.2E-38 到 3.4E+38 | 6 位有效位 | double | 8 字节 | 2.3E-308 到 1.7E+308 | 15 位有效位 | long double | 16 字节 | 3.4E-4932 到 1.1E+4932 | 19 位有效位 |
注意:不同的平台每个类型的存储大小不一样
3、void类型
void 类型指定没有可用的值。它通常用于以下三种情况下:
序号 | 类型与描述 |
---|
1 | 函数返回为空 C 中有各种函数都不返回值,或者您可以说它们返回空。不返回值的函数的返回类型为空。例如 void exit (int status); | 2 | 函数参数为空 C 中有各种函数不接受任何参数。不带参数的函数可以接受一个 void。例如 int rand(void); | 3 | 指针指向 void 类型为 void * 的指针代表对象的地址,而不是类型。例如,内存分配函数 void *malloc( size_t size ); 返回指向 void 的指针,可以转换为任何数据类型。 |
|