C学习-变量和常量

index


一、变量

变量只是代表一个存储空间的名字,变量的值可以被改变。

1.1 C 语言中变量的意义

不管在哪门子计算机语言中,变量存在的意义就是: 确定目标和提供存放的空间,就是为了获取变量名称对应的数据

1.2 变量命名的规范

很多语言 对变量的命名规范几乎都是一样的

  1. 只能由数字、字母、下划线组成
  2. 首字母必须是字母/下划线开头
  3. 不能使用关键字
  4. 区分大小写

    1.3 C语言的32个基本关键字 + 5 + 7 = 44

    最开始的关键字 12+12+4+4
关键字 简单说明
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

  1. #include <stdio.h>
  2. #define NAME "向上" //后面不要加上分号结束,哈哈
  3. #define AGE 24
  4. #define HEIGHT 179.1
  5. int main()
  6. {
  7. printf("我叫%s,年龄%d,身高%2.f\n",NAME,AGE,HEIGHT);
  8. return 0;
  9. }

2.3 thinking

在c语言中
‘A’ 会占用1个字节
“Hello Word” 会占用几个字节呢?
C学习一变量和常量 - 图1
是10个吗?。
但是我们想一下,cpu 如何判断这个字符串的结束捏?实际上在编译过程中字符串的末尾会被添加一个 转义字符 ‘\0 ‘ 来标识字符串的结束,这样在连续的内存中我们就可以,读取字符串的结束位置了。
C学习一变量和常量 - 图2