文档库 最新最全的文档下载
当前位置:文档库 › java do…while循环语句

java do…while循环语句

java  do…while循环语句
java  do…while循环语句

java do…while循环语句

While循环有时也称“当型循环”,它在循环执行前就会进行条件判断。而do…while循环称为“直到型循环”,它会先执行循环体,然后再进行条件判断。这也是

当程序流程到达do时,立刻执行一次循环体语句,然后再判断while后面的循环条件,当循环条件的值为真时,返回循环体语句再次执行,如此反复,直到循环条件为假时退出循环。

do…while循环结构的流程示意图如图4-12所示。

T代表true

F代表false

图4-12 do…while流程示意图

while循环

while 循环 语法形式: while(条件) { 需要循环执行的语句; } while 是“当”的意思。 请首先和if语句作一个比较: if(条件) { 条件成立时执行的语句; } 二者除了关键字不一样以外,结构完全一样。但一定要注意,在条件成立时,if语句仅仅执行一遍,而while语句则将反复执行,直到条件不再成立。 请看while循环的流程图: 程序从“前面的语句”开始执行,然后进行条件判断,如果条件成立,则执行一次“每次循环执行 的语句”,再后请特别注意红色部分,这是我们碰上的,第一次会往后走流程:红线就像汽车拐弯, 掉头到条件处(并不包括前面的语句),然后再进行下一次的条件判断……直到某一次判断时条件不 成立了,程序“继续后面的语句”。

我们用while的语法套用生活中的实际例子,可以直观地看出while的用法。 假设有一个爱哭的小娃娃,有一天她要求父母给买一条小红裙,可惜父母不同意,于是她就开始一个循环: while ( 父母不给买小红裙) { 我哭; } 这段“代码”的意思是:当“父母不给买小红裙”,那么,小女孩就一遍一遍地哭。 这就是我们和循环流程的第一个遭遇战。所举的例子看似直观:“小孩一遍遍地哭,直到父母给买裙”,但真正要用程序的语言来正确地表达出来,需要很多方面要考虑到,必竟,程序是严谨的。 首先,一个合适的判断是否继续的条件相当重要。小女孩要继续哭,仅仅“父母不给买小红裙”,这显示不符合事实,想想我们小时候,再会哭,最终也有累的时候,所以,要想继续哭,我们的条件有两个:“父母不给买小红裙”并且“我还没有哭累”。 while ( 父母不给买小红裙&& 我还没有哭累) { 我哭; } 其次,大多数情况下,条件需要被恰当地改变。小女孩在不停地哭,那么她如何知道父母是否买了红裙呢?所以,她不能只顾哭,还得在哭的间隙观察大人是否同意买裙。至于是否哭累,我们假设小女孩有一个疲劳度,每哭一次疲劳度加1,当疲劳度到达200时,可怜的小女孩累了…… while(父母不给买小红裙&& 疲劳度< 200) { 我哭; 我偷看爸妈是否同意买裙; 疲劳度++; } 例一:用while 语句实现求从1到100的累加和。 求1+2的和,我们可以写a = 1 + 2;求1加到100,我们当然可以这样写a = 1 + 2 + 3 + ... 100.不过这样写显然太累人了,要从1写到100啊!所以聪明如高斯的你,当然也知道这样写:a = (1+100) * 50;这确实是个在任何时候都值得称赞的,又快又简的方法,只是今天我们想让计算机累一点,老老实实地从1加到100。首先用我们先学的while式的循环。 请同学们打开CB,然后新建一空白的控制台程序,在main()函数体加入下面黑体部分代码。然后按F9运行。查看运行结果以加深印象。 //--------------------------------------------------------------------------- #include #pragma hdrstop //--------------------------------------------------------------------------- #pragma argsused int main(int argc, char* argv[])

while循环结构例题

引子 #include "stdio.h" main() { int i=1; for(i=1;i<=10000;i++) printf(“%d\t”,i); } 题型1 输入输出多个数据 eg1、输出1~10000之间所有的整数#include "stdio.h" main() { int i=1; while(i<=1000) {printf(“%d\t”,i); i++;} } 拓展:1、换成所有的奇数 2、换成所有的偶数 题型2 有限个数连加和连乘

eg2.1、求1+2+3+4+………+100的值 #include "stdio.h" main() { int i=1,s=0; while(i<=100) {s=s+i; i++;} printf(“%d\n”,s); } 拓展:1、求1+2+3+4+………+n的值 2、求12+22+32+………+n2的值 3、求1+1/2+1/3+………+1/n的值eg2.2、求n!的值 #include "stdio.h" main() { int i=1,n,p=1; scanf(“%d”,&n); while(i<=n) {p=p*i; i++;} printf(“%d\n”,p); }

