C语言学习笔记day9(复习)

本文详细介绍了GCC编译器的工作流程,包括预处理、编译、汇编和链接。此外,涵盖了进制转换、C语言的基本数据类型、常量与变量、数据类型转换、逻辑与位运算符,以及输入输出函数和控制结构如switch和do...while的用法。
摘要由CSDN通过智能技术生成

1. gcc编译器的四个流程步骤

1.1 预处理

1.2 编译

1.3 汇编

1.4 链接

2. 进制转换(***重点***)

2.1 二进制、八进制、十六进制    ——>   十进制

        对应位 * 对应位权值再求和

2.2 十进制 ——>  二进制、八进制、十六进制

        十进制数除以进制数得到的余数逆序排列,即可得到对应进制的数

3. C语言中的基本数据类型

3.1 整形(默认有符号)

        unsigned int         0 - 2^32 -1

        signed int             -2^31 - 2^31 -1

        unsigned short    0 - 65535 ( 0 - 2^16-1 )

        signed short         -32768 - 32767  ( -2^15 - 2^15-1 )

        unsigned long      0 - 2^64 -1

        signed long          -2^63 - 2^63 -1

3.2 字符型(默认有符号)

        unsigned char        0 - 255

        signed char            -128 - 127

3.3 浮点型 ( 只有  有符号类型的概念,没有无符号类型的概念 )

        float

        double

枚举类型

4. 常量和变量

4.1 八进制和十六进制常量的前缀

        0111      八进制常量

        0x1111  十六进制常量

5. 数据类型转换

5.1 显式类型转换(强制类型转换)

        (数据类型)变量名 

5.2 隐式类型转换

5.2.1 低精度向高精度转换

                1.浮点型比整形精度范围更高
                2.同种类型所占字节空间越大,精度范围越高
                3.无符号精度范围比有符号精度范围更高

5.2.2 char short 进行数据处理时会默认转换为int类型

        float 进行数据处理时会默认转换为double类型

        精度转换规则:

                      char short   ->        int                 低精度
                                                unsigned 
                                                   long
                               float   ->      double             高精度

6. 逻辑运算符

        && : 逻辑与    既..又..  (全真为真,一假为假)
        || :    逻辑或    要么..要么.. (一真为真,全假为假)
        ! :     逻辑非    真取非得假,假取非得真

注意:截断特性(从左往右计算)
            1.逻辑与一假为假,左边为假,右边不再计算
            2.逻辑或一真为真,左边为真,右边不再计算 

7. 位运算符

        & : 按位与   (与0得0、与1不变)
         | :  按位或  (或1得1、或0不变)
         ^ : 按位异或  (相同为0、相异为1)    num ^ num == 0        num ^ 0 == num
        ~ : 按位取反
        >> : 右移
            缩小移动的数字 : 除以2^n 
        <<:左移
            放大移动的数字 : 乘以2^n 

        让一个字节第n位(从右往左第n位)置1:
            num = num | (1 << n);
        让一个字节第n位(从右往左第n位)置0:
            num = num & ~(1 << n);

8. 运算符优先级

8.1 括号 > 单目运算符 > 双目运算符 > 三目运算符 > 赋值运算符 > 逗号运算符 

8.2 双目运算符:
        算数运算符 > 移位运算符 > 关系运算符 > 位运算符 > 逻辑运算符

8.3 自右向左:
            1.单目运算符
            2.赋值运算符
            3.三目运算符(特殊运算符)

9. 输入输出函数的用法

9.1 putchar——在终端输出一个字符

            putchar('a');
            putchar(100);
            putchar('a'-32);

9.2 getcha——从终端接收一个字符

            char ch = 0;
            
            ch = getchar();

9.3 puts——功能在终端打印一行字符串

            puts("hello world");

9.4 gets——.从终端接收一行字符串(注意与getchar的区别)

            char str[4096] = {0};

            gets(str);

10. switch语句

                switch (整形表达式)
                {
                    case 常量1:语句块1;break;
                    case 常量2:语句块2;break;
                    case 常量3:语句块3;break;
                    default:
                        语句块4;
                }

11. do  while循环

        do {
            语句;
        } while (表达式);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值