C语言——第二章数据的存储与运算-创新互联

第二章 数据的存储与运算 一、数据在计算机中是怎样存储的

数据在计算机中二进制形式存储的

创新互联是一家专注于网站设计制作、网站建设与策划设计,张家港网站建设哪家好?创新互联做网站,专注于网站建设10余年,网设计领域的专业建站公司;建站业务涵盖:张家港等地区。张家港做网站价格咨询:028-86922220

计算机的工作是基于二进制原理的,计算机内部的信息都是用二进制来表示的。

位、字节和地址

位,又称为“比特” 。是存储信息的最小单位。它的值是1或0。
字节,又称为“拜特”。一般将8个“二进制位”组织成一组,称为“字节”。这是人们最常用的存储单位。
地址,是指内存地址的概念。计算机内存中的各个存储单元都是有序的,按字节编码。

不同类型数据的存储方式

整数的存储方式是直接存储
实数采用指数形式存储,包括前后两个部分:前面部分是数值部分,后面部分是指数部分,所谓“标准化指数形式”其数值部分是一个小数,小数点前的数字是零,小数点后的第一位数字不是零。
字符则是以二进制直接存储,读写时通过计算机按照ASLL码在转换。

二、 整型数据的运算与分析 整型常量与整形变量

常量和变量

在计算机语言中数据有两种基本表现形式:常量和变量。
常量是指在程序运行过程中其值不能改变的量。
变量是指在程序运行过程中其值可以改变的量。

变量名、变量地址、存储单元与变量的值四者的关系

变量名是一个容易记的名字,代表一个存储单元的地址,也就是变量地址,在存储单元中可以存储变量的值;
换句话说,存储的关键是存储单元,每个存储单元对应一个变量地址,访问时通过变量地址访问,存储单元里面可以存储变量值,为了方便访问存储单元,可以用变量名代表变量地址。

变量名的取名规则

  1. C语言规定变量名的第一个字符必须是字母或下划线,其后的字符必须是字母、数字或下划线。(此规定适用于函数名、数组名、类型名),在C语言中把用来标识对象(包括变量、函数、数组、类型等)名字的有效字符系列称为“标识符”
  2. 大小写字母代表不同的字符。
  3. 变量名的长度不是无限的。
  4. 变量名尽量简单易记,见名知意。
  5. 在同一程序的同一个函数中,不同的变量不能取相同的变量名,以免混淆,

变量名必须“先定义,后使用”

  1. 根据定义变量是指定的类型,编译系统为变量分配相应的存储单元。
  2. 凡未被事先定义的,系统不把它认作变量名,这就能保证程序中变量名使用得正确。
  3. 指定了每一变量属于一个类型,就便于在编译时据此检查在程序中要求对该变量进行的运算是否合法。

注:要区别类型名和变量名,类型不占存储单元,不能用来存储数据,而变量占存储单元,可以用来存储数据。

整型变量的种类

整型分为基本整型int、长整型long int和短整型shortint

三、 实型数据的运算与分析 实型常量的表现形式

实数在计算机语言中常称为浮点数。
浮点数有两种表示形式:
(1)十进制小数形式
(2)指数形式

实型变量

实型变量的分类

单精度float
双精度double
长双精度long double。

实型数据的舍入误差

由于实型变量在内存中的存储单元是由有限字节组成的,因此能提供的有有效数字总是有限,在有效位以外的数字将被舍去,由此可能会产生一些误差。
单精度(float)型的数据最多能保证7位有效数字,为了提高数据的精度,可以将变量定义为双精度,以提高精度,一般C编译系统都自动地把程序中的实常量处理成双精度型。

四、字符型数据的运算 字符常量和字符变量

字符常量

C语言的字符常量是用单撇号括起来的一个字符。

转义字符

这里是引用

字符变量

字符型变量用来存放字符常量,它只能放一个字符,不要以为在一个字符变量中可以放一个字符串(包括若干字符)

字符数据与整型数据在一定条件下可以通用

