批处理 循环语句for

批处理 循环语句for
批处理 循环语句for

3.2.1 for循环语句

《批处理入门手册》

三.批处理高级语句篇

-----------------------------------------------------------------------------------------------------

3.2.1 学习for循环语句

学习要点:

一.前言

二.for语句的基本用法

三.for /f 用法详解

-----------------------------------------------------------------------------------------------------

此文原文名为《for语句从入门到精通》,原文地址:https://www.360docs.net/doc/4714870852.html,/thread-2189-1-1.html

一、前言

在批处理中,for是最为强大的命令语句,它的出现,使得解析文本内容、遍历文件路径、数值递增/递减等操作

成为可能;配合if、call、goto等流程控制语句,更是可以实现脚本复杂的自动化、智能化操作;合理使用for语句,

还能使代码大为简化,免除各位编写大量重复语句之苦。而能否熟练使用for语句,已经成为衡量一个人批处理水平高

低最主要的标准。

在这个系列教程中,我将通过实际应用中频繁出现的例子,带领大家步入for语句的神奇之门,一步步迈向for语

句的魔幻殿堂,使得大家在实际的应用中,能独立写出简洁高效的代码,在批处理的世界里自由驰骋。

注意:以下的讲解,都是基于简体中文Windows XP Pro SP3的操作系统环境

-----------------------------------------------------------------------------------------------------

二、for语句的基本用法[2008.11.9更新]

正如色彩缤纷的七彩光芒是由红绿蓝三原色构成的一样,最复杂的for语句,也有其基本形态,它的模样是这样

的:

在cmd窗口中:for %I in (command1) do command2

在批处理文件中:for %%I in (command1) do command2

之所以要区分cmd窗口和批处理文件两种环境,是因为在这两种环境下,命令语句表现出

来的行为虽然基本一样,

但是在细节上还是稍有不同,最明显的一个差异就是:在cmd窗口中,for之后的形式变量I 必须使用单百分号引用,

即%I;而在批处理文件中,引用形式变量I必须使用双百分号,即%%I。为了方便起见,若不是特别强调,以下的讲解

都以批处理文件环境为例。

我们先来看一下for语句的基本要素都有些什么:

1、for、in和do是for语句的关键字,它们三个缺一不可;

2、%%I是for语句中对形式变量的引用,就算它在do后的语句中没有参与语句的执行,也是必须出现的;

3、in之后,do之前的括号不能省略;

4、command1和command2表示字符串、变量或命令语句;

现在,你可能已经会写一个简单的for语句了,比如:

[code1]

@echo off

