游戏电视苹果数码历史美丽
投稿投诉
美丽时装
彩妆资讯
历史明星
乐活安卓
数码常识
驾车健康
苹果问答
网络发型
电视车载
室内电影
游戏科学
音乐整形

C语言编程笔记关于for循环的那些不为人知的秘密

  好吧,也许你认为我在写一篇如何使用for循环的文章,,,,首先,我想说无论是学习C语言还是学习java的同学都能从此文中获益,还有,你确定你会用for循环吗?其实许多东西你只是在表面,要品才能有一种感觉,有的时候,我喜欢咬文嚼字一下,所以你可以认为我现在在程序中讨论关于用推还是用敲的话题。
  先来问你一个问题,一个简单的数学问题,不过你尽量快点回答,区间〔9,15〕中有几个整数?
  多数想马上表现自己聪明的同学可能会马上回答6个,但是是7个,你会发现这种双闭区间的元素会比你想象得多,就连〔9,9〕都有一个元素是吗?而半开半闭就不同了〔0,10)你可以不假思索地用〔m,n)中有nm个元素,来回答这个答案,10个元素,你发现什么了没?这有点像数组,恩恩,这个问题就是我们在本文后面将讨论的你如何才能熟练地使用这些多1少1的问题。现在先开始说for循环
  我常常把最简单的for循环称之为循环计数器:for(inti1;i10;i)cout求妹子
  你看,这里的i只是一个计数的作用,它在告诉cpu,去把我的这条语句执行十次吧!
  你可能会说,这有什么?for都是这样的呀!请你往下看for(inti1;i10;i)cout求
  这个for就不同了,它把i做为一种产物,在循环中使用它,我把它称之为循环产生器,这个i就不仅仅是让循环执行十次的作用了,它在每次的循环中产生,循环体的语句中有自己的作用,所以当你理解所谓的循环产生器,你就会很轻松地写出各种多层循环的程序了,比如崔哥曾出个这样一个题:
  请用循环语句打印一个空心菱形:
  我将用一种清晰的思路来分析写这个程序,
  嗯,我先写一个函数,它提供的接口如下:voidprint(intn,intp,intq);在一行输出n个元素,除了在p和q出输出其它地方都输出空格
  恩,很简单的一个函数:voidprint(intn,intp,intq){for(inti1;in;i){if(ipiq)printf();elseprintf();}printf();}voidprint(intn,intp,intq){for(inti1;in;i){if(ipiq)printf();elseprintf();}printf();}
  所以,用所谓的循环产生器,产生我们需要的参数传递给这个函数不就行了吗?
  下面,我们先做一些约定
  你我约定,难过的往事不许提
  开玩笑了,,,我们继续:
  首先,输出空心菱形,这个行数一定是个奇数,
  所以我们用1到LOW来表示这LOW个位置,而且中间的那个位置就是LOW21
  这样我们的程序就是这样:defineLOW13intj,k,nLOW21;空心菱形的中间位置jkn;for(inti1;iLOW;i){print(LOW,j,k);if(in)j,k;elsej,k;}
  i做为一个产生器,不但让循环执行LOW次(打印low行)同时也控制产生这j和k这两个参数了,当然我们在清晰道理之后,完全可以把这个函数嵌到循环中,看只用了两个for,而不是某些同学的分段循环,四个for
  继续讨论有关for的话题,现在我要通过说明for的一些使用细节,来向你展示,你用什么样的语言决定你的编程思维,我问你如果让你访问数组a〔10〕的每个元素,你会写怎样的代码?for(inti0;i9;i)
  还是for(inti0;i!10;i)
  我一直都是使用第二种,因为这可以很好地说明半开半闭区间的思想,而且,C数组本身就是从零开始的,我们用10来表示它最后一个元素的下一个位置(因为最后一个元素是a〔9〕),
  其实,不仅仅是数组,在许多语言的迭代器(包括c标准库)中都会使用第一个元素表示头,最后一个元素的下一个位置表示尾,半开半闭区间的这种思想可以让你不用陷入多1或是少1的问题中,比如〔n,n)是没有元素的,〔n,m)是有mn个元素的
  至于为什么是i!10,而不是i10,那要是这样的语句呢?for(inti10;i!0;i)
  不用把改成了,而且作为一个终止状态,还有用(后面论述)
  现在还记得开头的那个求妹子的列子吗?for(inti1;i10;i)cout求
  这里我就让i从1到10,(我不可能求0个妹子吧?)所以,这种对循环i的选取,0或1,是很有细节思考的。
  下面再看一个例子:inti;for(i0;a〔i〕!ci!N;i);
  这段代码的作用是在一个char数组中找到第一个是’c’的元素,并返回它的索引
  有几个有趣的地方:
  我把i的定义放在外面
  这个for循环没有循环体,看那个分号
  不是计数器,不是产生器,我喜欢把这种for称之为循环搜捕器,它用来找一个元素
  所以我把i定义在循环外,因为之后我们还要使用到i,而同时也与前面的那些for循环中把i定义到for里面形成了对比,因为之前的作用,我并不想把它的作用域外流,实际上,在c中鼓励你这么使用for,不让它外流,这种东西在vc6。0会出点问题(因为它不是标准的c),因为i的作用域会外流,所以你就不能写for(inti;;)这样的语句两次,它会报错说你重定义了。而在c语言中,之前是不支持for(inti;;)这种定义方式的,不过在c99的时候,它也支持了,并鼓励你这样写。
  并且,通过这个搜捕器,它的条件是a〔i〕!ci!N,所以循环终止时,是a〔i〕ciN这就是我之前说的终止条件,我们就可以在之后写这样的语句;if(iN)没找到else找到了。i是它的下标
  这就是为什么用’!’而不是的原因了,这可以很清楚地看清终止条件。
  以上就是今天的分享,小伙伴们可以点个赞支持一下哟
  另外,对现在我们的大多数朋友来说还是学编程技术最重要!栽一棵树最好的时间是十年前,其次是现在。对于准备学习编程的小伙伴,如果你想更好地提升你的编程核心能力(内功)不妨从现在开始!
  编程学习书籍分享:
  编程学习视频分享:
  整理分享(多年学习的源码、项目实战视频、项目笔记,基础入门教程)
  欢迎转行和学习编程的伙伴,利用更多的资料学习成长比自己琢磨更快哦!
  对于CC感兴趣可以关注小编在后台私信我:【编程交流】一起来学习哦!可以领取一些CC的项目学习视频资料哦!已经设置好了关键词自动回复,自动领取就好了!

