一、C语言数据类型

  ok,如我们所知,C语言作为大学工科专业的必学课程,其重要性不言而喻;它为我们提供了丰富的数据类型,所以它很适合程序员来编写 数据库 ,如DB2、Oracale都是C语言编写的。

  那么C语言具体又有哪些类型呢?且看如下分解:

    1.基本数据类型

      1)整型 int (long int , long long int)

      2)浮点型 

          单精度浮点型 float

          双精度浮点型 double

      3)字符型  char

    2.构造类型

      1)数组 array 

      2)结构体 struct

      3)共用体 union

      4)枚举 enum

    3.指针类型 void *

    4.空类型 void 

  那么首先,我们要关注的就是基本数据类型,在下面给出了在32/64位编译器环境下,基本数据类型所占用的存储空间:

    类型  名称  存储空间

    int    整型  2个字节(short 2 ; long  4/8)

    char    字符型  1个字节

    float   单精度   4个字节

    double 双精度    8个字节

    void *  指针      4/8个字节

二、变量

跟其他语言一样,C语言中用变量来存储计算过程使用的值,任何变量都必须先定义类型再使用。 为什么一定要先定义呢? 因为变量的类型决定了变量占用的存储空间, 所以定义变量类型就是给变量分配适当的存储空间,以便存储数据。For example ,if you have a char number ,ok, just allocate it for 1 byte, that is enough ,  it is unnecessary to get it more.

  那么,如何定义一个变量呢?

  例如: int a = 10;  如何理解这句代码呢? 为int 类型 的变量 a 分配 一个 4 个字节的内存,并将10赋值给名为变量a的内存;所以,我们不难得出如下的 结论:

  定义变量 : 数据类型 变量名 初始值 

  要注意的

    1. = 是 赋值符号;

    2. 变量名的命名规则(字母、数字、下划线可用做变量名(但是数字不能开头),见名知意,不能和系统保留字相同,不同重复定义)

  something added:

1.局部变量的使用跟其他语言的区别

  1>其他语言中,你声明了一个局部变量后,如果没有经过初始化赋值就使用该变量,编译器直接报错;

  2>在C语言中,1的情况不会发生;但是这样做是很危险的,

      如:

    int main(){

 int b; 

        printf("%d",b);}         大多数人应该觉得变量b打印出来的应该是0,其实不是。因为系统会随意给变量b赋值,得到的不是准确的数据。  

局部变量还是必须先进行初始化赋值,然后再使用,这样才是最安全的做法。

  3>但是如果是全局的int型变量,系统会默认赋值为0;

2.char的取值范围: ASCII码字符 或者 -128~127的整数

3.char只能存储一个字符

汉字或者字符串需要用字符数组来存储,因为一个汉字占了2个字符。

三、运算

  *除法: 在计算机中两个整型变量相除,结果只取整数部分,而不是四舍五入;

  *取余运算:

    1.也叫模运算;

必须是整数;

取余运算的正负结果只跟%  左边 的数值有关

  * 自加(减)运算 

      10++;     // 这个怎么破 ?   

           // 常量有能进行自加运算啦  ,for example  :

               a++;  -> a = a + 1;

              10++; -> 10 = 10 + 1 ;      这显然是不合理的!

  *有点意思~:

  看这两句:

      int a = 6 /4;     结果  a = 1;

      float a = 6 / 4;  结果 a = 1.000000; 而不是我们可能会猜想的1.500000;  -> 所以参与运算的数值结果与参与运算的数的类型有关;即:

      float a = (float) 6 / 4;   结果就是 1.500000了 , 果然有点意思吧~~

 

|| 需要补充(算术运算符、关系运算符、逻辑运算符的优先级顺序)

四、printf、scanf函数(略,getchar()可以吸收系统中的回车,关于getcha函数记得有点模糊了)