for %%I in (https://www.360docs.net/doc/4714870852.html,) do echo %%I

pause

保存为批处理文件并执行,将会在弹出的批处理窗口中看到这样的信息:

[result1]

https://www.360docs.net/doc/4714870852.html,

请按任意键继续...

很快地,你会觉得这个for语句是如此的简单,简单到你丝毫感受不出它的强大:这个for语句,和我直接用echo

语句没什么两样啊!

是的,演示代码永远都只是演示而已,就像大多数高级语言的教科书一样,在引导新手学习的时候,基本上都是

千篇一律地告诉大家如何编写一个能显示 hello world! 的窗口,从这些演示代码中,你看不到它们具有多少实用性

,你只是感到有点好奇:咦,居然弹出了一个窗口?片刻之后,你就会觉得索然无味。

那好吧,为了让大家对for更加感兴趣,我们先来分析一下for语句的一些注意事项,之后,再让大家看看更为强

大的for语句实例。

1、for语句的形式变量I,可以换成26个字母中的任意一个,这些字母会区分大小写,也就是说,%%I和%%i会被

认为不是同一个变量;形式变量I还可以换成其他的字符,但是,为了不与批处理中的%0~%9这10个形式变量发生冲

突,请不要随意把%%I替换为%%0 ~%%9中的任意一个;

2、in和do之间的command1表示的字符串或变量可以是一个,也可以是多个,每一个字符串或变量,我们称之为

一个元素,每个元素之间,用空格键、跳格键、逗号、分号或等号分隔;

3、for语句依次提取command1中的每一个元素,把它的值赋予形式变量I,带到do后的command2中参与命令的执行

;并且每次只提取一个元素,然后执行一次do后的命令语句,而无论这个元素是否被带到command2中参与了command2

的运行;当执行完一次do后的语句之后,再提取command1中的下一个元素,再执行一次command2,如此循环,直到

command1中的所有元素都已经被提取完毕,该for语句才宣告执行结束;

其中,第3点是最为关键的,它描述了for语句的执行过程,是for语句的精髓所在,大家一定要牢记这一条,才

能深刻理解更为复杂的for流程。

有了以上的基础,我们再来看一个例子,这个例子修改了code1的部分内容,结果将大不一样:

[code2]

@echo off

for %%I in (bbs,bathome,cn) do echo %%I

pause

和[code1]的执行结果相比,[code2]的执行结果发生了如下变化:

1、显示结果分成了3行(不算最后一行中文提示);

2、每一行都从逗号处被切分;

如果把 https://www.360docs.net/doc/4714870852.html, 这个字符串中的点号换为空格、跳格或等号,执行结果将和code2的执行结果别无二致。

现在,我们来分析一下code2代码中for语句的执行过程:

首先,for语句以逗号为分隔符,把 bbs,bathome,cn 这个字符串切分成三个元素:bbs、bathome和cn,由此决

定了do后的语句将会被执行3次;

然后,第一次执行过程是这样的:先把 bbs 这个字符串作为形式变量I的值,带入do 后的语句中加以执行,也就

是执行 echo %%I 语句,此时的I值为bbs,因此,第一次执行的结果,将会在屏幕上显示

bbs这个字符串;第二次执

行和第一次执行的过程是一样的,只不过此时I的值已经被替换为command1中的第二个元素了,也就是 bathome 这个

字符串;如此循环,当第三次echo执行完毕之后,整条for语句才算执行完毕,此时,将执行下一条语句,也就是

pause命令。

其实,这个例子只比上一个例子多了一点花样,有趣了那么一点点:一条for语句的执行结果居然被分成了3行!

为了让大家见识一下for的真正威力,本人绞尽脑汁,翻帖无数,不得要领,万般无奈之下,只好亮出了尘封在

箱底多年的一段代码:检测当前硬盘都有哪些分区^_^

[code3]

@echo off

set str=c d e f g h i j k l m n o p q r s t u v w x y z

echo 当前硬盘的分区有:

for %%i in (%str%) do if exist %%i: echo %%i:

pause

这段代码能检测硬盘都有哪些分区,包括U盘和移动硬盘的分区,但是,当光驱中有盘的时候,也会被列出来,

这是本代码的一个缺憾,在以后的讲解中,我将向大家讲述如何消除这个瑕疵,敬请关注本系列的后续章节。

高级应用:

想知道当前目录下都有哪些文件吗?请用下面的代码:

@echo off

for %%i in (*.*) do echo "%%i"

pause

想列出当前目录下所有的文本文件吗?请用下面的代码:

@echo off

for %%i in (*.txt) do echo "%%i"

pause

想列出只用两个字符作为文件名的文本文件吗?请用下面的代码:

@echo off

for %%i in (??.txt) do echo "%%i"

pause

题外话:

1、列出当前目录下各种文件的方法,最简单的还是用dir命令,但是,从以上代码中,各位可以加深对for语句

执行流程的理解(用到了通配符*和?);

2、注意:以上代码不能列出含有隐藏或系统属性的文件;

练习:用for语句建立test1.txt、test2.txt和test3.txt三个文本文件。

更全面的练习请看这个帖子:for语句从入门到精通配套练习题https://www.360docs.net/doc/4714870852.html,/thread-2336-1-1.html

-----------------------------------------------------------------------------------------------------

三、文本解析显神威:for /f 用法详解[2009.2.10更新]

前言

for /f 是个十分强大的家伙。

如果说,for语句是批处理中最强大的语句的话,那么,for /f 就是精华中的精华。

for /f 的强大,和它拥有众多的开关密切相关。因为开关众多,所以用法复杂,本章将分成若干小节,为大家

逐一介绍强大的 for /f 语句。

-----------------------------------------------------------------------------------------------------

(一)为解析文本而生:for /f 的基本用法

所有的对象,无论是文件、窗体、还是控件,在所有的非机器语言看来,无外乎都是形如"c:\test.txt"、"CWnd"

之类的文本信息;而所有的对象,具体的如ini文件中的某条配置信息、注册表中的某个键值、数据库中的某条记录……都只有转化为具有一定格式的文本信息,方可被代码识别、操控。可以说,编程的很大

一部分工作,都是在想方设法绞尽脑汁如何提取这些文本信息。

而提取文本信息,则是for /f的拿手好戏:读取文件内容;提取某几行字符;截取某个字符片段;对提取到的内

容再切分、打乱、杂糅……只要你所能想到的花样,for /f 都会想方设法帮你办到,因为,for /f 就是被设计成专

门用于解析文本的。

先来看个例子。

假如有个文本文件test.txt,内容如下:

[txt1]

论坛的目标是:不求最大,但求最好,做最实用的批处理论坛。

论坛地址:https://www.360docs.net/doc/4714870852.html,。

这里是:新手晋级的福地,高手论剑的天堂。

那么,将如下代码保存为test.cmd,并放在test.txt同一目录下运行,将会在屏幕上原样显示test.txt的内容:

[code4]

@echo off

for /f %%i in (test.txt) do echo %%i

pause

这段代码,主要是让你树立这样一种观念:读取文本文件的内容,请使用 for /f 语句!

进阶话题:for /f 语句是把整个test.txt一次性显示出来的?

在这段代码中,虽然执行结果是把test.txt中的所有内容都显示出来了,貌似 for /f 语句是把整个test.txt一

次性显示到屏幕上,实际上并非如此。

无论for语句做何种变化,它的执行过程仍然遵循基本的for流程:依次处理每个元素,直到所有的元素都被处理

为止。只不过在for /f语句中,这里的元素是指文件中的每一行,也就是说,for /f 语句是以行为单位处理文本文

件的。这是一条极为重要的规则,在上一章中也强调过它的重要性,希望在接下来的学习过程中,你能时刻牢记这一

原则,那么,很多问题将会迎刃而解。以下是验证这一说法的演示代码(在[code4]的基础上添加了&pause语句):

[code5]

@echo off

for /f %%i in (test.txt) do echo %%i&pause

pause

--------------------------------------------------------------------------------

---------------------

(二)切分字符串的利器:delims=

也许你对[code4]这段代码不屑一顾:不就是把test.txt的内容显示出来了么?好像用处不大啊。

好吧,我们来玩个魔术。

还是[txt1]这段文本,把[code4]改造一下:

[code6]

@echo off

for /f "delims=," %%i in (test.txt) do echo %%i

pause

再次运行test.cmd,看到什么变化了吗?!

[result2]

论坛的目标是:不求最大

论坛地址:https://www.360docs.net/doc/4714870852.html,。

这里是:新手晋级的福地

请按任意键继续...

结果,你惊奇地发现,每行第一个逗号之后的所有内容都不见了(如果有不存在逗号的行,则保留原样),也就说,

你成功地提取到了每行第一个逗号之前的所有内容!

试想一下,这段代码会有什么用呢?

如果别人给了你一个软件清单,每行都是"英文软件名(逗号)中文软件名"的格式,而你却只想保留英文名的时

候,这段代码将是多么有用啊!再假设,有这么一个IP文件,第一列是数字格式的IP地址,第二列是具体的空间地址

,列与列之间用逗号分隔,而你想提取其中数字格式的IP,呵呵,我不说你也知道该怎么办了吧?

要是文本内容不是以逗号分隔,而是以其他符号分隔,那么,把"delims=,"的逗号换成相应的符号就可以了。

在这里,我们引入了一个新的开关:"delims=,",它的含义是:以逗号作为被处理的字符串的分隔符号。

在批处理中,指定分隔符号的方法是:添加一个形如 "delims=符号列表" 的开关,这样,被处理的每行字符串

都会被符号列表中罗列出来的符号切分开来。

需要注意的是:如果没有指定"delims=符号列表"这个开关,那么,for /f 语句默认以空格键或跳格键作为分隔

符号。请把[txt1]中不同位置上的标点符号改为空格或跳格,再运行[code4]试试。

进阶话题:如果我要指定的符号不止一个,该怎么办?

在上面的讲解中,我提到了指定分隔符号的方法:添加一个形如"delims=符号列表"的开关。不知道你注意到没

有,我的说法是"符号列表"而非"符号",这是大有讲究的,因为,你可以一次性指定多个分隔符号!

还是以[txt1]为例,把[code6]再改造一下:

[code7]

@echo off

for /f "delims=.," %%i in (test.txt) do echo %%i

pause

结果显示:

[result3]

论坛的目标是:不求最大

论坛地址:bbs

这里是:新手晋级的福地

请按任意键继续...

这样,第一个点号或第一个逗号之前的内容都被提取出来了。

[code7]的执行过程是:逐行读取test.txt中的内容,以点号和逗号切分每一行的内容(不存在点号和逗号的行

,则不再切分,为了描述的方便,我们把被点号或逗号切分的一个一个的字符串片段,称之为节),然后,for /f

会提取第一节的内容作为最终结果,显示在屏幕上。需要注意的是,在这里,所有行的字符串被切分成了两个以上的

节,但是,[code7]的代码只会提取第一节字符串的内容,因为 for /f 语句默认只提取第一节的符串。

-------------------------------------------------------------------------------- 吃水不忘挖井人,读书不忘写书人,下书不忘制书人

CHM电子书制作中心是一个免费在线制作CHM文档的实用性工具网站,本站鼓励大家制作属于自己的电子书、帮助文档!

c语言循环语句和循环控制例题解析

一、循环控制 (一)、break语句 break语句通常用在循环语句和开关语句中。当break用于开关语句switch中时,可使程序跳出switch而执行switch以后的语句;如果没有break语句,则将成为一个死循环而无法退出。break在switch中的用法已在前面介绍开关语句时的例子中碰到,这里不再举例。 当break语句用于do-while、for、while循环语句中时,可使程序终止循环而执行循环后面的语句,通常break语句总是与if语句联在一起。即满足条件时便跳出循环。 例如: int main(int argc, char *argv[]) { int sn=0,i; for(i=1;i<=100;i++) { if(i==51) break; /*如果i等于51,则跳出循环*/ sn+=i; /*1+2+……+50*/ } printf(%d\n,sn); } 可以看出,最终的结果是1+2+……+50。因为在i等于51的时候,就跳出循环了。自己写写怎样在while和do--while循环中增加break语句。 注意: 1. break语句对if-else的条件语句不起作用。 2. 在多层循环中,一个break语句只向外跳一层。 例如: int main(int argc, char *argv[]) { int i,j; printf(i j\n); for(i=0;i<2;i++) for(j=0;j<3;j++) { if(j==2) break; printf(%d %d\n,i,j); } } 输出结果为: i j 0 0 0 1 1 0 1 1 当i==0,j==2时,执行break语句,跳出到外层的循环,i变为1。 (二)、continue语句

批处理命令行for语句

for语句可以在命令行提示符中使用,也可以在批处理文件中使用。这两种情况下唯一的区别是%和%%,参加下文说明。 一、for语句的格式: for [参数] 变量in (集合) do 命令[命令的参数] 二、for语句的作用:对集合内的元素逐一执行后面的命令。 1、如:for %%i in (你好) do echo %%i 将在屏幕上显示“你好”2个字。这里集合是“你好”,执行的命令是“echo”。由于集合中只有1个元素,因此循环只运行一次。 如果改成for %%i in (你好朋友) do echo %%i 将会显示2行文字,第一行为“你好”,第二行为“朋友”。因为2个词之间有空格,因此集合中就有了2个元素,循环将运行2次。 2、注意:以上for语句的运行方式是新建一个批处理文件,即扩展名为“.bat”的文件,内容为上面的命令,然后运行。为了批处理执行完不退出,可在最后加上一条pause>null命令,这样能看到执行的结果。要想通过cmd命令行执行的话,必须将%%换成%,即去掉一个%,如下: for %i in (你好) do echo %i 3、以下所有例子都是这样,若要在命令行提示符下执行,请将所有的%%改成一个%。 三、for语句详细说明: 上面语句格式中有的加了中括号[],表示这个语句元素不是必须的,只在需要时使用。像刚才显示“你好”的命令中就没有使用[参数]这

个语句元素。所有语句元素间用空格隔开。 各语句元素的写法:for、in、do这3个符号是固定不变的 1、[参数]的种类:只有4种,分别是/d、/r、/l、/f(即目录Directory、递归recursion、序列list、文件file),他们用于对后面的集合的含义做出解释,请与下面的集合解释结合来看。这4个参数不区分大小写,可以联合使用,即一条for语句可以出现多个参数。 2、变量:除10个数字外(0-9)的所有符号(因为0-9往往作为形参使用,为了与此区别),变量名一般用单个字母表示即可,而且变量名区分大小写,即A和a是两个不同的变量。变量名前面必须是%,当在命令提示符下执行时,只用一个%;而在批处理程序中,必须用%%。 一行语句中,一般只需定义一个变量。使用/f参数中的tokens 选项可以将集合中的元素分解成多个值,并自动定义新的变量对应这些值。这时语句中可以使用多个变量,通常按字母顺序命名,即第一个是%%a,那么后一个就用%%b。如果第一个是%%i,后一个就用%%j。依此类推。具体看后面的相关内容。 变量可以直接在do后面的命令中使用。每次使用的变量总数不超过52个。 3、集合:集合必须放在括号里。集合是一行文本,这行文本可能有几种类型,如“你好”只是一串字符;“c:\boot.ini”是一个文件;“dir /b”是一个命令。 (1)如果for语句中没有使用任何参数,对待集合文本的处理方式是:

5条件语句和循环语句

第二、三课时 1.2.2-1.2.3条件语句和循环语句 教学目标: 知识与技能 (1)正确理解条件语句和循环语句的概念,并掌握其结构的区别与联系。 (2)会应用条件语句和循环语句编写程序。 过程与方法 经历对现实生活情境的探究,认识到应用计算机解决数学问题方便简捷,促进发展学生逻辑思维能力 情感态度与价值观 了解条件语句在程序中起判断转折作用,在解决实际问题中起决定作用。深刻体会到循环语句在解决大量重复问题中起重要作用。减少大量繁琐的计算。通过本小节内容的学习,有益于我们养成严谨的数学思维以及正确处理问题的能力。 重点与难点 重点:条件语句和循环语句的步骤、结构及功能。 难点:会编写程序中的条件语句和循环语句。 学法与教学用具 计算机、图形计算器 教学设想

【创设情境】 试求自然数1+2+3+……+99+100的和。 显然大家都能准确地口算出它的答案:5050。而能不能将这项计算工作交给计算机来完成呢?而要编程,以我们前面所学的输入、输出语句和赋值语句还不能满足“我们日益增长的物质需要”,因此,还需要进一步学习基本算法语句中的另外两种:条件语句和循环语句(板出课题) 【探究新知】 (一)条件语句 算法中的条件结构是由条件语句来表达的,是处理条件分支逻辑结构的算法语句。它的一般格式是:(IF-THEN-ELSE 格式) 当计算机执行上述语句时,首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句1,否则执行ELSE 后的语句2。其对应的程序框图为:(如上右图)

在某些情况下,也可以只使用IF-THEN 语句:(即IF-THEN 格式) 计算机执行这种形式的条件语句时,也是首先对IF 后的条件进行判断,如果条件符合,就执行THEN 后的语句,如果条件不符合,则直接结束该条件语句,转而执行其他语句。其对应的程序框图为:(如上右图) 条件语句的作用:在程序执行过程中,根据判断是否满足约定的条件而决定是否需要转换到何处去。需要计算机按条件进行分析、比较、判断,并按判断后的不同情况进行不同的处理。 【例题精析】 〖例1〗:编写程序,输入一元二次方程20ax bx c ++=的系数,输出它的实数根。 分析:先把解决问题的思路用程序框图表示出来,然后再根据程序框图给 出的算法步骤,逐步把算法用对应的程序语句表达出来。 IF 条件 THEN 语句

批处理命令for语句基本用法

批处理命令for语句的基本用法 [系列教程]批处理for语句从入门到精通[20101225更新] ____________________________版主提醒 ____________________________ 文档来自于网络搜索 为了避免影响技术讨论、提高看帖的舒适性,请大家不要在此帖下跟 无实质内容的口水帖,特别是纯顶、纯支持、纯感谢、路过之类的帖子, 管理人员将不定期清理此类回帖,请大家多参与讨论少灌水,与人方便, 终将给自己带来方便,谢谢合作。 ________________________________________________________________ 文档来自于网络搜索 批处理是一门简单的脚本语言,虽然不能独当一面,但是,若作为工作中的辅助工具,绝对会让大家有随用随写、称心如意的畅快感。 文档来自于网络搜索 和其他语言相比,批处理语言有其先天性的优势: 1、系统自带,无需另行安装; 2、命令少,语句简洁,上手非常快; 3、编写出来的脚本小巧玲珑,随写随用; 但是,因为它以命令行方式工作,操作多有不便,在图形界面大行其道的windows世界里,多多少少会让大众望而却步;就算是对命令行有好感的新手,面对微软有如天书的帮助文件,很多人也会败下阵来,因此,论坛里很多会员也发出了编写系统的批处理教程的呼声。

文档来自于网络搜索 编写系统的批处理新手教程,一直是论坛管理层讨论的热点问题,但是,各位管理人员大多都有工作在身,而系统的教程涉及的面是如此之广,面对如此浩大的工程,仅凭一两个人的力量,是难以做好的,因此,本人退而求其次,此次发布的教程,以专题的形式编写,日后人手渐多之后,再考虑组织人力编写全面的教程。 文档来自于网络搜索之所以选择最难的for,一是觉得for最为强大,是大多数人最希望掌握的;二是若写其他命令教程,如果没有for的基础,展开来讲解会无从下手;三是for也是批处理中最复杂最难掌握的语句,把它攻克了,批处理的学习将会一片坦途。 文档来自于网络搜索 这次的for语句系列教程,打算按照for语句的5种句式逐一展开,在讲解for/f的时候,会穿插讲解批处理中一个最为关键、也是新手最容易犯错的概念:变量延迟,大纲如下: 文档来自于网络搜索一前言 二for语句的基本用法 三for /f(含变量延迟) 四for /r 五for /d 六for /l 遵照yibantiaokuan的建议,在顶楼放出此教程的txt版本、word版本和pdf版本,以方便那些离线浏览的会员。 文档来自于网络搜索[本帖最后由namejm于2010-12-26 02:36编辑]

C语言练习2(选择和循环结构)

C语言(分支和循环结构) 一、选择题 1.以下程序输出结果是( ) main() { int m=5; if(m++>5) printf("%d\n",m); else printf("%d\n",m--);} A)7 B)6 C)5 D)4 2以下程序的输出结果为( ) # include main ( ) { int i=0, j=0, a=6; if ((++i>0)&&(++j>0)) a++; printf ("i=%d, j=%d, a=%d\n", i,j,a);} A) i=0, j=0, a=6 B) i=1, j=1, a=7 C) i=1, j=0, a=7 D) i=0, j=1, a=7 3有如下程序 main() { int a=2,b=-1,c=2; if(a

