11-while,do...while语句及练习
dowhile循环语句

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语句使用的频率没有其他的循环语句高。
C语言练习

第一章填空题1.C语言是一种的程序设计语言。
2.C程序是由函数构成的,一个C源程序至少包含一个函数。
3.C程序的执行是从函数开始。
4.一个函数由和两部分组成。
5.函数体一般包括和。
6.C源文件取名,后缀一般为,编译源代码,生成目标文件,其后缀名一般为,对目标文件进行连接,生成可执行文件,其后缀名一般为。
7.一个C语言的语句至少应包含一个。
8.用对C程序中的任何部分作注释。
第三章填空题1.变量代表内存中具有特定属性的一个。
2.在C语言中,要求对所有用到的变量作强制定义,也就是“先,后”。
3.在定义变量的同时给变量一个值,称为。
4.#define PI 3.14 说明PI为。
5.C语言规定标识符只能由、和三种字符组成,且第一个字符必须为或。
6.在C语言中整数可用________进制数、________进制数、________进制数三种数制表示。
7.C语言中的实数又称,它有两种表示形式、。
8.在微机内存中,字符型数据以____________存储。
9.表达式 b=35/7*5-7%4*4 运算后 b= 。
10.已有变量a,其值伪2,则表达式(a=3*5),a+=2,a++ 的值为,a的值为。
选择题1.以下符合C语言语法的实型常量是()。
A 1.2E0.5B 3.14159EC 0.5E-3D E152.在C语言中运算对象必需是整型的运算符是()。
A %B /C *D !3.已有变量a,其值伪9,表达式a+=a-=a+a的值伪()。
A -9B -18C 9D 184.下列选项中,能用作标识符的是()。
A 2_int_B *1_2C int-2_D _123a5.在C语言提供的合法的关键字是()。
A swicthB cherC defaultD Case6.如定义变量 i=3,则表达式-i++的值和i的值分别为()。
A -3 4B -4 4C -3 3D -4 37.表达式(b=(2,3),b+=2 )%15+b 的值为( )。
C语言习题 循环1

循环1一、单项选择题1、以下程序段中与语句k=a>b?(b>c?1:0):0;功能等价的是__A____。
A. if((a>b)&&(b>c)) k=1;B. if((a>b)||(b>c)) k=1else k=0; else k=0;C. if(a<=b) k=0;D. if(a>b) k=1;else if(b<=c) k=1; else if(b>c) k=1;else k=0;2、C语言的do_while循环中,循环由do开始,用while结束;而且在while表达式后面的___B___不能丢,它表示do_while循环的结束。
A. \nB. “;”C. “%”D. “,”3、执行程序段:x=-1; do { x=x*x;} while(!x); 的结果是__C____。
A. 死循环B. 循环执行2次C. 循环执行一次D. 有语法错误4、下面程序段的输出结果是__D____。
int i,sum;for(i=1;i<=10;i++)sum+=sum;printf("%d\n",i);A. 10B. 9C. 15D.不确定5、以下叙述正确的是___C___。
A. for循环中设置for(条件)break,当条件成立时中止程序执行。
B. for循环中设置for(条件)continue,当条件成立时中止本层循环。
C. for循环中设置for(条件)break,当条件成立时中止本层循环。
D. for循环中设置for(条件)break,当条件成立时暂停本次循环。
6、下面有关for循环的正确描述是__D____。
A. for循环只能用于循环次数已经确定的情况。
B. for循环是先执行循环体语句,后判断表达式。
C. 在for循环中,不能用break语句跳出循环体。
D. for循环的循环体语句中,可以包含多条语句。
C语言单元复习题 第06部份 循环

