C学习-变量和常量
index
一、变量
变量只是代表一个存储空间的名字,变量的值可以被改变。
1.1 C 语言中变量的意义
不管在哪门子计算机语言中,变量存在的意义就是: 确定目标和提供存放的空间,就是为了获取变量名称对应的数据
1.2 变量命名的规范
很多语言 对变量的命名规范几乎都是一样的
| 关键字 | 简单说明 |
|---|---|
| auto | 声明自动变量 缺省时编译器默认为auto |
| int | 声明整形变量 |
| double | 声明双精度变量 |
| long | 声明长整形变量 |
| char | 声明字符型变量 |
| float | 声明浮点型变量 |
| short | 声明短整型变量 |
| signed | 声明有符号类型变量 |
| unsigned | 声明无符号类型变量 |
| struct | 声明结构体变量 |
| union | 声明联合体(联合数据)变量 |
| enum | 声明枚举变量 |
| static | 声明静态变量 |
| switch | 用于开关语句 |
| case | 开关语句的分支 |
| default | 开关语句中的“默认”分支 |
| break | 跳出当前循环 |
| register | 声明寄存器变量 |
| const | 声明只读变量(常变量) |
| volatile | 说明变量在程序执行中可能会被隐式地改变 |
| typedef | 给数据类型取别名 |
| extern | 声明变量是从其他文件中引用来的 |
| return | 子程序返回语句(参数可有可无) |
| void | 声明函数无返回值或无参数,声明空类型指针 |
| continue | 结束当前循环并开启下一轮循环 |
| do | 循环语句的循环体 |
| while | 循环语句的循环条件 |
| if | 条件语句 |
| else | 条件语句的否定分支 |
| for | 循环语句 |
| goto | 无条件跳转语句 |
| sizeof | 计算对象所占内存空间大小 |
C99的关键字 - 1999年12月16日,ISO推出了C99标准,该标准新增了5个C语言关键字
| 关键字 | 简单说明 |
|---|---|
| inline | 内联关键字 |
| restrict | restrict指针 |
| Bool | 新增数据类型,数值非0 即true |
_Complex |
….. |
_mplex |
….. |
C11的关键字 - 2011年12月8日,ISO发布C语言的新标准C11,该标准新增了7个C语言关键字:
| 关键字 | 简单说明 |
|---|---|
_Alignas |
… |
_Alignof |
… |
_Atomic |
… |
_Static_assert |
… |
_Noreturn |
… |
_Thread_local |
… |
_Generic |
… |
1.4 数据类型简单了解
- char - 字符型 1字节
- int -整形 自然数长度 ,不同机器中不一样的
- float - 单精度浮点型
double - 双精度浮点型
二、常量
代表一个一个具体值得名字 不能被修改。
2.1 简单讲解
整型常量 1,2,123
- 实型常量 3.14,…
- 字符常量 单引号包括
- 普通字符 ‘L’’
- 转义字符 ‘\n’ ‘\r’ …..
- 字符串常量 双引号包括 “ALEX”
- 符号常量 使用前必须先定义
- 格式 #define 标识符 常量
- 习惯于
纯大写命名 符号常量 - 习惯于春晓写命名 变量
2.2 练习demo
#include <stdio.h>#define NAME "向上" //后面不要加上分号结束,哈哈#define AGE 24#define HEIGHT 179.1int main(){printf("我叫%s,年龄%d,身高%2.f\n",NAME,AGE,HEIGHT);return 0;}
2.3 thinking
在c语言中
‘A’ 会占用1个字节
“Hello Word” 会占用几个字节呢?
是10个吗?。
但是我们想一下,cpu 如何判断这个字符串的结束捏?实际上在编译过程中字符串的末尾会被添加一个 转义字符 ‘\0 ‘ 来标识字符串的结束,这样在连续的内存中我们就可以,读取字符串的结束位置了。