4若i为int型,且有程序如下,则输出结果是( ) i=111; if(i%3==0) printf("####"); printf("****"); A) #### B) **** C) ####**** D) 无输出结果 5若运行时x=12,则运行结果为( ) {int x, y; scanf("%d", &x); y=x>12 ? x+10:x-12; printf("%d\n", y);} A) 0 B) 22 C) 12 D) 10 6以下程序的输出结果是( ) main() { int i=0, j=0, k=6; if ((++i>0)||(++j>0)) k++; printf("%d, %d, %d\n", i, j, k); } A) 0, 0, 6 B) 1, 0, 7 C) 1, 1, 7 D) 0, 1, 7 7若变量都已正确说明,则以下程序段输出为( ) int a=1,b=2,c=3; if(a>b) a=b; b=c; c=a; printf("a=%d b=%d c=%d\n",a,b,c);

for循环的简介及break和continue的区别

for循环的简介及break和continue的区别 1.for循环 for循环是更加简洁的循环语句,大部分情况下,for循环可以代替while循环、do-while循环。 for循环的格式为: for( 初始语句 ; 执行条件 ; 增量) { 循环体 } 执行顺序:1、初始语句2、执行条件是否符合?3、循环体4、增加增量 初始化语句只在循环开始前执行一次,每次执行循环体时要先判断是否符合条件,如果循环条件还会true,则执行循环体,在执行迭代语句。 所以对于for循环,循环条件总比循环体多执行一次。 注意:for循环的循环体和迭代语句不在一起(while和do-while是在一起的)所以如果使用continue来结束本次循 环,迭代语句还有继续运行,而while和do-while的迭代部分是不运行的。 来个例子:输入一个数n(n>1),输出n!的值。n!(n的阶层)=1*2*3*……*n #include void main() { long num=1; int n,i; printf("请输入n:");

