您的位置:首页 > 运维架构 > Linux

3.linux系统下的基本数据类型

2015-07-14 14:09 387 查看
scanf也是一个标准函数,它可以把用户在键盘上输入的

数字记录在变量中

为了使用这个标准函数需要包含stdio.h文件内容

scanf函数调用语句中必须使用存储区地址表示存储区

使用占位符表示存储区的类型

不要在双引号中加\n字符

如果双引号里有不是占位符的内容则用户在键盘上输入的

时候必须把他们按照顺序输入

使用如下两条语句可以把输入缓冲区中可能存在的

无效数据清理掉

scanf("%*[^\n]");

scanf("%*c");

字符类型是一种数据类型

这个类型中包含256个不同的字符数字(例如't','#'等)

字符类型的名称是char

字符数据还可以使用整数表示

ASCII码表中列出所有字符数据两种表示方式之间的

对应关系

'a' 97

'A' 65

'0' 48

所有字符数据分成两组,每组中包含128个字符

其中一组里所有字符数据两种表示方式之间的对应关系

在所有计算机上都一样(这组字符的整数表示方式

范围从0到127)

另外一组中所有字符数据两种表示方式之间的对应关系

在不同计算机上有可能不同(这组字符的整数表示

方式范围可能从-128到-1,也可能从128到255)

无符号字符类型也是一种数据类型

无符号字符类型用unsigned char表示

这个数据类型里同样包含那256个不同的字符,所有

字符数据的整数表示方式范围固定从0到255

ASCII码表中所有小写英文字符的整数表示方式是

连续排列的,‘a’的整数表示方式最小

所有大写英文字符和阿拉伯数字字符也都符合

这个规律

't' - 'a' 等于 'T' - 'A'

'3' - '0' 等于 3 - 0 等于 'd' - 'a'

'\n' 换行

'\r' 回车

'\t' 制表符

'\\' 代表字符\

'\'' 代表字符'

'\"' 代表字符"

短整数也是一种数据类型

这种数据类型的名称是short

这个数据类型中一共包含65536个不同的整数

这些整数中一半是负数,另外一半是非负数(包含0)

无符号短整数也是一种数据类型,用unsigned short表示

这个数据类型中同样包含65536个不同的整数,范围从0

到65535

长整数也是一种数据类型,用long或者long int表示

这个数据类型中包含2的32次方个不同的整数,其中

一半是负数另外一半是非负数(包括0)

无符号长整数也是一种数据类型,用unsigned long

或者unsigned long int表示

这个数据类型中同样包含2的32次方个不同的整数,范围

从0到2的32次方减一

整数类型和长整数类型一样

整数类型用int表示

无符号整数类型和无符号长整数类型一样

无符号整数类型用unsigned int表示

以上数据类型中所包含的数据范围逐渐扩大并且

互相重叠

C语言中采用浮点类型表示带小数点的数字

单精度浮点类型用float表示

双精度浮点类型用double表示

双精度浮点类型可以记录更多小数点后面的数字(精度

更高)

程序中没有指定类型的浮点数自动被当成双精度

浮点类型处理

程序中不带小数点的数字后加u则计算机把它当成无符号

整数类型处理,例如7u

程序中带小数点的数字后加f则计算机把它当成单精度

浮点类型处理,例如4.7f

数据类型和占位符的关系

char %c或%hhd

unsigned char %c或%hhu

%hhd和%hhu对应整数表示方式

%c对应字符表示方式

short %hd

unsigned short %hu

long %ld

unsigned long %lu

int %d

unsigned int %u

float %f或%g

double %lf或%lg

%g和%lg会省略小数点后面无效的0

占位符的多种使用方法

1.%nd也可以作为占位符使用(n代表一个整数).这个

占位符可以让打印结果占n个位置

2.%-nd也可以作为占位符(n代表一个整数),这个占位符

可以让打印结果占n个位置,打印结果中有效内容出现

在左边

3.%0nd也可以作为占位符(n代表一个整数),这个占位符

也可以让打印结果占n个位置,空位置使用'0'填充

4.%n.mf也可以作为占位符(n和m都代表整数),这个占位符

可以让打印结果一共占n个位置,其中小数点后面的

内容占m个位置

不同类型的存储区中所包含的字节个数不同

sizeof关键字可以用来计算某个数据类型或某个存储区

中包含的字节个数

各种数据类型中包含的字节个数

char(unsigned char) 1个字节

short(unsigned short) 2个字节

int(unsigned int) 4个字节

long(unsigned long) 4个字节

float 4个字节

double 8个字节

sizeof关键字后面的小括号中可以放任何可以当作数字

使用的内容

sizeof小括号里对变量内容的修改不会真正发生

一个字节分成八段,它们之间有前后顺序

每段可以记录一个0或者1

二进制是一种表示数字的方式,它由一串0或者1构成

任何数字一定可以采用二进制方式表示

数字的二进制表示方式可以看成一幅画,画的内容是一盒

巧克力,这幅画可以用来表示这盒巧克力的价格

二进制表示方式中每个数位有一个编号,最右边的数位

编号是0,向左依次递增

二进制表示方式中编号为n的位置上的1代表的数值是

2的n次方

二进制表示方式中相邻的1之间有倍数关系,左边的1

是右边1的两倍

二进制和十进制都是表示数字的方式,同样的数值既

可以用二进制表示也可以采用十进制表示

二进制转换十进制的方法是先把二进制中每个1单独

进行转换,然后把所有转换结果相加

0110 1010 = 2^6 + 2^5 + 2^3 + 2^1

= 64 + 32 + 8 + 2

= 106

十进制转换二进制的方法

1.先把十进制数字拆分成多个2的整数次方之和,然后

把每个拆分结果单独转换,最后把所有转换结果

合并

89 = 64 + 16 + 8 + 1

= 0100 0000 + 0001 0000 + 0000 1000 + 0000 0001

= 0101 1001

预习:

1.二进制(十进制转换二进制的方法,负数二进制

计算,八进制和十六进制...)

2.操作符

作业

1.编写程序把用户输入的1到127之间的整数

转换成8个二进制数位并把结果打印在屏幕上
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: