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打印的字符都是大写)
达内学习 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打印的字符都是大写)
相关文章推荐
- 04-Windows Server 2012 R2 会话远程桌面-标准部署-CA证书(RemoteApp)
- IPv6首部标准格式详解 [11-04-30] 所属类别[protocol]
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-1章
- [Java IO]04_系统标准IO
- 【转载】黑莓开发学习(入门教程)04-标准界面的HelloWorld程序
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-2章
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-3章
- day_04 标准的 Java类结构
- [04] JSP标准动作
- MPEG4标准中的Advanced Simple Profile(ASP)完整的说明-04-4章
- Qt基础 04_Qt对话框(三) 标准对话框
- 《用EOM的眼光评判‘我要做全国最最好的标准权限组件和通用权限管理软件’3》(2010/04/08)
- 标准日本语 04_001
- 04-Windows Server 2012 R2 会话远程桌面-标准部署-CA证书(RemoteApp) 推荐
- 标准C知识04
- 标准日本语 04_002
- 标准日本语 04_003
- [Java IO]04_系统标准IO
- APUE读书笔记-02UNIX标准和实现-04标准和实现的关系
- java开发技术的标准与开源之争