——Java培训、Android培训、iOS培训、.Net培训、期待与您交流! ——-
一、关键字的基本概念
1、什么是关键字?
关键字就是已被C语言本身使用,不能作其它用途使用的字,在C语言中代表着特殊意义的字,也叫作保留字。
示例:
#include <stdio.h>//头文件,主要用来保证下面的printf函数运行
int main(int argc, const char * argv[])//main函数,括号内是参数,可有可无
{
// 我是注释
printf("黑马出品,必属精品!\n");//输出函数
return 0;//返回值
}
int、constchar、return都是关键字。
在C语言中,关键字的颜色跟其它代码的颜色是不一样的,都有特殊的颜色区分。
关键字不能用作变量名。
2、C语言中一共有32个关键字:
关键字 | 解释 |
---|---|
auto | 指定为自动变量,由编译器自动分配和释放,通常在。栈上分配。 |
double | 双精度浮点数,在内存中占据8个字节。 |
int | 整型数据,在内存中占据4个字节。 |
struct | 结构体声明。 |
break | 跳出当前循环或switch结构。 |
else | 条件语句否定分支(与if连用)。 |
long | 修饰int,长整型数据,可省略被修饰的int。 |
switch | 开关语句(多重分支语句)。 |
case | 开关语句中的分支标记。 |
enum | 枚举声明。 |
register | 指定为寄存器变量。 |
typedef | 声明类型别名。 |
char | 字符型类型数据,属于整型数据的一种。在内存占据1个字节。 |
extern | 枚举声明。 |
return | 用在函数体中,返回特定值(或者是void值,即不返回值)。 |
union | 共用体声明。 |
const | 与volatile合称”CV特性“。指定变量不可被当前线程/进程改变(但有可能被系统或其它线程/进程改变)。 |
float | 单精度浮点型数据,在内存中占据4个字节。 |
short | 修饰int,短整型数据,可省略被修饰的int。 |
unsigned | 修饰整型数据,无符号数据类型。 |
continue | 结束当前循环,开始下一轮循环。 |
for | for循环结构。 |
signed | 修饰整型数据,有符号数据类型。 |
void | 声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果。 |
default | 开关语句中的”其它“分支,可选 |
goto | 无条件跳转语句,现在一般不使用。 |
sizeof | 得到特定类型的 |
volatile | 与const合称”CV特性“。指定变量的值有可能被系统或其它进程/线程改变,强制编译器每次从内存中取得该值。 |
do | do循环结构 |
if | 条件语句,后面不需要分号 |
while | while循环结构 |
static | 指定为静态变量,分配子在静态变量区,修饰函数时,指定函数作用域为文件内部。 |
这些不用专门去记,用多了就会了,记住常用的就可以了。
二、关键字的类型
根据类型主要分为以下2类:
1、数据类型关键字
A、基本数据类型(5个)
void | 声明函数无返回值或无参数,声明无类型指针,显式丢弃运算结果。 |
---|---|
char | 字符型类型数据,属于整型数据的一种。 |
int | 整型数据。 |
float | 单精度浮点型数据。 |
double | 双精度浮点型数据。 |
B、类型修饰关键字(4个)
short | 修饰int,短整型数据,可省略被修饰的int。 |
---|---|
long | 修饰int,长整型数据,可省略被修饰的int。 |
unsigned | 修饰整型数据,无符号数据类型。 |
signed | 修饰整型数据,有符号数据类型。 |
C、复杂类型关键字(5个)
struct | 结构体声明。 |
---|---|
union | 共用体声明。 |
enum | 枚举声明。 |
typedef | 声明类型别名。 |
sizeof | 得到特定类型或特定特定类型变量的大小。 |
D、存储级别关键字(6个)
auto | 指定为自动变量,由编译器自动分配和释放,通常在栈上分配。 |
---|---|
static | 指定为静态变量,分配子在静态变量区,修饰函数时,指定函数作用域为文件内部。 |
register | 指定为寄存器变量。 |
extern | 指定对应变量为外部变量,即标示变量或函数的定义在别的文件中。 |
const | 与volatile合称”CV特性“。指定变量不可被当前线程/进程改变(但有可能被系统或其它线程/进程改变)。 |
volatile | 与const合称”CV特性“。指定变量的值有可能被系统或其它进程/线程改变,强制编译器每次从内存中取得该值。 |
2、流程控制关键字
A、跳转结构(4个)
return | 用在函数体中,返回特定值(或者是void值,即不返回值)。 |
---|---|
break | 跳出当前循环或switch结构。 |
continue | 结束当前循环,开始下一轮循环。 |
goto | 无条件跳转语句。 |
B、循环结构(5个)
if | if条件语句,后面不需要分号。 |
---|---|
else | 条件语句否定分支(与if连用)。 |
switch | 开关语句(多重分支语句)。 |
case | 开关语句中的分支标记。 |
default | 开关语句中的其它分支,可选 |
C、循环结构(3个)
1、for:for循环结构
示例:
for(1 ;2 ;3)
{
4;
}
执行顺序是1–> 2 –> 4 –> 3 –> 2….循环,其中2为循环条件,在整个for循环中,表达式1只计算一次,表达式2和表达式3可能计算多次,也可能一次也不计算,循环体4可能执行多次也可能一次也不执行。
2、do—while循环结构
示例:
do
{
1;
}while(2);
执行顺序:1–> 2 –> 1 ….循环,2是循环条件。
3、while:while循环结构
示例:
while(1)
{
2;
}
执行顺序:1 –> 2 –> 1 ….循环,1是循环条件
以上循环语句,当循环条件为真时继续循环,为假时跳出循环。