您的位置:首页 > 其它

04,标准C

2013-09-04 23:14 176 查看
/*

 达内学习  2013-9-3 day04  标准C

预习:
1,负数的补码计算
2,C语言中多种操作符

作业:
1,编程把一个用户给定的0到127之间的数字转换成二进制,并把转换结果打印在屏幕上
2,编程把给定的秒数转换成如下格式hh:mm:ss(hh代表小时,mm代表分钟,ss代表秒),最后把转换结果打印在屏幕上

 */

回顾:
1.printf标准函数
2.变量
3.scanf标准函数

数据类型:计算机中数字是分组的,每个分组叫做一个数据类型

不同分组之间可能有重叠,有些数字可能属于多个分组(分组依据不是根据数值分组的)

字符类型是一种数据结构类型

字符类型用char表示

字符类型里面包含256个不同的字符例如,‘a’ '+' '@'     常用的数字、符号和字母(没有中文)

字符类型中的所有字符在计算机里面都是使用数字表示的(字符有两种身份,一种是字符,另一种是数字)

ASCII表列出了256个字符的身份对应关系    ‘a’ 97   'A'65      '0'48

所有字符数据被分成两组,每组128个

其中一组的两个身份的对应关系在所有计算机上都一样  0~127

另外一组的对应关系在不同计算机上可能不一样,这组数据的数字身份范围可能是-128~-1 也可能是128~255

这组数据不要使用字符的数字身份

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

无符号类型用unsigned char表示 这个类型的数字身份规定数字范围是0~255

ASCII表中所有小写字符是连续排列的‘a’的数字身份最小,'z'的数字身份最大;大写字母,数字也符合这个规律

't'-'a' 等于'T'-'A'    'd'-'a'等于'3'-'0'

'\n'换行  \r回车   \t制表符  \\代表\   \'代表'   \"代表 "

\r可以调整输出内容到开头,会覆盖之前的内容   "abc\rxy"   ->xyc   //xy把ab覆盖

\t制表符 输出到下一行的开头   (行首设置间隔缩进)

短整数也是一种数据类型

短整数用short表示

这个数据类型一共包含65536(2的16次方 64k)个不同的整数,范围从-32768到32727

无符号短整数也是一种数据类型   范围从0到65535 

长整数也是一种数据类型

长整数类型用long或者long int表示 

这个数据类型一共包括2的32次方(4G)个不同的整数,在不同计算机上不一样 范围从-2的31次方到2的32次方-1

无符号长整数用unsinged long 或者unsigned long int 表示 范围从0到2的32次方-1

通用整数类型使用int表示

在不同计算机环境下整数类型的范围不确定

在我们使用的计算机环境下整数类型和长整数类型完全一样

无符号整数类型用 unsigned 和无符号长整数类型完全一样

所有整数类型之间是递增的关系,他们互相重叠

C语言中可以使用两中类型表示带小数的数字

单精度浮点数类型使用float

双精度浮点数类型用double

单精度浮点数类型精度低

无符号整数类型数据在使用时需要加上u,例如2u,5u

如果不加u计算机默认是整数类型

单精度浮点数类型使用时候后面需要加上f,例如 1.4f,8.9f

如果不加f,计算机默认是双精度浮点数类型

各种数据类型和占位符间的关系

char %c(字符)/%hhd(数字)

short %hd

unsigned short %hu

long int %ld

unsigned long int %lu

int %d

unsigned int %u

float %f或者%g

double %lf或者%lg

%nd  可以让打印结果占据n个位置 (不满的时候左边补充空格)        

%-nd 可以让打印结果占据n个位置 (不满的时候右边补充空格)

%0nd 可以用0填充空余的位置

%n.mf可以让浮点数占n个位置,其中.后的位置占m个位置

计算机的内存是由字节构成的

任何变量一定对应一个或多个连续的字节 

内存中每个字节有一个地址,两个字节的地址一定不会一样 

地址从0开始逐渐递增 

变量地址是其中最前面字节的地址(地址数据小的叫做前面)

数据类型之间的区别来源于变量所占空间大小的不同

任何变量对应的字节个数一定是2的整数次方

可以用sizeof()计算数据类型的大小,可以是变量名也可以是数据类型名称。计算结果以字节为单位

sizeof() 小括号里可以写一个计算表达式,sizeof关键字对计算结果求大小,表达式中对变量的修改没有效果

char(unsinged char) 1个字节

short(unsigned short) 2个字节

int(unsigned int) 4个字节

long(unsigned long) 4个字节

float 4个字节

double 8个字节

通常的数字表示方式叫做十进制,这种表示方式每个数位上有10种不同的可能

计算机中使用二进制表示所有数字,二进制中每个数位上只有0和1两种可能

二进制和十进制只是表示数字的两种方式,任何一个数字任何时候既可以用二进制也可以用十进制表示

二进制数字中每个数位都对于一个砝码

最右边数位编号为0,向左依次递增

编号为n的数位对应砝码重量是2的n次方

二进制转换十进制的方法:

把二进制数字中所有的1对应的砝码中来那个求和就是十进制表示方式

(0110 1010)2 = 16*(4+2)+8+2= (106)10

0010 0110 = 2*16+4+2=38

十进制转化成二进制:除以2取余数倒着写  

101=64+32+4+1= 01100101   1+4+32+64= 101

使用刚才得到的二进制叫做原码  计算机里面用的是补码

非负数的原码和补码是一样的

每个字节包含8个不同的二进制位

八进制和十六进制是二进制的简写方式
把二进制数字从右向左每三个数位分成一组,用0到7之间的数字表示一组得到的就是八进制表示方式
程序中可以直接使用八进制数字,必须以0做开头,避免和十进制数字混淆  可以用%o占位符打印整数八进制行书  如0%o

把二进制数字从右向左每四个数位分成一组,用0到F之间的数字表示一组得到的就是十六进制表示方式
程序中可以直接使用十六进制数字,必须以0x做开头,避免和十进制数字混淆
%x和%X都是占位符,用来把整数的十六进制打印在屏幕上(%x打印的字符都是小写,%X打印的字符都是大写)
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  标准C 达内 sizeof