嵌入式C编程02流程控制_第1页
嵌入式C编程02流程控制_第2页
嵌入式C编程02流程控制_第3页
嵌入式C编程02流程控制_第4页
嵌入式C编程02流程控制_第5页
已阅读5页,还剩35页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

流程控制课程安排什么是流程控制顺序流程结构分支流程结构循环流程结构回顾什么是程序? 程序员将解决某个工程问题的想法通过编程语言组织成程序如果组织程序?程序=数据(组合)+语句(组合)

回顾有哪些基本数据类型?回顾什么是语句?

表达式加分号构成语句。语句就是计算机的行为动作!从回顾开始想象一下自己参加这个培训班的日子将会怎样度过?温习上次课程;预习下次课程;如果上课日子到来;到学校上课;如此循环,直到培训班课程结束!这里存在几种动作过程(流程)?生活中的动作过程(流程)顺序流程

分支流程循环流程流程分类ABAB流程图N-S图PAB真假PBA真假PA假真当P为真A1966年,Boehm和Jacopini

证明了程序设计语言仅仅使用顺序、选择和循环三种基本控制结构就足以表达出各种其他的形式结构。所以,利用顺序结构、分支结构、循环结构或者这些结构的组合就可以让计算机处理任何工程问题了程序语言基本控制结构课程安排什么是流程控制顺序流程结构分支流程结构循环流程结构顺序流程结构从控制台输入一个字符,输出该字符的ASCII编码实例课程安排什么是流程控制顺序流程结构分支流程结构循环流程结构分支流程结构判断语句:有么为真,要么为假!没有第三种情况!语法结构

if(比较/逻辑表达式) {

语句一; 语句二;

…… }if…语句判断整数是否大于0、小于0、等于0、不等于0判断整数是否在某个范围之内输入字符,判断如果是小写字母,则输出该字母输入字符,判断如果是字母,则输出该字母实例语法结构

if(比较/逻辑表达式) {

语句一; 语句二;

…… }else {

语句三; 语句四;

…… }if…else语句输入字符,判断如果是字母,则输出该字母;否则提示输入非字母实例语法结构

if(比较/逻辑表达式) {

语句一; 语句二;

…… }elseif(比较/逻辑表达式) {

语句三; 语句四;

…… }……if…elseif语句

if(比较/逻辑表达式) {

语句一; 语句二;

…… }elseif(比较/逻辑表达式) {

语句三; 语句四;

…… }…… else {

语句五; 语句六;

…… }输入字符,判断如果是小写字母,显示对应大写字母;如果是大写字母,显示对应小写字母输入字符,判断如果是小写字母,显示对应大写字母;否则如果是大写字母,显示对应小写字母输入字符,判断如果是小写字母,显示对应大写字母;否则如果是大写字母,显示对应小写字母;否则显示输入非字母输入字符,判断如果是小写字母,显示对应大写字母;否则如果是大写字母,显示对应小写字母;否则如果是数字,显示该数字值;实例if分支结构支持分支嵌套,嵌套使用时要注意if~else的配对

If使用注意!例:if(a==b) if(b==c)printf("a==b==c");elseprintf("a!=b");修改后:if(a==b){ if(b==c) {printf("a==b==c"); } }else { printf("a!=b"); }加{}配对,配对的if-else格式要一致,增强可读性语法结构

switch语句用于多分支选择例如:根据控制台输入的字符1~7,显示星期

swich(ch)case‘1’: printf(“星期一\n”); break; ……default: printf(“输入非法”); break;switch应用实例漏掉某个break会怎么样?

case命中后会一直执行,直到遇到第一个break才结束switchswitch应用注意!条件表达式一般形式:expr1expr2:expr3执行过程功能:相当于条件语句,但具有返回值实例:inta=20,b=10;printf(“maxis%d\n”,a>ba:b);expr1取expr2值取expr3值非0=0实验2-4:分支流程控制

1、将学生分数按标准分为优、良、中、差四个级别; 2、switch实现从控制台获得一个字符输入,如果输入为m,显示”goodmoning”;如果输入为a,显示”goodafternoon”;如果输入为n,显示”goodnight”;其他字符则显示“donothing”;3、实现猜拳游戏:模拟两个玩家出拳(石头、剪刀、布),判断胜、平、负。上机实验课程安排什么是流程控制顺序流程结构分支流程结构循环流程结构循环流程结构C语言可实现循环的语句:1、while语句2、do~while语句3、for语句4、用goto和if构成循环(永远不要使用)循环语句种类语法结构:while(表达式)

循环体语句;执行流程:expr循环体假(0)真(非0)whilewhile语句while实例1、循环打印数值1~1002、计算1~100的累加值:语法结构:do

循环体语句;

while(表达式);执行流程:do循环体expr假(0)真(非0)whiledo~while语句特点:至少执行一次循环体do~while实例1、循环打印数值1~1002、计算1~100的累加值:while循环使用注意1、死循环 while(1){

语句; }2、while(0)与dowhile(0)在做什么?3、break退出循环

while(1) {if(表达式) break;

语句; } do{

语句; }while(1);

do {if(表达式) break;

语句; }while(1)语法结构:for([expr1];[expr2];[expr3])

循环体语句;执行流程:expr2循环体假(0)真(非0)forexpr1expr3for语句特点:对于预先知道循环次数时通常用forfor实例1、循环打印数值1~1002、计算1~100的累加值:for循环使用注意1、死循环 for(;;){

语句; }2、for变体

for(;i<=100;i++)for(;i<=100;)3、break退出循环

for(;;) {if(表达式) break;

语句; }

循环扩展话题1、循环嵌套(1)for(…){ ……for(…){……} …...}(2)while(…){ ……do{ ……}while(…); …….}(3)for(;;){ ……do{ ……}while(…); …… while(…){ ……} …...}内循环外循环内循环实例:如何打印4x4个星号(*)循环扩展话题1、break与continuebreak:终止并跳出最近一层的结构continue:结束本次循环,跳过循环体中尚未执行的语句,进行下一次是否执行循环体的判断实例:从控制台输入整数,求前10个正整数的和循环扩展话题3、关于goto如果要直接退出外层循环怎么办?goto+if也能实现循环goto的实际应用:统一出口!

goto语句标号;

….…..标号:语句;循环扩展话题4、关于循环效率在多重循环中,如果有可能,应当将最长的循环放在最内层,最短的循环放在最外层,以减少CPU跨切循环层的次数

for(row=0;row<100;row++){for(col=0;col<5;col++){sum=sum+a[row][col];}}for(col=0;col<5;col++){for(row=0;row<100;row++){sum=sum+a[row][col];}}循环扩展话题4、关于循环效率提高代码执行效率往往是以减低可读性为代价的

/*代码A*/for(i=0;i<N;i++){if(condition)DoSomething();elseDoOtherthing();}

/*代码B*/if(condition){for(i

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论