当前位置: 首页 > news >正文

第二讲、C语言的常量和变量

一、程序设计

C编译程序将数据划分为不同的数据类型,并为每一种数据类型规定了在内存中的储存单元字节数和如何表示

二、数据类型

在C语言中,按被定义数据的性质、表达形式、占存储空间以及构造特点其数据类型分为:

三、数据的计算机表示

整型

长整型

无符号整型

无符号长整型

不同的差别就在于采用不同位数的二进制编码方式,占用不同的存储空间,就会有不同的数据类型范围。

在数据中整数是一个无限的集合,即整数的表示范围为负无穷到正无穷。C语言标准本身也并不限制各类数据类型所占的存储字节数。

在计算器中,所有数值的取值范围受限于机器所能表示的范围,不同的计算机软件系统对数据的存储有具体的规定。

BC++3.1对C语言整形的规定:

整形存储字节:2字节  取值范围:-32768——32767

长整型存储字节:4字节   取值范围:-2147483648——2147483647

无符号整型存储字节:2字节    取值范围:0——65535

无符号长整形存储字节:4字节    32位二进制数全部用来表示数值;

无符号整数型数能表示的数的取值范围为0——4294967295.

整形数据的计算机内部表示

计算机内部总是采用二进制补码形式表示一个整形数据

整数型

无符号整型数

浮点数

单精度型

双精度型

长精度型

  • BC31中浮点数在计算机中是按照指数形式存储的,即把一个浮点数据分成符号位,指数和尾数三部分。

  • 表示尾数部分的位数越多,数的有效位就越多,数的精确度就越高。表示指数部分的位数越多,数的表示范围就越大。

浮点数的计算机内存存储形式:

单精度浮点数的精度就取决于

小数部分的23位二进制位所能表达

的数值位数(最小小数2-23最大小数

1-2-23),将其转换为十进制,最多

可表示7位十进制数字,所以单精度

浮点数的有效位约为7位。

引进双精度型和长双精度型浮点数,用于扩展存储位数,目的是增加实数的长度,减少累积误差,改善计算精度。

1.指数位全为0,这时浮点数的指数等于1-127(或者1-1023),尾数部分不再加上第一位的1,而是还原为0.xxxxxx的小数。这样做是为了表示士0,以及接近于0的很小的数字,

2.指数位全为1,这时,如果尾数部分全为0,表示土无穷大(正负取决于符号位s);如果尾数部分不全为0,表示这个数不是一个数(NaN)

四、C语言中的常量

C语言提供的常量有,

◆数值常量(整型常量,实型常量)

◆字符型常量(字符常量,字符串常量)

◆符号常量

C程序中常量是直接以自身的存在形式体现其值和类型;

常量并不占内存,在程序运行时它作为操作对象直接出现在运

算器的各种寄存器中。

整型常量

十进制整型常量:例如 56、-100、2004;568277464

八进制整常量:0开头,数码取值为0~7。如:017(十进制为15)、0101(十进制65)、0177777(十进制为65535);

十六进制整常量:前缀为0X或0x,其数码取值为0~9,A~F或a~f。

如:0X2A(十进制为42)、0xA0(十进制为160)、0XFFFF(十进制为65535)

整型常量的后缀:长整型数是用后缀""""表示的。如:158L(十进制为158),012L(十进制为10)

浮点型型常量

字符型常量

  • 用单引号括起来的一个字符,单引号中的内容不能是单引号,双引号和反斜线。
  • 字符常量的值就是该字符的ASCII码值。一个字符常量在内存中只占一个字节。

转义字符是一种特殊的字符型常量。转义字符以反斜线"\"开头,后跟一个或几个字符。转义字符具有特定的含义,不同于字符原有的意义。广义地讲,C语言字符集中的任何一个字符均可用转义字符来表示。

 字符串常量

字符串常量:由一对双引号括起的字符序列

如:"CHINA","C program"等。

字符串"CHINA"在内存中所占的字节为:

字符型常量与字符串常量区别

1)字符常量由单引号括起来,字符串常量由双引号括起来

2)字符常量只能是单个字符,字符串常量则可以含一个或多个字符

3)可以把一个字符常量赋予一个字符变量,但不能把一个字符串常量

赋予一个字符变量。

4)字符常量占一个字节的内存空间。字符串常量占的内存字节数等于字符串中字符数加1。增加的一个字节中存放字符"\0'(ASCI码为0)。这是字符串结束的标志。

符号常量

其功能是用标识符代替后面常量。

如: #define G 9.8

使用符号常量的好处是:含义清楚;

能做到“一改全改”

五、C语言中的变量

变量:在程序执行过程中,值可以改

变的量,变量是表述数据存储的基本概念。

程序里的一个变量可以看成是一个存储数据的容器,其功能是存储数据。对变量的两个基本操作:向变量中存入数据-“赋值”;取得变量的当前值一“取值”。

  • 必须是以英文字母或下划线开头的,由字母、数字和下划线组成的字符序列。
  • 不能与C语言的关键字(保留字)重名,
  • C语言对变量名的大小写敏感。
  • 在C语言的长期使用过程中还形成了一些约定俗成的规则:
  • 尽量使变量名能够表达出该变量的含义。
  • 用户最好不要用下划线来作为变量名的开头。
  • 习惯上符号常量的标识符用大写字母,变量标识符可大小写结合(不全用大写)。


http://www.mrgr.cn/news/49361.html

相关文章:

  • 双向广搜 [NOIP2002 提高组] 字串变换————洛谷p1032
  • 基于单片机的 16 键多功能电子琴硬件设计
  • types.MethodType
  • 使用dotnet-counters和dotnet-dump 分析.NET Core 项目内存占用问题
  • Nodejs+Vue菜鸟驿站仓库管理系统的设计与实现 (论文+源码)-kaic
  • 使用 Python 爬虫批量下载百度图片的详细教程
  • C++:模拟stack、queue
  • 【机器学习】深入浅出讲解贝叶斯分类算法
  • 2024年OpenAI开发者大会:开拓AI新时代
  • finebi的20个面试题
  • 初识C语言:数据类型、运算符与表达式
  • Python使用pip安装install模块时指定默认源以及FastApi自定义接口文档/docs中的静态资源文件
  • Edge TTS
  • 架构设计笔记-15-面向服务架构设计理论与实践
  • 【WPF】中ListBox的ListBox选项的选中状态在弹出MessageBox后失效的解决办法
  • 数据结构之旅(顺序表)
  • 基础sql
  • Harmony开发基础
  • 数据仓库-数仓分层建设
  • javaweb 实验五 JSP编程