IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> C++知识库 -> 标准C语言基础知识3 -> 正文阅读

[C++知识库]标准C语言基础知识3

复习:
1、C代码变成可执行程序的过程
    预处理: 查看宏函数的替换结果,检查宏函数
        gcc -E
    编译: 理解C代码的底层原理,函数重载
        gcc -s
    汇编: 生成代码库,静态库、共享库
        gcc -C
    链接: 是多文件编程的基础
        gcc a.o b.O c.o...

2、gcc编译器常用参数
    -E -S -C -std=gnu99 -O -I -l库名 -Wall -Werror -D(命令行定义宏)  

3、C语言文件类型
    .h .h.gch .c .i .S .o .o .a(静态库) .so(共享库)

4、数据类型
    signed char         1   %hhd    -128~127
    signed short        2   %hd     -32768~32767
    signed int          4   %d      正负20亿
    signed long         4/8 %ld
    signed long long    8   %lld    正负9开头19位整数

    unsigned char         1   %hhu   0~255
    unsigned short        2   %hu    0~65535
    unsigned int          4   %u     0~40亿
    unsigned long         4/8 %lu
    unsigned long long    8   %llu   0~开头20位整数

    float       4       %f
    double      8       %lf 
    long double 12/16   %LF
    小数点后6位有效
    问:有float x; 如何判断x与零值是否相等
    if(x < 0.000001 && x > -0.000001)

5、C变量名取名规则
    1、必须由字母、数字、下划线组成
    2、必须由字母或者下划线开头
    3、不能与32个关键字重名
    4、见名知意

6、变量输入输出
    printf 提示信息+占位符+变量名列表
    scanf  占位符+变量地址列表
    %nd %-nd %0nd %n.mf(5舍6入) %g

7、运算符
    / % 除数不能为0,浮点数列外(核心已转储)
    ==  变量尽量在右边
    ++/--   尽量不要在一行中多次使用
    && ||   具有短路特性
    注意:运算符也是有优先级的

8、类型转换
    自动类型转换:不同类型的数据之间需要先转换为相同的类型数据才能进行运算
        1、字节少的向字节多的转
        2、有符号的向无符号的转
        3、整型向浮点型转
    注意:以不丢失数据为基础,适当地牺牲空间

    强转类型转换:
        (新类型)数据 有丢失数据类型风险,谨慎使用

    强制类型转换:

----------------------------------------------
一、跳转语句
    goto    可以在函数内任意跳转
    它可能会破坏已经设计好的分支、循环语句,因此绝大多数公司禁止使用

    但是它在驱动编程时特别适合用于处理异常

    标签名:
        ...
        goto 标签名;

    练习1:把使用循环语句计算N的阶乘

    loop:
        ret * = N;
        if(--N > 1) goto loop;
        printf("ret=%d\n",ret);

    break
        1、配合switch使用,关闭执行开关
        2、跳出循环,只能跳一层
    
    continue
        结束本次循环,直接进入下个循环
    
    return
        1、返回一个数据给函数的调用者
        2、立即结束函数的执行

    练习2:不使用循环语句,计算前N项的斐波那契数列
    1 0       1 1 2 3 5 8 13 21...

二、数组
    什么是数组:变量的组合,是一种批量定义变量的方式
    定义:类型 数组名[数量];
    int arr[5];
   
    使用:数组名[下标];
        下标:从零开始  范围:0~数量-1
    
    初始化: 类型 数组名[数量] = {1,2,3,4...}
        1、数组与普通变量一样默认值是随机的,为了安全要对数组进行初始化
        2、这种初始化语法只能在定义数组时使用,并且只能逐个赋值,不能整体赋值
        3、初始化数据过多,编译器会产生警告并丢弃
        4、初始化数据不足,编译器会自动补0
        5、初始化的数据可以省略,只写大括号,相当于给所有成员赋0
        6、 初始化数组时,长度可以省略,编译器会自动统计数据的个数然后告诉数组
        
        数组的长度 = sizeof(arr)/sizeof(arr[o])

        遍历:与for循环配合,使用循环变量i当作数组的下标
    
    练习3:定义一个长度为10的数组并初始化,计算出该数组的最大值、最小值、平均值

    练习4:定义一个长度为10的数组并初始化,进行升序排序

    数组越界:为了程序的运行效率是不会检查数组的下标
        数组越界的后果:
        1、一切正常
        2、段错误
        3、脏数据 //arr[10] 会修改i的内容,导致脏数据
    
    练习5:定义一个长度为10的数组并初始化,找出数组中第二大的值。不允许排序

    作业1:打印99乘法表
    作业2:编程解决百钱百鸡问题:鸡翁一值钱五,母鸡一值钱三,鸡雏三值钱一。问各多只
    作业3:计算出100~10000之间的素数
    作业4:输入一个日期(yyyy-mm-dd),计算该日期距离公元1年1月1日过了多少天
        time(null)
    作业5:显示以下图形,prinf一次只能输出一个字符
            ***********
           ***********
          ***********
         ***********
        ***********
       ***********
      ***********
     ***********
    ***********
   ***********
   

    
  C++知识库 最新文章
【C++】友元、嵌套类、异常、RTTI、类型转换
通讯录的思路与实现(C语言)
C++PrimerPlus 第七章 函数-C++的编程模块(
Problem C: 算法9-9~9-12:平衡二叉树的基本
MSVC C++ UTF-8编程
C++进阶 多态原理
简单string类c++实现
我的年度总结
【C语言】以深厚地基筑伟岸高楼-基础篇(六
c语言常见错误合集
上一篇文章      下一篇文章      查看所有文章
加:2021-07-13 17:16:52  更:2021-07-13 17:18:04 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年4日历 -2024/4/28 1:39:47-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码