C.用do...while语句构成循环时,在while后的表达式为零时不一定结束循环
D.用do...while语句构成循环时,在while后的表达式为零时结束循环
(知识点:do...while语句; 难度系数:1; 答案:D )
10.以下关于do...while语句的叙述中,正确的是:( )。
(知识点:循环的基本概念; 难度系数:1; 答案:D )
2.以下关于循环的描述中,错误的是:( )。
A.while、do...while和for语句的循环体都可以是空语句
B.for和do...while语句都是先执行循环体,后进行循环条件判断
C.while语句是先进行循环条件判断,后执行循环体的
D.使用while和do...while语句时,循环变量初始化的操作应在循环语句之前完成
A.break语句和continue语句都只能用于循环结构
B.break语句和continue语句都只能用于switch结构
C.break语句用于跳出循环体,continue语句用于跳出当次循环
D.continue语句用于跳出循环体,break语句用于跳出当次循环
(知识点:continue语句; 难度系数:1; 答案:C )
A.x==0B.x==1C.x!=lD.x!=0
(知识点:while语句; 难度系数:1; 答案:D )
5.在C语言中,当while语句构成的循环中的条件为( )时,结束循环。
A.0B.1C.真D.非0
(知识点:while语句; 难度系数:1; 答案:A )
6.有以下程序段:
int k=0;
while(k=1) k++;
201103阶段测试1-4章

江苏科技大学Visual C++阶段测验试卷(1-4章)班级:学号:姓名: 2011/3/24答题注意事项:1、所有答案必须写在答题纸上;考试完毕只交答题纸,不交试题。
2、填写答案时,注意题号,特别是填空题,做到答题纸与试题一一对应;同时注意输出格式....。
3、编程题,注意书写的规范、工整,字迹(包括标点符号)清楚。
一、选择题(每题2分,计3 0分)1、在C++的集成环境中,系统约定C++源程序文件缺省的扩展名为。
A. vcB. c++C. vc++D. cpp2、设有四个常数:①4e5.0、②‘\87’、③0X5A、④“\””,其中符合C++语法规则的常量是。
A. ②③B. ②④C. ③④D. ①②3、若a1、a2、a3和a4都是整型变量,则以下选项中符合C++语法规则的表达式是。
A. a1=25%3.3B. a2=a1+a3=3*5C. a3=078D. a4=0Xa24、设有说明语句:int a=1,b=2;float x=3,y=4;以下赋值中存在语法错误的是。
A. a=++x;B. y=++b;C. b++=x++;D. b+=x++ + y++5、设有说明:int a=10,b=15,c;执行语句:c=a||(a+=b) ||(++b);则a、b、c的值分别是。
A. 10, 15,1B. 25, 16, 1C. 10,15, 10D. 25, 15,16、设有说明语句;int a=7,b=12,e;以下表达式选项中,e值为2的是_______。
A. e=b%=(a-a%5)B. e=b%=(a%=5)C. e=b%=b+1-a%5D. e=(b%=a)-(a%=5)7、以下关于逻辑运算的描述中,正确的是_______。
A. 所有的逻辑运算都是双目运算,其优先级相同B. 逻辑运算中存在双目运算和单目运算,其优先级相同C. 所有的逻辑运算都是双目运算,其优先级各不相同D. 逻辑运算中存在双目运算和单目运算,其优先级各不相同8、以下双目运算符中要求两个操作数均为整型的运算符是______。
C语言基础 五、循环

五、循环结构程序设计本章概述:以笔试和上机两种形式考核。
笔试中,多出现在选择题第20-23题。
填空题第8、9题。
分值约占12%。
上机中,三种题型中均有体现,抽中几率约为37%。
考生要熟练掌握。
大纲要求:1.for循环结构。
2.while和do-while循环结构。
3.continue语句和break语句。
4.循环的嵌套。
重点难点:1.for循环结构。
2.continue语句和break语句。
3.循环的嵌套。
考点分析:while 语句while 语句一般形式:while (条件表达式){循环体}while 语句执行过程:先判断条件是否成立,只要条件成立则一直执行循环体语句,直到条件不成立则结束循环,结束while语句。
说明:(1)while语句的特点是先判断,再执行。
因此,若条件表达式的值一开始就为“假”,那么循环体一次也不执行。
(2)当循环体为多个语句组成,必须用{}括起来,形成复合语句。
(3)在循环体中应有使循环趋于结束的语句,以避免“死循环”的发生。
试题解析1.要求通过while循环不断读入字符,当读入字母N时结束循环。
若变量已正确定义,以下正确的程序段是(A)A)while((ch=getchar())!=′N′)printf("%c",ch);B)while(ch=getchar()!=′N′)printf("%c",ch);C)while(ch=getchar()==′N′)printf("%c",ch);D)while((ch=getchar())==′N′)printf("%c",ch);解析:while语句的功能是:计算表达式的值,如为真,则执行循环体语句,执行完毕后,再计算表达式的值,若仍为真,则重复执行循环体语句。
直到表达式的值为假时,结束循环。
ch=getchar()应加一个括号,表示输入字符的函数。
循环结构练习题

