资源预览内容
第1页 / 共50页
第2页 / 共50页
第3页 / 共50页
第4页 / 共50页
第5页 / 共50页
第6页 / 共50页
第7页 / 共50页
第8页 / 共50页
第9页 / 共50页
第10页 / 共50页
亲,该文档总共50页,到这儿已超出免费预览范围,如果喜欢就下载吧!
资源描述
C 语言程序设计第三章 程序控制结构 集美大学计算机学院1本章主要内容v程序设计方法简述v选择结构程序设计if else 语句 switch语句v循环结构程序设计四种循环语句v常用算法枚举法(穷举法) 归纳法(递推法) 2教学目的和要求u掌握算法的基本概念与特征熟练掌握三种基本结构:顺序结构分支结构ifelse和Switch 语句循环结构:for、 while、 do-while掌握 break 与continue的不同作用掌握常用算法:枚举法和归纳法重点与难点C语言的四种循环语句break 与continue的基本作用常用算法思想3一、程序设计方法简述1、计算机处理问题的过程l【例一】让某学生解方程 ax2+bx+c=0 P72 例3.5 求解过程:分析问题 这是一个一元二次方程(代数问题,须中学代数知识) 确定处理方案 用求根公式 确定解题步骤 确定a、b、c的值求出b2 -4ac的值如果 b2 -4ac0(双实根)X1=X2=如果 b2 -4ac=0(单实根)X1=X2=如果 b2 -4ac=a if (x=2) if (10”); y=x-1;8 8二、选择结构程序设计 2、switch语句switch 语句的一般形式: switch(e) case c1:语句组1;case c2:语句组2;case cn:语句组n;default:语句组n+1; /*可缺省*/ /*e 表达式(整型、字符型或枚举型)*/c1cn 常量(整数、字符、 常量表达式如3+4,不 含变量或函数)default 不是c1cn的情况 (位置不一定在最后)。9 9二、选择结构程序设计2、switch语句 示例 main() char s;scanf(“%c”,switch(s) case A : printf(“85100n”);case B : printf(“7084n”);case C : printf(“6069n”);case D : printf(“=10000) goto end;sum+=n;+n;goto loop; end: printf(“n = %dn”,n); 直到型当 型1818三、循环结构程序设计 2、while语句循环结构【例三】 main() int n=0,sum=0;while (sum0); printf(“n”); /*取得num的个位数*/ /*输出num的个位数*/*直到num/10为0*/ 结果:65421 将各位数字反序显示出来2121三、循环结构程序设计 4、for语句循环结构l一般形式for (表达式1;条件表达式;表 达式3)循环语句(组); l用于构成计数型当型循环: 先判断后执行/条件为真继续 循环,直到条件为假时结束循 环。 l表达式1: 整个循环中只执行 1次,常用来对循环变量设置 初值 l条件表达式(表达式2): 其 值为真(非0)时继续执行循 环语句(组),否则结束循环 l表达式3: 常用于循环变量值 的更新(循环体的一部分每次 循环语句组执行完后执行一次 )【例六例六】 求求 i =1+2+3+4i =1+2+3+4+99+100+99+100 (i=1(i=1100)100)main()main() intint i , s=0; i , s=0;for (for (i=1;i50) break; while (a=14); printf(“a=%d,y=%dn“,a,y); 结果:a=16,y=60 变量跟踪a y10 012 1214+2 16+12=2814+2 16+28=4414+2 16+44=60变量跟踪 分析法2323三、循环结构程序设计 5、其他循环控制结构lbreak 结束循环在switch中退出switch结 构;在循环中结束循环。 lcontinue 结束本次循 环循环“短路” (跳过循环体 后面的语句,开始下一轮循 环 )。 lgoto 跳转跳到循环体外指定标号 处。【注意】goto 语句只能从循环内 向外跳转 ,反之不可!求以下程序段执行后x和i的值。 int i,x; for ( i=1,x=1;i=10) break;if (x%2=1) x+=5;continue; x-=3; 结果:x的值为10,i的值为6 变量跟踪i x1 162 633 384 855 5106 2424三、循环结构程序设计 5、其他循环控制结构lbreak 结束循环在switch中退出switch结 构;在循环中结束循环。 lcontinue 结束本次循 环循环“短路” (跳过循环体 后面的语句,开始下一轮循 环 )。 lgoto 跳转跳到循环体外指定标号 处。【注意】goto 语句只能从循环内 向外跳转 ,反之不可!main() int i=1;while (i main(); int i ; float s=0; for (i=1;i main() int i ,k=1; float s=0;for (i=1;i main() int m,k,i;clrscr();printf(“x=“);scanf(“%d“,for(i=2;im-1;i+)if (m%i=0)printf(“%d is not a prime numbern“,m);exit(0);printf(“i=%d,%d is a prime numbern“,i,m);把im-1 改为isqrt(m-1) 比较i的值4747第三章 作业一、编程题 【要求】所有编程题须上机调试通过。源程序要求按缩进形式书写,代码端正整齐。 1、编写一个程序,计算-32768+32767之间任意整数 (由键盘输入)中各位奇数的平方和。 2、编写一个程序,计算给定n时符合下式要求S的值。n 由键盘输入(n为不大于10的整数)。S=(n (6(5+(4(3+(12) 3、设有一四位数abcd=(ab+cd)2,编写一个程序,求a 、b、c、d。(如2025,3025等) 4、鸡兔问题:鸡兔共30只,脚共有90个。编写一个程 序,求鸡、兔各多少只。4848第三章 作业 一、编程题5、编写一个程序,求S值(n由键盘输入):(程序检验参考:x=6.66,n=8时,s=40.955;x=6.66,n=15时,s=- 1.511) 6、编写一个程序,求前 n 项之和S值,其中 n1 ,x 0 。(n由键盘输入):1 2x 3 5x 8 13xS = - + - + - + . 2x 3 5x 8 13x 21 (程序检验参考:x=6.66,n=8时,s= -16.492; x=6.66,n=15时,s=-28.469)4949第三章 作业一、编程题 7、编写一个程序,输出3100之间的全部素数5050
网站客服QQ:2055934822
金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号