- 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进行模块化设计的基本方法是什么?模块化设计都会带来什么好处?
答:模块式具有相对独立功能的程序,它能独立进行汇编或者编译,模块化程序设计 是将一个大的或者复杂的程序分成小的功能模块,每个模块程序单独编写、汇编和调 试,然后再将这些模块连接起来形成一个完整的用户程序。这样使得对大程序的调试 检测更加方便,并且可以进行程序共享。
进行模块化设计的基本方法是设计和调用函数。
您可能关注的文档
最近下载
- 外研版七年级下册英语广西金秀县桐木中学七年级下学期期末考试题.pdf VIP
- 苏州市中考:《化学》2024年-2022年考试真题与参考答案.pdf
- 实用英语口语8000句.doc VIP
- 国际物流中心研论文 .doc VIP
- 2026 年苏教版七年级语文上册期末学业水平测试试卷(附答案可下载).docx VIP
- (最新)医疗机构工作人员廉洁从业九项准则试题(含答案).docx VIP
- 常用英语口语2000句.pdf VIP
- 与高频电子镇流器一起使用的LED驱动器和LED照明系统.pdf VIP
- DB44_T 2763-2025 杨梅容器育苗技术规程.docx
- DB44_T 2764-2025 杨梅鲜果快递技术规程.docx
原创力文档

文档评论(0)