拓展:求1!+2!+3!+………+n!的值 #include "stdio.h" main() { int i=1,n,p=1,s; scanf(“%d”,&n); while(i<=n) {p=p*i; s=s+p; i++;} printf(“%d\n”,s); } 题型3 无限个数连加 eg3、求1-1/3+1/5-1/7+………的近似值,要求精度要达到10-4 #include "stdio.h" #include "math.h" main() { float n=1,s=0,f=1,t=1; while(fabs(t)>=1e-4) {t=f/(2*n-1); s=s+t;

while循环练习

一、选择题 1.设有程序段 int k=10; while(k=0)k=k-1; 这下面描述中正确的是_________. a)while循环执行10次 b)循环是无限循环 c)循环体语句以此也不执行 d)循环体语句执行一次 a)E==0 b)E!=1 c)E!=0 d)E==1 2.语句while(!E);中的表达式!E等价于________. 3.下面程序段的运行结果是__________. int n=0; while(n++<=2);printf("%d",n); a)2 b)3 c)4 d)有语法错 4.下面程序的运行结果是____. #include main() { int num=0; while(num<=2) { num++; printf("%d\n",num); } } a)1 b)1 c)1 d)1 2 2 2 3 3 4 二、编程计算 1、求1~100中所有偶数的和。 2、下面程序的功能是输出1至100之间每位数的乘积大于每位数的和的数。 3、计算并输出1-3+5-7+……-99+101的值。

三、写一个小型计算器。 界面如下: 要求: 1.有简单运算选择界面 2.采用循环实现菜单显示 3.采用switch结构实现菜单的选择 4.运算对象为两个操作数,从键盘输入 5.运算结果输出 1、计算下列式子的值: (1)1+3+……+99 (2)1+2+4+8+……+128+256 2、输入一个整数,计算它各位上数字的和。(注意:是任意位的整数) 3、输入一整数A,判断它是否质数。(提示:若从2到A的平方根的范围内,没有一个数能整除A,则A是质数。) 4、求两个数的最小公倍数和最大公约数。(提示:公约数一定小于等于两数中的小数,且能整除两数中的大数。公倍数一定大于等于两数中的大数,且是大数的倍数,又能给两数中的小数整除。) 5、编写一个译码程序,把一个英语句子译成数字代码。译码规则是以数字1代替字母A,数字2代替字母B,……,26代替字母Z,如遇空格则打印一个星号…*?,英文句子以….…结束。 6、求水仙花数。所谓水仙花数,是指一个三位数abc,如果满足a^3+b^3+c^3=abc,则abc 是水仙花数。 7、“百钱买百鸡”是我国古代的著名数学题。题目这样描述:3文钱可以买1只公鸡,2文钱可以买一只母鸡,1文钱可以买3只小鸡。用100文钱买100只鸡,那么各有公鸡、母鸡、小鸡多少只?与之相似,有"鸡兔同笼"问题。

while语句的一般形式为

while语句的一般形式为: while(表达式)语句,其中表达式是循环条件,语句为循环体。 while语句的语义是:计算表达式的值,当值为真(非0)时。执行循环体语句。当值为假(等于0)时,跳出循环体。 while语句格式为: while(表达式) 语句;/*循环体*/ 这里的表达式是循环能否继续下去的条件,而语句是循环体。只要表达式为真,则执行循环体内语句。否则终止循环,执行循环体外语句 while常用于循环次数未知, for常用于已知循环次数 for循环语句 1.1 for表达式 表达式1:一般为赋值表达式,给控制变量赋初值; 表达式2:关系表达式或逻辑表达式,循环控制条件; 表达式3:一般为赋值表达式,给控制变量增量或减量。 语句:循环体,当有多条语句时,必须使用复合语句。 1.2 for语句格式为: for(表达式1;表达式2;表达式3) 循环语句:/*循环体*/ 1.3 for语句执行过程如下: ①先对表达式1赋初值; ②判别表达式2是否满足给定条件,若其值为真,满足循环条件,则执行循环体内语句,然后执行表达式3,进入第二次循环,再判别表达式2……;否则判断表达式2的值为假,不满足条件,就终止for循环,执行循环体外语句。 在c语言中开关语句switch中case是什么意思 switch(表达式) { case 常量表达式1: 语句1;

break; case 常量表达式2: 语句2; break; …… case 常量表达式n: 语句n; break; default: 语句n+1; break; } (资料素材和资料部分来自网络,供参考。可复制、编制,期待你的好评与关注)

WHILE循环语句的翻译程序设计课设报告

