基础语法
主函数
一个 C 语言程序有且只有一个主函数,程序运行时系统会自动调用。
如果一个程序没有主函数,则这个程序不具备运行能力。如果一个程序有多个主函数,则编译时会报错。
函数定义格式
- 主函数定义的格式:
- int 代表函数执行之后会返回一个整数类型的值
- main 代表这个函数的名字叫做 main
- () 代表这是一个函数
- 代表这个程序段的范围
- return 0; 代表函数执行完之后返回整数 0
int main() {
// insert code here...
return 0;
}
info
- C 语言中,每条完整的语句后面都必须以英文分号结尾
- main 函数前面的 int 可以不写或换成 void
- main 函数中的 return 0 可以不写
- 其它函数定义的格式
- int 代表函数执行之后会返回一个整数类型的值
- call 代表这个函数的名字叫做 call
- () 代表这是一个函数
- 代表这个程序段的范围
- return 0; 代表函数执行完之后返回整数 0
int call() {
return 0;
}
info
- 主函数(main)会由系统自动调用, 其它函数需要开发者在 main 函数中手动调用。
- call 代表找到名称叫做 call 的某个东西
- () 代表要找到的名称叫 call 的某个东西是一个函数
- ; 代表调用函数的语句已经编写完成
- 所以
call();
代表找到 call 函数, 并执行 call 函数
int call() {
return 0;
}
int main() {
call();
}
注释
注释是代码中不会被解释器执行的文本。用于解释代码,方便阅读。
C 支持//单行注释
和 /* 多行注释 */
// 单行注释
// 以//开头,到这一行末尾
// 任何地方都可以写注释:函数外面、里面,每一条语句后面
// 快捷键:Ctrl+/
/*
// 多行注释可以嵌套单行注释
多行注释不能嵌套多行注释
因为多行注释以/*开头,到最近的一个* /结尾
初学者编写程序可以养成习惯:先写注释再写代码
将自己的思想通过注释先整理出来,在用代码去体现
因为代码仅仅是思想的一种体现形式而已
*/
内置内容
C语言的核心设计理念是小而精,它只提供了一套非常精简的内置功能,将大部分功能都留给库来实现。
关键字
关键字是语言中预先定义的标识符。(在开发工具中会显示特殊颜色。)
我们把它们用作标识符名称会引发错误或导致其功能失效。
数据类型
- 作为程序员, 我们最关心的是内存中的动态数据,因为我们写的程序就是在内存中运行的
- 程序在运行过程中会产生各种各样的临时数据,为了方便数据的运算和操作, C 语言对这些数据进行了分类, 提供了丰富的数据类型
- C 语言中有 4 大类数据类型:基本类型、构造类型、指针类型、空类型
1个二进制位可以存储0或1,称为位(bit)。
8个二进制位就可以存储2^8=256个不同的数值(0~255),称为字节(byte)。
在计算机中以整数形式存储的就是整型。字符型(char)本质 上也是小整数(通常对应ASCII码值),所以字符型也属于整型家族,可以进行算术运算。
数据类型使用建议
- 选择合适的类型:根据数据范围选择最小满足需求的类型
- 避免溢出:注意数据范围,防止溢出导致的错误结果
- 浮点数比较:不要直接用==比较浮点数,使用epsilon比较
- 类型转换:明确类型转换的规则,避免精度丢失
- 内存对齐:了解结构体内存对齐规则,优化内存使用
常见陷阱
- 整数除法截断:
5/2
结果是2
而不是2.5