文档介绍:第三章数据类型、运算符和表达式
1
C语言数据类型
C语言数据类型
整型
字符型
实型(浮点型)
枚举类型
数组
结构体类型
共用体类型
单精度型
双精度型
基本类型
构造类型
指针类型
空类型
数据类型
2
C的数据类型
整型
字符型
实型(浮点型)
枚举类型
单精度型
双精度型
数组类型
结构体类型
共用体类型
构造类型
基本类型
指针类型
空类型
数据类型
3
常量与变量
:在程序执行期间,其值不可改变的量称为常量
:
数值常量例如:10,3 ,
符号常量即用一个符号代表一个常量
例如: #define PI
main( )
{float r,l,s;
r=2; l=2*PI*r;s=PI*r*r;
printf(“l=%d, s=%d”, l,s); }
4
说明:
符号常量必须先定义后才能用它表示一个数值。
符号常量的值在其作用域内不能改变,也不能再被赋值。
符号常量名习惯用大写字母表示。
5
1. 定义:程序执行期间值可以改变的量。
: 变量名由标识符表示,只能由字母、数字和下划线三种字符组成,且第一个字符必须为字母或下划线。
例如:下列标识符中,不合法的变量名有:
, 12%gf , 1add , _ce36 ,age&
5thclass, lotus-1-2-3 , cd*ef , float
3. 变量要“先定义,后使用”
定义格式:类型说明符标识符1, …,标识符n
例如:int x, y, z; (每个变量分配 2个字节)
float a, b, c, d; (每个变量分配 4个字节)
3
a
6
在C语言中,变量必须强制定义,其目的:
1、凡未被事先定义的,不作为变量名。
2、每一个变量被指定为一确定的类型,在编译时就能为
其分配相应的存储单元。
3、指定每一个变量为一确定的类型,在编译时据此检查
该变量所进行的运算是否合法。
例如:如果变量 a,b 是整型类型,则可以进行求余运算:
a%b
而两个实数类型的变量求余是不允许的。
7
* 选变量名时,要做到“见名知意”
例如:name st_age xm nl class sum
* 大小写字母是两个不同的字符,C变量名习惯
用小写字母表示。
* 建议变量名的长度不要超过8个字符。
请注意
8
十进制整数:由数字(0-9)和正负号表示
例如:123、-456、0 等
八进制整数:以0开头数是八进制数
例如: 0123 即(123)8 =( 83) 10
(123) 8=182+2 81+3 80 =( 83) 10
十六进制整数:以0x或0X开头,
例如: 0x123 即(123) 16 =( 291) 10
-0x12 即(-12) 16 =( -18 ) 10
9
整型变量
整型数据在内存中的存放形式(补码表示法:便于加减运算)
int i;
i=10;
10=(1010)2
2
10
2
5
2
2
2
1
0
余数
0
1
0
1
首位
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
0 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0
1 1 1 1 1 1 1 1 1 1 1 1 0 1 0 1
1 1 1 1 1 1 1 1 1 1 1 1 0 1 1 0
10的原码
取反
取反后再加1,得-10的补码
10的表示法,正数的补码等于它的原码
-10
10