C语言学习-基础-1

前言


这是C语言的一些笔记,我会陆续上传到博客,希望对大家的学习以及复习有些帮助.

内容


【1】定义变量

数据类型 变量名;

【2】bool

#include <stdbool.h>

【3】char

1--- 占1个字节

2--- signed char a;            -128 ~ 127

          0000 0000    0
          0111 1111    127
          1111 1111    -127
          1000 0000    -128
3--- unsigned char b;        0~255

【4】数据的存储

存储时:    源码         反码        补码

正数    0000 0101  0000 0101    0000 0101    char a = 5;

负数    1000 0101  1111 1010    1111 1011    char b = -5;

反码:符号位不变,其它位取反
补码:反码加一

读取时:    补码          反码       源码

【5】

char c = 129;
    (存储)因为是正数,源码、反码、补码相同
      源码:1000 0001
      反码:1000 0001
      补码:1000 0001

    (读取)因为是signed类型,最高位为符号位
      补码:1000 0001
      反码:1000 0000
      补码:1111 1111    (-127)

 unsigned char d = -1;
        (存储)
      源码:1000 0001
      反码:1111 1110
      补码:1111 1111

        (读取)因为是unsigned类型,都是正数
      补码:1111 1111
      反码:1111 1111
      源码:1111 1111(255)

【6】整形数据

1--- int   占4个字节    
2--- short 占2个字节
3--- long  占4字节(32位系统)

【7】浮点型数据

1--- float
    1> 12.45
    2> 15e-3    《==》 15*10^-3
    3> 占4字节

2--- double
    1> 占8字节

【8】printf

%d    整形
%c    字符型'A'
%s    字符串
%f    浮点型    

【9】常量

1--- 整数形式
    34  034  0x34

2--- 浮点型
    23.34

3--- 指数型
    13e+5        《==》 13*10^5

4--- 字符型
    ‘A’

5--- 字符串常量
    “hello”
     "A"
    //字符串以‘\0’作为结束标志

6--- 定义宏
    1--- #define N 5
    2--- 对一个常量进行命名

【10】强制类型转换

float a = 32, b = 45;

printf(“%d\n”,(int)(a+b));

【11】运算符

1--- 算数运算符
    +  -  *  /  %(参与运算必须是整形数据)  
    ++(自增)  --(自减)

2--- 关系运算符
    1. 结果只有两个:1 或 0
    2. >   >=  <   <=   ==   !=

3--- 逻辑运算符
    1. 结果只有两个:1 或 0
    2. 短路原则:当一个等式可以决定整个等式的结果,就不去执行其它运算
        &&    与:一假则假
        ||    或:一真则真
        !    非
4--- 位运算符
    1> 取反    ~
    2> 位与    &
    3> 位或 |
    4> 异或 ^   相同为0, 不同为1
            b    0000 0101
            c    0000 0011
            ——————————
            d    0000 0110
    5> 位右移
        d >> 1        //向右移动1位

        d / 2^n

       位左移
        d << 2        //向左移动2位

        d * 2^n
5--- 复合运算符
    算数运算符、位运算符

【12】三步运算,完成数据交换

a ^= b;
b ^= a;
a ^= b;

    1--- 参与运算的是变量
    2--- 针对于基本数据类型
    3--- 变量需要交替互换

【13】条件运算符

1--- <表达式1>  ?  <表达式2>  :  <表达式3>
2--- 
    表达式1为真,执行表达式2;
    表达式1为假,执行表达式3;

###【14】逗号表达式

逗号表达式的结果与最后一个表达式有关

【15】sizeof

求一个数据或类型占用空间的大小,以字节为单位

【16】优先级

1    ()
2    ++ -- ~ !    从右向左
4    * / %
5    + -
    关系运算符
    位运算
    逻辑运算
    赋值运算    从右向左
    ,

【17】存储模型

<存储类型>    <数据类型 >    <变量名> ; 

1--- 生命期:与程序同步,与函数同步
2--- 作用域

    auto    默认存储类型

    static  1> 与程序同步
        2> 默认初始化为0
        3> 只初始化一次

版权声明:本文为博主原创文章,转载请注明出处KidSea

小额赞助,鼓励作者写出更好的文章