C基本语法

C的令牌(Token)

C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。

分号;

在 C 程序中,分号是语句结束符,每个语句必须以分号结束。

1
2
printf("Hello, World! \n");
return 0;

注释

C 语言有两种注释方式:

1
// 单行注释

以 // 开始的单行注释,这种注释可以单独占一行。

1
2
3
4
5
6
/* 单行注释 */
/*
多行注释
多行注释
多行注释
*/

/* */ 这种格式的注释可以单行或多行。

注释内不能在嵌套注释,注释也不能出现在字符串或字符值中。

1
2
3
printf("//how do you do!\n");
// 或
printf("/*how do you do!*/\n);

输出分别是://how do you do!/*how do you do!*/

标识符

C 标识符是用来标识变量、函数,或任何其他用户自定义项目的名称。一个标识符以字母 A-Za-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。

C 标识符内不允许出现标点字符,比如 @、$ 和 % 。C 是区分大小写的编程语言。因此,在 C 中,Manpowermanpower 是两个不同的标识符。

C语言中标识符的命名规范:

  • 1.标识符由字母、数字、下划线组成,并且首字母不能是数字。
  • 2.不能把C的关键字作为用户的标识符,例如:if、for、while等。(注:标识符不能和C语言的关键字相同,也不能和用户自定义的函数或C语言库函数同名)
  • 3.标识符长度是由机器上的编译系统决定的,一般的限制为8字符,(注:8字符长度限制是C89标准,C99标准已经扩充长度,其实大部分工业标准都更长)。
  • 4.标识符对大小写敏感,即严格区分大小写。一般对变量名用小写,符号常量命名用大写。(注:C语言中字母是区分大小写的,因此 score、Score、SCORE 分别代表三个不同的标识符)
  • 5.标识符命名应做到”见名知意”,例如,长度(外语:length),求和、总计(外语:sum),圆周率(外语:pi)

关键字

关键字 说明
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 循环语句的循环条件

1999年12月16日,ISO推出了C99标准,该标准新增了5个C语言关键字:

1
inline    restrict    _Bool   _Complex    _Imaginary

2011年12月8日,ISO发布C语言的新标准C11,该标准新增了7个C语言关键字:

1
_Alignas  _Alignof  _Atomic  _Static_assert  _Noreturn  _Thread_local  _Generic