第4章循环结构(一)、是非题1. C语言中,do-while语句构成的循环只能用break语句退出。
A.对B.错2.在循环外的语句不受循环的控制,在循环内的语句也不受循环的控制。
A.对B.错3.从语法角度看,for(表达式1;表达式2;表达式3)语句中的3个表达式均可省略。
A.对B.错4.for、while和do while循环结构的循环体均为紧接其后的第一个语句(含复合语句)。
A.对B.错5.由i=-1;while(i<10) i+=2;i++;可知,此while循环的循环体执行次数为6次。
A.对B.错6.循环for( ; ; )的循环条件始终为真。
A.对B.错7.do…while语句的循环体至少执行1次,while和for循环的循环体可能一次也不执行。
A.对B.错8.break;语句执行时退出本层循环,continue;语句结束本次循环。
A.对B.错9.for循环、while循环和do while循环结构之间可以相互转化。
A.对B.错10.break;语句执行时退出到包含该break;语句的所有循环外。
A.对B.错11.二重循环for(i=0;i<5;i+=2) for(j=0;j<5;j++)的循环体的执行次数为15。
A.对B.错12.执行i=-1; while(i<10) i+=2;i++; 后,i的值为11。
A.对B.错13.int i=1;while(1) i++; 则在任何条件下,该循环语句都会执行无穷多次A.对B.错14.while和do…while的功能完全相同。
A.对B.错15.while后的表达式只能是逻辑或关系表达式。
A.对B.错16.语句while(E);中的表达式E等价于E!=0。
A.对B.错17.只能在循环体内和switch语句体内使用break语句。
A.对B.错18.程序段 int k=10; while(k=0)k=k-1; 中,while循环执行10次。
c51单片机循环语句

