c语言学习历程(一)
计算机中最小的储存单位是位:bit 8位等一一个字节 8bit = 1Byte 也就是1B,1KB = 1024B,1MB = 1024 KB
c语言中的数据类型
有符号数的表示方式为原码、反码和补码
原码:
原码(true form)是一种计算机中对数字的二进制定点表示方法。原码表示法在数值前面增加了一位符号位(即最高位为符号位):正数该位为0,负数该位为1(0有两种表示:+0和-0),其余位表示数值的大小。
例如:
5的原码为 0000000000000101
-5的原码为 1000000000000101
反码:
正数:正数的反码与原码相同。负数:负数的反码,符号位为“1”,数值部分按位取反。
5的反码为 0000000000000101 -5的反码为 1111111111111010
补码:
正数:正数的补码和原码相同。
负数:负数的补码则是符号位为“1”。并且,这个“1”既是符号位,也是数值位。数值部分按位取反后再在末位(最低位)加1。也就是“反码+1”。
5的补码为 0000000000000101 -5的补码为 1111111111111011
常量和变量:
常量:在程序运行中不可以被改变的值,分为直接常量和符号常量。
直接常量又分为整形,实型,字符型和字符串
在小数表示法后面加字母E(或e)表示指数。注意:e前e后必有数,e后必为整数。
在浮点数常量的后面用字母F(或f)表示float(单精度浮点)类型。
而字母L(或l)表示long double(长精度浮点)型
如果在浮点数常量的后面不加字母,则表示是一个double(双精度浮点)型常量
字符常量是由一个字母或转义字符两边用单引号括起来表示
字符常量在计算机内存放的值,为该字符ASCII编码值。
字符常量也可以用它的ASCII码值来表示,具体表示方法为:八进制用'\ddd'表示,其中ddd代表三位八进制数。
例如:'\101'代表字母'A','\60'代表字符'0'(零)。
十六进制用'\xhh'表示,其中hh代表两位十六进制数。
例如:'\x41'代表字母'A','\x30'代表字符'0'(零)
字符串常量是由一对双引号括起来的零个或多个字符序列。在字符串中也可使用转义字符。字符串中可以包含空字符、空格字符、转义字符和其它字符,也可以包含汉字等文字符号。
符号常量是用标识符表示一个数据,在程序中不可以给他赋值。
变量:
每一个变量都要有他的名字,都应具有一种数据类型(在定义时指定)内存中占据一定的存储空间 。变量对应的存贮空间中所存放的数。
变量名:以字母或下划线开头,由数字、字母、下划线构成。是由大小写字母、数字字符(0~9)和下划线( _ )三种字符组成,且第一个字符必须为字母或下划线。大小写字母不一样, 标识符a1和A1是两个不同的标识符。长度任意(最少一个字符)。不能采用系统关键字(保留字)。
变量需要定义用来给变量分配存储空间。
给变量赋初值的过程称为变量的初始化。变量所标识的内存单元可能保留先前使用该单元时留下的内容而产生莫名其妙的结果。未赋初值的变量并不意味着该变量中没有数值,而只表明该变量中尚未定义特定的值。
变量的类型有整形变量,实型变量和字符变量。单精度实型提供7位有效数字,双精度实型提供15~16位有效数字。