学习
实践
活动
专区
工具
TVP
写文章

C语言执行效率如何保证?

嵌入式开发基本都会选择C语言 这是因为C语言有出色的可移植性 能在多种不同体系结构的软/硬平台上运行 虽然代码的复用性差 代码的维护性差 扩展性很差 但,C语言简洁紧凑 使用灵活的语法机制 并且,C语言具有很高的运行效率 那么如何保证C语言执行效率? 01 C代码执行效率与哪些因素有关 C代码执行效率与时间复杂度和空间复杂度有关: 1、空间复杂度是指算法在计算机内执行时所需存储空间的度量 2、一般情况下,算法中基本操作重复执行的次数是问题规模n的某个函数 在熟悉汇编语言的人眼里,C语言编写的程序都是垃圾"。这种说法虽然偏激了一些,但是却有它的道理。汇编语言是效率最高的计算机语言,但是,不可能靠着它 来写一个操作系统吧? 12、采用递归 与LISP之类的语言不同,C语言一开始就病态地喜欢用重复代码循环,许多C程序员都是除非算法要求,坚决不用递归。

2K108
  • 广告
    关闭

    618夏日盛惠

    2核2G云服务器首年95元,GPU云服务器低至9.93元/天,还有更多云产品低至0.1折…

  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    C语言】程序的翻译环境和执行环境

    什么张三同学学了这么久竟然连ANSIC是什么都忘记了,怎么回事(doge) ANSIC实际上就是 美国国家标准协会(American National Standards Institute)协会制定的一个C语言的标准 任何C语言的编译器都在ANSIC的基础上扩充的。张三同学这个我们还是必须要了解的。 执行环境→用于实际的执行代码当中。  这里的运行环境实际上就是执行环境。 翻译环境分支部分 在翻译环境中还存在几个步骤,先用一副图来表示如下↓ Ⅰ→预编译预处理:完成了对头文件(#include)的包含,#define定义的符号和宏的替换,也就是说会把宏定义数据赋值给对应变量的值 它的指令是:gcc test.c - E (预处理后就停止) Ⅱ→编译:把C语言的代码转换成汇编代码,那么肯定要做什么事情也就是我们所说的一个过程实际上有:语法分析、词法分析、语义分析、符号汇总(汇总全局变量的符号

    17020

    你学不懂C语言,是因为不懂编写C程序的7个步骤

    一般情况下,我们把编写C程序分为7个步骤,懂得了后,编写程序就会有整体的思路,再也不像从前那样毫无头绪了。 1.定义程序的目标 定目标。明确这个程序是实现什么样的功能,你自己想要做出什么。 裙里有大量学习资料,有大神解答交流问题,每晚都有免费的直播课程 3.编写代码 这一步就是要把你设计的程序,按照你的解决逻辑翻译成C语言,一条条语句的打出来。 - 这就要求你的C语言基本语法知识要扎实了,比如一个输入函数scanf(),这种最基础的,你要能够想到关于scanf()尽可能多的用法,以及可能出错的地方。 - C语言:scanf()函数学习攻略 4.编译 这一步是将你编写好的C程序代码翻译成机器能够运行的机器码。翻译过程会使用编译器这一工具,在c/c++开发工具里都会集合有编辑器、编译器。 - 选对C/C++开发工具,让编程得心应手 5.运行程序 上一步,编译链接成功后,就能进行正常的运行了。可运行的程序就是可执行文件.exe。 6.测试和调试程序 运行结果与自己设计的思路是否一致。

    54840

    C语言 | 为什么学C语言

    C语言的重要性 C语言是所有高级语言的前辈,C++,C#,Java ,都是由C语言演变过来的,包括现在很火的python,第一个Python编译器诞生,它是用C语言实现的。 所有大学理科专业的必修课程都是C语言,就算你将来不从事开发, 期末考试总不能挂科吧,除了C语言,小林不知道还有哪一门课这么普及。 我们常用的操作系统windows、linux、unix是C语言开发的,如果你想当黑客必须学C语言,你去黑别人电脑的是不是绕不操作系统。 如果你想入职阿里、腾讯这样的大厂,必须学C语言,为什么呢? C语言应用领域 操作系统:windows、linux、unix 数据库:Oracle和sql server 一些驱动程序 wps、photoshop 嵌入式开发 C语言特点 C语言简洁,灵活,有37个关键字 C语言数据类型极其丰富。 C语言程序执行效率很高,可以直接操作内存。 C语言学习目标 掌握C语言的语法规则,数组、循环、函数、指针等。 要学会一些算法,比如冒泡排序、快速排序、递归等。

    1.8K42

    C语言自学(一)C语言基础

    由于工作需要用到C语言,所以开始接触学习C语言,从最基础开始学习了解。 C语言中的关键字: auto 声明自动变量 break 跳出当前循环 case 开关语句分支 char 声明字符型变量或函数返回值类型 const 声明只读变量 continue typedef 用于给数据类型取别名 unsigned 声明无符号类型变量或函数 union 声明共用体类型 void 声明函数无返回值或无参数,声明无类型指针 volatile 说明变量在程序执行中可被隐含地改变 C变量 基本数据类型 char int float double void C常量 常量是固定值,在程序执行期间不会改变 字符常量 \n 换行符 \f 换页符 \r 回车 C存储类 auto register static extern C运算符 算术运算符 + - * / % ++ – 关系运算符 == !

    1.8K20

    C语言笔记---(1)初识C语言

    C语言的源代码可以在任意架构的处理器上使用。 C语言的特点 1.语言简洁灵活 C语言是现有程序设计语言中规模最小的语言之一,C语言的关键字仅仅只有32个,控制语句也只有9个。 7.生成代码的高质量,执行程序效率高 C原来是专门为编写系统软件而设计的,许多大的软件都用C语言编写,这是因为C语言的可移植性好和硬件控制能力高,表达和运算能力强。 应用范围: 1.编译器,JVM,驱动 2.操作系统内核 3.各类软件开发 4.嵌入式设备开发,例:手机 5.等等等 C语言的编译 C语言是一种编译型语言,源码都是文本文件,本身无法执行。 必须通过编译器,生成二进制的可执行文件,才能执行。编译器将代码从文本翻译成二进制指令的过程,就称为编译阶段,又称为“编译时”(compile time),跟运行阶段(又称为“运行时”)相区分。 编译器依然可以识别其中的代码,并进行编译生成可执行文件。

    1.5K10

    C语言C语言数组和指针

    ---- 友情提醒:本文可能是全csdn最详细的指针内容了,希望你能用心读下去 前言 接下来的讲解部分是指针的进阶,包含多种指针以及对应的数组,这部分章节对我们来说很重要,也是c语言中的重点模块儿,重要性不言而喻 (c/c++会把常量字符串储存到单独的一个内存区域中) 当这两个指针指向同一个常量字符串时,实际上就是指向同一块儿地址**(指针就是地址,地址就是指针)** 2.数组指针 2.1数组指针的定义 1.数组指针嘛 我们直接大白话给他翻译成通俗易懂的语言。怎么样就是回调函数呢?就比如你现在有一个可以实现两数之和功能的函数Add,你明明可以在main函数里面直接调用这个函数,给他传上两个整数的参数,让他返回和的值。

    23.8K20

    C语言笔记】C语言编译的过程

    1、前言 如果你使用的是集成开发环境,那么你点击编译按钮就可生成可执行文件,然后点击运行即可运行。那么,你知道从源代码到可执行文件经历了哪些过程吗。仅仅是编译? 下面以windows环境下的test.c为例,test.c里的代码为: #include <stdio.h> int main(void) { printf("This is a test program 如图,编译生成可执行文件的过程实际包含四个过程:(1)预处理;(2)编译;(3)汇编;(4)链接。 汇编过程的命令为: gcc -c test.s -o test.o 上述命令中-c、-o让汇编器把汇编文件test.s转换成目标文件test.o。 5、链接(Linking) 链接过程使用链接器将该目标文件与其他目标文件、库文件、启动文件等链接起来生成可执行文件。

    1.5K30

    关注

    腾讯云开发者公众号
    10元无门槛代金券
    洞察腾讯核心技术
    剖析业界实践案例
    腾讯云开发者公众号二维码

    相关产品

    • 云原生数据库 TDSQL-C

      云原生数据库 TDSQL-C

      云原生数据库 TDSQL-C(Cloud Native Database TDSQL-C)。TDSQL-C 是数据库产品中心自研的新一代高性能高可用的云原生数据库。

    相关资讯

    热门标签

    活动推荐

      运营活动

      活动名称
      广告关闭

      扫码关注腾讯云开发者

      领取腾讯云代金券