关于数一数的教学反思虽说昨天是孩子们上课的第一天,但是因为学校授牌仪式,我的数学课都被冲掉了,于是,今天才开始上第一堂课《数一数》。在很多人看来,这是一节非常简单的课,大部分孩子们在幼儿园的……学年第二学期幼儿园骨干教师讲学团培训反思xxxxxx年5月5日,我们到幼儿园参加了骨干教师讲学团活动,活动由三个活动组成,分别是大班音乐《春姑娘来了》,小班数学《一颗纽扣》和小班科学《哇!彩虹糖》。三个活动风格……第三章第二节有机物的制造光合作用教案示例详细介绍:第三章第二节有机物的制造光合作用教案示例教材分析光合作用是绿色植物重要的生理功能之一,是本章教材的重点内容。教材通过演示实验分别介绍了光合作用的产物、原料……用辅导造句1、所以必须有人辅导他们。2、他现在正由一位著名的钢琴家进行辅导。3、如果你拥有教导别人的特殊技能并且有耐心,那么你会把教学和辅导工作做得很好。4、另一个重要……二年级课文蓝色的树叶的教学反思《蓝色的树叶》,主要讲李丽的绿铅笔找不到了,向林园园借,而林园园找了许多借口,并不乐意借:先是以自己没有画完为借口,接着以怕弄断为托词,后来又嫌李丽画的内容太多而不乐意。读到这……大班艺术活动趣变生姜活动目标:1、学习运用生姜和辅助材料表现动物造型。2、根据生姜的外形特征进行想象,合理运用辅助材料表现动物特征,初步掌握借形想象的创作方法。3、大胆地表达自己……四年级语文上册一路花香教学反思篇一:四年级语文上册《一路花香》教学反思《一路花香》这则寓言故事讲述了一只有裂缝的水罐在完好无损的水罐面前感到惭愧,于是和挑水工之间有了一段对话,从而告诉我们:每一件物品……反比例的意义教学设计教学目标1使学生理解反比例的意义,掌握成反比例的变化规律,并能初步运用。2能正确判断成正反比例的量,为解答正反比例应用题打下基础。教学重点和难点理解反比……西地平线上优秀教案设计教学重点1了解作者与作品,掌握散文的结构及语言特点。2从文章内容、风格等方面加深对文章的理解。教学方法文本研习教学过程一、作者介绍高建……微笑着承受一切公开课教案一、教学目标:1、能正确、流利、有感情地朗读课文。2、学会本课10个生字,两条绿线内的12个字只识不写。联系上下文理解生字组成的词语的意思。3、凭借具体语言材……有关清脆的反义词及造句中文发音:清脆qngcu清脆词语解释:声音清亮好听清脆的反义词:沙哑、嘶哑、低沉用清脆造句1、杜鹃摇摆着自己的身体,唱着清脆又悦耳的歌声,让人陶醉……不是而是甚至怎么造句大家知道不是而是甚至怎么造句吗?下面小编整理了不是而是甚至怎么造句,欢迎大家参考借鉴!不是而是甚至怎么造句1。工作不是简单地完成上级安排的任务,而是解决好问题或者优质完成……
九年级政治上册全册导学案及答案2二、承担对社会的责任1、国家兴亡匹夫有责【活动一】这些是他们必须做的事情吗?他们的做法会产生什么社会影响?答:是。因为作为公民,在做好本职工作的同时,要胸怀天……百度网盘PC版将推出单日单次付费加速功能IT之家10月8日消息众所周知,要想在百度网盘上获得理想的下载速度,每月30元的超级会员是必须的。但是如果你只是偶尔用到它的极速下载功能,单次或者是单日的付费服务会更加实惠。现……美术教学反思正确对待美术作业刀切的武断做法,而是进行了人性化的尝试。其次,对于学生创作的美术作业我们不能只注重作品所呈现的专业性美感。我们应该注重作业深层所蕴含的因素学生。一个人的成功与否,不能只用……初一政治上册第六课聪明以外的智慧导学案七年级上册思想品德导学案上课时间:年月日星期:主备人:备课组长签字:蹲科行政签字:使用人:编号:1、以二子学弈的故事引入。2、两人基础相似,学习效果却相差很多,是智力差异吗?两……中国移动下月发布5G套餐三不一快策略方便终端入网9月22日消息5G时代,网络建设是基础,应用创新是根本,融合发展是关键。在日前举行的中国移动5G创新合作大会上,中国移动集团公司市场经营部副总经理许锡明发表了《5G合作新……美国男子网购三星电视多配送一台LG84英寸电视,留用结果被捕IT之家3月24日消息据外媒报道,美国一男子NickMemmo在亚马逊上网购一台三星75英寸电视,但是送货人员在配送时还同时送来一台LG的84英寸电视。随后送货公司报案,该男子……大班数学活动说课稿3篇大班数学活动说课稿(一)一、说教材在一次报名小站活动中,幼儿从1开始报数一直到40,为了配合接下来的律动表演,扩大活动空间,我说:请单数的小朋友向前走一步。小朋友们……韩媒华为下个月将在首尔开设5G服务开发中心IT之家4月22日消息据韩媒报道,日前一位未具名的IT人士透露,华为下个月将在首尔开设其全球首个5G服务开发中心。华为早些时候表示将设立5G开发中心,并与欧洲、中东和亚洲……洽谈的造句洽谈拼音【注音】:qiatan洽谈解释【意思】:接洽商谈。洽谈造句:1、公司委托我和你们具体洽谈业务。2、我们希望您能尽快安排时间和我们洽谈……陆地生活的动物蚯蚓一,教学内容分析《》是生物学八年级上册第五单元第一章第二节中第二课时的内容,学生在第一课时已了解陆地生活的动物在运动,呼吸和对刺激的反应等方面适应陆地环境的特点,因此本节……小旅馆藏迷你摄像头,韩国1600名客人被秘密网上直播IT之家3月22日消息据CNN报道,警方周三表示,大约有1600名客人在韩国的一些汽车旅馆客房遭秘密拍摄,其中的视频可以供付费用户观看。此案涉及的小型酒店通常是汽车旅馆、……印度欲推新版征信系统,允许用户决定是否共享数据1月14日消息,据国外媒体报道,印度银行系统正准备推出一套名为财务账户聚合平台(accountaggregator)的系统,让消费者能够自主访问并共享自己的金融数据。该系……
友情链接:易事利快生活快传网聚热点七猫云快好知快百科中准网快好找文好找中准网快软网