- 编译器: gcc version 9.4.0
- 编辑器: docker-code-server (vscode web)
- 服务器: Railway (Free Resources)
查看笔记
变量名由下划线、字母和数字组成
变量名首字母不能为数字,区分大小写,且不能使用关键字作为变量名
定义符号常量:#define [标识符] [常量]
(宏定义)
数据类型 | 限定符 | ||
---|---|---|---|
基本类型 | 整数类型 | int | short int int long int long long int |
浮点类型 | float double |
float double long double |
|
字符类型 | char | ||
布尔类型 | _Bool | ||
枚举类型 | enum | ||
指针类型 | |||
构造类型 | 数组类型 | ||
结构类型 | |||
联合类型 | |||
空类型 |
转义字符 \0
空字符,用于字符串结束位置
标准没限制 int 类型大小,只要求了 short int < int < long int < long long int
sizeof
不是函数,而是一个运算符,用于获取数据类型或表达式的长度
sizeof (object)
sizeof object
sizeof (type_name)
类型限定字符(限定 char 类型 / 整型取值范围):signed 带符号位(可以存放负数)、unsigned 不带符号位(只放正数和零)
CPU能读懂的最小单位——比特位(bit,b)
内存机构最小寻址单位——字节(Byte,B)
1 Byte = 8 bit
char 变量名[数量];
通过索引号获取每个字符变量的空间 变量名[索引号] = 字符;
两个整数相除舍弃小数。求余运算符要求两个操作数必须是整数。
运算符作用的运算对象称为操作数如:1 + 2
1和2就是操作数,+是运算符。把左边操作数和右边操作数相加就是双目运算符,如果只表示正号时是单目运算符。除此之外还有个三目运算符,它有三个操作数。
用运算符和括号将操作数连接起来的式子称为表达式。
当一个运算符的几个操作数类型不同时会先转换数据类型,通常下编译器会将占用内存较小的操作数转换为占用内存较大的操作数的数据类型再运算。
强制转换数据类型,在操作数前用括号即可,括号内为要转换的目标数据类型。
关系运算符(比大小):(<、<=、>、>=)优先级相同,高、(==、!=)优先级相同,低
逻辑运算符:!(逻辑非) &&(逻辑与) ||(逻辑或),优先级由高到低
短路求值,又称最小化求值,是一种逻辑运算求值的策略。只有第一个操作数无法确定逻辑运算的结果时才对第二个操作数进行求值。C语言对逻辑与和逻辑或采用短路求值方式。
这里每个 case 后边的常量是匹配 switch 后边表达式的值。case 后边必须跟一个常量值,而不能是一个范围。
for 语句的三个表达式可省略,但分号不能省略。C99 允许在 for 语句的表达式1里面定义变量。
循环嵌套的执行顺序是由内到外。
入口条件循环有可能一次都不会执行循环体内语句,出口条件循环则至少会执行一次循环体内语句