循环控制1.docx
- 文档编号:23723659
- 上传时间:2023-05-20
- 格式:DOCX
- 页数:15
- 大小:20.76KB
循环控制1.docx
《循环控制1.docx》由会员分享,可在线阅读,更多相关《循环控制1.docx(15页珍藏版)》请在冰豆网上搜索。
循环控制1
班级:
104031009
课程:
程序设计语言C1
章节:
循环控制本次作业考试时间:
2011-3-308:
00:
00本次作业截止时间:
单选题:
1、如果输入为:
ABCdef执行下面一段程序后,则输出为:
main()
{charch;
while((ch=getchar())!
='\n')
{if(ch>='A'&&ch<='Z')ch=ch+32;
elseif(ch>='a'&&ch<'z')ch=ch-32;
printf("%c",ch);
}
printf("\n");
}
A.ABCdef
B.abcDEF
C.abc
D.DEF
学生答案:
C
参考答案:
B
2、有以下程序
main()
{intx,i;
for(i=1;i<=50;i++)
{x=i;
if(x%2==0)
if(x%3==0)
if(x%7==0)
printf("%d",i);
}
}
输出结果是
A.28
B.27
C.42
D.41
学生答案:
B
参考答案:
C
3、定义如下变量:
intn=10
则下列循环的输出结果是______
while(n>7)
{
n--;
printf("%d\n",n);
}
A.1098
B.987
C.10987
D.9876
学生答案:
D
参考答案:
B
4、设i,j为int型变量,则下面for循环语句的执行结果是
for(I=10,j=0;j<2;j++)
{if(I%3)I--;
--I;
--I;
printf("%d",I)
}
A.63
B.74
C.62
D.73
学生答案:
B
参考答案:
B
5、以下程序的输出结果是
main()
{inti;
for(i=1;i<6;i++)
{if(i%2){printf("#");continue;}
printf("*");
}
printf("\n");
A.#*#*#
B.#####
C.*****
D.*#*#*
学生答案:
B
参考答案:
A
6、有以下程序
main()
{inti,j;
for(j=10;j<11;j++)
{for(i=9;i if(! (j%i))break; if(i=j-1)printf("%d",j); } } 输出结果是 A.11 B.10 C.9 D.1011 学生答案: C 参考答案: B 7、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为 main() {intv1=0,v2=0; charch; while((ch=getchar())! ='#') switch(ch) {case'a': case'h': default: v1++; case'0': v2++ } A.2,0 B.5,0 C.5,5 D.2,5 学生答案: C 参考答案: C 8、有以下程序 main() {inti,j; for(j=10;j<11;j++) {for(i=9;i if(! (j%i))break; if(i=j-1)printf("%d",j); } } 输出结果是 A.11 B.10 C.9 D.1011 学生答案: B 参考答案: B 9、以下程序的输出结果是 #include #include main() {charb1[8]="abcdefg",b2[8],*pb=b1+3; while(--pb>=b1)strcpy(b2,pb); printf("%d\n",strlen(b2)); } A.8 B.3 C.1 D.7 学生答案: C 参考答案: D 10、以下叙述正确的是 A.do-while语句构成的循环不能用其它语句构成的循环来代替。 B.do-while语句构成的循环只能用break语句退出。 C.用do-while语句构成的循环,在while后的表达式为非零时结束循环。 D.用do-while语句构成的循环,在while后的表达式为零时结束循环。 学生答案: B 参考答案: D 11、以下程序段______ x=-1; do {x=x*x;} while(! x); A.是死循环 B.循环执行二次 C.循环执行一次 D.有语法错误 学生答案: B 参考答案: C 12、若a,b均为int型变量,且a=20,则以下关于for循环语句的正确判断为 ____。 for(b=20;a! =b;++a,b++)printf("----\n"); ) A.循环体一次也不执行 B.循环体只执行一次 C.输出---- D.是死循环 学生答案: D 参考答案: A 13、以下程序的输出结果是 main() {inti,k,a[10],p[3]; k=5; for(i=0;i<10;i++)a[i]=i; for(i=0;i<3;i++)p[i]=a[i*(i+1)]; for(i=0;i<3;i++)k=k+p[i]*2; printf("%d\n",k); } A.20 B.21 C.22 D.23 学生答案: C 参考答案: B 14、定义如下变量: intn=10 则下列循环的输出结果是______ while(n>7) { n--; printf("%d\n",n); } A.1098 B.987 C.10987 D.9876 学生答案: D 参考答案: B 15、以下程序的输出结果是 main() {intx=10,y=10,i; for(i=0;x>8;y=++i) printf("%d%d",x--,y); } A.10192 B.9876 C.10990 D.101091 学生答案: C 参考答案: D 16、以下程序的输出结果是 main() {inti; for(i=1;i<6;i++) {if(i%2){printf("#");continue;} printf("*"); } printf("\n"); A.#*#*# B.##### C.***** D.*#*#* 学生答案: C 参考答案: A 17、有如下程序 main() {intx=23; do {printf("%d",x--);} while(! x); } 该程序的执行结果是 A.321 B.23 C.不输出任何内容 D.陷入死循环 学生答案: A 参考答案: B 18、以下程序的输出结果是 main() {intn=4; while(n--)printf("%d",--n); } A.20 B.31 C.321 D.210 学生答案: B 参考答案: A 19、以下叙述正确的是()。 A.do…while语句构成的循环不能用其他语句构成的循环代替 B.只有do…while语句构成的循环能用break语句退出 C.用do…while语句构成循环时,在while后的表达式为零时不一定结束循环 D.用do…while语句构成循环时,在while后的表达式为零时结束循环 学生答案: B 参考答案: D 20、有以下程序段: intk=0: while(k=1)k++0 while循环执行的次数是()。 A.无限次 B.有语法错,不能执行 C.一次也不执行 D.执行一次 学生答案: D 参考答案: A 多选题: 判断题: 填空题: 1、下面程序的功能是: 计算1到10之间奇数之和及偶数之和,请填空。 #include main() {inta,b,c,i; a=c=0; for(i=0;i<10;i+=2) {a+=i; ____________; c+=b; } printf("偶数之和=%d\n",a); printf("奇数之和=%d\n",c-11); } 学生答案: 参考答案: b=i+1 2、以下程序运行后的输出结果是_____________。 main() {chars[]="9876",*p; for(p=s;p } 学生答案: 参考答案: 9876876 3、 若输入字符串: abcde<回车>,则以下while循环体将执行___________次。 while((ch=getchar())=='e')printf("*"); 学生答案: 参考答案: 0 4、以下程序的输出结果是____________。 main() {ints,i; for(s=0,i=1;i<3;i++,s+=i) printf("%d\n",s); } 学生答案: 参考答案: 5 5、读入一个1到9的数a,求s=a+aa+aaa+…+aa…a(共20项)。 请对下述程 序填空,其中temp保存当前处理项aa…a。 (每个空分别以序号标注,如: (1) ____) #include main() { intI; longa,s,temp; s=temp=0; printf("Pleaseenteranumber(1-9)"); scanf( (1)____); s=a; for(I=1; (2)____;(3)____) 学生答案: 参考答案: "%lf",&a,i<20,i++,a+a*10,temp 6、main() {intsum=0,i; scanf("%d",&i); while(i<=10) {sum=sum+i; i++;} printf("%d",sum);} 输入1 输出______ 学生答案: 参考答案: 55 7、读以下程序说明和c程序填空 程序说明: 本程序判断m是否为素数。 程序: #include main() { intm,I,k; scanf("%d",__________ (1); k=_____ (2)_______; for(I=2;I<=k;I++) if(_____(3)_______)break; if(_____(4)_______)printf("%d是素数\n",m); elseprintf("%d不是 学生答案: 参考答案: (1)&m (2)sqrt(m)或m/2(3)m%I==0 (4)i>=k+1 8、读以下程序说明和c程序填空 程序说明: 用∏/4=1-1/3+1/5-1/7+…公式求证∏的近似值,直到最后一项的绝对值 小于10e-6为止。 程序: #include main() { ints; floatn,t,pi; t=1;pi=______ (1)______;n=1.0;s=1; while(_______ (2)________) {pi=pi+t 学生答案: 参考答案: 0,fabs(t)>=1e-6,n+2,-s,s/n 9、下列程序的功能是: 求100-200之间的不能被3整除的数输出,请填空: main() {intn; __________; {if(n%3==0) continue; printf("%d",n); }} 学生答案: 参考答案: for(n=100;n<=200;n++) 10、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为________. for(i=0,j=10;i<=j;i++,j--) k=i+j; 学生答案: 参考答案: 10 11、设有以下程序: main() {intn1,n2; scanf("%d",&n2); while(n2! =0) {n1=n2%10; n2=n2/10; printf("%d",n1); } } 程序运行后,如果从键盘上输入1298;则输出结果为_________。 学生答案: 参考答案: 8921 问答题: 程序设计题: 1、本程序演示打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。 例如: 153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 [程序分析] 利用for循环控制100-999个数,每个数分解出个位,十位,百位。 学生答案: 参考答案: main() { inti,j,k,n; printf("'waterflower'numberis: "); for(n=100;n<1000;n++) { i=n/100;/*分解出百位*/ j=n/10%10;/*分解出十位*/ k=n%10;/*分解出个位*/ if(i*100+j*10+k==i*i*i+j*j*j+k*k*k) printf("%-4d,",n); } } 2、本程序演示打印出如下图案(菱形) * *** ****** ******** ****** *** * [程序分析] 先把图形分成两部分来看待,前四行一个规律,后三行一个规律,利用双重for循环,第一层控制行,第二层控制列。 学生答案: 参考答案: main() { inti,j,k; for(i=0;i<=3;i++) { for(j=0;j<=2-i;j++) printf(""); for(k=0;k<=2*i;k++) printf("*"); printf("\n"); } for(i=0;i<=2;i++) { for(j=0;j<=i;j++) printf(""); for(k=0;k<=4-2*i;k++) printf("*") 3、把18元钱分成一元、二元和五元的纸币且纸币数共为10张的分法有多少种? (注: 在兑换中一元、二元、五元的纸币数可以为0)。 学生答案: 参考答案: main() {inta,b,c,sum; clrscr(); sum=0; for(a=0;a<=18;a++) {for(b=0;b<=9;b++) {for(c=0;c<2;c++) {if(a+b*2+c*5==18&&a+b+c=10) sum++; } } } printf("%d",sum); } 本题答案: 3 4、编程序求1~108所有整数的平方和并输出结果。 学生答案: 参考答案: main() {longinta,s=0; clrscr(); for(a=1;a<=108;a++) {s=s+a*a; } printf("%ld",s); }_ 本题答案: 425754 5、水仙花数是一个三位正整数,它等于它的各位数字的立方之和.例如: 153=1^3+5^3+3^3,所以153是水仙花数.试求有多少个水仙花数? 学生答案: 参考答案: main() {inti,j,k,n,m=0; clrscr(); for(n=100;n<=999;n++) {i=n/100; j=n/10-i*10; k=n%10; if(n==i*i*i+j*j*j+k*k*k) m++; } printf("%d",m); } 本题答案: 4
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 循环 控制
![提示](https://static.bdocx.com/images/bang_tan.gif)