数据类型、运算符和表达式

C语言概述

    C语言是一种结构化语言,它层次清晰,便于按模块方式组织程序,易于调试和维护。同时,它还是一种面向底层的编程语言,可以直接访问内存的物理地址。要写好一个C程序,必须要清楚操作系统的工作原理,原因就在于操作系统也是用C语言编写的。由于Linux系统是一种开源的操作系统,就更可以通过学习该系统的内核原理,来加深对C语言的理解,从而能够在此系统中更好的使用C语言编程。

    C语言是一种通用的程序设计语言,广泛应用于系统与应用软件开发。

    C语言有如下特点:

  • 高效性

       一个C语言源代码编译的过程是:首先,经由预处理器,处理源代码中的预处理部分,将代码补充完整;然后,将补充完整的代码送到编译器,将其翻译成汇编语言;最后,生成二进制的目标代码。

        所谓高效性,是指C语言生成目标代码的质量高,程序执行效率高,并且具有友好的可读性和编写性。一般情况下, C语言生成目标代码只比汇编程序低10%~20%。

  • 灵活性
        C语言一共32个关键字,9中控制语句,其中书写形式自由,语法不拘一格,可在原有语法基础上进行在创造、复合,从而给程序员更多的想象和发挥的空间,以此可以充分展现出C语言的灵活性。
  • 功能丰富
        C语言不仅具有多种数据类型,还可以使用丰富的运算符和自定义的结构类型,用它们来表达多种复杂的数据结构,完成所需要的丰富的功能。
  • 表达力强
        此特点主要体现在C语言的语法形式与人们所使用的语言形式相似,书写形式自由,结构规范,并且只需简单的控制语句就可以轻松控制程序流程,满足繁琐的程序要求。
  • 移植性好    

        由于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.表达式及其注意事项

        表达式:由运算符和操作符组成式子。

        在进行表达式运算时,一定要注意数据类型之间的转换。

数据类型、运算符和表达式