




已阅读5页,还剩42页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第三章 三种基本结构的程序设计 l程序基本结构及C程序语句分类 l顺序结构程序设计 l选择结构程序设计 l循环结构程序设计 l典型例题精讲 C语言与程序设计 第三章 三种基本结构的程序设计 C语句 和其它高级语级语 言一样样,C语语言的语语句用来向计计算 机系统发统发 出操作指令,一个语语句经编译经编译 后产产生若干 条机器指令。一个实际实际 的程序应应当包含若干个语语句。 C语语句都是用来完成一定操作任务务的,声明部分的内 容不应应称为语为语 句。 考虑虑:int a;和 int a=1; 前者不是一个C语语句,它不产产生机器操作,而只是对对 变变量定义义。 后者是一个C语语句,为为表达式语语句(a=1为赋值为赋值 表达式 ) 2 C语言与程序设计 第三章 三种基本结构的程序设计 C语句分类 表达式语语句:由一个表达式加上一个分号构成一个 语语句,最典型的是赋值语赋值语 句。如: i+; k=k+2; m=n=j=3; a=1; x+y;也是,但无实际实际 意义义。 函数调调用语语句:由一次函数调调用加一个分号构成一 个语语句,例如:printf(“s=%dn”,s); 空语语句:只有一个分号的语语句,什么也不做,有时时 用来做被转转向点,或循环语环语 句中的循环环体。 复合语语句:可以用 把一些语语句括起来成为为复合语语 句,又称分程序。在语语法上相当于一条语语句。 注:后面没有分号(;) 3 C语言与程序设计 第三章 三种基本结构的程序设计 C语句分类 控制语语句,完成一定的控制功能(9种) if( ) else (条件语语句) for( ) (循环语环语 句) while( ) (循环语环语 句) dowhile( ) (循环语环语 句) continue (结结束本次循环语环语 句) break (中止执执行switch语语句或循环语环语 句 ) switch (多分支选择语选择语 句) goto (无条件转转向语语句) return (从函数返回语语句) 4 C语言与程序设计 第三章 三种基本结构的程序设计 C语句 5 C语言与程序设计 第三章 三种基本结构的程序设计 程序的三种基本结构 结结构化程序:由三种基本结结构(顺顺序、条件、循环环) 反复嵌套构成的程序。 结结构化程序设计设计 基本思想:(函数) “自顶顶向下、逐步求精、模块块化” 6 第三章 三种基本结构的程序设计 l程序基本结构及C程序语句分类 l顺序结构程序设计 l选择结构程序设计 l循环结构程序设计 l典型例题精讲 C语言与程序设计 第三章 三种基本结构的程序设计 顺序结构程序设计 赋值语赋值语 句:变变量表达式; if (a=b)0) 不能写成 if (a=b;)0) x=a; x=a; int a=b=c=10;正确? 是错误错误 的,应该应该 写成: int a,b,b; a=b=c=10; 或者:int a=10,b=10,c=10; 顺顺序结结构就是一个操作执执行完成后就接着执执行紧紧随 其后的下一操作。 8 与赋值表达式有何区别 C语言与程序设计 第三章 三种基本结构的程序设计 顺序结构例:输入三角形的三条边长,求其面积 #include #include void main() float a,b,c,p,s; printf(“Input a,b,c=“); scanf(“%f,%f,%f“, p=1.0/2*(a+b+c); s=sqrt(p*(p-a)*(p-b)*(p-c); printf(“s=%6.2fn“,s); 9 面积公式: 其中 注意:sqrt( )是求平方根的函数。 必须把头文件“math.h”包含到程 序中来。凡是在程序中用到数学 函数库中的函数,都应当包含 math.h头文件。 运行结结果: Input a,b,c=3,4,5 s= 6.00 C语言与程序设计 第三章 三种基本结构的程序设计 顺序结构例:输入两个整数,交换其值。 #include void main() int a,b,t; printf(“Input a,b=“); scanf(“%d,%d“, printf(“old data: a=%d,b=%dn“,a,b); t=a;a=b;b=t printf(“new data: a=%d,b=%dn“,a,b); 10 运行结结果: Input a,b=5,10 old data: a=5,b=10 new data: a=10,b=5 如果是你,如何交换 第三章 三种基本结构的程序设计 l程序基本结构及C程序语句分类 l顺序结构程序设计 l选择结构程序设计 l循环结构程序设计 l典型例题精讲 C语言与程序设计 第三章 三种基本结构的程序设计 选择结构程序设计if语句 12 if语语句是用来判定所给给定的条件是否满满足,根据判 定的结结果决定执执行给给出的两种操作之一。 lif(表达式1) 语语句1 else if (表达式2) 语语句2 else if (表达式3) 语语句3 else if (表达式m) 语语句m else 语语句n 表达式 语语句 假(0) 真(非0) lif(表达式) 语语句 lif(表达式) 语语句1 else 语语句2 表达式 真 语句1语句2 假 C语言与程序设计 第三章 三种基本结构的程序设计 if语句-例1:输入两个整数,由大到小输出 #include void main() int a,b; printf(“Input a,b=“); scanf(“%d,%d“, if(a void main() char c; printf(“Input a character:“); c=getchar(); if(c=0 scanf(“%d”, if(x0) y=1; else y=0; printf(“x=%d,y=%dn”,x,y) ; Y=1 Y=0Y=-1 X=0 X0 Y N NY 在if语语句中又包含一个或多个if语语句称为为if语语句的嵌套。 一般形式如下: if ( ) if ( ) 语语句1 else 语语句2 else if ( ) 语语句3 else 语语句4 内嵌if 内嵌if 配对关系:else总是与 它上面的最近的if配对 例:表示一个函数: if(x0) y=1; else y=0; 如何改 C语言与程序设计 第三章 三种基本结构的程序设计 条件运算符:exp1 ? exp2 : exp3 若if语语句中,在表达式为为“真”和“假”时时,且都只执执行 一个赋值语赋值语 句给给同一个变变量赋值时赋值时 ,可以用简单简单 的 条件运算符来处处理。 条件运算符要求有3个操作对对象,称三目运算符,它 是C语语言中唯一的一个三目运算符。 条件表达式的一般形式为为: 表达式1 ? 表达式2 : 表达式3 它的执执行过过程如右图图: 16 表达式1 条件表达式 取表达式2的值 条件表达式 取表达式3的值 真假 ch若为为大写转为转为 小写,否则则不变变: ch=(ch=A while(i void main() /程序1 int x=2; while(x-) printf(“%dn“,x); #include void main() /程序4 int x=0; while(x-) x-; printf(“%dn“,x); #include void main() /程序3 int x=2; while(x) printf(“%dn“,x); #include void main() /程序2 int x=2; while(x-); printf(“%dn“,x); 1 0 -1 (死循环) 2 2 -1 C语言与程序设计 第三章 三种基本结构的程序设计 dowhile语句 一般形式: do 语语句 while(表达式); 执执行过过程:先执执行循环环体中的语语句,然后再判断表达 式是否为为真, 如果为为真则继续则继续 循环环;如果为为假, 则终则终 止循环环。(do-while循环环至少要执执行一次循环语环语 句) 24 这里语句要理解为一条 语句(包括复合语句和空 语句) 例:求自然对对数e的近似值值。其中: int n=1,i=1; float e=1 do n*=i; e+=1./n; i+; while(1./n=1e-7); C语言与程序设计 第三章 三种基本结构的程序设计 while语句和dowhile语句的对比 例:输输入一个自然数,求从该该自然数到10的和。 25 main() int sum=0,i; scanf(“%d”, while(i10) break; int i=0; for(;) if(i10) break; printf(“%d“,i); i+; 这样写正确吗 还有更多吗,请大家思 考 C语言与程序设计 第三章 三种基本结构的程序设计 goto语句 是一种无条件转转移语语句, 使用格式为为: goto 标号;/在程序的某处有:标号:语句 其中标标号是一个有效的标识标识 符,这这个标识标识 符加上一个 “:”一起出现现在函数内某处处, 执执行goto语语句后,程序将跳 转转到该标该标 号处处并执执行其后的语语句。 l标标号必须须与goto语语句处处于同一个函数中,但可以不在 一个循环层环层 中。 l通常goto语语句与if条件语语句连连用, 当满满足某一条件时时, 程序跳到标标号处处运行。 lgoto语语句通常不用,主要因为为它将使程序层层次不清,且 不易读读,但在多层层嵌套退出时时, 用goto语语句则则比较较合理 29 C语言与程序设计 第三章 三种基本结构的程序设计 用goto构成循环:求1+2+.+100的值 30 #include main() int i,sum=0; i=1; loop: if(i main() int i,sum=0; i=1; loop: sum+=i; i+; if(i100) goto loop;; printf(“%d“,sum); C语言与程序设计 第三章 三种基本结构的程序设计 break语句和continue语句 break语语句 功能:在循环语环语 句和switch语语句中,终终止并跳出循环环 体 说说明: 只能终终止并跳出最近一层层的结结构 只能用于循环语环语 句和switch语语句 continue语语句 功能:结结束本次循环环,跳过过循环环体中尚未执执行的语语 句,进进行下一次是否执执行循环环体的判断 说说明:仅仅用于循环语环语 句中 31 C语言与程序设计 第三章 三种基本结构的程序设计 程序分析: 32 #include/1 void main() int i,x=0; for(i=0;i/3 void main() int i,x=0; for(i=0;i/2 void main() int i,x=0; for(i=0;i void main() int n=0; float h=0.5; while(1) n+; h=2*h; if(h=8848000) break; printf(“n=%dn“,n); for(; h=h*2,n+) if(h void main() int i,j; for(i=1;i void main() int i=1,j; while(iy); (2)if(xy) m=x (3)if(xy) ; else m=y; else m=y; else m=y; (4)if(x=1) m=x; (5)if(xy) else m=y; else m=y; 40 C语言与程序设计 第三章 三种基本结构的程序设计 例2:修改程序 计计算 1+1/1*2+1/2*3+1/n*(n+1)的值值,最后一项值项值 小于 0.001 41 #include void main() int m=n=1; float s=1; while(1/m=.001 是n! ?:m=n*(n-1) 整除?:1./m 格式错误:f C语言与程序设计 第三章 三种基本结构的程序设计 例3:求解一元二次议程:ax2+bx+c=0(教材P96) 另外一种分法: a=0 b=0 c=0:方程无穷穷解; c0:方程无解; b0:有一个解-c/b; a0 b2-4ac=0,方程有两个相等的实实数根; b2-4ac0,方程有两个不等的实实数根; b2-4ac void main() int i,f1,f2; f1=1; f2=1; for(i=1;i #include main() int m,i,k; scanf(“%d“, k=sqrt(m); for(i=2;i=k+1) printf(“%d is a prime numbern“,m); else printf(“%d is not a prime numbern“,m); 45 素数(质质数):大于1,并且
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025租房补贴借款合同书
- 2025租赁合同及注意事项
- 离职解聘协议合同范本
- 翻越浪浪山开启新学期-以《浪浪山的小妖怪》为引2025年秋季开学第一课主题教育班会-2025-2026学年高中主题班会
- 2025劳动合同未到期调动需支付合同违约金
- 停车雨棚建设合同范本
- 商场名酒搭售合同范本
- 广告的设计合同范本
- 冬建工程合同范本
- 设备安装单价合同范本
- 2025年中学教师资格考试《综合素质》核心考点特训题库(含答案)之教育管理论述题
- 医院培训课件:《中医病历书写基本规范及要点》
- 高一上学期《早读是需要激情的!》主题班会课件
- 龙门吊警示教育
- 2024届高三特尖班及尖子班语文教学经验交流与反思
- 班主任培训:家校共育
- 《数据安全法》考试参考题库100题(含答案)
- 档案管理服务承诺书
- 胶原蛋白对皮肤的重要性
- 2025年绵阳燃气集团有限公司招聘笔试参考题库含答案解析
- 《石膏的护理》课件
评论
0/150
提交评论