数据类型与基本语句
1基本数据类型
整型int
整数,在目前绝大多数机器上占四个字节。TC环境中是两个字节。
单精度实型float
单精度浮点数,绝大多数是四个字节。
双精度实型double
双精度浮点数,一般是8个字节
字符型char
字符因办事1个字节长
用来表示256个ASCL字符
枚举型enum
常量和变量
量是一种在程序中保持固定类型和固定值的数据。编译系统从数据形式上可以区分(除枚举类型外)。常量分为:
整型常量
实型常量
字符常量
字符串常量
枚举常量
变量是在程序执行过程中可以改变。
字符常量的表示方法
’a’,’A’,’5’,’%’,’$’……
单引号内只能有一个字符,除非用“\”开头
就是一个普通整数,也可以参与各种数学运算
每个字符具有一个0~255之间的数值,可从ASCII表查出
注意:‘5’和整数5的区别
字符的数学运算在密码学内用得比较多
用’‘开头的字符为转义字符
例如,’\n’,代表1个字符
转义字符
一些特殊字符(无法从键盘输入或者另有它用)用转义字符表示
字符串常量
字符串常量是一对双撇号括起来的字符序列.
合法的字符串常量:
“How do you do.”, “CHINA”, “a” , “$123.45”
可以输出一个字符串,如
printf(“How do you do.”);
C规定:在每一个字符串常量的结尾加一个 “字符串结束标 志”,以便系统据此判断字符串是否结束。
C规定以字符’\0’作为字符串结束标志。
混合运算:整型(包括int,short,long)、浮点型(包括float,double)可以混合运算。在进行运算时,不同类型的数据要先转换成同一类型,然后进行运算.
说明:
这种类型转换是由系统自动进行的。
在进行赋值操作时,会发生类型转换
将取值范围小的类型转为取值范围大的类型是安全的
反之是不安全的
如果大类型的值在小类型能容纳的范围之内,则平安无事
但是,浮点数转为整数,会丢失小数部分,非四舍五入
反之,转换后的结果必然是错误的,具体结果与机器和实现方式有关。避免如此使用,好的编译器会发出警告
类型强制转换运算符“(类型)”
消除从大到小的警告
l = (long)i;
可以通过“(类型)表达式”的方式把表达式的值转为任意类型
强转时,你必须知道你在做什么
强转与指针,并称C语言两大神器,用好了可以呼风唤雨,用坏了就损兵折将
*C的运算符有以下几类:
(1)算术运算符 (+ - * / %)
(2)关系运算符 (> < == >= <= !=)
(3)逻辑运算符 (! && ||)
(4)位运算符 (<< >> ~ | ∧ &)
(5)赋值运算符 (=及其扩展赋值运算符)
(6)条件运算符 (?:)
(7)逗号运算符 (,)
(8)指针运算符 (和&)
(9)求字节数运算符(sizeof)
(10)强制类型转换运算符( (类型) )
(11)分量运算符(. ->)
(12)下标运算符([])
(13)其他 (如函数调用运算符())
基本算术运算符: + - * / %
结合方向:从左向右
优先级: - ----> / % -----> + -
说明:
“-”可为单目运算符时,右结合性
两整数相除,结果为整数;有一实数相除,结果为实数
%要求两侧均为整型数据
简单赋值运算符
符号: =
格式: 变量标识符=表达式
作用:将一个数据(常量或表达式)赋给一个变量
复合赋值运算符
种类:+= -= = /= %= 《= 》= &= ^= |=
含义: exp1 op= exp2 exp1 = exp1 op exp2