C语言的词法符号

news/2025/2/2 13:55:19/

C语言的词法符号

词法符号是若干个字符组成的有意义的最小语法单位。

按照在程序中的作用,可以分为:关键字、标识符、运算符、分隔符和标点符号。

1、关键字

​ ——由系统与定义好的词法符号,有特殊的含义,不允许用户重新定义。

(1)存储类型:auto(自动型) static(静态) extern(外部) register(寄存器)

(2)数据类型:char(字符型) short(短整型) int(整型) long(长整型) float(浮点型) double(双精度浮点型) signed(有符号) unsigned(无符号) struct(结构体) union(共用体) enum(枚举) void(空类型)

(3)控制语句:if else while do for switch case default break continue goto return

(4)其他:sizeof(计算数据所占空间大小) const(只读) typedef(重命名) volatile(防止编译器被优化)

2、标识符

由程序员按照命名规则自定义的词法符号,用于定义宏定义名、变量名、函数名和自定义类型名等。

C语言标识符的命名规则:

  • (1)标识符由字母、数字和下划线组成

  • (2)标识符第一个字符必须是字母或下划线

  • (3)不能和关键字相同

3、运算符

运算符是表示运算的词法符号,按功能分为:算术运算、逻辑运算、关系运算、赋值运算、位运算和其他运算符。

  • (1) 算术运算符:+ - * / % ++ –

  • (2) 赋值运算符:= += -= *= /= %=

  • (3) 关系运算符: < <= > >= == !=

  • (4) 逻辑运算符:&& || !

  • (5) 位运算符:& | ~ ^ << >>

  • (6) 其他运算符:三目运算符 sizeof()

4、 分隔符

用来分隔开其他的词法符号,主要包括:空格、制表符、换行符号和注释。

通过对分隔符的恰当运用,使得代码的外观格式更为清晰易读,还可以帮助分析程序中的语法错误。

5、 标点符号

C语言中标点符号有逗号、分号、冒号、花括号、圆括号和方括号。

标点符号的作用与分隔符相似,但是用法非常严格,有着明确的语法规定,如果写错了就会报错。


http://www.ppmy.cn/news/66415.html

相关文章

QT常用类型字节数组QByteArray及其基本使用

目录 概述特点常见函数QByteArray::append&#xff1a;QByteArray::insert&#xff1a;QByteArray::replace&#xff1a;QByteArray::remove&#xff1a;QByteArray::toHex&#xff1a;QByteArray::fromHex&#xff1a;QByteArray::toBase64&#xff1a;QByteArray::fromBase64…

【C++初阶】第十二篇:priority_queue的使用与模拟实现

文章目录 priority_queue的使用priority_queue的介绍priority_queue的定义方式priority_queue各个接口的使用 仿函数代码样例使用场景&#xff08;示例&#xff09; priority_queue的模拟实现堆的向上调整算法堆的向下调整算法priority_queue的模拟实现 总结 priority_queue的使…

关于C/C++语言重复包含头文件,编译时报错已定义的宏未定义的原因及解决方法

在编写一个文件较多的单片机程序时&#xff0c;为了在一个文件中定义的变量或宏能被另一个文件使用&#xff0c;经常会写成在多个头文件相互包含&#xff0c;由此将可能会导致明明已经定义的宏&#xff0c;且已经将宏所在的文件使用 #include 包含&#xff0c;编译时仍会报错未…

SpringBoot【开发实用篇】---- 测试

SpringBoot【开发实用篇】---- 测试 1. 加载测试专用属性2. 加载测试专用配置3. Web环境模拟测试4. 数据层测试回滚5. 测试数据用例设定 说完bean配置相关的内容&#xff0c;下面要对前面讲过的一个知识做加强了&#xff0c;测试。测试是保障程序正确性的唯一屏障&#xff0c;在…

程序进制换算

进制数介绍 一、进制介绍 二进制 &#xff1a;0或1&#xff0c;满2进1&#xff0c;以0B或者0b开头&#xff0c;如 0b1101 八进制&#xff1a;0-7&#xff0c;满8进1&#xff0c;&#xff0c;以0开头&#xff0c;如0234 十进制&#xff1a;0-9&#xff0c;满10进1&#xff0c;…

05-Docker安装Mysql、Redis、Tomcat

Docker 安装 Mysql 以安装 Mysql 5.7为例&#xff1a; docker pull mysql:5.7Mysql 单机 Mysql 5.7安装 启动 Mysql 容器&#xff0c;并配置容器卷映射&#xff1a; docker run -d -p 3306:3306 \--privilegedtrue \-v /app/mysql/log:/var/log/mysql \-v /app/mysql/data:…

postgresql源码学习(55)—— 列中的NULL值是如何存储和判断的?

问题来自 《PostgreSQL面试题集锦》学习与回答_Hehuyi_In的博客-CSDN博客 第11题 一、 NULL值存储位置 在pg元组头数据中&#xff0c;有一个t_bits数组&#xff0c;用于存储空值位图。当元组中没有null值的时候&#xff0c;t_bits可以被认为是空的&#xff0c;当元组有null值的…

2023网络安全十大顶级工具

从事网络安全工作&#xff0c;手上自然离不开一些重要的网络安全工具。今天&#xff0c;分享10大网络安全工具。 一、Kali Linux Kali 是一个基于 Debian 的 Linux 发行版。它的目标就是为了简单&#xff1a;在一个实用的工具包里尽可能多的包含渗透和审计工具。Kali 实现了这…