导图社区 C语言的数据的存储与运算
C语言的数据的存储与运算知识梳理,包括不同类型的数据的存储方式、C语言运算符、整型数据的运算分析等等。
习惯就是人们长时间养成的生活方式和行为方式,它决定了我们做事的基本方法,有好的习惯的人做事都会有好的结果,而坏习惯的人往往难以成事,因而,人们常说习惯决定命运。这里总结了7个习惯帮助大家成为高效人士。
认知获取的概念 知道一些概念、过程、信息、现象、方法,知道它们大概可以用来解决什么问题,而这些东西过去你都不知道。 结论:认知获取是学习的开始,而非结束。 比如当朋友给我们介绍一位新朋友时,朋友说,这位朋友性格活泼开朗。
国标重点水污染源运维工作日常事项,整理了仪器设置、运维、维修检查的内容,一起来看吧!
社区模板帮助中心,点此进入>>
互联网9大思维
组织架构-单商户商城webAPP 思维导图。
域控上线
python思维导图
css
CSS
计算机操作系统思维导图
计算机组成原理
IMX6UL(A7)
考试学情分析系统
数据的存储与运算
数据在计算机中是以二进制的形式存储的
不同类型的数据的存储方式
整数的存储方式
一个字节的最高位表示符号,其为0表示整数。
整数是以补码的形式存放的。正数的补码等于该数的原码;负数应先求补码再存放。
实数的存储方式
采用指数形式存储。
计算机内存中按照标准化指数形式存储。
计算机一般用4个字节存放一个实数,前三个字节存放数值部分,后一个字节存放指数部分。
标准化指数形式
如123.456=0.123456×10^3,前面是数值部分,后面是指数部分。标准化指数形式是:数值部分是一个小数(小数点前是0,小数点后的第一位数字非0)
字符的存储方式
计算机将字符的代码存储到相应的存储单元中
整型数据的运算分析
输出格式是:%d
2.占据2个或4个字节
整型变量
变量的值
变量名:代表一个变量的地址,通过它可以找到相应的存储单元,然后对该存储单元进行写操作或读操作。变量名的取名规则是第一个字符必须是字母或下划线,其后的字符必须是字母、下划线或数字。
h=16代表向变量名为h的、地址为2000的存储单元中存入整数16
4.整型变量:int a
类型
基本整型:int 长整型:long int 短整型:short int
整型常量
实型数据的运算分析
输出格式是:%f
实型数据的运算举例
P26(谭浩强C语言程序设计第3版)
实型常量
实数在计算机中常被称作浮点数
十进制小数形式
0.123
指数形式
123×10^3即是:123e3或123E3(用e或E代表以10为底的指数,但e或E之前必须要有数字,之后的指数必须为整数)
实型变量
单精度:float
4个字节,有效位数为7位(不包括小数点,如float a = 1234.12345,则运算出来的结果是1234.123 56,前面的1234.123是精确的)
双精度:double
8个字节,有效位数为15~16位
长双精度:long double
8~16个字节
字符型数据的运算分析
输出格式是:%c
占据1个字节
字符常量
用单撇号括起来的一个字符,如 ‘a’ 、 'A'、'&'等,但要注意‘a’ 和 'A'是不同的。
单撇号只是分界符,并不是字符常量的一部分,如'a'的字符常量是a(用单撇号避免与变量a混淆)
3.'\n'也是一个字符常量,可以赋给一个字符变量
字符串常量
一对用双撇号括起来的字符序列,如 “CHINA”。
注意:char c = 'a' 是正确的,但 char c = "CHINA" 是错误的,因为一个字符变量c只能存放一个字符,而不能存放多个字符,而 char c = "a" 也是错误的,因为不能把一个字符串常量赋给一个字符变量
"a" 包括 'a' 和 '\0'两个字符。
字符变量
如:char a
只能存放一个字符,不能存放一个字符串
3.字符数据和整型数据在一定条件下可以通用,如:char c = 'a' ; char c = 97 ; 此时用%d或%c可输出相应形式的数据
转义字符
如 \n 这类不能在屏幕上直接显示出来的字符,只是作控制作用,如换行、退格。
2.转义字符必须以反斜杠位开头的标志,而且其后只能有一个字符。
符号常量
格式类似于:#define PI 3.14568(在开头宏定义)
2.作用是简化程序,用PI来代替程序中连续出现的3.14568这个数据
3.符号常量不等于变量,它只是一个符号,不占据存储单元。且它不能被赋值(在开头宏定义之后,若再对它赋值是错误的)和指定类型(如 double PI 是错误的)
习惯上符号常量用大写,变量名用小写以作区分。
C语言运算符
常用运算符
优先级从高到低:!> 算术 > 关系 > &&和|| > 条件 > 赋值
算术运算符
优先级:先乘除后加减,同优先级的自左向右。
如果参加 +、-、*、/ 运算的两个数中有一个数为float 或 double型,则结果均为 double型。
运算时不同类型的数据要先转换成同一类型,然后再进行运算。(字节少的数据转换成字节多的类型)
4.强制类型转换格式:(类型名)(表达式),如:(int)(x+y)是将x和y相加后进行强制整型转换;(int)x 是将x进行强制整型转换。注意:转换后得到一个所需类型的中间变量,但原来变量的类型并未发生变化。
+ :加法运算符或正值运算符
- :减法运算符或负值运算符
* :乘法运算符
/ :除法运算符
%:求余运算符
%两侧均应为整型数据
自增、自减运算符
只能用于变量,不能用于常量
++i,--i
在使用 i 之前,先使 i 的值加1或减1
如 i = 3,求 j = ++i 。则 i 先自加1等于4,再赋给 j ,则 j = 4 。
i++,i--
1.在使用 i 之后,使 i 的值自加或自减1。
如 i = 3,求 j = i++ 。则 i 的值先赋给 j,j = 3,然后 i 再自加变为4。
关系运算符
优先级相同(高)
>
>=
<
<=
优先级相同(低)
!=
==
逻辑运算符
一目运算符
运算符右侧有一个运算对象即可
!(最高)
双目运算符
要求运算符两侧均有一个运算对象
&&(次高)
||(最低)
条件运算符(三目运算符)
结合方向为 ”自右向左“
赋值运算符
基本类型
=
复合类型
a += 3 :a = a+3
指针运算符
*
&
求字节数运算符
sizeof
逗号运算符
提高部分
求补码
正数的补码
就是原码,即二进制形式
负数的补码
先求正数的原码,然后取反,最后反码加1
整型常量的表示形式
十进制数
a = 83
八进制数
a = 0123(以0开头)
十六进制数
a = 0x53(以0x开头)