云计算百科
云计算领域专业知识百科平台

嵌入式C/C++语言:入门教程一(详细教程)

内容提要

  • C语言概述
  • 数据类型
  • 常量

一、C语言概述

计算机基础

(一)、计算机组成
  • 计算机:能进行计算以及逻辑处理的设备
  • 硬件:组成计算机的物理部件(内存条,CPU,硬盘等)

开发中对于硬件的认知:

硬件包括:电子设备、单片机、嵌入式系统。

  • 软件:计算机中运行的程序和数据

开发中对于软件的认知:

软件分为系统软件(OS)、应用软件、编译工具

计算机的六大部件:控制器、运算器、存储器、输入输出设备、**总线 **

  • 运算器(Arithmetic and Logic Unit, ALU)

    核心功能是执行算术运算(加减乘除、浮点运算等)和逻辑运算(与、或、非、比较、移位等),是计算机处理数据的核心执行单元。

  • 控制器(Control Unit, CU)

    计算机的 “指挥中枢”,负责从存储器中读取指令、解析指令,然后向其他部件发送控制信号,协调运算器、存储器、输入输出设备的工作时序,确保指令按顺序执行。

    现代计算机中,运算器 + 控制器 集成为 CPU(中央处理器)。

  • 存储器(Memory)

    用于存储程序和数据,分为两个层级:

    • 内存储器(内存):速度快、断电易失,临时存储运行中的程序和数据;
    • 外存储器(外存):容量大、断电不失,长期存储文件和程序(如硬盘、SSD、U 盘)。
  • 输入设备(Input Device)

    负责将外部的信息(数据、指令)输入到计算机中,常见设备:键盘、鼠标、扫描仪、麦克风、摄像头等。

  • 输出设备(Output Device)

    负责将计算机处理后的结果以人类可识别的形式输出,常见设备:显示器、打印机、音箱、投影仪等。

  • 总线(Bus)

    计算机各部件之间传输数据、地址和控制信号的公共 “通道”,相当于硬件系统的 “神经中枢”。

    按功能分为:数据总线(传数据)、地址总线(传内存地址)、控制总线(传控制信号)。


(二)、计算机工作原理:
  • 存储程序:程序和数据预先存储在内存中
  • 程序控制:CPU按照指令顺序逐条执行操作
  • (三)、计算机语言
  • 机器语言:二进制代码,直接控制硬件,执行效率高

  • 汇编语言:用助记符表示机器指令,需通过汇编器翻译为机器语言

  • 高级语言:

  • (四)、C语言特点
  • 简洁高效,支持底层硬件操作(可直接访问内存地址、操作寄存器);

  • 可移植性强,符合标准的C程序可在不同平台间轻松移植

  • 适合结构化编程,代码模块化程度高、易维护、易调试

  • 生成代码质量高,执行速度快(接近汇编语言)

  • 二、C语言程序的开发过程

    (一)、开发的三个步骤

    ​ ①编辑:程序员编写源程序(.c文件)

    ​ ②编译:编译器将源代码转换成可执行的二进制文件

    ​ ③运行:操作系统加载并执行可执行程序(二进制指令文件) 在这里插入图片描述

    (二)、C语言程序的编译过程

    ​ 编译实际上分为四个过程:

    ​ ① 预处理:处理宏定义(#define)、头文件(#include)、注释(将注释删掉)等,将头文件的内容直接拷贝到当前文件。

    预处理是由 预处理器 完成的

    ​ ② 编译:对预处理后的代码进行语法分析,语义检查,生成汇编语言代码。

    编译需要用到 编译器

    ​ ③ 汇编:将汇编代码转换为二进制代码,生成目标文件

    汇编需要用到 汇编器

    ​ ④ 链接:将目标文件与系统库文件、其他目标文件合并、生成可执行文件。(就是将自己的东西和别人的东西结合起来)

    链接需要用到 连接器

    在这里插入图片描述 在这里插入图片描述

    三、C语言程序的基本结构

    一个简单的C语言程序

    功能:在工作台输出hello word

    #include <stdio.h> //引入输入输出标准库

    //主函数有且仅有一个,作为程序的执行入口,这个函数会自动执行
    int main()
    {
    //向控制台输出 hello world! 需要引入 stdio.h 头文件 \\n为换行符
    printf("hello world!\\n");
    return 0;
    }

    结构分析:

    • 注释:用于解释代码逻辑,仅给程序员阅读,预处理阶段会被删掉

    • 预处理指令:以#开头,用于包含头文件、宏定义等(如:#include <stdio.h>,#define PI 3.14)

    • 主函数(main函数):程序的唯一入口,由操作系统通过程序启动机制自动调用,不能被用户自定义函数调用

    • 函数组成:

      • 函数头:说明函数的返回值类型、函数名和形参列表(若无形参则括号内留空或写void,举例:main() ,main(void)
      • 函数体:用{}括起来,包含变量声明和语句执行的部分(语句已;结尾) 在这里插入图片描述
    • 函数调用语句:调用已定义函数(如:printf()标准库中的输出函数 在这里插入图片描述

    四、C语言编程的规范要求

    C语言编程需要遵循一下规范,提升代码可读性和维护性:

    • 缩进格式:推荐缩进4个字符,统一代码层级;
    • 足够注释:对于关键代码(如:函数功能、复杂逻辑、变量含义)添加注释;
    • 合适空行:预处理指令与函数、函数与函数之间、全局变量与函数之间添加空格,区分代码模块;
    • {}对齐:C/C++中{和}各占一行,避免与Java风格混淆;

    ​ 不推荐(Java风格)

    int fun(){
    ...
    }

    ​ 推荐(C/C++风格)

    int fun()
    {
    if (..)
    {
    for (;;)
    {

    }
    }

    if (..)
    {
    for (;;)
    {

    }
    }
    }

    • 单句单行:不将多条语句写在同一行(for(;;)除外,因其语法要求连续分号);

      int main()
      {
      //不推荐的写法
      printf("hell0\\n");printf("word\\n");
      int a = 10 ; int b = 20;

      //推荐写法
      for (;;)
      {
      ...
      }

      int a = 20;
      int b = 30;

      printf("hello\\n");
      }

    • 标识符命名:函数名、变量名等都叫标识符,命名要见名之意,使用英文单词或短语,避免无意义字母(如:a,b)

      int main()
      {
      //不推荐的写法
      int a = 10;
      int b = 11;
      int c = 12;

      //推荐写法
      int age = 10;
      int height = 188;
      int weight = 190;
      }


    赞(0)
    未经允许不得转载:网硕互联帮助中心 » 嵌入式C/C++语言:入门教程一(详细教程)
    分享到: 更多 (0)

    评论 抢沙发

    评论前必须登录!