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

来源:互联网 发布:简单的c语言程序文件 编辑:程序博客网 时间:2024/06/06 10:54
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个二进制数位并把结果打印在屏幕上











0 0
原创粉丝点击