电子文档交易市场
安卓APP | ios版本
电子文档交易市场
安卓APP | ios版本

ch3.三种基本结构的程序设计

47页
  • 卖家[上传人]:san****019
  • 文档编号:70807557
  • 上传时间:2019-01-18
  • 文档格式:PPT
  • 文档大小:1.87MB
  • / 47 举报 版权申诉 马上下载
  • 文本预览
  • 下载提示
  • 常见问题
    • 1、,C语句,和其它高级语言一样,C语言的语句用来向计算机系统发出操作指令,一个语句经编译后产生若干条机器指令。一个实际的程序应当包含若干个语句。C语句都是用来完成一定操作任务的,声明部分的内容不应称为语句。 考虑:int a;和 int a=1; 前者不是一个C语句,它不产生机器操作,而只是对变量定义。 后者是一个C语句,为表达式语句(a=1为赋值表达式),2,C语句分类,表达式语句:由一个表达式加上一个分号构成一个语句,最典型的是赋值语句。如: i+; k=k+2; m=n=j=3; a=1; x+y;也是,但无实际意义。 函数调用语句:由一次函数调用加一个分号构成一个语句,例如:printf(“s=%dn”,s); 空语句:只有一个分号的语句,什么也不做,有时用来做被转向点,或循环语句中的循环体。 复合语句:可以用 把一些语句括起来成为复合语句,又称分程序。在语法上相当于一条语句。 注:后面没有分号(;),3,C语句分类,控制语句,完成一定的控制功能(9种) if( ) else (条件语句) for( ) (循环语句) while( ) (循环语句) dowhile( ) (循环语

      2、句) continue (结束本次循环语句) break (中止执行switch语句或循环语句) switch (多分支选择语句) goto (无条件转向语句) return (从函数返回语句),4,C语句,5,程序的三种基本结构,结构化程序:由三种基本结构(顺序、条件、循环)反复嵌套构成的程序。 结构化程序设计基本思想:(函数) “自顶向下、逐步求精、模块化”,6,顺序结构程序设计,赋值语句:变量表达式; 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,与赋值表达式有何区别,顺序结构例:输入三角形的三条边长,求其面积,#include #include void main() float a,b,c,p,s; printf(“Input a,b,c=“); scanf(“%f,%f,%f“, ,9,面积公式: 其中,注意:sqrt( )是求平方根的

      3、函数。必须把头文件“math.h”包含到程序中来。凡是在程序中用到数学函数库中的函数,都应当包含math.h头文件。,运行结果: Input a,b,c=3,4,5 s= 6.00,顺序结构例:输入两个整数,交换其值。,#include void main() int a,b,t; printf(“Input a,b=“); scanf(“%d,%d“, ,10,运行结果: Input a,b=5,10 old data: a=5,b=10 new data: a=10,b=5,如果是你,如何交换,选择结构程序设计if语句,12,if语句是用来判定所给定的条件是否满足,根据判定的结果决定执行给出的两种操作之一。,if(表达式) 语句,if(表达式) 语句1 else 语句2,if语句-例1:输入两个整数,由大到小输出,#include void main() int a,b; printf(“Input a,b=“); scanf(“%d,%d“, ,13,if(ab) printf(“%d,%dn“,b,a); if(a=b) printf(“%d,%dn“,b,a);,int t=

      4、0; if(ab) t=a;a=b;b=t; printf(“%d,%dn“,a,b);,运行结果: Input a,b=5,10 10,5,这部分还可以怎么写,if语句-例2:判断由键盘输入的字符类型,#include void main() char c; printf(“Input a character:“); c=getchar(); if(c=0 ,14,注意考虑的完备,if 语句的嵌套,15,#include main() int x,y; scanf(“%d”, ,配对关系:else总是与它上面的最近的if配对,例:表示一个函数:,如何改,条件运算符:exp1 ? exp2 : exp3,若if语句中,在表达式为“真”和“假”时,且都只执行一个赋值语句给同一个变量赋值时,可以用简单的条件运算符来处理。 条件运算符要求有3个操作对象,称三目运算符,它是C语言中唯一的一个三目运算符。 条件表达式的一般形式为: 表达式1 ? 表达式2 : 表达式3 它的执行过程如右图:,16,ch若为大写转为小写,否则不变: ch=(ch=A,switch 语句,if语句本质上是两路分支的选

      5、择结构;要用于多路分支时,if语句就得采用嵌套形式,这使程序的可读性降低。 对于多路分支问题,C语言提供了更加简练的语句:多分支选择语句(switch语句)来实现多种情况的选择。 一般形式: switch (表达式) case 常量表达式1: 语句1 case 常量表达式2: 语句2 . case 常量表达式n: 语句n default :语句n+1 ,17,switch语句的执行过程是: 先计算表达式的值,并逐个与case后面的常量表达式的值相比 相等,执行相应常量表达式后的语句,之后不再判断,顺序往下执行直到遇到break语句(跳出switch)或执行到switch语句结束; 都不等,执行default后面的语句 (如果没有default部分,则此时switch相当于一个空语句)。,switch 语句的注意事项,switch后面括号内的表达式,可以为任何类型。一般多为易于判断相等的类型:整型、字符型或枚举型,单、双精度型的值由于计算误差而难以进行相等比较 case后面常量表达式的值必须互不相同,否则会出现出现互相矛盾的现象 多个case可以共享一组执行语句 各个case和defau

      6、lt的出现次序不影响执行结果 switch结构可以嵌套,即在一个switch语句中可以嵌套另一个switch语句,但要注意break语句只能跳出当前层的switch语句,18,实践是检验真知的唯一途径 不需要死记,要动手去实验,为什么这样规定?,switch 语句举例,用数字17代表周一周日,从键盘上输入一个数字,输出对应的是工作日还是假日。,19,int a;printf(“Input data:“);scanf(“%d“, ,此程序要能执行还需要加什么,循环结构,循环结构是程序中一种很重要的结构。其特点是,在给定条件成立时,反复执行某程序段,直到条件不成立为止。给定的条件称为循环条件,反复执行的程序段称为循环体。语言提供了多种循环语句,可以组成各种不同形式的循环结构。 C语言可实现循环的语句: while 语句 do while 语句 for 语句 用goto 和 if 构成循环,21,while语句,while语句的一般形式为: while(表达式) 语句 表达式:循环条件;语句:循环体。 语义:计算表达式的值,为真时, 执行循环体语 执行过程:,22,例:语句求1+2+3+.+

      7、100的值 #include main() int i1,sum=0; while(i=100) sum=sum+i; i+; printf(“%d“,sum); ,这里语句要理解为一条语句(包括复合语句)和空语句,while语句分析下面程序的运行结果,23,#include 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,dowhile语句,一般形式: do 语句 while(表达式); 执行过程:先执行循环体中的语句,然后再判断表达式是否为真, 如果为真则继续循环;如果为假, 则终止循环。(do-whi

      8、le循环至少要执行一次循环语句),24,这里语句要理解为一条语句(包括复合语句和空语句),例:求自然对数e的近似值。其中: int n=1,i=1; float e=1 do n*=i; e+=1./n; i+; while(1./n=1e-7);,while语句和dowhile语句的对比,例:输入一个自然数,求从该自然数到10的和。,25,main() int sum=0,i; scanf(“%d”, ,main() int sum=0,i; scanf(“%d”, ,运行结果: 输入1时 sum=55 输入11时: sum=0,运行结果: 输入1时 sum=55 输入11时: sum=11,for语句,在C语言中,for语句使用最为灵活, 一般形式: for(表达式1;表达式2;表达式3) 语句 执行过程(如右图): 1)求解表达式1。 2)求解表达式2,其值 为真:执行循环体语句,转到3); 为假:结束循环,转到5) 3)求解表达式3。 4) 转到2) 5) 循环结束,执行for后面的语句。,26,for语句的说明,for循环中的“表达式1(循环变量赋初值)”、“表达式2(循环条

      9、件)”和“表达式3(循环变量增量)”都是选择项, 即可以缺省,但“;”不能缺省。 值得注意的是:表达式2省略相当于while(1) 表达式1和表达式3可以是一个简单表达式也可以是逗号表达式:如:for(i=0,j=100;i=100;i+,j-) k=i+j; 表达式2一般是关系表达式或逻辑表达式,但也可以是数值表达式或字符表达式,只要其值非零,就执行循环体,如 for(;(c=getchar()!=n;) printf(“%c”,c);,27,有疑问吗?大家去试试!,用for语句实现输出0到10的数字,28,int i; for(i=0;i=10;i+) printf(“%d“,i);,int i=0; for(;i=10;i+) printf(“%d“,i);,int i=0; for(;i=10; printf(“%d“,i),i+);,int i=0; for(;i=10;) printf(“%d“,i); i+; ,int i=0; for(; printf(“%d“,i),i+) if(i10) break;,int i=0; for(;) if(i10) break; printf(“%d“,i); i+; ,这样写正确吗 还有更多吗,请大家思考,goto语句,是一种无条件转移语句, 使用格式为: goto 标号;/在程序的某处有:标号:语句 其中标号是一个有效的标识符,这个标识符加上一个“:”一起出现在函数内某处, 执行goto语句后,程序将跳转到该标号处并执行其后的语句。 标号必须与goto语句处于同一个函数中,但可以不在一个循环层中。 通常goto语句与if条件语句连用, 当满足某一条件时, 程序跳到标号处运行。 goto语句通常不用,主要因

      《ch3.三种基本结构的程序设计》由会员san****019分享,可在线阅读,更多相关《ch3.三种基本结构的程序设计》请在金锄头文库上搜索。

      点击阅读更多内容
    最新标签
    信息化课堂中的合作学习结业作业七年级语文 发车时刻表 长途客运 入党志愿书填写模板精品 庆祝建党101周年多体裁诗歌朗诵素材汇编10篇唯一微庆祝 智能家居系统本科论文 心得感悟 雁楠中学 20230513224122 2022 公安主题党日 部编版四年级第三单元综合性学习课件 机关事务中心2022年全面依法治区工作总结及来年工作安排 入党积极分子自我推荐 世界水日ppt 关于构建更高水平的全民健身公共服务体系的意见 空气单元分析 哈里德课件 2022年乡村振兴驻村工作计划 空气教材分析 五年级下册科学教材分析 退役军人事务局季度工作总结 集装箱房合同 2021年财务报表 2022年继续教育公需课 2022年公需课 2022年日历每月一张 名词性从句在写作中的应用 局域网技术与局域网组建 施工网格 薪资体系 运维实施方案 硫酸安全技术 柔韧训练 既有居住建筑节能改造技术规程 建筑工地疫情防控 大型工程技术风险 磷酸二氢钾 2022年小学三年级语文下册教学总结例文 少儿美术-小花 2022年环保倡议书模板六篇 2022年监理辞职报告精选 2022年畅想未来记叙文精品 企业信息化建设与管理课程实验指导书范本 草房子读后感-第1篇 小数乘整数教学PPT课件人教版五年级数学上册 2022年教师个人工作计划范本-工作计划 国学小名士经典诵读电视大赛观后感诵读经典传承美德 医疗质量管理制度 2 2022年小学体育教师学期工作总结
    关于金锄头网 - 版权申诉 - 免责声明 - 诚邀英才 - 联系我们
    手机版 | 川公网安备 51140202000112号 | 经营许可证(蜀ICP备13022795号)
    ©2008-2016 by Sichuan Goldhoe Inc. All Rights Reserved.