13-用WHILE语句实现循环
- 格式:ppt
- 大小:63.50 KB
- 文档页数:4
dowhile循环语句篇一:Java编程-do-while语句语法5.4.2 do-while语句do-while语句由关键字do和while组成,是循环语句中最典型的“先循环再判断”的流程控制结构,这个和其它2个循环语句都不相同。
do-while语句的语法格式为:do{循环体;}while(循环条件);语法说明:在do-while语句中,循环体部分是重复执行的代码部分,循环条件指循环成立的条件,要求循环条件是boolean类型,值为true时循环执行,否则循环结束,最后整个语句以分号结束。
执行流程:当执行到do-while语句时,首先执行循环体,然后再判断循环条件,如果循环条件不成立,则循环结束,如果循环条件成立,则继续执行循环体,循环体执行完成以后再判断循环条件,依次类推。
实现和while语句实现的类似的示例,则死循环的示例代码为:do{System.out.println(‘a’);}while(true);实现输出0-9这10个数字的循环为:int i = 0;do{System.out.println(i); //输出变量的值i++; //变量增加1}while(i < 10);实现求1-10这10个数字的和的代码为:int i = 1;int sum = 0;do{sum += i; //求和i++; //变量增加1}while(i < 10);System.out.println(sum); //输出和同理,实现求5的阶乘的代码类似,在数学上5的阶乘指1×2×3×4×5,数学上规定0的阶乘等于1,在实际计算时,阶乘的值增加的非常快,所以需要注意结果不能溢出。
其具体代码为:int i = 1;int result = 1;do{result *= i;i++;}while(i <= 5);System.out.println(result);在实际的程序中,do-while的优势在于实现那些先循环再判断的逻辑,这个可以在一定程度上减少代码的重复,但是总体来说,do-while语句使用的频率没有其他的循环语句高。
原创精品资源学科网独家享有版权,侵权必究!
1
当型(WHILE)语句的一般格式
WHILE 条件
循环体WEND
当计算机遇到WHILE 语句时,先判断条件的真假,如果条件符合,就执行WHILE 和WEND 之间的循环体;然后再检查上述条件,如果条件仍符合,再次执行循环体,这个过程反复进行,直到某一次条件不符合为止.这时,计算机将不执行循环体,直接跳到WEND 语句后,接着执行WEND 之后的语句.因此,WHILE 语句也称为当型循环语句.
【例】根据下列的算法语句,可知输出的结果s 为________.
s =1
i =1
WHILE i <8
s =s +2 i =i +3
WEND
PRINT s
END
【解析】 由已知中的算法语句,模拟程序的运行过程可得:
i =1时,i <8,s 增大为3,i 增大为4;
当i =4时,i <8,s 增大为5,i 增大为7;
当i =7时,i <8,s 增大为7,i 增大为10;
当i =10时,i <8不成立,不满足继续循环的条件,故输出结果为7.
【答案】 7
【解题技巧】循环次数的控制往往是判断条件,在循环体内要有控制条件的改变,否则会陷入死循环.
要点阐述
典型例题。
编程选择题题库1). c++语言中用于定义类的关键字是( )a.classb.structc.defaultd.sizeof正确答案:a2). 必须想要并使23.的输入为23.应用领域的语句就是( )a.cout<<23.;b.cout<c.cout<<23. -0.;d.cout<正确答案:c3). 以下选项中恰当的语句就是( )。
正确答案:d答案解析:在选项d中,字符指针s指向字符串常量book!。
故选项d恰当。
4). 在32位的计算机中,一个char型数据所占的内存长度的字节是( )a.4b.1c.2d.8恰当答案:b5). 静态成员函数没有( )。
a.返回值b.this指针c.指针参数d.返回类型恰当答案:b答案解析:this指针是系统隐含的用于指向当前对象的指针。
由于静态函数是同类中所有对象都共享的函数,在内存中只存在一份,不属于某个对象所有,所以静态函数没有this指针。
6). 关于tcsh函数,以下定义中恰当的就是( )。
a.纯虚函数是没有给出实现版本(即无函数体定义)的虚函数b.tcsh函数的声明总是以″=0″完结c.派生类必须实现基类的纯虚函数d.所含tcsh函数的类不可能将就是派生类正确答案:b答案解析:tcsh函数就是在声明虚函数时被″初始化″为o的虚函数。
tcsh函数没函数体,tcsh函数的促进作用就是在基类中为其派生类留存一个函数名称。
7). 下列链表中,其逻辑结构属于非线性结构的是( )a.二叉链表b.循环链表c.双向链表d.带链的栈恰当答案:a8). 数据库管理系统dbms中用来定义模式、内模式和外模式的语言为( )a.cb.basicc.ddld.dml恰当答案:c9). 下面对于友元函数描述正确的是a.友元函数的同时实现必须在类的内部定义b.友元函数是类的成员函数c.友元函数毁坏了类的PCB性和暗藏性d.友元函数不能访问类的私有成员恰当答案:c答案解析:友元函数的定义既可以在类内部进行,也可以在类外部进行。
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循环中的变量i控制着最终的循环次数。
这是非常流行的一个表示法,具有这个作用的变量有时也称为哨兵变量(Sentinel variable)。
第七课WHILE循环与REPEAT一、WHILE循环(当循环)对于for循环有时也称为计数循环,当循环次数未知,只能根据某一条件来决定是否进行循环时,用while 语句或repeat语句实现循环要更方便。
while语句的形式为:while <布尔表达式> do <语句>;其意义为:当布尔表达式的值为true时,执行do后面的语句。
while语句的执行过程为:①判断布尔表达式的值,如果其值为真,执行步骤2,否则执行步骤4;②执行循环体语句(do后面的语句);③返回步骤1;④结束循环,执行while的下一个语句。
说明:这里while和do为保留字,while语句的特点是先判断,后执行。
当布尔表达式成立时,重复执行do后面的语句(循环体)例1、求恰好使s=1+1/2+1/3+…+1/n的值大于10时n的值。
分析:"恰好使s的值大于10"意思是当表达式s的前n-1项的和小于或等于10,而加上了第n项后s的值大于10。
从数学角度,我们很难计算这个n的值。
故从第一项开始,当s的值小于或等于10时,就继续将下一项值累加起来。
当s的值超过10时,最后一项的项数即为要求的n。
程序如下:vars : real;n : integer;{n表示项数}begins:=0.0;n:=0;while s<=10 do{当s的值还未超过10时}beginn:=n+1;{项数加1}s:=s+1/n;{将下一项值累加到s}end;writlen('n=',n);{输出结果}end.例2 、求两个正整数m和n的最大公约数。
分析:求两个正整数的最大公约数采用的辗转相除法求解。
以下是辗转的算法:分别用m,n,r表示被除数、除数、余数。
①求m/n的余数r.②若r=0,则n为最大公约数.若r≠0,执行第③步.③将n的值放在m中,将r的值放在n中.④返回重新执行第①步。
程序如下:program ex4_4;var m,n,a,b,r:integer;beginwrite('Input m,n:');readln(m,n);a:=m;b:=n;r:=a mod b;while r<>0 dobegina:=b;b:=r;r:=a mod b;end;writeln('The greatest common divide is:',b:8);end.二、直到循环(REPEAT-until语句)用while语句可以实现"当型循环",用repeat-until 语句可以实现"直到型循环"。
Python选择题练习50道(含答案)50道选择题:1. 下面哪条语句可以打印出"Hello, World!"?A. print("Hello, World!")B. echo("Hello, World!")C. printf("Hello, World!")D. system.out("Hello, World!")答案:A。
print() 用于输出结果,而且Python 是大小写敏感的。
2. 在Python 中,下划线(_)代表什么?A. 乘法操作符B. 变量名C. 匿名函数D. 上一个表达式的结果答案:D。
在Python 解释器中,_ 表示上一个表达式的结果。
3. 在Python 中,如何声明字符串变量strVar 并将其初始化为"Hello, World!"?A. strVar = "Hello, World!"B. string strVar = "Hello, World!"C. str strVar = "Hello, World!"D. var strVar = "Hello, World!"答案:A。
在Python 中,使用变量名= 值的语法来声明和初始化变量。
4. 在Python 中,以下哪条语句可以将两个列表list1 和list2 中的元素合并到一个新的列表newList 中?A. newList = list1 + list2B. newList = list1.append(list2)C. newList = list1.extend(list2)D. newList = list1.join(list2)答案:A。
在Python 中,使用加号运算符(+) 将两个列表合并在一起,而append() 和extend() 方法用于向列表中添加元素。
实验一 MATLAB 运算基础1. 先求下列表达式的值,然后显示MATLAB 工作空间的使用情况并保存全部变量。
(1) 0122sin851z e =+(2) 21ln(2z x =+,其中2120.455i x +⎡⎤=⎢⎥-⎣⎦ (3) 0.30.330.3sin(0.3)ln , 3.0, 2.9,,2.9,3.022a a e e a z a a --+=++=--(4) 2242011122123t t z t t t t t ⎧≤<⎪=-≤<⎨⎪-+≤<⎩,其中t =0:: 解:2. 已知:1234413134787,2033657327A B --⎡⎤⎡⎤⎢⎥⎢⎥==⎢⎥⎢⎥⎢⎥⎢⎥-⎣⎦⎣⎦求下列表达式的值:(1) A+6*B 和A-B+I (其中I 为单位矩阵)(2) A*B 和A.*B(3) A^3和A.^3(4) A/B 及B\A(5) [A,B]和[A([1,3],:);B^2]解:运算结果:3. 设有矩阵A 和B1234530166789101769,111213141502341617181920970212223242541311A B ⎡⎤⎡⎤⎢⎥⎢⎥-⎢⎥⎢⎥⎢⎥⎢⎥==-⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎢⎥⎣⎦⎣⎦ (1) 求它们的乘积C 。
(2) 将矩阵C 的右下角3×2子矩阵赋给D 。
(3) 查看MATLAB 工作空间的使用情况。
解:. 运算结果:4. 完成下列操作:(1) 求[100,999]之间能被21整除的数的个数。
(2) 建立一个字符串向量,删除其中的大写字母。
解:(1) 结果:(2). 建立一个字符串向量例如:ch='ABC123d4e56Fg9';则要求结果是:实验二 MATLAB 矩阵分析与处理1. 设有分块矩阵33322322E R A O S ⨯⨯⨯⨯⎡⎤=⎢⎥⎣⎦,其中E 、R 、O 、S 分别为单位矩阵、随机矩阵、零矩阵和对角阵,试通过数值计算验证22E R RS A O S +⎡⎤=⎢⎥⎣⎦。
2024年9月青少年软件编程Python等级考试二级真题试卷(含答案和解析)题数:37 分数:100一、单选题(共25题,共50分)。
1.以下代码的输出是?()a = ['甲','乙','丙','丁','子','丑']print(a[4])A. 丁B. ['丁']C. ['子']D. 子答案:D。
解析:列表的下标从0开始,所以是第五个元素'子',元素是不带[]的,所以选D。
2.语句的运行结果是?()A. '新,年,快,乐'B. '新年快乐'C. '新年快乐'D. '新、年、快、乐'。
答案:A。
解析:本题考察的是字符串方法,该方法的作用是在iter变量除最后元素外每个元素后增加一个str。
例如结果为"1,2,3,4,5"。
3.语句的运行结果?()A. 'I like program'B. 'I like programming'C. 'I like programing'D. "I like programmming"答案:B。
解析:本题考察的是方法,该方法的作用是返回字符串str副本,所有old子串被替换为new。
4.题ls = ['a', 'b', 'c', 'd', 'e'],下列哪个选项可以将ls中的元素顺序整体反转?()答案:C。
解析:本题考察的是列表元素的反转操作,该操作的方法是reverse()。
5.已知stu = {"一班":"杨思甜", "二班":"赵柏瑞", "三班":"王一乐", "四班":"刘道林"},则输出所有班级及对应姓名(键值对)的命令是?()答案:C。