上海电机学院c语言期末复习资料tc06
2000年1月25日 北京石油化工学院 §6-2 goto语句 例6.6 用∏/4≈1-1/3+1/5-1/7+…公式求∏的近视值,直到最后一项的绝对值小于10-6为止。 例6.7 求Fibonacci数列的前40个数。 例6.8 判断m是否素数。 判断m是否素数源程序如下: 例6.9 输出100~200之间的全部素数。 例6.10 译密码。(规则:将字母变成其后的第4个字母。A—E,Z—D.) 习题6.4 求n的阶乘n!(n!=1*2*……*n)。 #include main(){ char c; while((c=getchar()!=‘\n’) /*循环结束的终止值为\n*/ { if(c>=’a’ && c<=‘z’ || c>=’A’ && c<=‘Z’) /*判断输入是否为字母*/ { c = c + 4; if(c>=’Z’ && c<=‘Z’+4 || c>=‘z’) /*判断是否需回转字母*/ c = c - 26; } printf(“%c”,c); } } main() { int i, n; long fact=1; /*将累乘器fact初始化为1*/ printf(“Input n: ”); scanf(“%d”, &n); for(i=1; i<=n; i++) fact *= i;/*实现累乘*/ printf("%d ! = %ld\n", n, fact);} 程序运行情况如下:Input n: 5↙5 ! = 120 2000年1月25日 北京石油化工学院 2000年1月25日 北京石油化工学院 循环的基本概念 不同形式的循环控制 多重循环问题 当问题中需要多次使用同一过程时,用循环的方法来描述过程。 本章要点 第1节循环的基本概念 第2节goto语句 第3节while语句 第4节do-while语句 第5节for语句 第6节循环的嵌套 第7节循环的比较 第8节程序举例 §6-1 循环的基本概念 循环是有规律的重复操作。 将复杂问题分解为简单的操作过程,程序只对简单过程描述,这些过程的多次重复就可完成对问题的求解。 一、循环问题 什么是循环? 为什么要使用循环? 问题1:做99次加法 问题2:求学生平均成绩 分数相加后除以课数 问题3:找出数x中能同时被3和7整除的数 找数 C提供四种循环控制: if--goto 循环 while循环 for循环 do while循环 先判断后循环 (当型循环) 先循环后判断 (直到型循环) 特点: 难点: 循环结构有两种形式: 直到型循环 条件 N Y 循环体 先循环后判断 循环体 N 条件 Y 当型循环 先判断后循环 入口 出口 无条件转向语句标号所标识的语句执行 例6.1 使用goto语句实现求解1~100累计和的程序可以如下: main( ) { int i=1, sum=0; loop: if (i<=100) { sum =sum+ i; i++; goto loop; } printf(“sum=%d\n”, sum); } !不提倡使用GOTO语句 作用:无条件转向。 格式: goto 语句标号 循环体 N 条件 Y 条件 循环 次数 Y 循环体 ? Y 执行 1 Y 执行 3 Y 执行 2 N 结束 循环体 Y ? 循环体 Y ? ? N 3次 在循环入口处判断 当条件为真时执行循环 作用:实现当型循环结构 格式:while(表达式)语句 循环的执行过程: §6-3 while语句 例6.2 使用while语句实现求解1~100累计和。 main() { int i=1,sum=0; while(i<=100) { sum=sum+i; i++; } printf("sum=%d\n",sum); } 运行结果: 5050 i=1 Sum=0 i<=100 sum=sum+i i加1 Y 输出sum N §6-4 do-while语句 在循环出口处判断,当条件为真时继续执行循环,直到条件为假时为止。 条件 N Y 循环体 条件 循环