- C编程教程
- C语言 - 首页
- C语言基础
- C语言 - 概述
- C语言 - 特性
- C语言 - 历史
- C语言 - 环境搭建
- C语言 - 程序结构
- C语言 - Hello World
- C语言 - 编译过程
- C语言 - 注释
- C语言 - 词法单元
- C语言 - 关键字
- C语言 - 标识符
- C语言 - 用户输入
- C语言 - 基本语法
- C语言 - 数据类型
- C语言 - 变量
- C语言 - 整数提升
- C语言 - 类型转换
- C语言 - 类型强制转换
- C语言 - 布尔值
- C语言中的常量和字面量
- C语言 - 常量
- C语言 - 字面量
- C语言 - 转义序列
- C语言 - 格式说明符
- C语言中的运算符
- C语言 - 运算符
- C语言 - 算术运算符
- C语言 - 关系运算符
- C语言 - 逻辑运算符
- C语言 - 位运算符
- C语言 - 赋值运算符
- C语言 - 一元运算符
- C语言 - 自增和自减运算符
- C语言 - 三元运算符
- C语言 - sizeof运算符
- C语言 - 运算符优先级
- C语言 - 其他运算符
- C语言中的决策机制
- C语言 - 决策机制
- C语言 - if语句
- C语言 - if...else语句
- C语言 - 嵌套if语句
- C语言 - switch语句
- C语言 - 嵌套switch语句
- C语言中的循环
- C语言 - 循环
- C语言 - while循环
- C语言 - for循环
- C语言 - do...while循环
- C语言 - 嵌套循环
- C语言 - 死循环
- C语言 - break语句
- C语言 - continue语句
- C语言 - goto语句
- C语言中的函数
- C语言 - 函数
- C语言 - 主函数
- C语言 - 按值调用函数
- C语言 - 按引用调用函数
- C语言 - 嵌套函数
- C语言 - 变参函数
- C语言 - 用户自定义函数
- C语言 - 回调函数
- C语言 - return语句
- C语言 - 递归
- C语言中的作用域规则
- C语言 - 作用域规则
- C语言 - 静态变量
- C语言 - 全局变量
- C语言中的数组
- C语言 - 数组
- C语言 - 数组的特性
- C语言 - 多维数组
- C语言 - 将数组传递给函数
- C语言 - 从函数返回数组
- C语言 - 变长数组
- C语言中的指针
- C语言 - 指针
- C语言 - 指针和数组
- C语言 - 指针的应用
- C语言 - 指针运算
- C语言 - 指针数组
- C语言 - 指向指针的指针
- C语言 - 将指针传递给函数
- C语言 - 从函数返回指针
- C语言 - 函数指针
- C语言 - 指向数组的指针
- C语言 - 指向结构体的指针
- C语言 - 指针链
- C语言 - 指针与数组的区别
- C语言 - 字符指针和函数
- C语言 - 空指针
- C语言 - void指针
- C语言 - 悬空指针
- C语言 - 解引用指针
- C语言 - 近、远和巨型指针
- C语言 - 指针数组的初始化
- C语言 - 指针与多维数组的区别
- C语言中的字符串
- C语言 - 字符串
- C语言 - 字符串数组
- C语言 - 特殊字符
- C语言中的结构体和联合体
- C语言 - 结构体
- C语言 - 结构体和函数
- C语言 - 结构体数组
- C语言 - 自引用结构体
- C语言 - 查找表
- C语言 - 点(.)运算符
- C语言 - 枚举(enum)
- C语言 - 结构体填充和打包
- C语言 - 嵌套结构体
- C语言 - 匿名结构体和联合体
- C语言 - 联合体
- C语言 - 位域
- C语言 - typedef
- C语言中的文件处理
- C语言 - 输入输出
- C语言 - 文件I/O (文件处理)
- C语言预处理器
- C语言 - 预处理器
- C语言 - 预处理指令
- C语言 - 预处理器运算符
- C语言 - 宏
- C语言 - 头文件
- C语言中的内存管理
- C语言 - 内存管理
- C语言 - 内存地址
- C语言 - 存储类别
- 其他主题
- C语言 - 错误处理
- C语言 - 可变参数
- C语言 - 命令执行
- C语言 - 数学函数
- C语言 - static关键字
- C语言 - 随机数生成
- C语言 - 命令行参数
- C语言编程资源
- C语言 - 问答
- C语言 - 快速指南
- C语言 - 速查表
- C语言 - 有用资源
- C语言 - 讨论
C语言中的特殊字符
C语言定义了一套字符集,包含英文字母(大写和小写 A 到 Z 以及 a 到 z)、数字 0 到 9,以及一些具有特定含义的其它符号,称为“特殊字符”。
特殊符号类别中的许多字符被定义为运算符,某些字符组合也具有特定含义。例如,"\n"被称为换行符。这样的组合称为转义序列。
在C语言中,引号也具有特殊含义。双引号用于字符串,而字符用单引号括起来。阅读本章节,了解更多关于C程序中使用的其它特殊字符。
圆括号 ()
圆括号主要用于在一个表达式中对一个或多个操作数进行分组,并控制语句中操作的顺序。
嵌入在圆括号内的表达式的一部分具有更高的优先级。
示例
int a = 2, b = 3, c = 4; int d = (a + b) * c;
大括号 { }
大括号主要用于定义代码块,例如函数体和循环。它们也用于初始化数组和结构体变量。
示例
函数定义中的大括号 −
int add(int a, int b){
int sum = a + b;
return sum;
}
数组初始化中的大括号 −
int arr[5] = {1, 2, 3, 4, 5};
结构体变量中的大括号 −
struct book {
char title[10];
double price;
int pages;
};
struct book b1;
struct book b1 = {"Learn C", 675.50, 325};
方括号 [ ]
方括号用于声明数组和使用下标索引访问数组元素。
示例
例如,要定义一个整数数组并访问其第三个元素,可以使用方括号 −
int arr[5] = {1, 2, 3, 4, 5};
int third = arr[2];
星号 (*)
除了用作乘法运算符外,星号 (*) 也用于声明指针变量和解引用它以获取目标变量的值。
示例
例如,要定义一个指向整数的指针并访问它指向的值,可以使用星号 −
int num = 10;
int *ptr = #
printf("*d", *ptr);
取地址符 (&)
取地址符 (&) 用作取地址运算符。它返回变量的地址。
示例
例如,要获取整数变量的地址,可以使用取地址符 −
int num = 10; int *ptr = #
逗号 (,)
逗号用作语句或函数调用之间的分隔符。
示例
int a = 1, b = 2, c = 3;
分号 (;)
作为C语言的主要语法规则,分号表示C程序中语句的结束。
示例
printf("Hello, world!");
点号 (.)
示例
struct book b1 = {"Learn C", 675.50, 325};
printf("Title: %s\n", b1.title);
printf("Price: %lf\n", b1.price);
printf("No of Pages: %d\n", b1.pages);
箭头 (→)
箭头符号 (→) 用于通过指针访问结构体或联合体的成员。
示例
struct book b1 = {"Learn C", 675.50, 325};
struct book *strptr;
strptr = &b1;
printf("Title: %s\n", strptr->title);
printf("Price: %lf\n", strptr->price);
printf("No of Pages: %d\n", strptr->pages);
广告