C语言四字节数补码程序,C语言程序设计(三)——顺序程序设计

目录:

常量.c

常量分类:   (1)字面常量(直接常量):数值常量(分为整型常量和浮点型常量)、字符串常量和字符常量

(2)符号常量

(3)常变量

20200227200035286370.png

\f,换页,将当前位置移到下一页的开头

\v,垂直制表符,将当前位置移到下一个垂直制表对齐点

\o、\oo或\ooo(o代表一个八进制),与该八进制码对应的ASCII字符,与该八进制码对应的字符

\xh[h...](h代表一个十六进制),与该十六进制码对应的ASCII字符,与该十六进制码对应的字符

20200227200035881059.png

注:只要在定义一个变量的时候在它之前加上一个const这个关键字,就代表所定义的变量是一个常变量,常变量必须在定义时初始化,之后其值不能被修改

整型:

(一)补码:整型以补码的形式存放

(1)一个正数的补码是此数的二进制形式

求一个正整数的二进制,除以2,直至商为0,余数倒数排序

(2)一个负数的补码,先求其绝对值的补码,然后该补码所有位取反,所得之数最后加1

例如:求-5的补码

假设-5储存的单元是一个字节,一个字节是八个二进制位,求-5的补码先求5的补码,5的补码是101,其他高位上用0来填充则是00000101,得到5的补码后需要对所有位取反,对0取反就是1,对1取反就是0,所以就是11111010,然后加1得到11111011,这就是-5的补码。

(3)0的补码,所有位全都是0

注意:在存放整型的存储单元中最左边一位是用来表示符号的(一个正整数最左边那一位是0,负整数最左边那一位是1)。

8位二进制补码所代表的整数:

二进制            十进制

0000 0000   ——————————    0

0000 0001   —————————— 1

……

0111 1111 —————————— 127  ——— 2^(8-1)-1  最大正数

1000 0000  —————————— -128  ——— -2^(8-1)   最小负数

1000 0001  —————————— -127  ——— -(2^(8-1)-1)

1000 0010  —————————— -126  ——— -(2^(8-1)-2)

……

1111 1111  —————————— -1

自然数0~127,负整数-128~-1

(二)整型数据的存储空间及范围

(1)Turbo C中 int 是2个字节。VC++中 int 是4个字节。C标准没有具体规定各种数据类型所占用储存单元的长度,这是由各编译系统自行决定的。

短整型      整型      长整型          双长整型         名称

short  <=    int  <=    long    <=      long  long      类型

2        2或4       4              8        字节

20200227200035989450.png       

20200227200036106630.png       

20200227200036595857.png             

20200227200036669094.png        

20200227200036748191.png

无符号短整型     无符号整型    无符号长整型       无符号双长整型      名称

unsigned  short <=     unsigned  int   <=      unsigned  long    <=    unsigned  long  long      类型

2         2或4        4             8          字节

注意:只有整型(包括字符型)数据可以加 unsigned 修饰符,实数型不能加,对无符号整型数据用 %u 格式输出,C99新增数据的整型类型有 long  long 和 bool(布尔型)

字节数

有符号的取值范围

类型

2

- 2^15~2^15-1(-32768~32767)

short, int

4

- 2^31~2^31-1(约-2e9~2e9)

int, long

8

- 2^63~2^63-1(-约-9e18~9e18)

long  long

字节数

无符号的取值范围

类型

2

0 ~ 2 ^64-1(约0~18e18)

unsigned  short, unsigned  int

4

0 ~ 2 ^32-1(约0~4e9)

unsigned  int, unsigned  long

8

0 ~ 2 ^64-1(约0~18e18)

unsigned  long  long

记住                      2^7  ==  128

2^8  ==  256

2^15  ==  32768

2^16  ==  65536

2147483648  ==  2^31  ≈  2e9

4294967296  == 2^32  ≈  4e9

9223372036854775808  == 2^63  ≈  9e18

18446744073709551616  == 2^64  ≈  18e18

注意:黑色的格式声明scanf可用,黑色和红色的格式声明printf可用。

类型

格式声明

十进制的

八进制的

十六进制的

short

%hd,  %hi

%ho

%hx,  %hX,  %#hx,  %#hX

int

%d,  %i

%o

%x,  %X,  %#x,  %#X

long

%ld,  %li

%lo

%lx,  %lX,  %#lx,  %#lX

long  long

%lld,  %lli

%llo

%llx,  %llX,  %#llx,  %#llX

unsigned  short

%hu

%ho

%hx,  %hX, %#hx,  %#hX

unsigned  int

%u

%o

%x,  %X,  %#x,  %#X

unsigned  long

%lu

%lo

%lx,  %lX,  %#lx,  %#lX

unsigned  long  long

%llu

%llo

%llx,  %llX,  %#llx,  %#llX

*整型常量的类型转换

类型

常量末尾所加符号(建议都大写)

short

unsigned  short

int

unsigned  int

U、u

long

L, l

unsigned  long

UL, ul, Ul, uL

long  long

LL, ll, Ll, lL

unsigned  long  long

ULL, ull, ULl, uLL, Ull, uLl, ulL

注:如果不加这些说明符号,整型变量的类型是由系统自动识别。

20200227200036833146.png

20200227200036929820.png

20200227200037514743.png

字符型数据:

(一)字符型是以整数形式(ASCII码)存放在内存中。ASCII共128个字符(0~127这128个整数来表示字符)(也就是说最多用7位数就可以表示)。

记住:      ‘A‘ —— 65

‘a‘ —— 97      一个小写字母比其大写字母的ASCII码大32

‘0‘ —— 48

空格 —— ‘  ‘ —— 32

换行 —— ‘\n‘ —— 10

空字符 —— ‘\0‘ —— 0

(二)字符型数据的存储空间和值

*

类型

字节数

取值范围

signed  char

1

-128 ~ 127

unsigned  char

1

0 ~ 255

注意:1.C99把字符型数据作为整型类型的一种。

2.在使用有符号字符型变量时,允许存储的值为负数,但是字符的代码是不可能是负值,所以在存储字符时只用到了 0 ~ 127 这一部分。

20200227200037625088.png

getchar 和 putchar函数.c

f1输出值:

20200227200037866283.png

f2输出值:

20200227200038487337.png

20200227200038624047.png

浮点型数据(包括:单精度浮点型,双精度浮点型,长双精度浮点型,复述浮点型):

(一)规范化的指数形式,把小数部分中小数点前的数字为0,小数点后第一位数不为0,如:0.314159e1就是3.14159的规范化的指数形式。

20200227200038757828.png

(二)实数储存空间及范围(Turbo C中long  double 占16个字节,vc++6.0中占8个字节)

字节数

有效数字

数值范围 ( 绝对值)

数据类型

4

6

0以及1.2e-38~3.4e38

float

8

1 5

0以及2.3e-308~1.7e308

double, long  double

1 6

19

0以及3.4e-4932~1.1e4932

long  double

注:从数值的左边第一个不为0的数字起,一直数到这个数字结束,中间的数字叫这个值的有效数字(如0.618的有效数字有三个,分别是6,1,8)

注:(一)所有常量末尾加的数据转换类型转换符可以大小写不分

(二)在目前学习过的所有格式声明中只有xeg可以不分大小写。

20200227200038875008.png

printf用到的格式附加字符.C

20200227200039018553.png

scanf函数注意事项.C

scanf函数中不可以使用#、-、m-n(m,n属于自然数)的格式附加字符,可以使用域款的格式附加字符

20200227200039225571.png

运算符.2.C

20200227200039415989.png

原文:https://www.cnblogs.com/XiaMengJie/p/12343424.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值