FOR循环精讲

> 1.初步结识

for是写出题的重要组成部分之一,每个题如果没有for循环根本是无法做出来的,可见for循环在c++语言中是有多么重要,那么for的格式是怎样的呢??

for(控制变量初始化表达式;条件表达式;增量表达式){

...;

} 通过以上简单的for结构我们可看出,for循环的结构由三部分构成,其中决定着for执行条件的是中间的条件表达式(这三个构成是不可以调换位置的),我们知道,在条件表达式的判断中,真则为“1”,假则为“0”,那么如果我们把条件表达式的值一直设为“1”,循环是会变成一个死循环的,我们可以利用这一点,把for当成while用(在下面我会提到);那为何for循环在通常情况下不是死循环呢?

一般情况下的for循环:

for(int i=1;i<=n;i++){

...;

} 通过以上我们可看出,在i的值不断变换之下,“i<=n”这个条件会逐渐变为假,所以for循化就会终止下去

> 2.时间复杂度

一般入门者刚刚开始对时间复杂度是没有一个较为完整体系的认识的,那么什么是时间复杂度呢??

时间复杂度简单来说就是我们这个程序运行一组数据所需要的时间,而在做题过程中,我们用到for了就少不了时间复杂度;在计算机中,你让它循环1000万次它也不拍,但如果你让它循环1亿次的话...

那么一个for循环的时间复杂度到底为多少呢??

我们假设for它循化一次的时间为“1”,那我们做用代码来做一下实验:

1)一重循环

#include<iostream>
using namespace std;
int main(){
int m=0;
for(int i=1;i<=100;i++){
m+=1;
}
cout<<m;
return 0;
}

最终结果为100 时间复杂度为o

2)两重循环

#include<iostream>
using namespace std;
int main(){
int m=0;
for(int i=1;i<=100;i++){
m+=1;
}
cout<<m;
return 0;
}

最终结果为10000 时间复杂度为o2

以此类推,假设for里面有x重循环,则时间复杂度为ox

> 3.循环运行

我们用两重for作为例子:

for(int i=1;i<=100;i++){
for(int j = 1;j <= 100; j ++){
m++;
}
}

注意:第一重for循环在运行时,前面的控制变量初始化表达式只是在第一次进行循环时运用的,作用只是给你的变量初始化进行一个初始的赋值,而在第一次运行完之后就不会运行了

for循环在运行时(两重循环),他是运行完里面二重for,在运行下一次的,就好比这样,i=1时,进行二重for(设n为10),j初始值为1,然后,j++,直到j>10时,二重for的条件表达式不再成立

关于 for 循环与 循环嵌套的更多相关文章

  1. 关于Qt的事件循环以及QEventLoop的简单使用(QEventLoop::quit()能够终止事件循环,事件循环是可以嵌套的)

    http://www.cnblogs.com/-wang-cheng/p/4973021.html 1.一般我们的事件循环都是由exec()来开启的,例如下面的例子: 1 QCoreApplicato ...

  2. 047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用

    047 01 Android 零基础入门 01 Java基础语法 05 Java流程控制之循环结构 09 嵌套while循环应用 本文知识点:嵌套while循环应用 什么是循环嵌套? 什么是循环嵌套? ...

  3. (十一)if...else&for循环&while循环

    ----------------------------------if else------------------------------1.最基本的if语句:if name =="Al ...

  4. Python流程控制-while循环-for循环

    写重复代码 是可耻的行为 -------------- 完美的分割线  -------------- 摘录自:http://www.runoob.com/python/python-loops.htm ...

  5. 流程控制之while循环for循环

    流程控制之while循环1.什么是循环 循环就是重复做某件事2.为什么要有循环 为了让计算机能够具备人重复做某件事的能力3.如何用循环 while语法: while 条件: code1 code2 c ...

  6. js循环(while循环,do while循环,for循环)相关知识点及练习

    08.循环 1.循环! 循环的作用: 简化代码,处理重复执行的代码 遍历数组.json对象.节点集合 2.while循环 语法: while(循环的条件){ 循环体 } 3.循环的五大要素 循环变量 ...

  7. 控制流程之while循环, for循环

    条件循环:while,语法如下 while 条件: # 循环体 # 如果条件为真,那么循环体则执行,执行完毕后再次循环,重新判断条件... # 如果条件为假,那么循环体不执行,循环终止死循环 基本使用 ...

  8. python 循环、循环设计、循环对象

    作者:Vamei 出处:http://www.cnblogs.com/vamei 欢迎转载,也请保留这段声明.谢谢! 1.循环 循环用于重复执行一些程序块.从上一讲的选择结构,我们已经看到了如何用缩进 ...

  9. Python第四天 流程控制 if else条件判断 for循环 while循环

    Python第四天   流程控制   if else条件判断   for循环 while循环 目录 Pycharm使用技巧(转载) Python第一天  安装  shell  文件 Python第二天 ...

  10. php之快速入门学习-13(PHP 循环 - While 循环)

    PHP 循环 - While 循环 循环执行代码块指定的次数,或者当指定的条件为真时循环执行代码块. PHP 循环 在您编写代码时,您经常需要让相同的代码块一次又一次地重复运行.我们可以在代码中使用循 ...

随机推荐

  1. Asteroids!-裸的BFS

    G - Asteroids! Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Subm ...

  2. hdu 4109 dfs+剪枝优化

    求最久时间即在无环有向图里求最远路径 dfs+剪枝优化 从0节点(自己添加的)出发,0到1~n个节点之间的距离为1.mt[i]表示从0点到第i个节点眼下所得的最长路径 #include<iost ...

  3. 初识ajax

    ajax优势:不刷新整个页面,只刷新局部(无刷新) 无刷新的好处: 只更新部分页面,有效利用宽带 提供连续的用户体验 提供类似C/S的交互效果,操作更方面 什么是ajax AJAX :代表 Async ...

  4. linux OSI七层模型、TCP/IP协议栈及每层结构大揭秘

    学习Linux,就算是像小编我这样的小萌新,也知道OSI模型.什么?!你不知道!!! 好吧,这篇秘籍拿走,不谢~~~ 一.两个协议 (1)OSI 协议模型(7层)国际协议    PDU:协议数据单元对 ...

  5. mysql 常用sql语句 二

    mysql 查询 基本查询 select * from users; 去重 select distinct(name),high from users order by high desc; ## 注 ...

  6. 自学Zabbix3.9.3-模板Templates-嵌套Nesting

    自学Zabbix3.9.3-模板Templates-嵌套Nesting 嵌套是一个模板包含一个或多个其他模板的方法.可以在一个"嵌套"模板中将一些模板链接在一起.嵌套的好处在于,只 ...

  7. Django的Models

    Django的数据库配置: 1    django默认支持sqlite,mysql, oracle,postgresql数据库 2.   在django的项目中会默认使用sqlite数据库,如果要使用 ...

  8. 使用WebEx录制视频并转换为MP4

    1.下载并安装WebEx http://www.question-defense.com/wp-content/uploads/2010/05/ateditor-version-3.0.zip 2.打 ...

  9. 【java设计模式】【行为模式Behavioral Pattern】迭代器模式Iterator Pattern

    package com.tn.pattern; public class Client { public static void main(String[] args) { Object[] objs ...

  10. 完善chrome翻译插件ChaZD,支持有道智云api

    首先放上该项目的github地址:https://github.com/codethereforam/ChaZD 之前想找一个chrome支持划词翻译的插件,最终在知乎上看到了这个回答,推荐的是Cha ...