C51单片机循环语句循环语句是几乎每个程序都会用到的,它的作用就是用来实现需要反复进行多次的操作。
如一个12M 的51 芯片应用电路中要求实现1 毫秒的延时,那么就要执行1000 次空语句才能达到延时的目的(当然能使用定时器来做,这里就不讨论),如果是写1000 条空语句那是多么麻烦的事情,再者就是要占用很多的存储空间。
我们能知道这1000 条空语句,无非就是一条空语句重复执行1000 次,因此我们就能用循环语句去写,这样不但使程序结构清晰明了,而且使其编译的效率大大的提高。
在 C 语言中构成循环控制的语句有while,do-while,for 和goto 语句。
同样都是起到循环作用,但具体的作用和使用方法又大不一样。
我们具体来看看。
goto 语句这个语句在很多高级语言中都会有,记得小时候用BASIC 时就很喜欢用这个语句。
它是一个无条件的转向语句,只要执行到这个语句,程序指针就会跳转到goto 后的标号所在的程序段。
它的语法如下:goto 语句标号; 其中的语句标号为一个带冒号的标识符。
示例如下void main(void){unsigned char a;start: a++;if (a==10) goto end;goto start;end:;}上面一段程序只是说明一下goto 的使用方法,实际编写很少使用这样的手法。
这段程序的意思是在程序开始处用标识符“start:”标识,表示程序这是程序的开始,“end:”标识程序的结束,标识符的定义应遵循前面所讲的标识符定义原则,不能用 C 的关键字也不能和其它变量和函数名相同,不然就会出错了。
程序执行a++,a 的值加1,当 a 等于10 时程序会跳到end 标识处结束程序,不然跳回到start 标识处继续a++,直到a 等于10。
上面的示例说明goto 不但能无条件的转向,而且能和if 语句构成一个循环结构,这些在C 程序员的程序中都不太常见,常见的goto 语句使用方法是用它来跳出多重循环,不过它只能从内层循环跳到外层循环,不能从外层循环跳到内层循环。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
课后练习5.2
#include "stdio.h" main( ) { char ch; do { ch=getchar(); putchar(ch); } while(ch!='\n'); }
练习
1、从键盘输入若干个数,当输入为0时结束, 计算这些数的和及平均值并输出。
#include "stdio.h" main( ) { float j=0,sum=0,avg=0; int k=0; do { k = k + 1; printf("请输入第%d个数:",k); scanf("%f",&j); sum = sum + j; }while(j!=0); if(k>1) avg = sum / (k - 1); printf("和为:%f,平均数为:%f.\n",sum,avg); }
课后练习5.3
#include "stdio.h" main( ) { int n,d; printf("请输入一个整数:"); scanf("%d",&n); do{ d=n%10; printf("%d",d); n=n/10; }while(n!=0); printf("\n"); }
5.2 while语句
一般形式 while(表达式) 循环体语句; 功能:计算并判断表达式的值, • 若值为真,则执行循环体语句; • 若值为假则结束循环,退出 while 语句, 转而执行while循环后面的语句。
while循环的使用
循环变量初始化;/*for中表达式1*/ While (由循环变量构成的条件) /* 表达式 2*/ { 循环体语句; 修改循环变量的值; /*for中表达式3*/
例5.5 将例5.1用do-while循环来实现。 main() { int sum,i; sum=0;i=1; do { sum=sum+i; i++; } while(i<=100); printf("sum=%d",sum); }
说明 (1)do 是关键字。 do-while 语句是先执行循 环体“语句”,后判断循环终止条件, 因此循环体至少被执行一次,这一点与 while和for循环存在很大的差别。 (2)do-while循环中,do … while(表达式) 后 面有分号,而while循环中,while(表达 式)后面没有分号。 (3)在书写时,循环体包含多条语句要用while循环来实现。 main() {int sum,i; sum=0; i=1; while(i<=100) for(i=1;i<=100;i++) { sum=sum+i; i++; } printf("sum=%d",sum); }
说明
( 1 ) while 是关键字。 while 后面的表达式相 当于for语句中的表达式2。 (2) 对于for语句中的表达式1,在while语句 中,需要在进入循环之前确定循环控制变量的 初始值,如上面语句i=1。 (3) 对于for语句中的表达式 3,在while语句 中,需要在循环体中来体现,如上面语句 i++ 。 (4) 循环体中包含多条语句,需要用花括号 写成复合语句。
课后练习5.1(2)
#include "stdio.h" #include "math.h" main( ) { int a; double x0,x1; printf("请输入正整数a:"); scanf("%d",&a); x0=a/2.0; x1=(x0+a/x0)/2.0; while(fabs(x1-x0)>1e-5) { x0=x1; x1=(x0+a/x0)/2.0; } printf("%d的平方根为:%f.\n",a,x1); }
例:如果我国工农业产值每年以 9% 的增长 率增长,问几年后我国的工农业产值可以 翻一番。 【问题思路】先设原来产值(基数)为100, 然后每年底计算一次增长后的产值。如果 未达到200,就再计算下一年的产值,直 到某一年的产值达到或超过200为止。设 变量n用来累计经历的年数
参考程序如下: #include "stdio.h" main( ) { float p,r; int n; n=0;p=100;r=0.09; while(p<200) { p=p*(1+r); n=n+1; } printf("%d years,p=%10.4f\n",n,p); }
课后练习5.7
5.3 do-while语句
一般形式 do 循环体语句 while(表达式); 功能:先执行循环体,然后计算“表达 式”,判别“表达式”的值是否为真。 如果为真则再次进入循环体执行。如此 往复,直至“表达式”的值为假时,循 环才结束。
do while循环的使用
循环变量初始化; do { 循环体语句; 修改循环变量的值; }while (循环条件);