C 基本语法

c的令牌(Token)

C 程序由各种令牌组成,令牌可以是关键字、标识符、常量、字符串值,或者是一个符号。例如,下面的 C 语句包括五个令牌:

printf("Hello, World! \n");

这五个令牌分别是:

printf
(
"Hello, World! \n"
)
;
1,分号;

在 C 程序中,分号是语句结束符。也就是说,每个语句必须以分号结束。它表明一个逻辑实体的结束。

例如,下面是两个不同的语句:

printf("Hello, World! \n");
return 0;
2、注释

C语言有两种注释:

a,单行注释:

// This is a single line comment

b,多行注释:

/* This is a
   multi-line comment */

 

 注意:

  • 以 // 开始的单行注释,这种注释可以单独占一行。
  •  /* */ 这种格式的注释可以单行或多行。
  • 不能在注释内嵌套注释,注释也不能出现在字符串或字符值中
3,标识符:

作用:标识变量、函数,或任何其他用户自定义项目的名称。

组成:一个标识符以字母 A-Z 或 a-z 或下划线 _ 开始,后跟零个或多个字母、下划线和数字(0-9)。

注意:C 标识符内不允许出现标点字符,比如 @、$ 和 %。C 是区分大小写的编程语言

命名规则:

  1. 标识符由字母、数字和下划线组成,第一个字符必须是字母或下划线,不能是数字。

  2. 标识符长度不限,但区分大小写,例如sum和Sum是不同的标识符。

  3. 不能使用C语言中的关键字(如if、else、for、while等)作为标识符。

  4. 标识符应该具有描述性,能够清晰地表达其所代表的变量、函数等数据对象的用途。

  5. C语言中,标识符命名采用蛇形命名法(Snake_case),即单词间用下划线分隔,例如:student_name、age。

  6. 标识符中不允许出现空格和其他特殊字符(如@、#、$等

 一些常见的命名规则:

  1. 变量名要具有可读性,能够准确地反映出变量的含义。
  2. 标识符采用小写字母或小写字母和数字的组合,每个单词之间用下划线隔开,例如:my_var。
  3. 常量标识符采用全大写字母或全大写字母和数字的组合,每个单词之间用下划线隔开,例如:MY_CONST。
  4. 函数名一般采用动词或动词短语,例如:print_message()。
  5. 结构体和联合体的标识符一般采用大写字母开头的驼峰命名法,例如:MyStruct

扩展——驼峰命名法:

C语言中一般采用下划线命名法(例如:my_name)而不是驼峰命名法,但也有一些开发者习惯使用驼峰命名法,它的命名规则如下:

  1. 变量名:采用小驼峰命名法,即首单词小写,第二个单词开始每个单词首字母大写(例如:myName)。

  2. 函数名:采用大驼峰命名法,即每个单词首字母大写(例如:PrintHelloWorld)。

C语言本身并没有强制要求使用驼峰命名法,开发者可以根据自己的喜好和项目规范进行命名。

4、关键字:

C 中的保留字。这些保留字不能作为常量名、变量名或其他标识符名称

关键字	说明
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
5,C中的空格

只包含空格的行,被称为空白行,可能带有注释,C 编译器会完全忽略它。

在 C 中,空格用于描述空白符、制表符、换行符和注释。空格分隔语句的各个部分,让编译器能识别语句中的某个元素(比如 int)在哪里结束,下一个元素在哪里开始。因此,在下面的语句中:

int age;

在这里,int 和 age 之间必须至少有一个空格字符(通常是一个空白符),这样编译器才能够区分它们。另一方面,在下面的语句中:

fruit = apples + oranges;   // 获取水果的总数

fruit 和 =,或者 = 和 apples 之间的空格字符不是必需的,但是为了增强可读性,您可以根据需要适当增加一些空格。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值