C语言的基本元素
-
字符集,即(ASCII字符集),由字母、数字、空格、标点和特殊字符组成
① 大小写英文字母:az,AZ
② 数字:0~9
③ 键盘符号
-
关键字,已经被C语言编译工具本身使用的
-
标识符,程序员自己定义的一种字符序列,定义对象名称
-
可以为单个字母
int a = 0; int b = 1;
-
由字母、数字和下划线组成,但必须以字母或下划线开头,不能是C语言关键字
char _b1; char _123F; float Li; //错误示例: char void; int -abc; double 2ab; // (void为关键字) (以减号开头) (以数字开头)
-
有相应的意义,见明知意
-
基本数据类型
-
常量和变量
-
常量
① 字面常量(直接常量)
整型常量:100、0、15
实型常量:12.34、-0.5、3.24e5、-0.34E-6
字符型常量:‘A’、‘8’、‘#’、‘\t’、‘\n’、‘\101’、‘\x41’
字符串常量:“BOY”、“C program”、“12.5”
② 符号常量
#define 标识符 常量 #define PI 3.14159
-
变量
定义形式:
类型说明符 变量名标识符,变量名标识符,...; dobule r , c ;
-
int a = 3
a是变量名,3是a的值,即存放在变量a的内存单元中的数据。
变量名是以一个名字代表的一个存储地址,在对程序编译连接时由系统给每一个变量名分配对应的内存地址。
程序运行–>从变量中取值,通过变量名找到相应的内存地址,在其相对应的存储单元中读取数据。
-
-
整形数据
-
整型常量
-
整形常量的前缀
① 十进制整常量:无前缀,数码取值为0~9,例如:17,-31。
② 八进制整常量:以数字0为前缀,数码取值为0~7,例如:021(对应十进制数为17)
③ 十六进制整常量:以0X或0x为前缀,数码取值为09,AF或a~f,例如0x11(对应十进制数为17)
-
整形常量的后缀
有符号整型常量:整形int为有符号数,-31、17、021。
无符号整型常量:不能表示小于0的数,17u、021u、0x11u
有符号长整型常量:用后缀“L”或“l“表示,例如,65536L、0200000L,0x0000L
无符号长整型常量:用后缀“LU”或“lu“表示,例如,65536LU、0200000LU,0x0000LU
-
-
整形变量
-
-
实型数据
-
实型常量
① 十进制小数形式:0.0、25.0、0.13
② 指数形式:用e或E代表以10为底的指数,例如:3.4e-6(=3.4×10-6)、-2.5e5(=-2.5×105)
-
实型变量
-
-
字符型数据
-
字符常量
① 普通的字符常量:'A’的ASCII码是十进制数65,二进制形式为1000001;‘1’->49->0110001
② 转义字符:以""开头,例如:\n,\t,\b
-
字符变量
-
C语言的运算符和表达式
-
运算符及表达式简介
① 优先级 ; ② 结合性; -
自增自减
i++ 先使表达式的值为i的值加1,而后自身加1;++i 则相反
注意:
① 运算符操作对象只能是变量,不能是常量或表达式,例如6–、++(a*a)、++(-i)都是错误的;
② 若不赋值,则变量前置自增自减和后置后增后减结果相同:
int x = 8; x++; printf("x=%d",x); -->x=9 int x = 8; ++x; printf("x=%d",x); -->x=9
若有赋值,则结果不同:
int x,y = 8; y=x++; printf("x=%d",x,y); -->x=9,y=8 int x,y = 8; y=++x; printf("x=%d",x,y); -->x=9,y=9
类型转换
-
自动类型转换
-
强制类型转换
(类型说明符) (表达式)
① 必须加括号
② 不会改变数据本来的类型或值