1.1 常量与变量
1.1.1 关键字
C语言的关键字有32个,分为四类
数据类型关键字12个:char,short,int,long,float,double,unsigned,signed,struct,union ,enum ,void
控制语句关键字12个:if,else,switch,case,default,for,do,while,break,continue,goto,return
存储类关键字5个:auto,extern,register,static,const
其他类型关键字3个:sizeof,typedef,volatile
1.1.2 数据类型
数据类型的作用:编译器预算对象(变量)分配的空间内存大小。
数据类型分为:基本数据类型、扩展数据类型、指针类型
基本数据类型:整型(int short long)、字符型(char)、浮点型(double float)
指针类型:基本类型指针( int* )、数组指针( int(* p)[50] )、函数指针( void (*p)(int ,int) )
扩展数据类型:数组类型、结构体类型、联合体类型、枚举类型
1.1.3 常量
常量:在程序运行过程中,其值不能被改变的量;一般出现在表达式或者赋值语句中
整型常量 | 100,200,-100,0 |
---|---|
实型常量 | 3.14 , 0.125,-3.123 |
字符型常量 | ‘a’,‘b’,‘1’,‘\n’ |
字符串常量 | “a”,“ab”,“12356” |
1.1.4 变量
1)变量:在程序运行过程中,其值可以改变;变量使用前必须先定义,定义变量前必须有相应的数据类型。
标识符命名规则:
标识符不能是关键字
标识符只能由字母、数字、下划线组成
第一个字符必须为字母或下划线
标识符中字母区分大小写
变量特点:
变量在编译时为其分配相应的内存空间
可以通过其名字和地址访问相应内存
2)声明和定义的区别
声明变量不需要建立存储空间,如:extern int a;
定义变量需要建立存储空间,如:int b;
#include <stdio.h>
int main()
{
//extern 关键字只做声明,不能做任何定义,后面还会学习,这里先了解
//声明一个变量a,a在这里没有建立存储空间
extern int a;
a = 10; //err, 没有空间,就不可以赋值
int b = 10; //定义一个变量b,b的类型为int,b赋值为10
return 0;
}
从广义的角度来讲声明中包含着定义,即定义是声明的一个特例,所以并非所有的声明都是定义:
int b 它既是声明,同时又是定义
对于 extern b来讲它只是声明不是定义
一般的情况下,把建立存储空间的声明称之为“定义”,而把不需要建立存储空间的声明称之为“声明”。
#include <stdio.h>
#define MAX 10 //声明了一个常量,名字叫MAX,值是10,常量的值一旦初始化不可改
int main()
{
int a; //定义了一个变量,其类型为int,名字叫a
const int b = 10; //定义一个const常量,名为叫b,值为10
//b = 11; //err,常量的值不能改变
//MAX = 100; //err,常量的值不能改变
a = MAX;//将abc的值设置为MAX的值
a = 123;
printf("%d\n", a); //打印变量a的值
return 0;
}