【嵌入式Linux C编程】2018.3.8 数据类型、运算操作符、基本语句

2019-07-13 08:11发布

C语言基础


基本数据类型

    常用的数据类型有:    整型int:整数,一般占4个字节。其中短整型(short int)占2个字节,长整型(long int)占4个字节。                   分为有符号(signed int)类型和无符号(unsigned int)类型。数据的保存是以其补码的形式进行,正整数的补码                    与原码一致,而负数得到反码的过程是:原码——反码——反码加“1”——补码。
    单精度浮点型float:单精度浮点数,一般4个字节长。    双精度浮点型double:双精度浮点数,一般8个字节长。
    字符型char:字符,占1个字节。
    每一个字节都代表着8个二进制数,一般称8位。
    
    变量与常量    局部变量:在函数内部定义说明,其作用域仅限此函数内;
    全局变量:在函数外部定义说明,其作用于是函数所在的整个源文件;
    常量:其值不会发生改变,只能被访问、被读,而不能被写、被赋值;
    static与extern    static既可以修饰局部变量,也可以修饰全局变量。对于局部变量,static可以将本应该储存在栈区的变量存放到静态数据区,使得在局部变量生命周期延长到整个程序结束,而不是函数结束;对于全局变量,static会改变其作用域,由原来的整个工程可见变为本源文件可见;对于修饰函数,其作用与修饰全局变量类似。
    extern表示对变量和函数的声明,而不是直接定义。它声明的变量和函数属于外部变量或者外部函数,表示该变量或函数是在其他地方(本源文件或其他源文件)被定义的。一个变量或者函数,在同一个工程中,只能被定义一次,而可以在多个源文件中被多次声明。
    const:用const修饰变量时,该变量就变成“readonly”——只读数据了。虽然不可以直接通过该变量去修改其对应内存中的数据,但是可以通过指针等方法对其中的数据进行修改。
    volatile:在编译过程中,可能存在一些无用的变量或者语句被忽略,如果用volatile对其进行修饰,无论什么情况下编译器都会在访问变量时对其进到内存中读取数据,不管是否能派上用场。

运算符、表达式、操作符等

常用运算符有算术运算符、关系运算符、逻辑运算符、位操作运算符、赋值运算符等。应多加练习,熟悉之间的优先级,避免混淆。
值得注意的是 ++和--运算符的用法。以++为例:在式子中,++i 应该在执行运算之前先将i自增,再进行运算;i++ 在运算中可忽略,先进行基本的运算,最后将i加1。
位操作符包括:“&按位与;“||“按位或;”~”按位非等。

语句

除基本的赋值语句外,经常使用的有条件语句和循环语句。条件语句比如if语句:if (条件语句) { 执行动作; }循环语句常用的有:1.While(表达式)语句;2.do 语句 while(表达式);3.for(表达式1;表达式2;表达式3) { 语句; }4.switch(value) { case value1: 语句; break; case value2: 语句; break; } 各种循环语句之间可以进行嵌套使用,在选择语句时,应根据实际情况选择最简洁效率最高的方法去实现功能。