第5部分 循环结构

合集下载

[工学]第05章 循环结构程序设计 (2)

[工学]第05章 循环结构程序设计 (2)
T
22
i=i+c
2019/2/17
例:#include<stdio.h> 例:#include<stdio.h> main( ) main( ) { int i=0; { int i=0; for(;i<10;i++) for(i=0;i<10;i++) putchar(‘a’+i); putchar(‘a’+i); } } 运行结果:abcdefghij
2019/2/17
21
(7)表达式2一般是关系表达式(如 for语句说明4 i<=100)或逻辑 表达式(如a<b&&x<y),但也可以是数值表达式 或字符表达式,只要其值为非零,就执行循环体。分 析下面两个例子: ①for ( i=0;(c=getchar( ))!=‘\n’;i+ =c); i=0 此 for语句的执行过程见图 ,它的作 用是不断输入字符,将它们的ASCII 取一个字 码相加,直到输入一个“换行”符为 符=>c 止。 F ② for( ;(c=getchar( ))!=‘ \ n’;) C≠换行符 printf(“%c”,c);
15
思考:该程序是什么功能?
2019/2/17
5.3 for语句
for循环语句是C语言中功能最强的循环语句,它有
多个变化形式,并且可以很方便的代替其它的循环语
16
句。 for语句的一般形式
for(表达式1;表达式2;表达式3)循环体语句
2019/2/17
17
for执行流程
①先计算初值表达式1,它主要 用于循环开始前设置变量初值; ②接着计算循环控制逻辑表达式 2,它控制循环条件,决定循环 次数; ③如果表达式2为真,则执行循 环体语句,否则结束for循环; ④求解表达式3,它主要是对循 环控制变量进行修改。 ⑤转步骤②执行。

第5章-循环结构程序设计PPT优秀课件

第5章-循环结构程序设计PPT优秀课件
17
5.3.1 前测型Do…Loop循环语句
格式:
Do [While | Until <条件表达式>] <语句块> [Exit Do] <语句块>
Loop
18
5.3.1 前测型Do…Loop循环语句
前测型Do…Loop循环的流程图
Do While…Loop流程图
Do Until…Loop流程图
条件表达式 值为真?
格式:
Do <语句块> [Exit Do] <语句块>
Loop [While | Until <条件表达式>]
23
5.3.1 后测型Do…Loop循环语句
说明:
后测型Do…Loop循环语句与前测型Do…Loop循环语句的主 要区别在于:
后测型要先执行一次循环体,再判断条件;而前测型要 先判断条件,然后根据判断结果决定是否执行循环体。因此 对于后测型,不管条件是否满足,循环体至少有一次执行机 会。
16
5.3 Do…Loop循环语句
导入:
Do…Loop循环也属于条件型循环,即根据条件的 成立与否来决定是否执行循环。Do…Loop循环的应 用具有很强的灵活性,主要体现在:它既能指定循环 开始条件,又能指定循环结束条件;既能构成前测型 Do…Loop循环语句,又能构成后测型Do…Loop循 环语句。
25
5.3.1 后测型Do…Loop循环语句 【例5-10】将400~600间能够被3整除的数 输出(上机练习)
【例5-11】(略)
26
5.4 循环嵌套
介绍:
一个循环结构中又包含一个或多个循环结构被称为 循环嵌套,或称多重循环。 多重循环对嵌套的层数没有限制。有几层嵌套,就 称为几重循环,如二重循环、三重循环、四重循环 等。一般地,把嵌套在一个循环体内部的另一个循 环结构称为内循环;这样,嵌套了其他内循环部分 的循环结构就称为外循环。 为了使多重循环结构具有较好的可读性,通常用缩 进方式书写相应的源代码。

第5章循环结构

