C进修(4)--有关数据类型运算和变量等基础知识的整理

1.前言

  众所周知,在C语言中数据类型不是很多,连bool类型都没有,我们有必要来学习一下,而且运算符的次序之类的和编译器如何为变量分配内存,这些知识虽然基础,但是也很重要,今天就来整理一片个人拙见,与大家分享.

2.详述

2.1.内存如何存放数据或指令

变量是指其值可以变化的量。计算机中,指令代码、数据都存储于内存中。变量也需要存储在内存中。在计算机中,每个变量都被分配了一块内存空间,在这些空间里存储的就是变量的值。变量之所以可以变化,就是这个存储空间可以存储不同的数值。存储空间里的值变化,则变量对应的值也变化。同一个时间,内存空间里只能保存一份值,新值冲掉了原来的旧值。每个内存单元都有编号,这些是内存的地址。

例如:

int a = 1,b = 2,c;

c = a + b;

这里就会开辟3个内存空间 ,记录其数据类型为int类型,分别用a,b,c三个变量名代表.a的内存地址存放的值为1,b的内存地址存放的值为1,由于c未初始化,所以其值为垃圾的值.当c = a + b;执行完,计算机会把 a和b的值相加,赋值给c的内存地址的值,这样此时c的值就为3.

对于上面加法部分的代码可以用汇编来解释:

_asm
{
mov eax, 1
add eax,b
mov c,eax
}

首先现将a的值1移动到eax寄存器中,然后把b和eax的值相加,最后把eax的值赋值给c.


变量声明的意义:

(1).建立变量符号表,规定了程序中用了多少变量,类型和名称.

(2).变量的数据类型说明了要为其分配多少内存.如何解释存储空间的值.规定了变量的取值范围.

(3).不同的数据类型有不同的操作.

2.2.数据类型与内存

  计算机内存最小的单位为位(bit),而地址标号是以8位也就是1个字节(Byte)为单位的,每隔8bit,地址编号+1.C语言中:

char字符占1个字节(取值范围-127~127),

short短整形占2个字节(取值范围-32767~+32767),

int根据操作系统占得字节不同,win32系统为4字节,老系统TC中占2字节,

long占4个字节,

float占4个字节,

double占8个字节.

2.3.常见的ASCII值(字符:码值)

NUL:000,'0':48,'A':65,'a':97.

2.4.printf中的格式字符

%d--带符号的十进制整数

%o--无符号八进制整数

%x--无符号的十六进制整数

%u--无符号的十进制证书

%c--字符形式

%s--字符串形式

%f--小数形式

%e--指数形式

%g--精简的小数,指数形式,选择前两者中的最简单的方式输出,去掉多余的0

3.结语

  以上就是最近学习的个人总结,与大家分享之.

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值