博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
C语言学习笔记
阅读量:5204 次
发布时间:2019-06-13

本文共 1770 字,大约阅读时间需要 5 分钟。

1、各进制整型常量前缀:十进制(无),八进制(0),十六进制(0x或0X)

2、无符号整型后缀:u或U 长整型后缀:l或L

3、单字节有符号整数范围是-128~127,而不是-127~127

4、十进制实数在计算机中用二进制表示是有误差的

5、C语言中,实数常量只有十进制表示,实数常量的后缀是f或F,实数常量可以写作普通的小数形式,也可以写作“指数”形式,由十进制数,加阶码标志“e”或“E”以及阶码(只能为整数,可以带符号)组成。

6、实数变量有两种:单精度(float)和双精度(double),在Turbo C中单精度型占4个字节(32位)内存空间,其数值范围为3.4E-38~3.4E+38,只能提供七位有效数字。双精度型占8 个字节(64位)内存空间,其数值范围为1.7E-308~1.7E+308,可提供16位有效数字。

7、假设用一个n+1位字来表示一个定点数x,其中一位x0用来表示数的符号,其余位数代表它的量值。为了将整个n+1位统一处理起见,符号位x0放在最左位置,并用数值0和1分别代表正号和负号,这样,对于任意定点数x=x0x1x2...xn,在定点机中可表示为“ x0(符号)x1x2x3...xn(尾数).如果数x表示的是纯小数,那么小数点位于x0和x1之间,当x1x2...xn各位均为0时,数x的绝对值最小,即|x|min = 0;当各位均为1时,x的绝对值最大,即|x|max = 1 - (2的负n次方),故数的表示范围是0 <= |x| <= 1 - (2的负n次方)

关于为什么是1-(2的负n次方),可以以8位为例,算一下,按二进制小数转换为十进制的方法,各位均为1的小数要这样转换:
1*(2^-1) + 1*(2^-2) + ... + 1*(2^-7),也就是
1/2 + 1/4 + ... + 1/128
求和得到127/128,即 1 - 1/128,即1 - (2^-7)

8、当一个浮点数的尾数为0,不论其阶码为何值,或者当阶码的值遇到比它表示的最小值还小时,不管其尾数为何值,计算机都把该浮点数看成零值,称为机器零.

9、不是说浮点数就是小数,定点数也可以表示小数。把一个数的有效数字和数的范围在计算机的一个存储单元中分别予以表示。这种把数的范围和精度分别表示的方法,相当于数的小数点位置随比例因子的不同而在一定范围内可以自由浮动,所以称为浮点表示法。

10、按照IEEE的标准,32位短实数,符号位1位,阶码8位,尾数23位。对64位的长实数,符号位1位,阶码11位,尾数52位

11、实型常量不分单、双精度,都按双精度double型处理。即如 if (a == 0.0),这儿的0.0便默认是double类型

12、    float a;

    double b;
    a=33333.33333;
    b=33333.33333333333333;
    printf("%f\n%f\n",a,b);

 

运行结果:

a:33333.332031,因为float只能提供7位有效数字,所以后面的2031实际上是无效的。(23个二进制有效数字位,转成10进制是7位数)

b:33333.333333,因为printf默认对float输出精确到6位小数,如果改成printf("%f\n%5.10f\n",a,b);,则可以输出小数点后10位。double类型能提供16位有效数字

13、   int跟float运算结果默认是float类型

int i = 33;

    float j = 2.2;
    printf("%f", i*j); // 输出72.600002

printf("%d", i*j);//输出1828716544

14、标准输入中连续输入多个多位整数,以空格分开

do	{		scanf("%d", &a[i++]);	}while((c = getchar()) != '\n');// 这种方式是不行的,会导致第一个输入的字符不会被scanf获取到// 	while((c = getchar()) != '\n')// 	{// 		scanf("%d", &a[i++]);// 	}

 

转载于:https://www.cnblogs.com/any91/p/3346137.html

你可能感兴趣的文章
crontab环境变量问题导致执行nodejs脚本失败
查看>>
Android : No Launcher activity found!
查看>>
Silverlight自定义控件开发:仪表盘
查看>>
三层交换机+VLAN中继
查看>>
分块的一些题(入门)
查看>>
xshell学习笔记
查看>>
记一次JavaWeb网站技术架构总结
查看>>
微服务架构实践之邮件通知系统改造
查看>>
sgu Ice-cream Tycoon
查看>>
EF CodeFirst,同项目多个数据库的迁移
查看>>
OLEDB的Excel的IMEX和HDR是什么意思
查看>>
《think in python》学习-10
查看>>
Python练习题 039:Project Euler 011:网格中4个数字的最大乘积
查看>>
1-[面向对象]-基础
查看>>
iOS App 研发的最后冲刺:内测与部署
查看>>
更新日志 - BugHD Android 客户端上线
查看>>
ssis, Fold configuration
查看>>
今天犯了一个错误
查看>>
IOS多线程编程:概述
查看>>
C语言基础
查看>>