- 1、本文档共53页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
华科C语言教学课件第04章节的流程操纵
* i = 1; for(; ;){ printf(”i=%d s=%d\n”, i, 2 * i); i++; if (!(i 4)) break; } 下列程序段,功能上与例4.16等价,但是流程完全不同。 1 y 输出i,2*i i←i+1 i←1 i≮4 n y n i4 y n 输出i,2*i i←i+1 i←1 * 2.程序设计举例 例4.19 输入一批整数,以0为结束。输出其中最大的一个值。 #includestdio.h void main(void){ int x, m; printf(”input integer end of 0:\n”); scanf(”%d”, x); for(m = x ; x != 0; ){ scanf(”%d”, x); if (max x) m = x; } printf(”max=%d\n”, m); } Input: 整型x Work Output: 整型m x≠0 y 输入x 输入x m←x x>m n m←x y n begin end 输出m * 例4.20 求n! (终端输入n)。 #includestdio.h void main(void){ int n, i; unsigned long f; printf(”input n:\n”); scanf(”%d”, n); for (f = 1, i = 1; i = n; i++) f *= i; printf(”%d!=%lu\n”, n, f); } Input: 整型n Work:整型i Output: 整型f i≤n f←f*i 输入n f←1 i←i+1 y n begin end i←1 输出f * do 语句的一般形式为: do 语句 while (表达式) ; 其中,表达式是任意表达式,称为循环条件;语句是任意可执行语句,称为循环体。 执行流程如下。 4.8 do while语句 1.do while 语句的一般形式 do while 语句完全可以由while语句替代! do while语句的循环次数范围≥1! 目录 * 2.程序设计举例 例4.21 把输入的整数按反方向输出。例如,输入是12345,输出是54321 。 x≠0 输入x d←x%10 y n begin end x←x/10 输出\n 输出d #includestdio.h void main(void){ int x, digit; printf(”input an integer:\n”); scanf(”%d”, x); do { digit = x % 10; printf(”%d”, digit); x /= 10; }while (x != 0); printf(”\n”); } * 例4.22 计算 ,直到最后一项的绝对值小于10-7为止。 分析:sin(x)的求和公式之通项公式如下: (n≥1) 得递推式如下: an = x - x2 an-1 (2n-2)(2n-1) (n>1) (n=1) 计算结束条件如下: |an|10-7 提示:上述公式中x为弧度值,算法输入为角度值。 * #include stdio.h #include math.h #define PI 3.14159 #define EPS 1e-7 void main(void){ int n; double x, an, sum; printf(”input a angle:\n”); scanf(”%lf”, x); x = x * PI / 180; sum = 0; an = x; n = 1; do { sum += an; ++n; an *= (-x * x)/((2 * n - 2) * (2 * n - 1)); } while(fabs(an) = EPS); printf(”sin(%.4f)=%.4f\n”, x, sum
文档评论(0)