第4章8051的C语言程序设计习题答案.docVIP

  • 36
  • 0
  • 约1.38千字
  • 约 3页
  • 2020-12-22 发布于浙江
  • 举报
第4章 8051的C语言程序设计 1)作业题 请分别定义下述变量: 内部RAM直接寻址无符号字符变量a unsigned char data a 内部RAM无符号字符变量key_buf unsigned char idata key_buf RAM位寻址区无符号位变量flag sbit bdata flag 外部RAM的整型变量x int xdata x 在定义unsigned char a=5, b=4, c=8以后,写出下述表达式的值: (a+bc)(b = = c) 0 (a || b)(b-4) 0 (ab)(c) 1 请分别定义以下数组: 外部RAM中100个元素的无符号字符数组temp unsigned char xdata temp[100] 内部RAM中16个元素的无符号字符数组data_buf unsigned char idata data_buf[16] temp初始化为0-99,data_buf初始化为0 temp初始化: int i; for (i=0;i100;i++) {temp[i]=i;} unsigned char idata data_buf[16]=0; 请编写1个函数init_data_buf,用指针对第3题中数组data_buf依次赋值为0-15。 解: init_data_buf(){ int i; for(i=0;i16;i++){ data_buf[i]=i; } } 1个球从100米高度落下又弹起,每次落地后弹回原高度的一半。请编写一个程序,计算出第10次落地后弹起的高度。 解: #include reg.51 #includestdio.h main() { float hn=100; int n; for(n=1;n=10;n++) { hn=hn/2; /*第n次反跳高度*/ } printf(the tenth is %f meter\n,hn); } 设计一个计算z=1/的函数,x,y为浮点型形参,z为浮点型返回值。 #includemath.h float calculate(float x, float y){ float z; z= 1/sqrt(x^2+y^2); return z; } 2)思考题 C51中while和do-while的不同点是什么? 答:while先判断再执行,do-while先执行后判断。do-while 至少会执行1次,while 可能1次也不执行。 C51中的循环为什么通常为死循环格式? 答:进入死循环可以防止指针继续向下走跳出程序运行的规定区域。 Keil C51进行模块化设计的基本方法是什么?模块化设计都会带来什么好处? 答:模块式具有相对独立功能的程序,它能独立进行汇编或者编译,模块化程序设计 是将一个大的或者复杂的程序分成小的功能模块,每个模块程序单独编写、汇编和调 试,然后再将这些模块连接起来形成一个完整的用户程序。这样使得对大程序的调试 检测更加方便,并且可以进行程序共享。 进行模块化设计的基本方法是设计和调用函数。

文档评论(0)

1亿VIP精品文档

相关文档