数据类型、运算符和表达式
C语言概述
C语言是一种结构化语言,它层次清晰,便于按模块方式组织程序,易于调试和维护。同时,它还是一种面向底层的编程语言,可以直接访问内存的物理地址。要写好一个C程序,必须要清楚操作系统的工作原理,原因就在于操作系统也是用C语言编写的。由于Linux系统是一种开源的操作系统,就更可以通过学习该系统的内核原理,来加深对C语言的理解,从而能够在此系统中更好的使用C语言编程。
C语言是一种通用的程序设计语言,广泛应用于系统与应用软件开发。
C语言有如下特点:
- 高效性
一个C语言源代码编译的过程是:首先,经由预处理器,处理源代码中的预处理部分,将代码补充完整;然后,将补充完整的代码送到编译器,将其翻译成汇编语言;最后,生成二进制的目标代码。
所谓高效性,是指C语言生成目标代码的质量高,程序执行效率高,并且具有友好的可读性和编写性。一般情况下, C语言生成目标代码只比汇编程序低10%~20%。
- 灵活性
- 功能丰富
- 表达力强
- 移植性好
由于C语言具有良好的移植性,从而使得C语言可以运行在不同的操作系统下,只需简单的修改一下即可,使用C语言可以进行跨平台的程序开发操作。
1.常见的数据类型
Linux C的数据结构是以数据类型的形式出现的。所谓一个数据的“数据类型”,是该数据自身的一种属性,用于说明数据的类型,以告诉编译程序,要在内存中为数据分配多少个字节的存储空间。不同类型的数据所占用的存储区域大小不同,这个区域的字节数就是这个数据类型的“长度”。
如图1所示为数据类型的分类。
图1
基本类型是系统事先定义好的、不可分割的类型。
指针类型是一种特殊的数据类型,指向某个量在内存中的存储地址。
空类型主要用于特殊指针变量和无返回值函数的说明。
1.2. 常量
常量是程序中最基本的元素,其定义为在程序运行时,其值不能被改变的量。
通常包括整型、浮点型、字符型和枚举。
1.3 变量
变量就是值在程序过程中可以发生变化的量。
必须遵循“先定义,再使用”原则。
标识符命名规则:
- 标识符是指用于类名、变量名、方法名、类型名和文件名等有效的字符序列,说白了就是一个名称。
- 标识符只能有数字、字母和下划线组成,且不能以数字开头。
- 标识符的长度可以是任何合适的数值,但各种编译器能够识别的数目有所不同,最好不要超过8个。
- 标识符中间不能包含空格。
- 标识符不能是系统关键字(区分大小写)。
1.4 数据类型转换
(1)在运行中不同类型的数据类型,需要先转换,再运算
Linux C规定:在不同数据类型进行混合运算时,char必须转换成int,float必须转换成 double.
(2)自动类型转换
由低级数据类型转换为高级,说白了就是低存储范围转为高存储范围。
char->int->long->float->double
精确转换,不会造成精度损失。
(3)强制类型转换
将高级转化成低级的一种不安全方式,通常伴有精度损失。
float->int 时,,将会对浮点数进行四舍五入,而去除小数部分。
2.运算符及其优先级
3.表达式及其注意事项
表达式:由运算符和操作符组成式子。
在进行表达式运算时,一定要注意数据类型之间的转换。