1. 为什么嵌入式开发中选择C语言作为开发语言 / C语言的特点是什么?

①移植性好:适用于不同平台,代码移植时只需做较少修改或不做修改

②能直接访问硬件:    (汇编和C都能直接访问硬件,但C是高级语言含高级语法,所以对硬件做复杂操作时选择 C语言,对硬件做初始化时选择汇编)

③运行效率高:C可以直接在机器上运行,一些高级语言需要相应的语言解释器做解释后,才能在机器上运行。 (比如java需要通过JVM(java虚拟机),然后才能在机器上运行)

2. C语言标准

K&RC

C89:gcc编译器完全支持

C99:gcc编译器部分支持

C11:gcc编译器部分支持,ios和windows支持

3. 面向过程(结构):分析出解决问题所需要的步骤,然后用函数把这些步骤一步一步实现,使用的时候一个一个 依次调用。(C语言)

面向对象:在程序中包含各种独立而又互相调用的对象,每一个对象都应该能够接受数据、处理数据并将数据传 达给其它对象

特点:多态,封装,继承

优点:维护性,复用性,扩展性(增加新功能时,不用修改原来代码)

C语言的特点是什么?相关推荐

  1. Go语言的错误异常处理机制及其应用

    一.背景 在日常编写golang程序或阅读别人的golang代码时,我们总会看到如下的一堆代码块: xx, err = func(xx) if err != nil {//do sth. to tac ...

  2. Go 知识点(19)— Go 语言中的野指针

    野指针是一种指向内存位置是不可知的指针,一般是由于指针变量在声明时没有初始化所导致的.在 Go语言中,布尔类型的零值为 false,数值类型的零值为 0,字符串类型的零值为 "", ...

  3. gcc 自动识别的文件扩展名,gcc/g++ -x 选项指定语言,不同 gcc 版本 -std 编译选项支持列表

    对于执行 C 或者 C++ 程序,需要借助 gcc(g++)指令来调用 GCC 编译器. 对于以 .c 为扩展名的文件,GCC 会自动将其视为 C 源代码文件 对于以 .cpp 为扩展名的文件,GCC ...

  4. OpenCV 笔记(07)— Mat 对象输出格式设置(Python 格式、CSV 格式、NumPy 格式、C 语言格式)

    首先是下面代码中将要使用的 r 矩阵的定义.需要注意,我们可以通过用 randu 函数产生的随机值来填充矩阵, 需要给定一个上限和下限来确保随机值在期望的范围内. Mat r = Mat(2, 3, ...

  5. 利用牛顿法求平方根-Go语言实现

    牛顿法解释 百度的解释如下: 通俗的解释就是:多数方程不存在求根公式,牛顿提出了一种用迭代来求方程近似根的方法.思路就是不断取切线,用线性方程的根逼近非线性方程f(x)=0f(x)=0f(x)=0的根 ...

  6. 翻转二叉树 c语言实现 递归 栈 队列

    前言 题目比较好理解,就是翻转二叉树 代码 c语言实现 #include<stdio.h> #include<stdlib.h> #include<string.h> ...

  7. 字符串全排列的问题 python和c语言实现

    前言 这是一个的经典的问题 设计一个算法,输出一个字符串字符的全排列. 比如,String = "abc" 输出是"abc","bac",& ...

  8. 快速排序的递归和非递归实现 c语言版本

    代码 挖坑法 解释 选取一个关键字(key)作为枢轴,一般取整组记录的第一个数/最后一个,这里采用选取序列第一个数为枢轴,也是初始的坑位. 设置两个变量i = l;j = r;其中l = 0, r = ...

  9. c语言中字符串数组的地址存放以及%s输出单个字符导致程序崩溃的问题

    代码 总结下c语言中字符串数组的地址存放问题 #include <iostream> using namespace std; #include<bits/stdc++.h>i ...

  10. 关于C语言中的数组指针、指针数组以及二级指针

    概念解释 数组指针:首先它是一个指针,它指向一个数组,即指向数组的指针:在32 位系统下永远是占4 个字节,至于它指向的数组占多少字节,不知道.数组指针指向的是数组中的一个具体元素,而不是整个数组,所 ...

最新文章

  1. 新兴经济体助力BCH长足发展
  2. mysql 22001_mysql ERROR 1264 (22003): Out of range value for column 'x' at row 1 错误
  3. python评分卡建模-卡方分箱(2)之代码实现
  4. ansible(6)——模块命令command、shell详细用法
  5. 微信小程序中form 表单提交和取值实例详解
  6. 自定义你的VSCode:主题、文件图标、快捷键、设置、schema、插件
  7. 使用简单的5个步骤设置 Web服务器集群
  8. python telnetlib详解 执行循环命令_Python3+telnetlib实现telnet客户端
  9. mos管的rc吸收电路计算_MOS/CMOS集成电路简介及N沟道MOS管和P沟道MOS管
  10. Debian 决定允许无记名投票,候选人Felix Lechner质疑
  11. redis linux工具安装,linux 安装redis缓存工具
  12. Python pip install修改默认下载路径
  13. sql server系统表详细说明(2)
  14. m2e (maven eclipse) 在运行一些命令时出现了无法compile(Unable to locate the Javac Compiler in:)...
  15. 不拆机更换HG255D的U-BOOT并刷OPENWRT
  16. libjpeg、libpng使用方法
  17. marvel 1548 phy芯片调式
  18. 服务器里的文件怎么删除
  19. 菜鸟学JAVA之——常用类(StringBuffer、StringBuilder、Comparable、Comparator等)
  20. php 统计中英混杂word文档字数,wordfrequencycount

热门文章

  1. Log4j、slf4j
  2. 【IBatis.Net】 各种配置说明
  3. 《孵化皮克斯》读书第三天
  4. Step By Step_Java通过JNI调C程序执行
  5. 【Bitmap Index】B-Tree索引与Bitmap位图索引的锁代价比较研究
  6. Nginx的页面中文乱码解决方法
  7. MemCache在win7上的可视化配置以及Nodejs/Net应用
  8. php追加记录到文件行首的办法
  9. java判断点与线与面的关系_VC++开发GIS系统(280)判断点与面的拓扑关系
  10. win 10下方搜索栏没见了解决方法