scanf("%d",&n); for(i=1;i<=n;i++) num=num*i; printf("%d的阶层是%d\n",n,num); } 2.break和continue的区别和作用 break和continue都是用来控制循环结构的,主要是停止循环。 1.break 有时候我们想在某种条件出现的时候终止循环而不是等到循环条件为false才终止。 这是我们可以使用break来完成。break用于完全结束一个循环,跳出循环体执行循环后面的语句。 2.continue continue和break有点类似,区别在于continue只是终止本次循环,接着还执行后面的循环,break则完全终止循环。 可以理解为continue是跳过当次循环中剩下的语句,执行下一次循环。 例子: #include void main() { int sum,i; sum=0; for(i=1;i<=100;i++) { sum=sum+i; if(i==2) {

批处理命令格式

批处理命令格式.txt人永远不知道谁哪次不经意的跟你说了再见之后就真的再也不见了。一分钟有多长?这要看你是蹲在厕所里面,还是等在厕所外面……echo 表示显示此命令后的字符 echo off 表示在此语句后所有运行的命令都不显示命令行本身 @与echo off相象,但它是加在每个命令行的最前面,表示运行时不显示这一行的命令行(只能影响当前行)。 call 调用另一个批处理文件(如果不用call而直接调用别的批处理文件,那么执行完那个批处理文件后将无法返回当前文件并执行当前文件的后续命令)。 pause 运行此句会暂停批处理的执行并在屏幕上显示Press any key to continue...的提示,等待用户按任意键后继续 rem 表示此命令后的字符为解释行(注释),不执行,只是给自己今后参考用的(相当于程序中的注释)。 例1:用edit编辑a.bat文件,输入下列内容后存盘为c: a.bat,执行该批处理文件后可实现:将根目录中所有文件写入 a.txt中,启动UCDOS,进入WPS等功能。 批处理文件的内容为: 命令注释: @echo off 不显示后续命令行及当前命令行 dir c: *.* >a.txt 将c盘文件列表写入a.txt call c: ucdos ucdos.bat 调用ucdos echo 你好显示"你好" pause 暂停,等待按键继续 rem 准备运行wps 注释:准备运行wps cd ucdos 进入ucdos目录 wps 运行wps 批处理文件的参数 批处理文件还可以像C语言的函数一样使用参数(相当于DOS命令的命令行参数),这需要用到一个参数表示符“%”。 %[1-9]表示参数,参数是指在运行批处理文件时在文件名后加的以空格(或者Tab)分隔的字符串。变量可以从%0到%9,%0表示批处理命令本身,其它参数字符串用%1到%9顺序表示。例2:C:根目录下有一批处理文件名为f.bat,内容为: @echo off format %1 如果执行C: >f a: 那么在执行f.bat时,%1就表示a:,这样format %1就相当于format a:,于是上面的命令运行时实际执行的是format a: 例3:C:根目录下一批处理文件名为t.bat,内容为: @echo off type %1 type %2 那么运行C: >t a.txt b.txt %1 : 表示a.txt %2 : 表示b.txt 于是上面的命令将顺序地显示a.txt和b.txt文件的内容。 特殊命令 if goto choice for是批处理文件中比较高级的命令,如果这几个你用得很熟练,你就是批

