C语言组成部分
C语言的组成部分有且只有四部分组成
1:关键字
也被称作保留词,总共有32个,是C语言规定的具有特殊功能的词.
| 关键字 | 作用 |
|---|---|
| auto | 指定变量的存储类型,是默认值 |
| break | 跳出循环或switch语句 |
| case | 定义switch中的case子句 |
| char | 定义字符型变量或指针 |
| const | 定义常量或参数 |
| continue | 在循环语句中,回到循环体的开始处重新执行循环 |
| default | 定义switch中的default子句 |
| do | 定义do-while语句 |
我们这里就不一一介绍后面将会学到,有兴趣可以提前了解一下。
2:值
就是被C语言直接识别的数据
整数值
例如 2 十进制,01 二进制;ox开头的 十六进制;0 开头的 8进制
实型值
小数 1.11, 2.3.
字符值
用单引号包住的: '\n','a',等
字符串以及字面量
双引号包住的:"你好","hello,world"
所有的值都是常量,一旦确定就不可以改变了;
|3: 运算符
C语言的运算符可分为算术运算符、关系运算符、逻辑运算符、位运算符、赋值运算符、条件运算符、逗号运算符等几大类。每种运算符有特定的优先级和结合性。
算术运算符
用于基本数学运算:
+:加法-:减法*:乘法/:除法(整数除法会截断小数部分)%:取模(求余数)++:自增(前缀或后缀)--:自减(前缀或后缀)
示例:
c
int a = 5 / 2; // 结果为2
int b = 5 % 2; // 结果为1
关系运算符
用于比较操作数的大小关系,返回0(假)或1(真):
==:等于!=:不等于>:大于<:小于>=:大于等于<=:小于等于
示例:
c
int result = (3 > 2); // 结果为1
逻辑运算符
用于布尔逻辑运算:
&&:逻辑与||:逻辑或!:逻辑非
示例:
c
int flag = (1 && 0); // 结果为0
位运算符
直接对二进制位操作:
&:按位与|:按位或^:按位异或~:按位取反<<:左移>>:右移
示例:
c
int val = 5 & 3; // 结果为1(0101 & 0011 = 0001)
赋值运算符
=为基础赋值运算符,可与算术或位运算符组合:
+=、-=、*=、/=、%=&=、|=、^=、<<=、>>=
示例:
c
a += 2; // 等价于a = a + 2
条件运算符
三元运算符,格式为条件 ? 表达式1 : 表达式2:
c
int max = (a > b) ? a : b;
逗号运算符
连接多个表达式,返回最后一个表达式的值:
c
int x = (a = 1, b = 2, a + b); // x值为3
优先级与结合性
运算符优先级从高到低:
()、[]、->、.!、~、++、--、+(正)、-(负)*、/、%+、-<<、>><、<=、>、>===、!=&、^、|、&&、||- 条件运算符、赋值运算符、逗号运算符
括号可显式改变优先级顺序。
4:标识符
标识符的定义
在C语言中,标识符是用于命名变量、函数、数组、结构体等用户自定义元素的字符序列。标识符由程序员定义,需遵循特定规则。
标识符的命名规则
- 字符范围:只能包含字母(A-Z, a-z)、数字(0-9)和下划线(_)。
- 首字符限制:必须以字母或下划线开头,不能以数字开头。
- 长度限制:标准C规定至少支持31个字符的有效长度,但具体长度依赖编译器实现。
- 区分大小写 :
var和Var被视为不同的标识符。 - 关键字冲突 :不能与C语言的关键字(如
int、if、return等)重名。
标识符的作用域与生命周期
- 局部标识符:在函数或代码块内声明,仅在其作用域内有效。
- 全局标识符:在函数外声明,从声明处到文件末尾均可访问。
- 静态标识符 :使用
static修饰的变量或函数,生命周期贯穿程序运行期,但作用域受限。
命名规范建议
- 可读性 :使用有意义的名称(如
totalScore而非ts)。 - 风格统一 :常见风格包括:
- 小驼峰:
calculateSum; - 下划线分隔:
calculate_sum; - 全大写常量:
MAX_VALUE。
- 小驼峰:
- 避免混淆 :慎用仅大小写不同的名称(如
data与Data)。
常见错误与注意事项
- 误用关键字 :如命名变量为
return会导致编译错误。 - 非ASCII字符:标准C不支持中文或特殊符号作为标识符。
- 编译器差异 :某些编译器可能扩展支持
$等字符,但此类代码缺乏可移植性。
通过遵循上述规则和规范,可确保标识符在C程序中正确且高效地使用。