一道关于for循环于if-else题
2009-08-28 16:39
363 查看
有这样一道题:
写出下面两个循环的优缺点
1. for(i=0;i<N;i++)
{
if(condition)
dosomething;
else
dosomething;
}
2. if(condition)
{
for(i=0;i<N;i++)
dosomething;
}
else
{
for(i=0;i<N;i++)
dosomething;
}
解答:
第一个优点:程序简洁,缺点:是多执行了N-1次判断并且不利于编译器对代码进行优化,降低了程序执行效率
第二个优点:避免了第一个的缺点,执行效率高,缺点:程序不够简洁
思考:两种方法都能得到想要的效果,但是它体现了一种编程风格,不管再小的程序都应该尽量的去完善它,去优化它,从小的方面做起,再大的项目中才能提高编程效率,提高代码质量。
细节、习惯决定成败!
写出下面两个循环的优缺点
1. for(i=0;i<N;i++)
{
if(condition)
dosomething;
else
dosomething;
}
2. if(condition)
{
for(i=0;i<N;i++)
dosomething;
}
else
{
for(i=0;i<N;i++)
dosomething;
}
解答:
第一个优点:程序简洁,缺点:是多执行了N-1次判断并且不利于编译器对代码进行优化,降低了程序执行效率
第二个优点:避免了第一个的缺点,执行效率高,缺点:程序不够简洁
思考:两种方法都能得到想要的效果,但是它体现了一种编程风格,不管再小的程序都应该尽量的去完善它,去优化它,从小的方面做起,再大的项目中才能提高编程效率,提高代码质量。
细节、习惯决定成败!
相关文章推荐
- if else 多分支 与for循环
- 《剑指offer》上的一道原题,求1+2+……+n,要求不能使用乘除法,for、while、if、else、switch、case等关键字以及条件判断语句
- c++学习 day2 循环学习(while do while for) 分支学习(if ; if else; if else if; switch的应用 )
- 求1+2+…+n,要求不能使用乘除法、for、while、if、else、s witch、case 等关键字以及条件判断语句(A?B:C)和不用循环/goto/递归输出1~100的10种写法
- [置顶] 循环语句if(){}else{}、if(){}else if(){}...else{}、do{}while()、for(){}、with(){}break/continue语句
- Python基础(条件判断和循环) if elif else for while break continue;
- 选择 | 循环 | 语句(if,if……else,switch,while,for)的理解和使用
- 实现1+2+3...+n,要求不能使用乘除法、循环、条件判断、选择相关的关键字(for、while、if、else、switch、case)。
- java经典练习题:for+if...else 循环输出金字塔,乘法口诀表,长方形等--初学者入
- 一道面试题:求1+2+…+n,不使用乘除法、for、while、if 、else、switch、case 等关键字
- for 循环下if...else....,print与return的区别
- 09 WebGL 着色器编程语言GLSL ES的程序流程控制(分支ifelse和循环for)
- js算法一则:不用if。。while。。for等循环和判断语句实现1+2+3+...+n的和
- 关于阿里的笔试题for循环中嵌套setTimeout
- TP框架中关于if、else 分支结构逻辑错误
- 不用判断(if else等)和跳转语句(for while 等)求和以及连续输出
- python_3(循环语句、if、switch、for、break、冒泡算法)
- 工作笔记2:关于MUI选择器的使用及使用for循环筛选对于元素
- js关于for循环里的setTimeout
- Python——通过while、for、if—else完成一个小程序 学Python的第三天,郑老师让我们写一个计算车费的小程序,还好之前有写小程序的基础,然后很快就完成了,下面是相关内容(^_^)