c语言赋值float型数初值为零,c语言学习收获

本文介绍了C语言中的数据类型,重点关注了浮点型数据如float的存储和赋值。讨论了整型数据的存储方式,包括符号位的概念,并详细解释了不同类型的整数在赋值时的处理方式。此外,还提到了字符数据和浮点数据的存储,以及变量赋值的规则,特别是浮点型变量如何被赋予初值为零的情况。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. C语言数据类型

基本类型

整型 :存整数的

int  short long

(unsigned) int

字符型

(unsinged)char

实型(浮点型) : 存小数

单精度实型号float

双精度实型 double

构造类型

数组类型

结构体 struct

联合  union

枚举  enum

指针类型

*

空类型(void)

1.1. 常量与变量

(1) 常量:在程序运行期间,其值不能被改变的量称为常量。

符号常量

const

(2) 变量: 变量代表内存中具有特定属性的一个存储单元,它用来存放数据(这个数据就是变量的值),在

程序运行期间,这些值是可以改变的。

变量类型  变量名;

变量名, 实际上是一个以一个名字对应代表一个地址,在程序编译时由编译系统给每一个变量名分配对应的内存地址。

a: 从变量中取值, 实际上是通过变量名找到相应的内存地址,从该存储单元中读取数据;

b:  给变量赋值,实际是是通过变量名找到相应的内存地址,把数值存储到该内存地址中去。

标识符(指变量名,函数名,标号等): 由字母、数字、下划线组成,且第一个字符必须为字母或下划线。

1.2 整型数据

整型常量 : 十进制数, 八进制数(以0开头), 十六进制(0x)

整型变量: 整型数据在内存中是以二进制补码形式存放的。

signed  : int , short , long.  最高位是符号位,1 代表负数, 0代表是非负数

unsigned : unsinged int , unsigned short ,unsigned long。 所有bit位都是数值位。

13 / -13在内存中的实际存放情况。

在CPU内部是没有符号位的概念的,对于CPU来说,所有位都是数值位,都参与运行运算,

至于是正数还是负数,由编译器词义决定(看编译器怎么解释,实际上就是看编译器把它当

作是有符号数还是无符号数)。

//(不同的编译器,长度不同)

// short  2bytes

//int 4bytes

// long 4bytes

整数赋值: C标准建议

short 赋值给 int : (有符号数 短->长)

低字节直接拷贝,高位补符号位 (符号位扩展)

unsigned short  赋值给 unsigned int  :(无符号数 短->长)

低字节直接拷贝,高位补0

int 赋值给 short (signed ,unsinged 长->短)

只拷贝低字节

1.3 字符数据

char /unsigned char 字符类数据在计算机中是以ASCII码的二进制来存储。

ASCII码: 给每一个字符(比如'A', '0', ...) 取一个整数来表示它,那么这个整数就是所谓的ASCII码

char/unsigned char  也是一个整型。占一个字节。

char c = 'A' ;  //‘’引用单个字符。 'A'

// "" 字符串

1.4 浮点数据   “存储”

float   32bits

double  64bits

浮点型数据的“存储”,请看 图示。

1.5 变量赋值(及赋初值)

int a ; //定义语句

int a = 5; //定义并赋初值语句

《=》 int a;

a = 5;

2    运算符。

(1) 算术运算符 + - * / %, ++ --

%求余运算符,要求操作数都必须为整数。

根据运算符要示的操作数的个数,我们可以把运算符归为以下三类:

双目运算符,

单目运算符,

三目运算符,

++自增运算符,把自己的值加1

a++  表达式值为a, 做完这个表达式后a  =  a + 1

++a  表达式值为a+1, 做完这个表达式后a = a + 1

--自减运算符,把自己的值减1

a--  表达式值为a,做完这个表达式后a = a -1

--a   表达式值为a-1, 做完这个表达式后a = a - 1

(2) 关系运算符 >  >=  < <= == !=

(3) 逻辑运算符 && || !

(4) 位运算符

(5) 赋值运算符 =

a = 5

赋值运算是把右边表达式的值,写入到左边那个东西对应的存储单元中去。

赋值运算符要求:

两个操作数必须属于同一类型(或兼容类型, 兼容类型是指可以转换的类型)  ;

赋值运算符左边的操作数必须要对应一个可写的存储单元。(变量)

3 + 5  = a ;  (错的)

复合的赋值运算符(算术运算符,位运算符与=连接)

+=, -=, *= /= ,....

<<=, .....

a+=5 <=> a = a + 5;

x *=  3 + 5 <=> x = x * (3 + 5)

赋值表达式

a = 5

赋值表达式的值为:赋值后左边那个变量的值

a = 3 + 5 * 6  这是一个赋值表达式,而这个赋值表达式的值就是最后a的值

(6) 条件运算符

(7) 逗号运算符

表达式1,表达式2

求解过程:

先算表达式1,再算表达式2,

最后这个逗号表达式的值是表达式2的值

扩展逗号表达式:

表达式1, 表达式2, ...., 表达式n

求解过程:

先算表达式1,再算表达式2, ...,最后算表达式n,

整个逗号表达式的值为表达式n的值。

(8) 指针运算符

(9)求字节运算符  sizeof

(10) 强制类型转换运算符 (int)

(类型B)(表达式A)

把表达式A的值强制转换为类型B

(11) 分量运算符 (. ->)

(12) 下标运算符 []

(13) 其他(如函数调用运算符)

3. 表达式

表达式一个某某意思的式子。

在C语言中,表达式是指用运算符连接其操作数的式子,叫表达式。

a + b

算术表达式,就是由算术运算符连接的表达式,叫做算术表达式。

a + b * 5 - 7

a = 6 + 5 (赋值表达式,)

表达式的值。

任何一个表达式,都会有一个值。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值