第3章C语言的基本控制结构例析.pptVIP

  • 7
  • 0
  • 约1.76万字
  • 约 85页
  • 2017-04-16 发布于湖北
  • 举报
printf, scanf函数的使用; putchar, getchar函数; %的应用 if-else 顺序结构 选择结构 循环结构 main() { int num=0; while(num=2) { num++; printf(“%d\n”,num); } } main() { int i, m=1; for(i=5;i=1;i--) { m=(m+1)*2; printf(“m=%d\n”,m); } } 1、有一分数序列 2/1, 3/2, 5/3,8/5,13/8,21/13…… 求这个序列前20项的和。 2、求1到100之内的所有素数; 3、一个数恰好是它的平方数的右端,这个数称为同构数,例如:5、25等。找出1到1000内的所有同构数。 4、3025这个数居有独特的性质:3025=(30+25)2,求出满足条件的所有四位数。 5、验证哥德马赫猜想。 6、编程求5X+2Y+Z=50的所有非负整数解。 for语句使用说明 可以将for语句的形式改写成while语句的形式。 for语句中的表达式1、表达式2、表达式3每一个都可以省略,甚至三个表达式都可以同时省略,但是起分隔作用的“;”不能省略。 for(;;) printf(%d\n,i); 等价于: while(1) printf(%d\n,i); for(表达式1;表达式2;表达式3) 语句 改成while语句: 表达式1; while(表达式2) { 语句 表达式3; } for(i=1;i=100;i++) sum+=i; 改成while语句: i=1; while(i=100) { sum+=i; i++3; } 如果省略表达式1,表示不在for语句中给循环变量赋初值,为了能正常执行循环,应在for语句前给循环变量赋初值。 例如: fac=1.0; i=1; for(;i=n;i++) fac=fac*i; 例如: for(i=1,fac=1.0;;i++) //省略表达式2 { fac=fac*i; if(i==n) break; //终止循环 } for语句使用说明 如果省略表达式2,即不存在判断循环终止的条件,也就是认为表达式2恒为“真”,此时的循环是“死循环”。若要终止循环,应在循环体中设置终止循环的机制。 如果省略表达式3,即不在此位置进行循环变量的修改,则应在其它位置(如循环体中)设置使循环趋于结束的操作。 如果省略了表达式1和表达式3,只给出表达式2,则表达式1和表达式3的值应在相应的位置进行赋值。 例如: for(i=1,fac=1.0;i=n;) { fac=fac*i; i++; //此处改变循环变量的值 } 表达式2一般是关系表达式或逻辑表达式,也可以是数值表达式或字符表达式,只要其值非0,就执行循环体。 例如: for(sum=0; i=100; i++) sum+=i; 再例: for(i=1,fac=1.0 ; i=n; fac*=i, i++); 例如: for(i=0;(ch=getchar())!=\n;i+=c); for语句使用说明 表达式1可以是与循环变量无关的其它表达式;表达式3也可以是与修改循环变量无关的表达式。并且表达式1和表达式3可以是简单表达式,也可以是逗号表达式。 循环嵌套 一个循环语句的循环体内如果包含另一个完整的循环,这种循环之间的层次关系就构成了循环的嵌套。内嵌循环的循环体中还可以再嵌套循环,由此可以构成多层循环。C语言提供的三种循环语句之间可以实现相互嵌套。 编写程序,以三角的形式打印九九乘法表。 #include stdio.h int main() { int i,j; for(i=1;i10;i++) { for(j=1;j=i;j++) printf(%d*%d=%d\t,j,i,i*j); printf(\n); } return 0; } 循环嵌套举例 循环嵌套 循环嵌套说明 理论上循环嵌套的深度不受限制,但在实际应用中不提倡使用嵌套层次太多的循环结构。 使用嵌套结构时,要注意嵌套不能交叉。 嵌套的内外层循环不能使用同名的循环变量,而并列结构的循环允许使用同名的循环变量。 b

文档评论(0)

1亿VIP精品文档

相关文档