在日常编程中,可能实现的功能都是一样的,但是别人就是要写的快,写的好,而且同样代码执行效率还高。究其原因,就是别人编写的代码多,掌握了更多的技巧性的东西,从而无论从编码效率还是代码的执行效率上都更优。现将日常编程中使用到的一些常规技巧进行简单总结。

1、从循环开始

1)while(--n>=0)与while(n-->0)

在大多数C语言实现中,--n >=0 至少与等效的n-- >0 一样快,大多数情况下前者更快。

主要因为第一个表达式首先从n中减去1然后将结果与0比较;而第二个表达式首先保存n,从n中减去1之后比较保存值与0的大小,这中间多了一个保存的时间,从而前一个表达式更快。

注意:这样的循环中,尽量不使用unsigned类型,否则前者会出现无限循环情况。

2)多重循环处理

对于多重循环,如果可能,应将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数。

3)for循环

对于for语句的循环控制变量的取值采用“半开半闭区间”写法,用此方法更加直观。

不能在for循环体内修改循环变量,防止循环失控。

循环要尽可能的短,使代码显得清晰。若太长,看是否真的必须放入循环中,若必须,可以将这些代码封装成一个子函数,循环中只需调用子函数即可。

同时,把循环嵌套控制在3层以内。

2、函数参数

在设计函数时,通常将目的参数放在前面,源参数放在后面。若可能,通过IN、OUT这样的宏定义来标注参数输入输出。

如果参数是指针,且仅作输入用,则应在类型前加const,以防止该指针在函数体内被意外修改。

3、函数中内存处理

1)在函数中分配的内存,在函数退出之前要释放

2)return语句不可返回指向“栈内存”的指针或者引用,因为该内存在函数体结束时被自动销毁。

4、时间效率提升

1)调用if语句时,优先处理正常情况,再处理异常情况。

首先,可以使得正常情况的执行代码清晰,那些不常发生的异常情况不会遮掩了正常的执行路径。

其次,由于每进行一次if语句必然会有比较过程存在,而正常情况应该是发生的比较多的情况,那么可以减少在使用过程中比较的调用。设计时一定不要颠倒主次。

2)使用switch,case时,也要注意case的顺序,尤其是比较多种类的情况下,发生概率高的放在前面,低的放在后面,可以有效的减少不必要的比较过程。若没有重要性区分,按照字母排列顺序或数字大小排列也可。

C语言编程方法技巧,C语言编程小技巧分享相关推荐

  1. c语言教程+school,C语言教程方法用法 _C语言-w3school教程

    C语言 的 C语言教程 此C语言教程与编程方法面向C语言初学者和专业人士,帮助他们轻松了解和学习C语言编程.我们的C语言教程中使用程序解释每个主题. C语言被开发用于创建系统应用程序,直接与硬件设备( ...

  2. 论文浅尝 - ACL2022 | 基于多语言语义解耦表示的跨语言迁移方法实现多语言阅读理解...

    论文作者:吴林娟,天津大学,研究方向为自然语言理解 论文链接:http://arxiv.org/abs/2204.00996 代码地址:https://github.com/wulinjuan/SSD ...

  3. UG编程过程中的几个小技巧

    UG编程过程中的几个小技巧 [一.UG运用小技巧] 当平移工作坐标系时经过向下按住ALT键,能够履行准确定位. 制图中,能够在线性尺度上用SHIFT-拖动来创立狭窄型尺度. 能够双击在资源条中的导航器 ...

  4. C语言中将字符数字转换为数值的小技巧和方法

    C语言中将字符char类型数字转换为int类型数值的小技巧 字符0~9通过减去字符'0'可以获得数值,原理是ASCII码中,字符0~9对应的ASCII值与字符'0'的差值即为数值.如:字符'9'的AS ...

  5. 无效的变量名c语言,变量方法用法 _C语言-w3school教程

    C语言 的 变量 变量是内存位置的名称.它用于存储数据.其值可以更改,可以重复使用多次. 它是通过符号表示内存位置的方法,以便可以容易识别. 我们来看一下声明一个变量的语法: type variabl ...

  6. R语言ggplot2调整图例和注释的小技巧(图例透明度,大小,注释位置自动调整)

    Hallo,大家好,今天和大家分享一下ggplot2画图时的一些小技巧,主要是图例和注释的修改.(图例透明度,大小,注释位置自动调整) 先来一张普通的图. ggplot(mtcars,aes(mpg, ...

  7. 实验七:掌握基本的MapReduce编程方法 (JAVA+Python实现)(编程实现文件合并和去重操作,编写程序实现对输入文件的排序,对给定的表格进行信息挖掘)

    一.实验目的: 1. 理解MapReduce的工作机制: 2. 掌握基本的MapReduce编程方法 3. 重点理解map过程,shuffle过程和reduce过程 二.实验环境: Hadoop+Ec ...

  8. 计算机word的常用功能技巧,word一些实用小技巧

    1.将默认的输入法去除: (电脑入门到精通网 www.58116.cn) 打开选项窗口,点击其中的"编辑"选项卡,去除最下面的"输入法控制处于活动状态"前的对号 ...

  9. Eclipse IDE 使用技巧 (Eclipse工作空间小技巧)(自己的一些学习笔记和心得,记录下来,备忘录和复习使用)

    雪豹软件工作室推出了原创免费的java视频教程,关注我们的公众号就可以看到原创免费java视频教程的百度云盘下载链接啦,或者在公众号中给我们留言! 如果喜欢我们的小伙伴请关注我们的公众号哈!下面的这张 ...

  10. 计算机办公软件的使用技巧,实用的Word小技巧集锦(1)办公软件知识 -电脑资料

    一,把文字替换成图片 首先把图片复制到 剪贴板中,然后打开替换对话框,在"查找内容"框中输入将被替换的文字,接着在"替换为"框中输入"^c" ...

最新文章

  1. 分类与逻辑回归(classification and logistic regression)
  2. 【数字信号处理】线性时不变系统 LTI ( 判断某个系统是否是 “ 非时变 “ 系统 | 案例一 | 先变换后移位 | 先移位后变换 )
  3. 为什么你应该停止阅读新闻?
  4. MySQL调用存储过程
  5. SAP UI5和微信小程序框架里的全局变量
  6. Linux进程的概念笔记
  7. 三次握手wireshark抓包分析,成功握手和失败握手
  8. 跨网段加域的一个问题
  9. css 30 常用选择选择器
  10. C++基础:C++的封装/继承/多态
  11. 语法的集合?协议可没那么简单
  12. 二类高层建筑中的电子计算机,高层建筑结构计算机计算原理及结果简析
  13. 床长人工智能教程 - 前言
  14. 【CSS】关于表单样式
  15. Android实现推送PushService通知Notification
  16. vit transformer中的cls_token
  17. 服务器如何安装虚拟声卡,虚拟声卡安装方法和使用【图文教程】
  18. python实现12306余票
  19. MATLAB 如何生成彩色的eps文件
  20. IOS 后台运行 播放音乐

热门文章

  1. 2019 双十一京东全民养红包攻略分享
  2. 视频编解码之H.264
  3. fft qt 代码_FFT代码详解
  4. allegro使用经验
  5. 太实用了!Schedule模块, Python 周期任务神器!
  6. head first设计模式之设计原则
  7. c语言背包问题(动态规划解法)
  8. Android小说阅读器案例
  9. java循环制作万年历,JAVA-万年历代码--循环语句
  10. 从SEO的角度,如何打造非专业领域内容?