第5章循环结构
格式: while (< 表达式 >) 语句A;
流程图:
0 (假) 表达式
非 0 (真) 语句 A
若表达式(条
件)的值为真,则 执行内嵌语句A, 再判断表达式(条 件)···,当表达式 的值为假时,执行 while后面的语句。
while语句的说明:
(1) while语句属当型循环,即先 判断条件(表达式),再执行循环体。
}
五、循环的嵌套
一个循环体内又包含另一个完整的循环结构,称 为循环的嵌套,内嵌的循环中还可以嵌套循环即 为多层循环。
说明:
⑴ 嵌套的原则: 不允许交叉 ⑵ 循环与分支可以相互嵌套但不允许交叉。
for(i=1;i<=4;i++) {for(j=1;j<=8;j++) printf(“*”); printf(“\n”); }
1) S=1 2) S=1+2 3) S=1+2+3
······ 100) S=1+2+ ···+100
S0 = 0
S1 = S0 + 1 S2 = S1 + 2 S3 = S2 + 3 ······ S100 = S99+100
求和表达式:
S=S+i
初值:
S=0
循环次数 i :
1~100
流程图:
上面的例子中: 外循环由外循环控制变量i控制,i由1递增到4。 每1次的外循环中,都要执行由内循环控制变 量j控制的8次内循环操作和1次换行操作。 由此:每次内循环输出一个星号,外循环输出一行(8 个)星号,4次外循环,输出了4行8列星号。
六、goto语句
格式: goto 语句标号 ; ······

VFP第4、5部分(循环结构)

VFP第4、5部分(循环结构)

