C语言——数据类型、运算符和表达式

C语言类型:

四类八种,具体如下:

  • 基本类型:整型、字符型、实型(浮点型:单精度型、双精度型)、枚举类型
  • 指针类型
  • 构造类型:数组类型、结构体类型、共用体类型
  • 空类型

关于这些数据类型的基本概述:
1、基本数据类型
最主要的特点是,其值不可以再分解为其他类型 。也就是说,基本数据类型是自我说明的。例如我们身体的细胞,可以构成组织和器官。
2、构造数据类型:
构造数据类型是根据已定义的一个或多个基本数据类型用构造的方法来定义的,也就是说,一个构造类型的值可以分解成若干个“成员”或元素。每个“成员”都是一个基本数据类型或又是一个构造类型。在C语言中,构造类型有以下几种:

  • 数组类型
  • 结构体类型
  • 共用体(联合)类型

3.指针类型:
指针是一种特殊的,同时又是具有重要作用的数据量类型。**其值用来表示某个变量在内存储器种的地址,**因此不能混为一谈。

4.空类型:
在调用函数值时,通常应向调用者返回一个函数值。这个返回的函数值是具有一定的数据类型的,需要在函数定义及函数说明中给以说明,例如在例题中给出的max函数定义中,函数头为:int max(int a,int b);其中“int”类型说明符即表示该函数的返回值为整型量。但是,也有一类函数,调用后并不需要调用者返回函数值,这种函数可以定义为“空类型”。其类型说明符为void。

常量与变量:

根据基本数据类型量的取值来分为常量与变量两种。
通俗点说,就是在程序执行的过程中,其值不发生改变的量称为常量,例如1,2,3,等。其值可变的量称为变量。比如说,声明一个整型变量i,可以给它赋不同的值。
在程序执行过程中,常量是可以不经说明而直接引用,而变量则必须先定义后使用。

常量:程序过程中,其值不发生改变的量为常量。
符号常量:用标识符代表一个常量。在C语言中,可以用一个标识符来表示一个常量,称之为符号常量。符号常量使用之前必须先定义,其一般形式为:#define 标识符 常量
其中#define也是一条预处理命令(预处理命令都以“#”开头),称为宏定义命令,其功能是把该标识符定义为其后的常量值。一经定义,以后再程序中所有出现该标识符的地方均代之以该常量值。

  • 习惯上符号常量的标识符用大写字母,变量标识符用小写字母,以示区别。

【例2.1】符号从常量的使用。

#define PRICE 30 //#define为一条预处理命令,在程序开始之前定义了PRICE为30
void main()
{
int num,total;
num = 10;
total = num*PRICE;
printf(“total = %d”, total);
}

用标识符代表常量,称为符号常量。
符号常量与变量不同,在其作用域内,其值不能改变也不能再被赋值。

使用符号常量的好处是:
1、含义清楚;
2、能做到“一改全改”。

变量:变量的定义呢,在前面也说过了,就是在程序执行过程中,值发生变化的量。一个变量应该有一个相对应的名字,在内存中拥有一席之地,占有一定的存储单元。当然,变量定义必须放在变量使用之前。一般放在函数体的开头部分,要区分变量名和变量值 是两个不同的概念

例如:int k = 3;
在这里插入图片描述
这里我们定义了一个变量 k,k就是变量的名称 ,里面放了个小家伙就是3。当我们在声明这个整型变量时,编译器系统就会在内存中找到一个空闲的地方给我们存放这个变量。这个变量的地址就是0x0010ff,里面放的值呢,就是3(此处的3在内存中是以二进制的形式保存的),当然变量的名称可以为k,也可以为i,但是不要重复就好啦。

整型数据

1、整型常量的表示方法:
整型常量,顾名思义,就是整常数。在C语言中,使用的整常数有八进制、十六进制和十进制三种。(当然,二进制也可以哦! )
1)十进制整常数:这个很好理解,就是我们日常生活日常对话中的数字,其数码为0~9。十进制整常数没有前缀。我们来举几个例子:
237、549、-89、1000
在程序中是根据前缀来区分各种进制数的。因此在书写常数时,记住不要把前缀弄错造成结果不正确。
2)八进制整常数:八进制整常数必须以0开头(是零哦),即以0作为八进制数的前缀。数码值为0~7。八进制数通常是无符号数。(这一点,可以想一下,因为符号位已经被占掉了啊,直接变成1了。)
下面是合法的八进制数:
015(十进制为13)、0101(十进制为65)、0177777(十进制为65535);
3)十六进制整常数:十六进制整常数的前缀为0X或0x。其数码取值为0~9, AF或者af。
以下各数是合法的十六进制整常数:
0X2A(十进制为42)、0XA0(十进制为160)、0XFFFF(十进制为65535);
4)整型常数的后缀:在16位字长的机器上,基本整型的长度也为16位,因此表示的数的范围也是有限定的。十进制无符号整常数的范围位0~65535(2^16),有符号数位-32768——+32767。八进制无符号数的表示范围位0——0177777。十六进制无符号数的表示范围为0X0——0XFFFF或0x0——0xFFFF。如果使用的数超过了上述范围,就必须用长整型数来表示。长整型数是用后缀“L”或“l”来表示的。
2、整型变量
1)整型数据在内存中的存放形式:以二进制的形式进行保存的

补充内容:
1个字节BYTE =8位bit
数值是以补码表示的:
正数的补码和原码相同;
负数的补码:将该数的绝对值的二进制形式按位取反再加1.

例如:求-10的补码
10的原码:00001010
取反: 11110101
再加1,得-10的补码:11110110
(第一位是符号位)

总结:这次的笔记很傻逼,就基本是在按着PPT写,这也是我一直存在的毛病,尽量改,总觉得自己学的不好,所以喜欢直接写一份最全的PPT笔记,说白了也是一种思维上的懒惰,明天开始打卡要勤奋一些啦!!!!

发布了10 篇原创文章 · 获赞 1 · 访问量 1248

猜你喜欢

转载自blog.csdn.net/weixin_43671182/article/details/94004571