- 关键字:(32个),不能与变量名冲突。
auto //放在局部变量之前,表示自动变量,一般省略不写
break
case
char
const
continue
default
do
double
else
enum
extern //引入外部符号
float //单精度浮点数
for
goto
if
int
long
register //寄存器
return
short //短整型
signed //有符号
static //静态。修饰局部变量时,延长其生命周期;修饰全局变量时,改变了变量的作用域,让静态的全局变量只能在自己所在的源文件内部使用,出了源文件就没法继续使用了;修饰函数时,改变了函数的链接属性,使其外部链接属性变为内部链接属性.
sizeof //计算变量或者类型所占空间的大小,单位是字节
struct //结构体
switch
typedef //类型定义
union //联合体(共用体)
unsigned //无符号
void
volatile
while
1.计算机存储数据可以在:
①寄存器
②高速缓存
③内存
⑤硬盘
2.CPU:中央处理器。
2.控制语句:(9种)
3.C语言注重大小写。
4.运算符:(34种)
5.C语言允许直接访问物理地址,能进行位操作。
6.固定格式:
#include <stdio.h> //standard input ouput标准输入输出,.h表示头文件
int main(){ //函数的入口,有且仅有一个main函数
printf("hello C语言\n"); //print function,printf表示打印函数,是C语言的库函数
return 0;
}
7.计算机中的单位:
- bite : 比特位,最小单位。
- byte :字节,1个字节=8个比特位的大小。
- kb(1kb=1024byte)
- mb(1mb=1024kb)
- gb(1gb=1024mb)
- tb(1tb=1024gb)
- pb(1pb=1024tb)
8.char类型占1个字节,short类型占2个字节,int类型占4个字节,long类型占4或8个字节,long long类型占8个字节,float类型占4个字节,double类型占8个字节。
C语言标准规定,sizeof(long)>=sizeof(int)
9.short a=10; //向内存申请2个字节=16个bit位,来存放10
10.全局变量:定义在代码块{}
之外的变量。
局部变量:定义在代码块{}
内部的变量(放在main()函数中的变量一定是局部变量,但不是所有的变量都放在main()函数中)。
1.当全局变量和局部变量名字相同时,局部变量优先。一般而言,两者名字建议不要相同,否则容易产生误会,导致bug。
2.局部变量的作用域在其所在的局部代码块之内。全局变量的作用域是整个工程。
3.extern
用来声明外部符号。
10.C语言规定,变量的定义要放在当前代码块的最前面。
11.变量的生命周期:变量的创建到销毁所经历一个时间段。
①局部变量的生命周期:进入作用域生命周期开始,出作用域生命周期结束。
②全局变量的生命周期:相当于main()函数的生命周期,即整个程序的生命周期。
12.C语言中的常量分为:
①字面常量:可直观写出来的常量,比如数字。
②const修饰的常变量:const指的是常属性,放在类型名前面。
const int n = 10;//n是变量,但它又有常属性,所以我们称n为常变量,此时n不能当作常量来使用,但可以利用它来表达一个不可改变的量。
③#define定义的标识符常量。
④枚举常量:枚举就是一一列举,枚举关键字为enum
。
1.大括号中给定的枚举常量不能被修改。
2.但是通过枚举类型创建出来的变量可以被修改。
13.宏的定义
14.内存是电脑上特别重要的存储器,计算机中所有程序运行都是在内存中进行的。为了有效使用内存,就把内存划分成一个小的内存单元,每个内存单元的大小是1个字节。为了能够有效地访问到内存的每个单元,就给内存单元进行了编号,这些编号被称为该内存单元的地址。
32位:32根地址线/数据线,正电用1表示,负电用0表示。可以产生2^32个内存编号即内存地址。
15.&a;
表示取a的地址。
指针变量:用来存放地址的变量。
16.*p;
此时,*为解引用操作符,目的是对p进行解引用操作,找到它所指向的对象a。
int a=10;//在内存中创建一个名为a的变量,初始化为10,此时这段存储空间有自己的地址
int *p=&a;//把a的地址取出来,存储到p变量中
*p=20;//利用解引用操作符找到p指向的对象啊,从而把a的值改为20
补充:
.c文件被称为源文件。
C语言是一门面向过程的语言。