标识符
C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。
一个标识符由大写字母、小写字母、数字、下划线组成。
标识符必须以字母(大写字母小写字母都可以)或下划线开头。
关键字
下表列出了 C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称。
关键字 | 说明 |
---|---|
auto | 声明自动变量 |
break | 跳出当前循环 |
case | 开关语句分支 |
char | 声明字符型变量或函数返回值类型 |
const | 定义常量,如果一个变量被 const 修饰,那么它的值就不能再被改变 |
continue | 结束当前循环,开始下一轮循环 |
default | 开关语句中的"其它"分支 |
do | 循环语句的循环体 |
double | 声明双精度浮点型变量或函数返回值类型 |
else | 条件语句否定分支(与 if 连用) |
enum | 声明枚举类型 |
extern | 声明变量或函数是在其它文件或本文定义过 |
float | 声明浮点型变量或函数返回值类型 |
for | 一种循环语句 |
goto | 无条件跳转语句 |
if | 条件语句 |
int | 声明整型变量或函数 |
long | 声明长整型变量或函数返回值类型 |
register | 声明寄存器变量 |
return | 子程序返回语句(可以带参数,也可不带参数) |
short | 声明短整型变量或函数 |
sizeof | 计算数据类型或变量长度(即所占字节数) |
static | 声明静态变量 |
struct | 声明结构体类型 |
switch | 用于开关语句 |
typedef | 用以给数据类型取别名 |
unsigned | 声明无符号类型变量或函数 |
union | 声明共用体类型 |
void | 声明函数无返回值或无参数,声明无类型指针 |
while | 循环语句的循环条件 |
C中的空格
只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。
在我们定义一个变量并给他起名字的是时候,定义变量类型的个关键字和变量的名称要用空格隔开,(变量名要符合表示符命名规范)这样编译器才能够区分它们。
例如:
int num;//生命一个int类型的变量,变量名是num
//如果没有空格intnum;将无法通过编译,
预处理命令
#include"stdio.h"是一条预处理命名,我也也习惯称它为头文件。(你也可以写成#include<stdio.h>)
它表示引入了一个名字为stdio,h的文件,这个文件中由我门常用的输入输出函数。(printf()就是stdio.h中的函数)
常用的还有#include"math.h"(包含了一些数学函数),#include"string.h”(包含了字符串比较等函数)等。
宏定义
宏定义也是一条预处理命令,作用是定义一个常量并赋初始值,这个常量在程序的运行过程中无法被改变。
通常使用宏定义来定义常量,常量名推荐使用大写字母
#include"stdio.h"
#define IP 2 //定义一个常量,常量名为IP,常量的值是2
int main()
{
int num=2;
printf("%d\n",num+IP);
return 0;
}
输出结果为4
在程序编译时发现#define时程序知道这里定义了一个IP,IP的值为2,那么在程序中遇到IP时就可以获得它的值。(你在主函数中定义一个int ip=2;这个ip和宏定义的IP在使用时没有区别,不同的是ip的值可以被程序改变,IP的值不能不能被程序改变)
#include"stdio.h"
#define IP 2
int main()
{
int ip=2;
ip=ip+2;
IP=IP+2;//如果你试图改变IP那么编译器会报错
return 0;
}
常量可以是任何的基本数据类型,比如整数常量、浮点常量、字符常量,或字符串常量。
也可以使用const关键字来定义常量
语法为:
const 数据类型生命 常量名
#include"stdio.h"
const int LN = 10;
int main()
{
printf("%d\n",LN);
return 0;
}
整数常量
整数常量可以是十进制、八进制或十六进制的常量。前缀指定基数:0x 或 0X 表示十六进制,0 表示八进制,不带前缀则默认表示十进制。
#include"stdio.h"
#define IP 2 //十进制数
#define ID 0x19 //十六进制数
#define IT 011 //八进制数
int main()
{
printf("%d\n",IP);//按十进制数输出IP
printf("%o\n",IT);//按八进制数输出IT
printf("%x\n",ID);//按十六进制数输出ID
return 0;
}
浮点数常量
浮点常量由整数部分、小数点、小数部分和指数部分组成。
#include"stdio.h"
#define IP 3.14
int main()
{
printf("%lf\n",IP);//按浮点格式输出IP
return 0;
}
字符常量和字符串常量
字符常量是括在单引号中,例如,‘x’ 可以存储在 char 类型的简单变量中。字符常量只能存一个字符。
字符串常量是括在双引号 “” 中的。一个字符串包含多个字符常量的字符:普通的字符、转义序列和通用的字符。
#include"stdio.h"
#define IP 's' //字符常量
#define ID "sdf" //字符串常量
int main()
{
printf("%c\n",IP);//按字符格式输出IP
printf("%s\n",ID);//按字符串格式输出ID
return 0;
}