// 第一个
for (i=0; i++;)
{
if (condition)
DoSomething();
else
DoOtherthing();
}优点:程序简洁缺点:多执行了N-1次逻辑判断,并且打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。每一次循环里都有比较,增加了程序空间复杂度


// 第二个
if (condition)
{
for (i=0; i++;)
DoSomething();
}
else
{
for (i=0; i++;)
DoOtherthing();
}优点:循环的效率高,代码相比第一个复杂一点,但循环里没有比较,降低了空间复杂度。
缺点:程序不简洁

1.效率低但程序简洁
2.效率高但程序不简洁
1的程序比2多执行了N-1次逻辑判断。并且由于前者老要进行逻辑判断,打断了循环“流水线”作业,使得编译器不能对循环进行优化处理,降低了效率。如果N非常大,最好采用2的写法,可以提高效率。如果N非常小,两者效率差别并不明显,采用1的写法比较好,因为程序更加简洁。

一个是在for循环加入判断语句 使得循环不连续 增大运行时间
另一个是在判断后执行for循环 虽然没有打断循环连续 但代码增加 
如果是同样的逻辑的话 建议不在for循环中加判断

其实这个就是循环内层和外层的大小的问题,C/C++编程规范里面的

笔试题:简述以下两个for循环的优缺点相关推荐

  1. 2019腾讯实习笔试题部分记录+两次电话面试笔记

    第一题:有n层的一座塔,跳塔 有n层的一座塔,每层高度不一样,现在小Q去爬塔,有如下特性:他爬塔的速度恒定,也就是说爬每一层的用时和这一层的高度成正比.但是他有一个能力:他可以有一种魔法,这个魔法可以 ...

  2. 2015小米实习生笔试题1 求两个数的不同位的个数

    int func(int x, int y) {int z = x ^ y; //两个数的不同位都会在z的二进制位以1表示int count = 0;while(z) //求z的二进制位1的个数{co ...

  3. 嵌入式Linux C笔试题积累(转)

    http://blog.csdn.net/h_armony/article/details/6764811 1.   嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 ...

  4. 嵌入式Linux C笔试题积累

    http://blog.csdn.NET/h_armony/article/details/6764811 1.   嵌入式系统中断服务子程序(ISR) 中断是嵌入式系统中重要的组成部分,这导致了很 ...

  5. C++笔试题汇总(6)

    1.引言本文的写作目的并不在于提供C/C++程序员求职面试指导,而旨在从技术上分 析面试题的内涵.文中的大多数面试题来自各大论坛,部分试题解答也参考了网友的意见. 许多面试题看似简单,却需要深厚的基本 ...

  6. 转]C,C++经典问题,及面试笔试题

    转]C,C++经典问题,及面试笔试题 1       编程基础 1.1    基本概念 1.  的理解:const char*, char const*, char*const的区别问题几乎是C++面 ...

  7. 100条经典C笔试题

    题目来源: 1.中兴.华为.慧通.英华达.微软亚洲技术中心等中 外企业面试题目: 2.C 语言面试宝典(林锐<高质量编程第三版>). 说明: 1.部分C 语言面试题中可能会参杂部分和C++ ...

  8. c malloc 头文件_C/C++笔试题:主要考察C/C++语言基础概念算法及编程,附参考答案...

    1.编写my_strcpy函数,实现与库函数strcpy类似的功能,不能使用任何库函数: 答:char *strcpy(char *strDest, const char *strSrc) { if ...

  9. 【笔试题】简单的两道笔试题(1、打印杨辉三角;2、三个数排序)

    笔试题 简单的两道笔试题(1.打印杨辉三角:2.三个数排序) 1.打印杨辉三角 import java.util.Scanner; public class MyYanghuiTriangle {pu ...

  10. 数据分析与数据挖掘方面招聘的笔试题分享

    上网搜索到一些相关职位的笔试题,集结于此,希望对大家有用 A.阿里巴巴2011数据分析师实习生笔试题 1.什么是异常值,列举一种找出连续型变量异常值的方法. 2.什么是聚类分析,有哪些聚类分析方法,写 ...

最新文章

  1. java个人所得税计算_java个人所得税计算器 | 学步园
  2. Kubernetes存储之volume
  3. 你也可以搞懂的微服务第一篇——来自ThoughtWork的学习体验
  4. Windows Server 2008 R2 域控DOS命令
  5. python发送HTTP POST请求
  6. Flink流处理练习
  7. 全局唯一序号生成方案
  8. 2012中文字库简单统计与分类
  9. 一个初学者的辛酸路程-常用模块-6
  10. 藏文印刷体: 乌金体,又称有头体
  11. 百度搜索框的测试点:
  12. 4、Gantt 任务节点部分
  13. MathType怎么编辑等号带点
  14. opencv小游戏(05):小车的运动
  15. 【漫步计算机系统】:发展概览Ⅲ
  16. 为了得到一个数的“相反数“,我们将这个数的数字顺序颠倒,然后再加上原先的数得到“相反数“。
  17. 留下来慢慢感悟(关于session和cookie)
  18. python R 实现数字变古诗
  19. 图像超分辨率重建数据集看这篇就够了——训练 + 测试 | 【云盘分享】
  20. Springboot整合FreeMarker

热门文章

  1. 浅谈虚拟桌面上线推广的最佳时机
  2. Linux进程的管理与调度(四) -- Linux下的进程类别以及其创建方式
  3. Android下播放YUV视频文件
  4. Ubuntu平台采用Qemu搭建ARM虚拟机环境
  5. MediaDevices.getUserMedia()
  6. SylixOS arm64 自旋锁
  7. 如何分析个股基本面_个股分析报告要分析哪些方面?股票基本面分析实例
  8. Slava and tanks(CodeForces - 877C)
  9. stl vector与list详细对比
  10. 数值范围_涉及数值范围的答复及撰写建议