1.题目:将WHILE语句转换成四元式的程序实现 设计内容及要求:设计一个语法制导翻译器,将WHILE语句翻译成四元式。要求:先确定一个定义WHILE语句的文法,为其设计一个语法分析程序,为每条产生式配备一个语义子程序,按照一遍扫描的语法制导翻译方法,实现翻译程序。对用户输入的任意一个正确的WHILE语句,程序将其转换成四元式输出(可按一定格式输出到指定文件中)。 1、系统描述 通过设计、编制、调试一个WHILE循环语句的语法及语义分析程序,加深对语法 及语义分析原理的理解,并实现词法分析程序对单词序列的词法检查和分析。用语法 制导完成语义分析,并将形成的中间代码以四元式的形式输出。 2 、文法及属性文法的描述 2.1 文法的描述 该文法的产生式如下所示: (1)S->while(B){E} (2)E->AE (3)E->A (4)A->iPA (5)A->i (6)B->iTi (7)B->i 其中while、( 、) 、{ 、} 、P、T 、;和i均为终结符,而S、A、B、E这些大写字母均为非终结符。T表示比较运算符,P表示算术运算符,i表示合法标识符。 2.2 属性文法的描述 对该文法的属性文法描述如下: (1) S->while(B){E}prinf(if B goto E else goto next) (2) E->AE print(E.val = A.val·E.val) (3) E->A print(E.val = A.val) (4) A->i P A print(A= i.Val P A.Val) (5) A->i; A.Val = i;

(7) B->i B.Val = i 3 、语法分析方法描述及语法分析表设计3.1 语法分析表设计 3.1.1 文法的DFA

While 循环 例子