for循环语句的翻译

课程设计任务书 学生姓名:辛波专业班级:计算机0707班 指导教师:彭德巍工作单位:计算机科学与技术学院 题目: FOR循环语句的翻译程序设计(递归下降法、输出四元式) 初始条件: 理论:学完编译课程,掌握一种计算机高级语言的使用。 实践:计算机实验室提供计算机及软件环境。如果自己有计算机可以在其上进行设计。 要求完成的主要任务:(包括课程设计工作量及其技术要求,以及说明书撰写等具体要求) (1)写出符合给定的语法分析方法的文法及属性文法。 (2)完成题目要求的中间代码四元式的描述。 (3)写出给定的语法分析方法的思想,完成语法分析和语义分析程序设计。 (4)编制好分析程序后,设计若干用例,上机测试并通过所设计的分析程序。 (5)设计报告格式按附件要求书写。课程设计报告书正文的内容应包括: 1 系统描述(问题域描述); 2 文法及属性文法的描述; 3 语法分析方法描述及语法分析表设计; 4 按给定的题目给出中间代码形式的描述及中间代码序列的结构设计; 5 编译系统的概要设计; 6 详细的算法描述(流程图或伪代码); 7 软件的测试方法和测试结果; 8 研制报告(研制过程,本设计的评价、特点、不足、收获与体会等); 9 参考文献(按公开发表的规范书写)。 时间安排: 设计安排一周:周1、周2:完成系统分析及设计。 周3、周4:完成程序调试及测试。 周5:撰写课程设计报告。 设计验收安排:设计周的星期五第1节课开始到实验室进行上机验收。 设计报告书收取时间:设计周的次周星期一上午10点。 指导教师签名: 2010年 01月 08日 系主任(或责任教师)签名: 2010年 01月 08日

循环语句习题选

循环语句习题选 1. 一个自然数与3的和是5的倍数,与3的差是6的倍数,这个自然数最小是几? [ 27 ] 2. 在400--500之间求一个数,它被2除余1,被5除余3,被9除余1,这个数是多少? [ 433 ] 3. 一些四位数,百位数字都是3,十位数字都是6,并且它们既能被2整除,又能被3整除,求这样的四位数中最大的和最小的两数各是几? [ 9366, 1362 ] 4. 编程求一个四位自然数ABCD,它乘以A后变成DCBA. [ 共10个] 5. 编程求出满足以下条件的三位数:它除以11所得的商等于它各位数字之和. [ 198 ] 6. 由计算机产生五个互不相同的19到87之间的随机整数(包括19,不包括87),从中找出所有的三个数之和能被3整除的数组,并按如下格式打印出来. 例如: 42 24 34 51 52 42 + 24 + 51 = 117 = 3 * 39 [ 87年北京市小学组初赛] 7. 某数被80除所得的商,不但是7的倍数,而且用2,3,4,5,6去除余数都是1,求这个自然数. [ 24080 ] 8. 有一种最简真分数,它们的分子与分母的乘积都是140,把所有这样的真分数从小到大打印出来. [ 1/140 ; 4/35 ; 5/28 ; 7/20 ] 9. 求把2/7化为小数后,小数点后面1001位数字总和是多少? [ 4505 ] 10. 一个五位数,若在它的后面写上一个7,得到一个六位数A,若在它前面写上一个7,得到一个六位数B,B是A的五倍,求此五位数. [ 14285 ] 11. 有一个六位数,其个位数字是7,现将个位数字移到首位,而其余各位数字不变,均后退一位,得到一个新的六位数,如果新的六位数是原六位数的四倍,求原来的六位数. [179487 ] 12.一个自然数的个位数字是6,如果把这个位数字移到首位,所得到的数是原数的4倍,求这个自然数. [ 153846 ] 13. 某数的末位数字是2,将2移到首位,所得到的新数正好是原数的2倍,求满足条件的最小数. [ 105263157894736842 ] 14. 有一个六位数,第一位是1,如果把它移到个位,新的六位数正好是原数的三倍,求原来的六位数. [ 142857 ] 15. 已知一个正整数的个位数字是7,将7移到该数字的首位,其他数字顺序不变, 则所得到的新数恰好是原数的7倍,编程找出满足上述要求的最小的自然数. [ 1014492753623188405797 ] 16. 一辆以固定速度行驶得汽车,司机从里程表上看到的数字是一个回文数

批处理基础知识