fac=1
for i=1 to n
输入n i=1,fac=1 i<=100 fac=fac*i i=i+1 输出s 求n!的N-S图
fac=fac*i
endfor
?n,"!=",fac
return
例:求所有的水仙花数。(所谓水
仙花数是指一个三位数,其各位数 字的立方和等于该数本身。
求1000以内的 “水仙花数”。所谓“水 仙花数”是指一个3位数,其各位数字的立 方和等于该数本身。例如,153=13+53+33, 故153是水仙花数。
例:求n的阶乘
当循环
步长循环
input “请输入终值:” to n
input “请输入步长:” to k
i=1 do while i<=n <命令序列> i=i+k
for i=1 to n step k
<命令序列> end for | next
end ddo
Clear
input "请输入n:" to n
方法二: set talk off clea for I=1 to 9 for j=0 to 9 for k=0 to 9 if I^3+j^3+k^3=100*I+10*j+k ? 100*I+10*j+k endif endfor endfor endfor return
表单设计
“文件”→“新建”→“表单” 单击 打开或关闭 标签 (label) 命令按钮 (command) 右键单击表单中的对象, 选择“属性” 文本框 (text)
x=thisform.text1.value 例:输入一个数,判断奇偶性。 if mod(x,2)=0 &&判断奇偶性的条件 bel2.caption="该数为偶数" else bel2.caption="该数为奇数" endif

VFP第4、5部分(循环结构)

VFP第4、5部分(循环结构)

步长可正可负
* 仍计算阶乘 此处步长为负 仍计算阶乘,此处步长为负 clea Input "请输入自然数 to n 请输入自然数:" 请输入自然数 j=1 for i=n to 1 step -1 j=j*i endfor ? N, "!= ",j return
当循环
步长循环
input “请输入终值:” to n 请输入终值: 请输入终值 input “请输入步长:” to k 请输入步长: 请输入步长 i=1 do while i<=n <命令序列 命令序列> 命令序列 i=i+k endddo for i=1 to n step k <命令序列 命令序列> 命令序列 endfor|next
改变循环变量值 clea s=0 i=1 do while i<=100 s=s+i i=i+1 enddo ?"1+2+3+...+100=",s retu
例:求n的阶乘 的阶乘
clea Input "请输入自然 数:" to n j=1 for i=1 to n j=j*i endfor ? N, "!= ",j return * 100以内自然数求和 以内自然数求和 clea s=0 for i=1 to 100 s=s+i endfor ? "1+2+3+...+100=",s return
DO WHILE .T. 结构
• 此种表述的条件,必须设置强制退出的语 此种表述的条件, 句来完成退出循环, 句来完成退出循环,否则会出现死循环的 情形。 情形。 DO WHILE .T. … EXIT &&用来强制退出循环 用来强制退出循环 … ENDDO

单元五:循环结构

单元五:循环结构
4
while循环
Java的循环语句有while、do-while、for循环, 这些语句实现了通常所称的循环。
一个循环重复执行同一套指令直到一个结束条 件出现
5
while循环格式
while语句是Java最基本的循环语句。当它的控 制表达式是真时,while语句重复执行一个语句 或语句块
7
示例
能把j++去掉吗?
//不再重复劳动 int i = 3,j=0; while( j<5){ //条件
//要做的事
System.out.println(++i);
j++; //变化 }
8
循环四要素
起点 终点 做什么事 起点到终点如何变化
int i = 3,j=0;//起点 while( j<5){ //条件
2
本章目标
理解循环四要素 掌握while循环 掌握do-while循环 掌握for循环
3
为什么要使用循环
问题:打印某个数字后的5个数字
int i = 3; System.out.println(++i); System.out.println(++i); System.out.println(++i); System.out.println(++i); System.out.println(++i);
Java 初学者
第5章:循环结构
上节回顾
if-else语句根据判定条件的真假来执行两种操 作中的一种
嵌套if语句是指该if语句为另一个if或者else 语句的对象

C语言程序设计第5章-循环结构程序设计ppt课件

C语言程序设计第5章-循环结构程序设计ppt课件
分析:循环进行的条件是:i≤k和flag=0。因为在i>k时, 显然不必再去检查n是否能被整除,此外如果flag=1, 就表示n已被某一个数整除过,肯定是非素数无疑, 也不必再检查了。只有i≤k和flag=0两者同时满足才 需要继续检查。循环体只有一个判断操作:判断n 能否被i整除,如不能,则执行i=i+1,即i的值加1, 以便为下一次判断作准备。如果在本次循环中n能 被i整除,则令flag=1,表示n已被确定为非素数了, 这样就不再进行下一次的循环了。如果n不能被任 何一个i整除,则flag始终保持为0。因此,在结束 循环后根据flag的值为0或1,分别输出n是素数或非 素数的信息。
while(i<=k && !flag)
if(n % i==0) flag=1;
else i=i+1;
if(!flag)
printf("%d is a prime
number.\n",n);
else
printf("%d is not a prime
number.\n",n);
}
.
返回本章首页
第5章 循环结构程序设计
【例5_1】用while语句求p=n!
#include<stdio.h>
int main()
{ int i=1,p=1; //循环初始化部分 while(i<=5) //循环控制部分
{ p=p*i; //循环体语句 i++; //循环修改部分
}
printf("5!=%d\n",p);
return 0;
10-3,则再执行循环体,把 term 值赋给term1.然后再累加 到s中去。可以看出:程序中 term1代表当前要累加的项, term代表下一项,如果这两项 之差未超过10-3,就将下一项 加到s 中。

第五节 循环结构程序设计

第五节 循环结构程序设计
}
运行结果为
pi=3.141592
注意:不要把n定义为整型变量,否则在执行“t=s/n;”时,得到t的值为0(原因是两个整数相除)。
例5.4求Fibonacci数列前40个数。这个数列有如下特点:第1、2个数为1、1。从第3个数开始,每个数是其前面两个数之和。即
F1=1 (n=1)
F2=1 (n=2)
#include <iomanip>
using namespace std;
int main( )
{int m,k,i,n=0;
bool prime;//定义布尔变量prime
for(m=101;m<=200;m=m+2) //判别m是否为素数,m由101变化到200,增量为2
{prime=true;//循环开始时设prime为真,即先认为m为素数
{int s=1;
double n=1,t=1,pi=0;
while((fabs(t))>1e-7)
{pi=pi+t;
n=n+2;
s=-s;
t=s/n;
}
pi=pi*4;
cout<<"pi="<<setiosflags(ios∷fixed)<<setprecision(6)<<pi<<endl;
return 0;
while语句的一般形式如下:
while (表达式)语句
其作用是:当指定的条件为真(表达式为非0)时,执行while语句中的内嵌语句。其流程图见图5.1。其特点是:先判断表达式,后执行语句。while循环称为当型循环。
图5.1
例5.1求1+2+3+…+100。

c语言第5章循环结构程序设计课件

c语言第5章循环结构程序设计课件
6
第五章 循环结构程序设计
典型例题(例5-8) :求两个整数的最大公约数、最小公倍数
12 8 4 mn r
84
0
mn r
最大公约数 4 最小公倍数 12*8/4=24
求最大公约数的N-S流程图
辗转相除法
7
第五章 循环结构程序设计
void main( )
{ int n, m, nm, r, t; printf( " Enter m, n= ? " ) ; scanf( " % d% d" , & m, & n) ; nm= n* m; if ( m< n)
例如: for(i=1;i<=n;) { t=t*i; i++; } (4)可以省略表达式1和表达式3,只有表达式2 , 即只给循环条件。
i=1; for(;i<=n;)
{t=t*i; i++;}
14
第五章 循环结构程序设计
(5) 3个表达式都可省略。 例如: for(;;) 语句 相当于 while(1)语句。
3
第五章 循环结构程序设计
例: 编程序求: s=1+2+3+……+100
main()
{ int s=0,i=1;
while (i<=100) { s=s+i;
思考:如何求n!
i++; }
printf("S=%d",s); }
4
第五章 循环结构程序设计 二、 do...while语句
Do-while语句的一般形式为:
(1) while( ) {… while( ) {…}

c语言 第5章循环结构(while do-while for)

c语言  第5章循环结构(while do-while for)

第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 0 sum=495 第1次运行: Input data: 0 0 sum=0 sum的初值与0的和
5.4 for语句
#include <stdio.h> int main() { int i=1,sum=0; while (i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); return 0; for (i=1;i<=100;i++) } #include <stdio.h> int main() { int i=1,sum=0; do { sum=sum+i; i++; }while(i<=100); printf("sum=%d\n",sum); return 0; }
i++ for ( i = 1; i <= 100; i = i + 1 ) printf ( “**********\n” );
语句是?
【例1】在3~100之间所有3的倍数中,找出个位 数为2的数。
编程点拨 3~100内3的倍数有3 6 9 … 99 for ( i=3; i<=100; i=i+3 )
第1次运行: Input data: 11 22 33 44 55 66 77 88 99 0 1 2 11 22 33 44 55 66 77 88 99 sum=495 第2次运行: Input data: 0 (空一行) sum的初值 sum=0

C语言程序设计教程(第5版)_第5章_循环结构

C语言程序设计教程(第5版)_第5章_循环结构

b(a<b),求它们之间的几何级数的和,数学表达式

:i b
i
ia
分析:
①所求级数和的初值和终值由键盘任意输入;
②题目要求初值a<b,并且a>0,b>0;
③如果a>b,或者输入的值为负数,则程序提示输 入错误,不进行任何计算,直接退出程序。
5.1 for语句
程序流程图: 程序:example5_2.c 思考: ①该算法的缺点; ②设计更好的算法。 ③假如输入的数可以为任意整数,
2.判断<条件表达式>的值。该表达式就是循环条件,若该 表达式的值为“真”,则执行<循环体语句>; 若该表达式的值为“假”,则退出循环,执行循环结构外 的语句。
3.计算<循环表达式>的值。该表达式更新循环控制变量的 值。
4.转第2步。
5.1 for语句
for语句的流程图:
注意: ①若<循环体语句>中有多
ib
如果a≤b,计算i; ia ia
如果a>b,则计算i 。 ib
请设计算法并编写程序验证。
5.1 for语句
例3:编写程序,从键盘输入m和n的值,用符号“*”在屏幕 上打印出如下所示具有m行n列的矩形图案。 ******* ******* ******* ******* ******* ******* ******* *******
5.1 for语句
程序算法流程图如图所示: 程序:example5_4.c 程序特别处理:如果(a>b),
计算(a−b);否则计算(b−a)。 思考: 1.如果每次测试的题目不止10个,
需要怎样修改算法和程序? 2.如果要求程序在结束了一组测
试之后,可以继续进行测试,需 要怎样修改算法和程序? 3.如果要加入两位数的除法计算, 需要怎样修改算法和程序?

第五章循环结构

第五章循环结构

5.循环结构5.1 什么是循环结构循环结构是一种程序设计结构,它允许程序在特定条件下重复执行一系列指令。

循环结构可以大大提高程序的效率,使程序可以处理大量的数据,而不需要重复编写相同的代码。

循环结构通常由一个循环控制变量(称为计数器)和一个循环控制语句(称为循环条件)组成。

循环控制变量是一个数值变量,用于跟踪循环的次数,而循环控制语句是一个布尔表达式,用于指定循环的次数。

5.2 循环结构的类型循环结构有多种类型,具体取决于循环控制变量的变化方式。

最常见的循环结构有:(1)while循环:while循环由一个循环控制变量和一个循环控制语句组成,当循环控制语句为真时,循环控制变量会被改变,而当循环控制语句为假时,循环结束。

(2)for循环:for循环由一个循环控制变量,一个循环控制语句和一个循环控制步长组成,for循环会按照指定的步长不断改变循环控制变量,直到循环控制语句为假时,循环结束。

(3)do-while循环:do-while循环由一个循环控制变量和一个循环控制语句组成,do-while循环会先执行一次循环体,然后判断循环控制语句的真假,如果为真,则继续执行循环体,直到循环控制语句为假时,循环结束。

5.3 循环结构的应用循环结构在程序设计中应用非常广泛,它可以帮助程序员快速完成复杂的任务。

(1)循环结构可以用来处理大量的数据。

例如,如果要对一个包含1000个数字的数组进行排序,可以使用循环结构来完成,而不需要重复编写1000次排序代码。

(2)循环结构可以用来实现复杂的算法。

例如,要实现一个快速排序算法,可以使用循环结构来完成,而不需要编写大量的算法代码。

(3)循环结构可以用来控制程序的流程。

例如,可以使用循环结构来实现一个游戏的主循环,以便在游戏运行期间不断重复某些操作。

5.4 循环结构的优缺点循环结构的优点是可以大大提高程序的效率,使程序可以处理大量的数据,而不需要重复编写相同的代码。

但是,循环结构也有一些缺点。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第5部分循环结构一、选择题1、以下程序:void main(){ int x,i;for(i=1;i<=100;i++){ x=i;if(++x%2==0)if(++x%3==0)if(++x%7==0)printf(“%d “,x);}printf(“\n”);}其输出结果是( D )。

A.39 81 B.42 84 C.25 68 D.28 70 2、设i和x都是int类型,则for循环语句( A )。

for(i=0,x=0;i<=9&&x!=876;i++) scanf(“%d”,&x);A.最多执行10次B.最多执行9次C.是无限循环D.循环体一次也不执行3、下述for循环语句( B )。

int i,k;for(i=0,k=-1;k=1;i++,k++) printf(“***”);A.判断循环结束的条件非法B.是无限循环C.只循环一次D.一次也不循环4、下述循环的循环次数是( B )int k=2;while(k=0) printf(“%d”,k);k--; printf(“\n”);A.无限次B.0次C.1次D.2次5、对于(1),(2)两个循环语句,( A )是正确的描述。

(1) while(1);(2) for(;;);A.(1)(2)都是无限循环B.(1)是无限循环,(2)错误C.(1)循环一次,(2)错误D.(1)(2)皆错误6、下述程序的输出结果是( B )。

#include<stdio.h>void main(){ int i,j,x=0;for(i=0;i<2;i++){ x++;for(j=0;j<=3;j++){ if(j%2) continue;x++;}x++;}printf(“x=%d\n”,x);}A.x=4 B.x=8 C.x=6 D.x=127、在下述程序中,判断i>j共执行了( D )。

#include<stdio.h>void main(){ int i=0,j=10,k=2,s=0;for(;;){ i+=k;if(i>j){ printf(“%d “,s);break;}s+=i;}}A.4 B.7 C.5 D.68、若下述程序运行时输入的数据是:“3.6,2.4,1.5”,则输出结果是( B )。

#include<stdio.h>#include<math.h>void main(){ float x,y,z;scanf(“%f,%f”,&x,&y);z=x/y;while(1){ if(fabs(z)>1.0){ x=y; y=z; z=x/y; }elsebreak;}printf(“%f”,y);}A.1.500000 B.1.600000 C.2.000000 D.2.4000009、以下程序的输出结果是( A )。

#include<stdio.h>void main(){ int i;for(i=1;i<=5;i++){ if(i%2) putchar(…<‟);else continue;putchar(…>‟);}putchar(…#‟);}A.<><><># B.><><><#C.<><># D.><><#10、下述程序的输出结果是( B )。

#include<stdio.h>void main(){ int k=0,m=0;int i,j;for(i=0;i<2;i++){ for(j=0;j<3;j++)k++;k-=j;}m=i+j;printf(“k=%d,m=%d”,k,m);}A.k=0,m=3 B.k=0,m=5C.k=1,m=3 D.k=1,m=511、while循环语句中,while后一对圆括号中的表达式的值决定了循环体是否进行,因此进入while循环后,一定要有能使此表达式的值变为( A )的操作,否则循环将会无限制地进行下去。

A.0 B.1 C.成立D.212、下面程序的输出结果是( A )。

void main(){ int n=0;while(n++<=1)printf(“%d\t”,n);printf(“%d\n”,n);}A.1 2 3 B.0 1 2 C.1 1 2 D.1 2 213、下面程序的输出结果是( C )。

void main(){ char s[5]=”121”;int k=0,a=0,b=0;do{ k++;if(k%2==0){ a=a+s[k]-…0‟;continue;}b=b+s[k]-…0‟;a=a+s[k]-…0‟;}while(s[k+1];printf(“k=%d a=%d b=%d\n”,k,a,b);}A.k=3 a=2 b=3 B.k=3 a=3 b=2C.k=2 a=3 b=2 D.k=2 a=2 b=314、当输入为“quert?”时,下面程序的执行结果是( A )。

#include<stdio.h>void main(){ char c;c=getchar();while(c!=‟?‟){ putchar(c);c=getchar();}}A.quert B.Rvfsu C.quert? D.rvfsu?15、在do…while循环中,循环由do开始,用while结束。

必须注意的是:在while表达式后面的( C )不能丢,它表示do…while循环的结束。

A.0 B.1 C.;D.,16、若i,j已定义为int型,则以下程序段中循环体总的执行次数是( A )。

for(i=5;i>0;i--)for(j=0;j<4;j++){ ……}A.20 B.24 C.25 D.3017、分析下列程序:void main(){ int n[3],i,j,k;for(i=0;i<3;i++) n[i]=0;k=2;for(i=0;i<k;i++)for(j=0;j<k;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}上述程序运行后,输出结果是( D )。

A.2 B.1 C.0 D.318、在C语言的循环语句for、while、do…while中,用于直接中断最内层循环的语句是( C )。

A.switch B.continue C.break D.if19、执行下面的程序后,a的值为( B )。

void main(){ int a,b;for(a=1,b=1;a<=100;a++){ if(b>=20) break;if(b%3==1){ b+=3;continue;}b-=5;}}A.7 B.8 C.9 D.1020、以下程序段:int n=10;while(n>7){ n--;printf(“%d\n”,n);}其输出结果是( B )。

A.10 B.9 C.10 D.99 8 9 88 7 8 77 621、以下程序:void main(){ int i,sum;for(i=1;i<6;i++) sum+=sum;printf(“%d\n”,sum);}其输出结果是( C )。

A.15 B.14 C.不确定D.022、若x是int型变量,以下程序段:for(x=3;x<6;x++)printf((x%2)?(“**%d”):(“##%d\n”),x);其输出结果是( D )。

A.**3 B.##3 C.##3 D.**3##4 ##4 **4 **4##5 **5**5 ##523、以下叙述正确的是( D )。

A.do…while语句构成的循环不能用其它语句构成的循环来代替B.do…while语句构成的循环只能用break语句退出C.用do…while语句构成循环时,只有在while后的表达式为非零时结束循环D.用do…while语句构成循环时,只有在while后的表达式为零时结束循环24、以下程序段:int k,j,s;for(k=2;k<6;k++,k++){ s=1;for(j=k;j<6;j++) s+=j;}printf(“%d\n”,s);其输出结果是( D )。

A.9 B.1 C.11 D.1025、以下程序段:int i,j,m=0;for(i=1;i<=15;i+=4)for(j=3;j<=19;j+=4) m++;printf(“%d\n”,m);其输出结果是( C )。

A.12 B.15 C.20 D.2526、以下程序段:int x=3;do{ printf(“%3d”,x-=2);}while(!(--x));其输出结果是( C )。

A.1 B.3 0 C.1 -2 D.死循环27、以下程序:void main(){ int y=10;for(;y>0;y--)if(y%3==0){ printf(“%d”,--y);continue;}}其输出结果是( B )。

A.741 B.852 C.963 D.875421二、填空题1、当执行以下程序段后,i的值是 5 ,j的值是 4 ,k的值是 6 。

int a,b,c,d,i,j,k;a=10;b=c=d=5;i=j=k=0;for(;a>b;++b) i++;while(a>++c) j++;do k++; while(a>d++);2、以下程序的输出结果是-1 。

void main(){ int x=2;while(x--);printf(“%d\n”,x);}3、有以下程序段:s=1.0;for(k=1;k<=n;k++) s=s+1.0/(k*(k+1));printf(“%f\n”,s);请填空,使下面的程序段的功能完全与之等同。

s=0.0;d=1.0 ;k=0;do{ s=s+d;k++ ;d=1.0/(k*(k+1));}while( k<=n );printf(“%f\n”,s);4、下列是计算n!的值的程序,请填空:void main(){ int i,s,n;s=1;printf(“Enter n:”);scanf(“%d”,&n);for(i=1;i<=n;i++){ s*=i ; }printf(“s=%d”,s);}5、以下程序段的输出结果是无限循环,没有输出结果。

int k,n,m;n=10;m=1;k=1;while(k<=n) m*=2;printf(“%d\n”,m);6、continue语句的作用是结束本次循环执行,即跳过循环体中下面尚未执行的语句,接着进行下一次是否执行循环的判断。

相关文档
最新文档