using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace while循环 { class Program { static void Main(string[] args) { int i =0; while(i<10) { i++; Console.WriteLine(i); } // i) 计算1到100之间整数的和 int i=0; int sum =0; while(i<=100) { sum = sum + i; i++; } Console.WriteLine("0-100所有整数和为{0}",sum); // ii) 要求用户输入用户名和密码,只要不是admin 888888 就一直提示重新输入。 string username ="admin"; string pwd ="888888"; string input_username; string input_pwd; do { Console.WriteLine("请输入用户名:"); input_username = Console.ReadLine(); Console.WriteLine("请输入密码:"); input_pwd = Console.ReadLine(); if(username != input_username || pwd != input_pwd) { Console.WriteLine("错误!请重新输入!"); }

else { Console.WriteLine("恭喜!输入正确!"); } }while(username != input_username || pwd != input_pwd); // iii) 不断要求用户输入一个数字,然后打印这个数字的2倍,当用户输入q 的时候,程序退出。 while(true) { Console.WriteLine("请输入一个数字:"); string s1 = Console.ReadLine(); if(s1=="q") { return; } else { int i1 = Convert.ToInt32(s1); Console.WriteLine("这个数的2倍是:{0}", i1 *2); } } // iv) 不断要求用户输入一个数字,当用户输入end时显示刚才输入数字的最大值。 int max =0; while(true) { Console.WriteLine("请输入一个数字:(结束请输入end)"); string s1 = Console.ReadLine(); if(s1 =="end") { Console.WriteLine("你输入的数字中,最大的数是:{0}",max); Console.ReadLine(); return; } int num = Convert.ToInt32(s1); if(num>max) {

while语句的用法

while语句用法 while(表达式) {}/*循环体*/ 要学会WHILE很简单首先记住不要拼写错误 表达式的值是1就继续进行{}这个循环体,否则就退出循环 WHILE(1)不能说是无限循环,因为还不知道函数体的组成 退出循环,有种中方法 1.表达试的值是假的(值为0) 2.循环体里执行了BREAK语句 3.在循环题内返回了某值 至于while(k)是什么意思,这一类的问题,就要读者自己思考了 因为要放到程序里才能明白它的实际意思 LZ的程序里while(k)的意思是,如果K小于1那么就退出循环 使用while语句 使用while语句,可以在一个布尔表达式为true的前提下重复运行一个语句。 while语句的语法如下: while(booleanExpression) statement 首先会对布尔表达式进行求值,如果为true,就运行语句,然后再次求值布尔表达式。如果表达式仍为true,就再次运行语句,并再次求值表达式。这个过程会反复进行下去,直到布尔表达式求值为false;届时,while语句将退出,并从while之后的第一个语句继续。while语句在语法上与if语句有许多相似的地方(事实上,两者除了关键字不同,语法是完全一样的): l表达式必须是一个布尔表达式。 l布尔表达式必须放在圆括号内。 l假如首次求值时,布尔表达式为false,语句不会运行。 l假如想要在一个while的控制下执行两个或者更多的语句,必须使用大括号将语句分组到一个块中。 以下while语句向控制台写入0~9的值: int i=0; while(i!=10) { Console.WriteLine(i); i++; } 所有while语句都应该在某个时候终止。新手常犯的错误是忘记添加一个特别的语句,它最终能造成布尔表达式求值为false并终止循环。在上例中,i++;就属于这种情况。

while循环教学设计

第7课《while循环》教学设计 【教学目标】 1.知识与技能:巩固Python语言中的if-else语句和取余运算符%;了解并学会while循环结构及其用法,学会使用计数变量控制循环次数。会用while循环重复打印相同的语句,会用while循环找到100以内的奇数和偶数。 2.过程与方法:鼓励学生通过自主探究、小组合作等方法解决问题,在学习中不断经历分析思考、实践求证、反馈调适的计算思维过程,进一步熟悉Python语言的编程环境。 3.情感态度价值观:培养学生学习计算机科学的兴趣,体验信息技术与生活的密切联系,养成严谨的科学态度。 【教学重难点】 重点:while循环结构的组成和用法,进一步熟悉Python语言的编程环境。难点:理解在while循环结构中用计数变量控制循环次数。 【教学过程】 一、复习旧知,引入新课 师:上一节课,我们学习了在Python中用if-else语句解决问题(点击课件出示),妈妈说如果我能数学考100并且英语考100,就给我买自行车。否则没门!你能试着补全程序吗?指名学生回答,师根据回答课件出示答案。 课件出示if-else语句的基本格式,让学生说一说使用if-else语句时,

格式上要注意哪些问题? 师:指名学生回答,师根据回答出示课件。 9%3==?9%5==?a%b==0表示a能被b整除。a%b==x 表示a除以b余数是x。说说运算结果?%是什么运算符? 二、主动探究,学习新知 (-)用while循环重复打印5次“love mom” 师:同学们,这个星期天就是母亲节了,如果想用python跟妈妈说一百遍“妈妈,我爱您!”课件出示。追问:要输入100条print语句麻不麻烦?有没有一种简便的方法一次搞定?当然有! 课件出示: x = 1 while x<=100: print (“妈妈,我爱您!”) x =x+ 1 我们运行一下来看看。在教师机上运行一下。追问:用while语句是不是很快很方便?这就是让我们的python循环起来的while语句(板贴课题)。While读两遍,拼两遍。While在英语中有当……的时候的意思,在python 中是一种循环语句,只要条件成立,就可以重复执行很多次。相当于scratch 中的重复执行。 我们再来看个例子: 万米跑,围着足球场跑道(400米一圈)不停地跑,每跑一圈打印一次“running!”一共要跑25圈。

C语言while循环教案——钟智君2013180502

第五章循环结构程序设计 用while语句实现循环 【课程】:C语言程序设计 【课题】:循环结构程序设计 【授课对象】:职高高二计算机专业学生 【授课时数】:45分钟 【教学目标】: 认知目标 了解while循环的概念。 熟练掌握while循环的基本用法。 技能目标 能够正确分析问题,并得出解决方案 能够正确使用while循环 能够运用while循环解决一些必要的问题 情感和价值观目标 培养学生分析错误、独立思考、解决问题的能力 让学生学会合理规划生活,做事不断坚持的毅力 【教学重点】:while循环的基本思想 【教学难点】:循环到底怎么使用 【教学方法】:以实践法为主,其他方法为辅,尽量少讲理论性知识,将原理更简单的交给学生。 【教学步骤】:

1、复习引导 2、讲授新课 3、示例训练 4、课堂总结 5、作业布置 【教具】:黑板、粉笔、多媒体 【使用教材】:《C程序设计》第四版谭浩强著 清华大学出版社

【教学过程】: 1、复习引导 全班有30个学生,统计各学生三门课的平均成绩。 输入学生1的三门课成绩,并计算平均值后输出 要: scanf(“%f,%f,%f”,&s1,&s2,&s3); aver=(s1+s2+s3)/3; printf(“aver=%7.2f”,aver); 从键盘输入一个小于100的正整数,要求输出它的平方根.(若平方根不是整数,则输出其整数部分) 要求: 在输入数据后先对其进行检查是否为小于100的正整数。若不是,则要求重新输入。 #include #include #define M 1000 int main(){ int i,k; printf("请输入一个小于%d的整数i:",M); scanf("%d",&i); if (i>M){ printf("输入数不合要求,请重新输入一个小于%d的整数i:",M); scanf("%d",&i); } k=sqrt(i);

相关文档