批处理文件基础知识 一、单符号message指定让MS-DOS在屏幕上显示的正文 ~ ①在for中表示使用增强的变量扩展。 ②在%var:~n,m%中表示使用扩展环境变量指定位置的字符串。 ③在set/a中表示一元运算符,将操作数按位取反。 ! ①在set /a中一元运算符,表示逻辑非。比如set /a a=!0,这时a就表示逻辑1。 @ ①隐藏命令行本身的回显,常用于批处理中。 % ①在set /a中的二元运算符,表示算术取余。 ②命令行环境下,在for命令in前,后面接一个字符(可以是字母、数字或者一些特定字符),表示指定一个循环或者遍历指标变量。 ③批处理中,后接一个数字表示引用本批处理当前执行时的指定的参数。 ④其它情况下,%将会被脱去(批处理)或保留(命令行) ^ ①取消特定字符的转义作用,比如& | > < ! "等,但不包括%。比如要在屏幕显示一些特殊的字符,比如> >> | ^ &等符号时,就可以在其前面加一个^符号来显示这个^后面的字符了,^^就是显示一个^,^|就是显示一个|字符了; ②在set/a中的二元运算符,表示按位异或。 ③在findstr/r的[]中表示不匹配指定的字符集。 & ①命令连接字符。比如我要在一行文本上同时执行两个命令,就可以用&命令连接这两个命令。 ②在set/a中是按位与。 : ①标签定位符,表示其后的字符串为以标签,可以作为goto命令的作用对象。比如在批处理文件里面定义了一个":begin"标签,用"goto begin"命令就可以转到":begin"标签后面来执行批处理命令了。 ②在%var:string1=string2%中分隔变量名和被替换字串关系。 | ①管道符,就是将上一个命令的输出,作为下一个命令的输入."dir /a/b |more"就可以逐屏的显示dir命令所输出的信息。 ②在set/a中的二元运算符,表示按位或。 ③在帮助文档中表示其前后两个开关、选项或参数是二选一的。 / ①表示其后的字符(串)是命令的功能开关(选项)。比如"dir /s/b/a-d"表示"dir"命令指定的不同的参数。 ②在set/a中表示除法。 > ①命令重定向符,将其前面的命令的输出结果重新定向到其后面的设备中去,后面的设备中的内容被覆盖。比如可以用"dir > lxmxn.txt"将"dir"命令的结果输出到"lxmxn.txt"这个文本文件中去。 ②在findstr/r中表示匹配单词的右边界,需要配合转义字符\使用。 < ①将其后面的文件的内容作为其前面命令的输入。 ②在findstr/r中表示匹配单词的左边界,需要配合转义字符\使用。 . ①在路径的\后紧跟或者单独出现时:

for循环的使用和用法

简单的来说,++i 和i++,在单独使用时,就是i=i+1。 而a = ++i,相当于i=i+1; a = i; 而a = i++,相当于 a = i; i=i+1; 如果实在搞不明白++ --怎么回事,那也不是什么天塌下来的事。 因为a=++i完全可以写成i++; a=i。 a=i++完全可以写成a=i; i++。 而且,这也是一种好的程序风格:++ -- 语句如非特殊需要,请单独一行使用。假设i=1 如果执行a=i++ 完之后, a=1, i=2 如果执行a=++i 结果是, a=2, i=2 要分清楚++i,和i++的区别. i++是先执行当前命令,再执行递增. ++i是先递增,再执行命令 缺点: 对于数组,不能方便的访问下标值; 对于集合,与使用Interator相比,不能方便的删除集合中的内容(在内部也是调用Interator). 除了简单遍历并读取其中的内容外,不建议使用增强的for循环。 一、遍历数组 语法为: for (Type value : array) { expression value; } //以前我们这样写: void someFunction () {

int[] array = {1,2,5,8,9}; int total = 0; for (int i = 0; i < array.length; i++) { total += array[i]; } System.out.println(total); } //现在我们只需这样写(和以上写法是等价的): void someFunction () { int[] array = {1,2,5,8,9}; int total = 0; for (int n : array) { total += n; } System.out.println(total); } 这种写法的缺点: 显而易见,for/in(for each)循环自动控制一次遍历数组中的每一个元素,然后将它赋值给一个临时变量(如上述代码中的int n),然后在循环体中可直接对此临时变量进行操作。这种循环的缺点是: 1. 只能顺次遍历所有元素,无法实现较为复杂的循环,如在某些条件下需要后退到之前遍历过的某个元素;

简单的C语言选择与循环结构10个编程练习题.

简单的C语言选择与循环结构10个编程练习题 1、以下程序的输出结果是___________________: # include void main(){ int k; for (k=2;k<6;k++,k++) printf(“##%d”,k); } 2、以下程序的输出结果是___________________: # include void main(){ int y=9; for( ; y>4 ; y- -) if (y % 3 == 0) printf(“%d”,- -y); } 3、以下程序的输出结果是___________________: #include main( ) { char c1, c2; for(c1=’0’,c2=’9’;c1

1,(x>0) 6.用if语句编程,从键盘输入一个x,计算y值 y= 0,(x=0)。 -1,(x<0) 7、求sum=52+72+92+……+152 8、求sum=1/5+1/6+1/7+1/8+…+1/15 9、编写程序(提示字符变量ch从’C’到字符’N’),输出CDEFGHIJKLMN 10、打印九九表(提示:用双重循环,关键代码:printf("%d*%d=%-d",i,j,i*j);/*-3d表示左对齐,占3位*/): 1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=9 …… 9*1=9 9*2=18 ………………9*9=81

for循环实例

for循环实例 读取的是数组expr的行数,然后程序执行循环体(loopbody),所以expr有多少列,循环体就循环多少次。expr经常用捷径表达式的方式,即first:incr:last。 在for和end之间的语句我们称之为循环体。在for循环运转的过程中,它将被重复的执行。For循环结构函数如下: 1.在for循环开始之时,matlab产生了控制表达式。 2.第一次进入循环,程序把表达式的第一列赋值于循环变量index,然后执行循环体内的语句。 3.在循环体的语句被执行后,程序把表达式的下一列赋值于循环变量index,程序将再一次执行循环体语句。 4.只要在控制表达式中还有剩余的列,步骤3将会一遍一遍地重复执行。 10次。循环系数ii在第一次执行的时侯是1,第二次执行的时侯为2,依次类推,当最后一次执行时,循环指数为10。在第十次执行循环体之后,再也没有新的列赋值给控制表达式,程序将会执行end语句后面的第一句。注意在循环体最后一次执行后,循环系数将会一直为10。 环指数ii在第一次执行时为1,第二次执行时为3,依此类推,最后一次执行时为9。在第五次执行循环体之后,再也没有新的列赋值给控制表达式,程序将会执行end语句后面的第一句。注意循环体在最后一次执行后,循环系数将会一直为9。 循环指数ii在第一次执行时为1,第二次执行时为3,第三次执行时为7。循环指数在循环结束之后一直为7。