在所有的编译系统中都规定以一字节来存放一个字符。字符数据是以ASCII码存储的。字符数据和整型数据的存储形式从形式上没有什么区别,这样使字符型数据和整型数据之间可以通用。

字符串常量

C语言除了允许使用字符常量外,还允许使用字符串常量。字符串常量是一对双撇号括起来的字符序列。
如:“Hello World”,“CHINA”
在程序中经常看到printf函数中的字符串,如下:
printf ("Hello World");printf("a=%d,b=%c\n",a,b);
在上面的格式中控制字符串中,包括:

  1. 格式声明(如%d,%c),在输出数据(a,b)时,按此格式声明指定的格式输出。
  2. 控制字符,如’\n’。
  3. 其他可显示的字符,按原样输出。

区分字符常量与字符串常量

char a,b,c
a = 'a'
b = "CHINA"
c = "a"

以上的b,c赋值操作是错误的
b的错误是在C语言中没有专门的字符串变量,不能将一个字符串存放在一个变量中,如果想将一个字符串存放内存中,必须使用字符数组,即用一个字符型数组来存放一个字符串,数组中的每一个元素存放一个字符。
c的错误是因为在字符串中系统会自动加上’\0’字符,所以字符串"a"实际上包含’a’,'\0’两个字符,因此要赋值给c是不行的。

五、符号常量

整型常量、实型常量、字符常量、字符串常量,可以直接从其字面形式上判定他们是常量和哪一类常量,这种常量称为字面常量或直接常量。
为了使用方便,可以用一个符号名来代表一个常量,这称为符号常量。
#define PI 3.1415926 //PI就叫符号常量

符号常量的性质和使用方法
  1. #define不是C语句,该行的末尾没有分号。它是一个”预编译指令“。

在程序编译时,分为两个步骤:
(1)进行一次”预编译“,对所有预编译指令进行处理。
(2)然后进行正式的编译工作,得到目标文件(后缀为.obj)。

  1. 不要把符号常量与变量混淆,符号常量只是一个符号,不占存储单元。

它只是简单地进行字符置换,不论置换的字符是否有含义都进行置换。
它不能被赋值,不能对符号常量指定类型

  1. 习惯上,符号常量名用大写,变量名用小写,以示区别。
  2. 使用符号常量的好处有:

(1)含义清楚
(2)在需要改变一个常量时能做到”一改全改“

  1. 符号常量不能被赋值,能保护所代表的数据不被破坏。

尽量少用数值常量,多用符号常量,以增加程序的可读性和可维护性。

六、算术运算符和算术表达式 算术运算符

在这里插入图片描述
注:自增运算符和自减运算符只能用于变量,而不能用于常量或表达式,如1++或(a+b)++都是不合法的。

算术表达式

用算术运算符和括号将运算对象(也称为操作数)连接起来的、符合C语法规则的式子,称为C算术表达式。

各类数值型数据间的混合运算

C语言允许整型(包括int,short,long)和实型数据(包括float,double,long double)进行混合运算。
转换规则:

  1. char和short转换为int型。
  2. float型一律转换为double型。
  3. 整型数据与double型数据进行运算,先将整型转换为double型

速记:字节少的数据转换成字节多的类型。

强制类型转换

在表达式中也可以利用”强制类型转换“运算符将数据转换成所需的类型。
强制类型转换的一般形式为(类型名)(表达式)
注:表达式应该用括号括起来。

七、C运算符

算术运算符 + - * / %
关系运算符 >< == >=<= !=
逻辑运算符 ! && ||
位运算符<< >>~ | ^ &
赋值运算符 =及其扩展赋值运算符
条件运算符 ? :
逗号运算符 ,
指针运算符 *和&
求字节数运算符 sizeof
强制类型转换运算符 (类型)
成员运算符 .->
下标运算符[ ]
其他 如函数调用运算符()

在这里插入图片描述

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


文章名称:C语言——第二章数据的存储与运算-创新互联
本文网址:http://ybzwz.com/article/jjpep.html