实验2循环结构程序设计解析Word下载.docx
- 文档编号:16697678
- 上传时间:2022-11-25
- 格式:DOCX
- 页数:10
- 大小:18KB
实验2循环结构程序设计解析Word下载.docx
《实验2循环结构程序设计解析Word下载.docx》由会员分享,可在线阅读,更多相关《实验2循环结构程序设计解析Word下载.docx(10页珍藏版)》请在冰豆网上搜索。
while(l)
printf(H请输入一个整数:
”);
scanf(”%d”,&
m);
if(m<
0)
break;
=100)
counter++;
printf("
\nH);
}
符合要求的整数个数为:
%d\n”,counter);
参考程序二
/*通过进行询问的方式决定是否继续输入下一个数据的程序*/
#include<
stdio.h>
intmain()
intm,counter=0;
charask;
printf(H请输入一个整数:
M);
scanf("
%d"
&
getchar();
if(m>
=0&
&
m<
=100)
printf(“继续输入下一个数据?
(Y/N)”);
ask=getchar();
if(ask!
=y&
ask!
二Y)
printfC'
Xn"
);
)
%d\n"
counter);
■程序调试
这里只对”参考程序一”的调试数据进行设计。
该程序输入数据时,应考虑多种数据组合,对每一组数据察看并分析结果。
例如:
(1)•输入的一组数据之间全部以空格分隔,只有最后一个数为负数,以
回车键结束。
如:
16357-10
(2)•输入的一组数据之间全部以空格分隔,在负数之后又有正数数据,最后一个数不为负数,以回车键结束。
16357-109617
⑶•输入的一组数据之间全部以空格分隔,输入数据中有多个负数,以回车键结束。
16357-109617-877
⑷•输入的数据中有大于100的整数。
16357-1096117-8726766
(5).数据之间既用空格分隔,也用回车键分隔。
763537622717
9667
9617-8771966982-1631
(6)•每输入一个数据后均按回车键。
(7)・输入的第一个数据即为负数。
(8)•在输入的数据中使用数值很大的整数。
17667789876517899-10987
■在上面的"
参考程序一”中,使用了常数T作为循环控制的条件,这是常用的循环控制方式。
请修改上面的程序,不使用常数循环条件,仍然使用while语句实现数据统计问题。
2.编写并调试程序”使用do-while循环控制语句实现数据统计问题。
intmain()
intm,counter二0;
do
请输入一个整数:
"
f&
=100)
counter++;
printf(-\n"
}while(l);
%d\n"
return0;
■调试指导
3.编写并调试程序”使用for循环控制语句实现上面的数据统计问题。
/*用for循环控制语句实现的数据统计问题程序V
#include<
intm,counter;
for(counter=0;
l;
printf(n请输入一个整数:
J;
scanf(u%d"
\n"
注意:
for循环控制语句的一般格式通常有三个表达式,本参考程序中使用的
for循环控制语句在格式上只有两个表达式。
请读者注意学习这种用法。
■请修改程序,使用完整格式的for循环控制语句实现上面的数据统计问
题。
(1)・本实验内容是求解阶乘问题。
(2)•求n!
用一个循环即可实现。
⑶•求1+2!
+・・・+n!
的值,需要在求n!
程序之外增加一个夕卜重循
环。
/*求1+2!
+3!
+…+n!
程序*/
longints=l,t;
int
n="
%d”,&
n);
for(i=2;
i<
=n;
i++)
for(t=l,j=l;
j<
=i;
j++)
t*=j;
printf(Hs=%ld\n'
\s);
(1)•输入一个不大的正整数,分析程序执行结果。
(2)・输入一个零或者负数,分析程序执行结果。
(3)•输入一个很大的正整数,分析程序执行结果。
(4)•当程序结果不符合要求时,修改程序,直到对彳刊可输入数据都能输
正确的执行结果,或者给出一个明确的提示信息。
例如,当输入数据非法时,给出一个恰当的提示信息。
四、预习题(选择题)
1、下面程序段intk=2;
while(k=0){printf(w%d,\k);
k—;
则下面描述中正确的是
A.while循环执行10次
B.循环是无限循环
C.循环题语句一次也不执行
D.循环体语句执行一次
2、以下程序段的循环次数是
for(i=2;
i==0;
)printf(H%dH,i-);
A.无限次
B.0次
C.1次
D.2次
3、下面程序的输出结果是
甘include"
stdafx・h〃
int_tmain(intargc,_TCHAR*argvl])
charc='
A'
;
intk=0;
do{
switch
(C++)
case
'
A'
:
k++;
break;
•B*:
C'
:
k+=2;
•D*:
k%=2;
continue
E'
k*=10;
default:
k/=3;
k++;
}while(c<
?
G'
printf
return
(〃k=%dSk);
0;
A.
k二3
B.
k=4
C.
k二2
D.
k二0
4、下面程序的输出结果是int_tmain(intargc,_TCHAR*argv[]){
intx=9;
for(;
x>
0;
x--){if(x%3=0){printf(d”,--x);
continue;
A.741
B.852
C.963
D.875421
5、下述程序段的运行结果是int_tmain(intargc,_TCHAR*argvU){
intd二l,b二2,c=3,t;
while(a<
b<
c){
t=a;
a二b;
b=t;
c——;
printfC%d,%d,%d"
a,b,c);
A.1,2,0
B.2,1,0
C.1,2,1
D.乙1,1
6、下面程序的功能是从键盘输入一组字符z从中统计大写字母和小写字母的个
数,选择填空。
main()
{intm=0zn=0;
charc;
while((【】)!
W)
if(c>
='
A*&
c<
Z'
)m++;
=a'
&
z'
)n++;
A.c=getchar()
B.getchar()
C.c==getchar()
D.scanf(“%c"
c)
7、下述语句执行后z变量k的值是_
intk=l;
while(k++<
10);
A.10
B.11
C.9
D.无限循环,值不定
8、下面程序的输出结果是
int_tmain(intargc,_TCHAR*argvU){
intk二0,m=0,i,j;
for(i二0;
i<
2;
i++){
for(j=0;
j<
3;
j++)k++;
k-=j;
m二i+j;
printfCk=%d,nF%d"
k,m);
A.k=0,m=3
B.k=0,m=5
C.k=l,m=3
b.二5
9、下面for循环语句
inti,k;
for(i=0,k=-l;
k=l;
i++,k++)
***0);
A.判断循环结束的条件非法
B.是无限循环
C.只循环一次
D.—次也不循环
10、执行语句for(i=l;
i++<
4;
后变量i的值是
A.3
B.4
C.5
D.不定
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 实验 循环 结构 程序设计 解析
![提示](https://static.bdocx.com/images/bang_tan.gif)