循环指数ii 在第一次执行时为行向量??????41,第二次执行时为??????54,第三次执行时为?? ????76。这个例子说明循环指数可以为向量。 例1 阶乘(factorial )函数 这种循环将会执行5次,ii 值按先后顺序依次为1,2,3,4,5。n_factorial 最终的计算结果为1ⅹ2ⅹ3ⅹ4ⅹ5=120。 例2 统计分析 执行如下算法: 输入一系列的测量数,计算它们的平均数和标准差。这些数可以是正数,负数或0。 答案: 这个程序必须能够读取大量数据,并能够计算出这些测量值的平均数和标准差。这些测量值可以是正数,负数或0。 因为我们再也不能用一个数来表示数据中止的标识了,我们要求用户给出输入值的个数,然后用for 循环读取所有数值。 下面的就是这个修定版本的程序。它允许各种输入值,请你自己验证下面5个输入值的

DOS批处理命令大全

写批处理 扩展名是bat(在nt/2000/xp/2003下也可以是cmd)的文件就是批处理文件。 ==== willsort 编注======================================= .bat是dos下的批处理文件 .cmd是nt内核命令行环境的另一种批处理文件 从更广义的角度来看,unix的shell脚本以及其它操作系统甚至应用程序中由外壳进行解释执行的文本,都具有与批处理文件十分相似的作用,而且同样是由专用解释器以行为单位解释执行,这种文本形式更通用的称谓是脚本语言。所以从某个程度分析,batch, unix shell, awk, basic, perl 等脚本语言都是一样的,只不过应用的范围和解释的平台各有不同而已。甚至有些应用程序仍然沿用批处理这一称呼,而其内容和扩展名与dos的批处理却又完全不同。 =================================== 首先批处理文件是一个文本文件,这个文件的每一行都是一条DOS命令(大部分时候就好象我们在DOS 提示符下执行的命令行一样),你可以使用DOS下的Edit或者Windows的记事本(notepad)等任何文本文件编辑工具创建和修改批处理文件。 ==== willsort 题注=================== 批处理文件中完全可以使用非dos命令,甚至可以使用不具有可执行特性的普通数据性文件,这缘于wind ows系统这个新型解释平台的涉入,使得批处理的应用越来越"边缘化"。所以我们讨论的批处理应该限定在dos环境或者命令行环境中,否则很多观念和设定都需要做比较大的变动。 ======================== 其次,批处理文件是一种简单的程序,可以通过条件语句(if)和流程控制语句(goto)来控制命令运行的流程,在批处理中也可以使用循环语句(for)来循环执行一条命令。当然,批处理文件的编程能力与C语言等编程语句比起来是十分有限的,也是十分不规范的。批处理的程序语句就是一条条的DOS命令(包括内部命令和外部命令),而批处理的能力主要取决于你所使用的命令。 ==== willsort 编注================== 批处理文件(batch file)也可以称之为批处理程序(batch program),这一点与编译型语言有所不同,就c语言来说,扩展名为c或者cpp的文件可以称之为c语言文件或者c语言源代码,但只有编译连接后的exe 文件才可以称之为c语言程序。因为批处理文件本身既具有文本的可读性,又具有程序的可执行性,这些称谓的界限是比较模糊的。 =========================== 第三,每个编写好的批处理文件都相当于一个DOS的外部命令,你可以把它所在的目录放到你的DOS搜索路径(path)中来使得它可以在任意位置运行。一个良好的习惯是在硬盘上建立一个bat或者batch目录(例如C:\BATCH),然后将所有你编写的批处理文件放到该目录中,这样只要在path中设置上c:\batch,你就可以在任意位置运行所有你编写的批处理程序。 ==== willsort 编注===== 纯以dos系统而言,可执行程序大约可以细分为五类,依照执行优先级由高到低排列分别是:DOSKEY宏命令(预先驻留内存),https://www.360docs.net/doc/4714870852.html,中的内部命令(根据内存的环境随时进驻内存),以com为扩

c语言循环控制语句

循环控制结构(又称重复结构)是程序中的另一个基本结构.在实际问题中,常常需要 进行大量的重复处理,循环结构可以使我们只写很少的语句,而让计算机反复执行,从而完成大量类同的计算. C语言提供了while语句、do...while语句和for语句实现循环结构. 3.4.1while语句 while语句是当型循环控制语句,一般形式为: while<表达式>语句; 语句部分称为循环体,当需要执行多条语句时,应使用复合语句. while语句的流程图见图3-8,其特点是先判断,后执行,若条件不成立,有可能一次也不执行. [例3-11]求n! 分析:n!=n*(n-1)*(n-2)*..2*1,0!=1.即S0=1,Sn=Sn-1*n.可以从S0开始,依次求出S1、S2、...Sn. 统一令S等于阶乘值,S的初值为0!=1;变量i为计数器,i从1变到n,每一步令S=S*i,则最终S中的值就是n!. 流程图见图3-9,程序如下:

考察图3-9中循环部分的流程图可以看出,在循环前各变量应有合适的值(s=1),另外,控制循环结束的变量(此处为i)必须在循环体中被改变,否则,循环将无限进行下去,成为死循环.

本题中,将多项式的每一项用t表示,s代表符号,在每一次循环中,只要改变s、n的值,

就可求出每一项t. 一般情况下,while型循环最适合于这种情况:知道控制循环的条件为某个逻辑表达式的值,而且该表达式的值会在循环中被改变,如同例3-12的情况一样. 3.4.2do...while语句 在C语句中,直到型循环的语句是do...while,它的一般形式为: do语句while<表达式> 其中语句通常为复合语句,称为循环体. do...while语句的流程图见图3-10,其基本特点是:先执行后判断,因此,循环体至少被执行一次. 但需要注意的是,do...while与标准的直到型循环有一个极为重要的区别,直到型循环是当条件为真时结束循环,而do...while语句恰恰相反,当条件为真时循环,一旦条件为假,立即结束循环,请注意do...while语句的这一特点. 例[3-13]计算sin(x)=x-x3/3!+x5/5!-x7/7!+... 直到最后一项的绝对值小于1e-7时为止. 分析:这道题使用递推方法来做. 让多项式的每一项与一个变量n对应,n的值依次为1,3,5,7,...,从多项式的前一项算后一项,只需将前一项乘一个因子: (-x2)/((n-1)*n) 用s表示多项式的值,用t表示每一项的值,程序如下: #include # include m a i n ( ) { double s,t,x ; int n ; printf("please input x :"); scanf("%lf",&x); t=x; n=1; s=x; do { n=n+2; t=t*(-x*x)/((float)(n)-1)/(float)(n); s=s+t;

C语言习题:顺序、选择、循环

