网站大量收购闲置独家精品文档,联系QQ:2885784924

第4章 Cx51流程控制语句.ppt

  1. 1、本文档共41页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第4章 Cx51流程控制语句

第四章 Cx51流程控制语句 4.1 C语言程序的基本结构及流程图 4.2 选择语句 4.3 循环语句 4.1 Cx51语言的基本结构及流程图 4.2 选择语句 4.3 循环语句 习题参考答案(P.93) 习题6. 用选择分支编写程序,把输入的一个数字按下列对应关系显示。当输入Z时,程序结束。 #include stdio.h #include reg51.h 习题7. 若在C中的switch操作漏掉break,会发生什么? 习题8. 编写程序,输出x3数值表,x为0—10。 习题9. 用三种循环方式分别编写程序,显示1—100的平方。 例 for(;;) { a+=1; if(a100) break; } 初始语句、循环条件和结尾语句都不是必须的,任何一部分都可以省略。 这个例子中,是依靠循环体内的条件检测,利用break语句来结束循环的。 下面是一个利用循环语句延时1ms的延时程序,用参数50调用这个函数时,每次可以产生约50ms的延时: void msec(unsigned int x) { unsigned char i; while(x--) { for( i = 0 ; i 125 ; i++ ) { ;} } } 这并不是很精确的延时,根据不同的编译环境和优化条件,得到的汇编代码并不相同,延时效果会不一样,其中的125需要根据实际调整。若需要精确的延时,最好利用定时器来设计。 习题p. 93 6、7、8、9 请把第6题的“输入^Z”改为“输入Z” 答: 开始 输入 K=? 显示A K=1 显示B K=2 显示C K=3 显示D K=4 显示? 其他 K=Z? 结束 N Y main( ) { unsigned char k; do { scanf(“%c”,k); switch(k) { case ‘1’: printf(“A”); break; case ‘2’: printf(“B”); break; case ‘3’: printf(“C”); break; case ‘4’: printf(“D”); break; default: printf(“?”); break; } }while( k ! = ‘Z’ ); while( 1 ); } 答:若在case语句中漏掉break,则程序执行case选择部分程序后不会按照要求退出switch语句,而是继续执行下一个case语句选择的内容。 答: 开始 x=0 y=(int)x*x*x x++ x11? 结束 N Y 输出 x , y main() { unsigned char x; unsigned int y; for(x=0;x11; x++) { y=(unsigned int)x*x*x; printf(“%c,%d\n”,x,y); } while(1); } 答:三种流程图如下: #define uint unsigned int for 开始 x=1 y=(uint)x*x x++ x101? 结束 N Y 输出 x , y while 开始 x=1 y=(uint)x*x x++ x101? 结束 N Y 输出 x , y do while 开始 x=1 y=(uint)x*x x++ x101? 结束 N Y 输出 x , y main() { unsigned int y; unsigned char x; for( x = 0 ; x 101 ; x++) { y=(unsigned int)x*x; printf(“%c,%d\n”,x,y); } while(1); } main( ) { unsigned int y; unsigned char x=1; while(x101) { y=(unsigned int)x*x; printf(“%c,%d\n”,x,y);

文档评论(0)

dajuhyy + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档