第1章 C语言概述

{% markmap %}

第1章 C语言概述

C语言的历史

  • 起源
    • C语言是贝尔实验室的Ken Thompson、Dennis Ritchie等人开发的UNIX操作系统的“副产品”。
    • 进化史
      • 基于
        • Algol60语言->BCPL语言
      • Thompson改造
        • BCPL语言->B语言
      • Ritchie加入
        • B语言->N(New)B语言=C语言
    • C语言取代汇编的重要特点:可移植性
  • 标准化
    • K&R标准
    • ISO标准
      • C89/C90
      • C99
  • 继承
    • C++
      • 包括了C所有特性,增加了类及其他面向对象的特性
    • Java
      • 基于C++的,也继承了C的很多特性
    • C#
      • 由C++和Java发展而来的
    • Perl
      • 采用了很多C的特性

C语言的优缺点

  • 自身特性
    • C语言是一种底层语言
    • C语言是一种小型语言
    • C语言是一种包容性语言
  • 优点
    • 高效
      • 除了汇编之外最接近底层的语言
    • 可移植
      • 优于汇编的一点
    • 功能强大
      • 和下面标准库一样,有一些提前写好的代码可以调用
    • 灵活
      • 没有那么多语法约束,相比一些高级语言C++而言
    • 标准库
    • 与UNIX的集成
      • 现代Linux系统则是UNIX继承而来的
      • 甚至windows,mac也参考了UNIX的设计
  • 缺点
    • 更容易隐藏错误
    • 可能会难以理解
    • 可能会难以修改
  • 高效使用的方法
    • 学习如何规避C语言陷阱
    • 使用软件工具使程序更加可靠
    • 利用现有的代码库
      • 例如一些热门的网络库可以直接拿来用,自己造轮子的话,容易有一些bug查不出来
    • 采用一套切实可行的编码规范
    • 避免投机取巧和极度复杂的代码
      • 不要秀操作,代码以读得懂为准,例如比较符多加括号
    • 紧贴标准
      • 为了可移植性

一些有用的工具

  • lint
    • 静态代码分析工具
  • bounds-checker
    • 越界检查工具
  • leak-finder
    • 内存泄漏监测工具
posted @ 2025-03-27 16:54  StarAire  阅读(16)  评论(0)    收藏  举报