main() {int i;
for(i=1;i<=5;i++)
{if (i%2) printf(“*”); else continue; printf(“#”); }
printf(“$\\n”); }
5.# include “stdio.h” main()
{int i,j,k;
for (i=1;i<=6;i++)
{for (j=1;j<=20-2*i;j++) printf(“ “);
for (k=1;k<=i;k++) printf(“M”,I); printf(“\\n”); }}
6.下列程序段执行多少次?
x= -1
do{x=x*x; }while (!x); 7.# include “stdio.h” # define N 6 main()
{char c[N]; int i=0;
for ( ;i 程序运行时输入以下三行,每行从第一列开始: a 程序输出结果什么? 8.运行下面程序段输出什么? main( ) { int i=0; while (i<=5) { ++i; if ( i = = 3 ) continue ; printf(\ } 9.运行下面程序段输出什么? main( ) { int i= 0; while ( i <= 5) { ++i; if ( i = = 3 ) break ; printf(\ } 10.按下ESC后结果是什么? # include while (c!=27) {c=getch(); switch (c) { case 'A': putchar(c); break; case 'B': putchar(c); break; default: puts(\ } } } 11.main() {int i, j, k; printf(\ for (i=0; i<2; i++) for(j=0; j<2; j++) for(k=0; k<2; k++) printf(%d %d %d\\n\ } 12.main() { int i,j; for (j=10;j<11;j) {for (i=9;i {int x,i; for(i=1;i<=50;i) { x=i; if (++x%2= =0) if (x%3= =0) if (x%7= =0) printf(\ } } 14.假定a和b为int型变量,则执行以下语句后b的值为什么? a=1;b=10; do { b-=a; a++; } while (b--<0); 15.设j为int型变量,则下面for循环语句的执行结果是什么? for (j=10;j>3;j--) {if (j%3) j--; --j;--j; printf(\ } 16.设x和y均为int型变量,则执行下面的循环后,y值为什么? for (y=1,x=1;y<=50;y++) {if (x>=10) break; if (x%2==1) {x+=5;continue;} x-=3; } 17.运行以下程序后,如果从键盘上输入65 14<回车>,则输出结果为什么? main ( ) {int m,n; printf(\,n:\,&m,&n\ while (m!=n) { while (m>n) m-=n; while (n>m) n-=m; } printf(\,m); } 18.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); } 19.main( ) {int m=5; if(m++>5) printf(\,m); else printf(\,m--); } 20.main( ) { int y=10; do {y--; } while (--y); printf(\,y--); } 四、程序设计题 1、 请完成以下功能用二分法求解满足条件f(a)*f(b)<0的方程在[a,b]区间内的1个实 根。在区间[2,5]内,限差为0.00001用对分法求解方程x*x-5*sin(x)-4=0的根。 2、 在6至5000内找出所有的亲密数对,并将每对亲密数用语句说明:若a、b为1对亲 密数,则a的因子和等于b、b的因子和等于a、且a不等于b。 如:220、284是1对亲密数,284、220也是1对亲密数 3、 计算表达式1+2!+3!+...+10!的值 4、 数列第1项为81,此后各项均为它前1项的平方根,统计该数列前30项之和 5、 1分、2分、5分硬币组成1块钱,有多少种组合,每一种组合是什么 6、 求出200到300之间所有各位数字加和为12乘积为42的所有数字。 第四部分 循环 参考答案: 一、单项选择 1.A 2.D 3.D 4.A 5.C 6.A 7.A 8.A 9.B 10.C 11.B 12.A 13.C 二、填空 1. x=-1,y=21 2. 1,2,3,4,5,6,7,8,8 3. 0 2 4 6 8 10 4. 0,0,1,1,2,**** 5 . 1,0,0 6 . 54321 7 . 625,49 8. 17 9. Q ***M ***N N M ***N 10. &13&10&7&4&1%% 11. (1) int x,y; scanf(“%d%d”,&x,&y); x*=1.8;y/=3; while(y-x>=10) { x*=1.8; y/=3; } (2) int x,y; scanf(“%d%d”,&x,&y); for(x*=1.8,y/=3; y-x>10; x*=1.8,y/=3); 12. 1 13. b = i + 1 14. i<= 9 j%3 != 0 三、阅读程序,写出运行结果,答案: 1.s=7 2. * ** *** **** 3.sum=33 4. *#*#*#$ 5. 1 2 2 3 3 3 4 4 4 4 5 5 5 5 5 6 6 6 6 6 6 6. 1 7. a b cd 8. i=1 i=2 i=4 i=5 i=6 9. i=1 i=2 10.结束 11. i j k 0 0 0 0 0 1 0 1 0 0 1 1 1 0 0 1 0 1 1 1 0 1 1 1 12. 10 13. 41 14. 8 15. 74 16. 6 17. m=1 18. x=8 19. 6 20. 0 四、程序设计题 1. #include \ main() {float x0,x1=2,x2=5,fx0,fx1,fx2; do {x0=(x1+x2)/2; fx0=2*x0*x0*x0-4*x0*x0+3*x0-6; if((fx0*fx1)<0) {x2=x0; fx2=fx0; }