顺序结构程序设计 2.3.1 要点导读 () 与scanf()语句。 printf() 与scanf()语句是最通用的输入输出函数,它们可以在程序设计者的控制下以各种格式分别实现数据的输出和输入操作。它们位于库文件中。 2.字符数据的输入输出。 最简单的字符输入输出函数是getchar()和putchar()。两者分别从键盘读一个字符或向显示屏写一个字符。 2.3.2 经典例题分析 1.下列程序运行后输出的结果是。 #include <> void main() 、 { int a=0,b=0; a=10; b=20; printf(“a+b=%d”,a+b); } 分析:printf( )是输出函数,它的括号内由两部分组成: 1)控制字符串,是用双引号括起来的字符串,它包括两种信息: (1) 格式说明。由”%”和格式字符组成,如:%d、%f、%c等。它的作用是将输出 的数据转换成指定的格式输出。 (2) 普通字符。需要原样输出的字符。 - 2)”输出表列”是需要输出的一些数据,可以是表达式。 题目中a的值是10,b的值是20,在 printf(“a+b=%d”,a+b); 格式说明输出表列 中,”a+b= “是普通字符,需原样输出。输出表列是一个表达式,它的结果以整型输出。 答案:a+b=30。 2.下列程序运行后输出的结果是。

#include <> void main() { int a=732; ) printf(“%d\n”,a); printf(“%2d\n”,a); printf(“%10d\n”,a); printf(“%-10d\n”,a); } 分析:d格式符,用来输出十进制整数。其中%d,按整型数据的实际长度输出。%md,m为指定的输出字段的宽度。如果数据的位数小于m,则左端补以空格,若大于m,则按实际位数输出。 printf(“%d\n”,a);把a的值按原样输出:732。printf(“%2d\n”,a);结果占2列,但732占3列大于2列,所以按实际位数输出:732。printf(%10d\n”,a);结果占10列,但732占3列小于10列,所以左端补7个空格。printf(“%-10d\n”,a); 结果占10列,“-”表示把数值放到左端,732占3列小于10列,所以右端补7个空格。 答案:732 732 □□□□□□□732 /*□表示空格*/ , 732□□□□□□□ 3.已知char a=‘\103’;则语句printf(“%3d”,a);执行后的输出结果为(□表示空格)。 A)□67B)’c’C)67□D)103 分析:’\103’是一个转义字符,表示一个八进制数所代表的字符,转换为十进制为67。printf(“%3d”,a);把’\103’转换为十进制数输出,结果占3列。但67占2列,小于要求的3列,所以左补空格,即□67。 答案:C。 4.下列程序运行后结果是。 #include <> #define a void main() { printf(“%f\n”,a); @ printf(“%e\n”,a); printf(“%4.2f\n”,a); printf(“%3.1f\n”,a); printf(“%10.3f\n”,a); printf(“%-10.3f\n”,a); } 分析:f格式符,用来输出实数,以小数形式输出,小数点后输出6位。所以printf(“%f\n”,a);输出结果为。 %是指,要输出的数占m列,同时小数点保留n位(四舍五入),如果输出的数大于m,

《For循环语句》

《F o r循环语句》教学设计 池州市第八中学杜亦麟 课题 2.4.1 For循环语句 教学内容 粤教版信息技术(选修1)《算法与程序设计》第二章《程序设计基础》第四节《程序的循环结构》第一小节《For循环语句》 教学目标 知识与能力: 1.理解循环结构的基本思想及For语句的执行过程。 2.培养和提高学生逻辑思维能力,使其可以独立完成简单循环结构算法的设计。 3.能够利用For循环语句实现循环结构,解决实际问题。 过程与方法: 1.通过简单的数学问题的分析、讲解,让学生掌握For循环语句语法知识,及其执行原理。 2.以任务驱动,学生分组合作探究的方式,进一步让学生理解For循环语句的基本思想,同时培养学生自主探究和合作学习的能力。 3.通过自评和互评活动,培养学生语言表达能力和归纳总结能力。 情感态度与价值观: 1.提高学生学习兴趣,培养学习的主动性和探究性。 2.培养学生团结协作精神,体验成功的快乐。 教学重点 1.掌握For循环语句的格式和功能; 2.理解For循环语句的执行过程。 教学难点 控制循环的条件、确定循环体的内容 教材分析 第二章是程序设计基础,也是全书的基础。它沿着分析问题、设计算法、编写程序等运用计算机解决问题之路,开始学习如何使用VB程序设计编写程序解决问题。本节课的主要内容For语句的基本格式、执行过程及语句的实际应用。又是本章的重点和难点内容。而循环结构是程序设计的三种基本结构之一,其作用是使一段程序反复执行。For循环语句在程序设计中频繁出现,也是三种结构中较难的一种,因此,学好本节课非常重要,本节课的学习会使学生对算法有一个更深刻的理解,为以后的程序设计打下一个良好的基础,也可以培养学生的创新能力、分析问题和解决问题的能力以及探究精神。

选择语句+多重循环语句

选择语句+重循环语句作业 一、填空题 1.Java中有两种类型的选择结构的控制语句,分别是if语句和switch语句。 答:此题考点---选择结构语句 If判断语句和switch选择语句 2.在Java JDK1.7之前,switch只能支持byte、short、char、int或者其对应的封装类 以及Enum类型。在JDK1.7中又加入了String 类型。 答:此题考点----JDK1.7新增功能 Switch语句当中的数据类型,新增了String类型 3.for循环的语法格式是for (表达式1;表达式2;表达式3) {循环体},其中在整个循环 过程中只执行一次的部分是初始化表达式。 答:此题考点----for循环结构执行顺序 for(初始化表达式;循环条件表达式;步进){ 循环体; } 执行顺序:①初始化表达式②循环条件表达式③循环体④步进 执行一次只能是初始化表达式 4.在循环结构中,如果想跳出循环体,结束整个循环结构可以使用break语句。 答:此题考点------break关键字 break关键字------突破,返回 如果是多重循环,则它只能跳出当前循环语句。 5.____continue____语句用在循环语句体中,用于终止某次循环过程,即跳过循环体 中尚未执行的语句,接着进行下一次是否执行循环的判定。即只结束本次循环,而 不是终止整个循环的执行。 答:此题考点-----continue关键字 在循环语句当中,使用continue,结束本次循环,执行下一次循环。 6.使用Math.random( )返回带正号的double值,该值大于等于0.0且小于1.0。使用 该函数生成[30,60]之间的随机整数的语句是(int)( Math.random()*31+30) 。 答:此题考点----随机产生整数数[a,b] 格式如下: (int)(Math.random()*((b-a)+1)+a) []30,60]----(int)(Math.random()*31+30) 二、选择题 1. 以下代码的执行结果是( B )。(选择一项) boolean m = false; if(m = false){ System.out.println("false"); }else{ System.out.println("true"); } A. false B. true C. 编译错误

相关文档
最新文档