C51程序设计课后答案4

合集下载

单片机原理与C51语言程序设计与基础教程课后习题答案

单片机原理与C51语言程序设计与基础教程课后习题答案

单片机原理‎与C51语‎言程序设计‎与基础教程‎课后习题答‎案习题填空题1.一般而言,微型计算机‎包括、、、四个基本组‎成部分。

2.单片机是一‎块芯片上的‎微型计算机‎。

以为核心的硬‎件电路称为‎单片机系统‎,它属于地应用范畴‎。

3.Atmel‎公司生产的‎C MOS型‎51系列单‎片机,具有内核,用代替ROM‎作为程序存‎储器,4.单片机根据‎工作温度可‎分为、和三种。

民用级的温‎度范围是0‎℃一70℃,工业级是-40℃~85℃,军用级是-55℃-125℃(不同厂家的‎划分标推可‎能不同。

5.在单片机领‎域内,ICE的含‎义是。

选择题1.单片机的工‎作电压一般‎为V?A 5VB 3VC 1VD 4V2.单片机作为‎微机的一种‎,它具有如下‎特点:A 具有优异的‎性能价格比‎B 集成度高、体积小、可靠性高C 控制功能强‎,开发应用方‎便D 低电压、低功耗。

3.民用级单片‎机的温度范‎围是:A -40℃~85℃B 0℃一70℃C -55℃-125℃D 0℃一50℃4.MCS-51系列单‎片机最多有‎个中端源。

A 3B 4C 5D 65.下列简写名‎称中不是单‎片机或单片‎机系统的是‎A MCUB SCMC ICED CPU问答题1.单片机常用‎的应用领域‎有哪些?2.我们如何学‎习单片机这‎么技术?3.单片机从用‎途上可分成‎哪几类?分别由什么‎用处?填空题1.运算器、控制器、存储器、输入输出接‎口2.单片机嵌入式系统‎3.MCS-51 Flash‎ROM4.民用级(商业级) 工业级军用级5.在线仿真器‎选择题1、A 2、ABCD 3、B 4、C 5、D问答题1.单片机广泛‎应用于仪器‎仪表、家用电器、医用设备、航空航天、专用设备的‎智能化管理‎及过程控制‎等领域,大致可分如‎下几个范畴‎:(1)在智能仪器‎仪表上的应‎用单片机具有‎体积小、功耗低、控制功能强‎、扩展灵活、微型化和使‎用方便等优‎点,广泛应用于‎仪器仪表中‎,结合不同类‎型的传感器‎,可实现诸如‎电压、功率、频率、湿度、温度、流量、速度、厚度、角度、长度、硬度、元素、压力等物理‎量的测量。

(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强(可编辑修改word版)

(完整版)《C语言程序设计》课后习题答案(第四版)谭浩强(可编辑修改word版)

// 一次存 5 年期 // 先存 2 年期,到期后将本息再存 3 年期 // 先存 3 年期,到期后将本息再存 2 年期 // 存 1 年期,到期后将本息存再存 1 年期,连续存 5 次 // 存活期存款。活期利息每一季度结算一次
// 输出按第 1 方案得到的本息和 // 输出按第 2 方案得到的本息和 // 输出按第 3 方案得到的本息和 // 输出按第 4 方案得到的本息和 // 输出按第 5 方案得到的本息和
s=r*r*pi; sq=4*pi*r*r; vq=3.0/4.0*pi*r*r*r; vz=pi*r*r*h; printf("圆周长为: printf("圆面积为: printf("圆球表面积为: printf("圆球体积为: printf("圆柱体积为: return 0; }
//计算圆面积 s //计算圆球表面积 sq //计算圆球体积 vq //计算圆柱体积 vz l=%6.2f\n",l); s=%6.2f\n",s); sq=%6.2f\n",sq); v=%6.2f\n",vq); vz=%6.2f\n",vz);
3-2-2 #include <stdio.h> #include <math.h> int main() {double r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5; p=1000; r5=0.0585; r3=0.054; r2=0.0468; r1=0.0414; r0=0.0072;
3-8 #include <stdio.h> int main() { char c1,c2; printf("请输入两个字符 c1,c2:"); c1=getchar(); c2=getchar(); printf("用 putchar 语句输出结果为:"); putchar(c1); putchar(c2); printf("\n"); printf("用 printf 语句输出结果为:"); ห้องสมุดไป่ตู้rintf("%c %c\n",c1,c2); return 0; }

单片机原理与接口技术(C51编程)(第2版)-习题答案汇总

单片机原理与接口技术(C51编程)(第2版)-习题答案汇总

1 / 29第1章思考题及习题1参考答案一、填空1. 除了单片机这一名称之外,单片机还可称为或。

答:微控制器,嵌入式控制器.2.单片机与普通微型计算机的不同之处在于其将、、和三部分,通过内部连接在一起,集成于一块芯片上。

答:CPU、存储器、I/O口、总线3. AT89S51单片机工作频率上限为 MHz。

答:24MHz。

4. 专用单片机已使系统结构最简化、软硬件资源利用最优化,从而大大降低和提高。

答:成本,可靠性。

二、单选1. 单片机内部数据之所以用二进制形式表示,主要是A.为了编程方便B.受器件的物理性能限制C.为了通用性D.为了提高运算速度答:B2. 在家用电器中使用单片机应属于微计算机的。

A.辅助设计应用B.测量、控制应用2 / 29C.数值计算应用D.数据处理应用答: B3. 下面的哪一项应用,不属于单片机的应用范围。

A.工业控制 B.家用电器的控制 C.数据库管理 D.汽车电子设备答:C三、判断对错1. STC系列单片机是8051内核的单片机。

对2. AT89S52与AT89S51相比,片内多出了4KB的Flash程序存储器、128B的RAM、1个中断源、1个定时器(且具有捕捉功能)。

对3. 单片机是一种CPU。

错4. AT89S52单片机是微处理器。

错5. AT89S51片内的Flash程序存储器可在线写入(ISP),而AT89C52则不能。

对6. 为AT89C51单片机设计的应用系统板,可将芯片AT89C51直接用芯片AT89S51替换。

对7. 为AT89S51单片机设计的应用系统板,可将芯片AT89S51直接用芯片AT89S52替换。

对8. 单片机的功能侧重于测量和控制,而复杂的数字信号处理运算及高速的测控功能则是DSP的长处。

对3 / 29第2章思考题及习题2参考答案一、填空1. 在AT89S51单片机中,如果采用6MHz晶振,一个机器周期为。

答:2µs2. AT89S51单片机的机器周期等于个时钟振荡周期。

C51单片机习题答案

C51单片机习题答案

任务1 认识51单片机1.80C51单片机控制线有几根?每一根控制线的作用是什么?RST:第9引脚。

——复位信号。

上电和手动复位电路如图1-4所示。

其中C、R1构成上电复位,K、R2、R1、构成手动复位,复位电路是否有效,关键看9脚产生的高电平维持的时间是否大于单片机的2个机器周期以上,这由RC充放电常数决定。

另外,产生高电平的上升沿是否坚挺也比较关键,否则将不利于复位。

2.图1-4 上电和手动复位电路EA/Vpp:第31脚,外部寻址使能/编程电压。

EA为高电平,从内部程序寄存器开始访问;EA为低电平时,则跳过内部程序存储器,从外部程序存储器开始访问。

在编程期间,此端子为编程电压输入端,根据选择不同的单片机芯片选择不同的编程电压(可根据编程软件选择芯片)。

ALE/PROG:第30引脚。

——地址锁存允许信号。

第一功能:访问外部存储器时:ALE用来锁存扩展地址的低8位(P0口)的地址信号。

当不访问外部存储器时:ALE将输出1/6的振荡频率,可用来对外部提供定时和时钟信号。

第二功能:单片机编程时,此脚接编程脉冲。

PSEN:第29引脚。

——外部程序存储器读选通信号。

当访问外部存储器时,此脚将定时输出负脉冲作为读取外部存储器的选题信号。

2.试述P3口的第二功能。

P3口:第10~17引脚。

作为I/O口。

作控制和特殊功能口使用。

P3口各位的第二功能见表1-2。

表1-2 P3口各位的第二功能P3口各位第二功能功能P3.0 RXD 串行数据接收口P3.1 TXD 串行数据发送口P3.2 0INT外中断0输入P3.3 1INT外中断1输入P3.4 T0 计数器0计数输入P3.5 T1 计数器1计数输入P3.6 W R外部RAM写选通信号P3.7 RD外部RAM读选通信号3.80C51内RAM的组成是如何划分的,各有什么功能?内部数据存储器低128单元按其用途划分为三个区域。

1.通用寄存器区四组通用寄存器,每组8个寄存器单元,每组都以R0~R7为寄存器单元编号。

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版)

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

单片机原理及应用c51编程课后答案

单片机原理及应用c51编程课后答案

单片机原理及应用c51编程课后答案【篇一:单片机原理及应用课后习题答案__张兰红】兰红9第 1 章微型计算机的基本概念1.1 微型计算机由哪几部分组成?每一部分各起何作用?解:微型计算机由微处理器芯片、存储器芯片、输入/输出接口电路芯片与总线组成。

微处理器是微型计算机的核心,它通常包括 3 个基本部分:①算术逻辑部件alu(arithmeticlogic unit),对传送到微处理器的数据进行算术运算或逻辑运算的电路,如执行加法、减法运算,逻辑与、逻辑或运算等。

②工作寄存器组,用来存放操作数及运算的中间结果等。

③控制部件,包括时钟电路和控制电路,时钟电路产生时钟脉冲,用于计算机各部分电路的同步定时;控制电路产生完成各种操作所需的控制信号。

存储器是微型计算机的重要组成部分,计算机有了存储器才具备记忆功能。

i/o 接口是沟通 cpu 与外部设备的不可缺少的重要部件。

外部设备种类繁多,其运行速度、数据形式、电平等各不相同,常常与 cpu 不一致,所以要用 i/o 接口作桥梁,起到信息转换与协调的作用。

总线是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。

1.2 什么是 cpu?什么是主机?解:由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元 cpu(central processing unit,简称 cpu)。

通常把运算器、控制器、存储器这三部分称为计算机的主机。

1.3 何谓计算机系统?何谓单板机?何谓单片机?解:计算机与外围设备、电源、系统软件一起构成应用系统,称为计算机系统。

在一块印刷电路板上,集成了中央处理单元cpu、只读存储器rom、随机存取存储器 ram、 i/o 接口、定时器/计数器、中断系统等功能部件,构成一台完整的微型计算机,称为单板机。

在一块半导体芯片上,集成了中央处理单元cpu、只读存储器rom、随机存取存储器 ram、 i/o 接口、定时器/计数器、中断系统等功能部件,构成一台完整的微型计算机,称为单片机。

单片机原理及应用c51编程课后答案

单片机原理及应用c51编程课后答案

单片机原理及应用c51 编程课后答案【篇一:单片机原理及应用课后习题答案__ 张兰红】兰红9第1 章微型计算机的基本概念1.1 微型计算机由哪几部分组成?每一部分各起何作用?解:微型计算机由微处理器芯片、存储器芯片、输入/输出接口电路芯片与总线组成。

微处理器是微型计算机的核心,它通常包括 3 个基本部分:①算术逻辑部件alu(arithmeticlogic unit) ,对传送到微处理器的数据进行算术运算或逻辑运算的电路,如执行加法、减法运算,逻辑与、逻辑或运算等。

② 工作寄存器组,用来存放操作数及运算的中间结果等。

③控制部件,包括时钟电路和控制电路,时钟电路产生时钟脉冲,用于计算机各部分电路的同步定时;控制电路产生完成各种操作所需的控制信号。

存储器是微型计算机的重要组成部分,计算机有了存储器才具备记忆功能。

i/o 接口是沟通cpu 与外部设备的不可缺少的重要部件。

外部设备种类繁多,其运行速度、数据形式、电平等各不相同,常常与cpu 不一致,所以要用i /o 接口作桥梁,起到信息转换与协调的作用。

总线是在微型计算机各芯片之间或芯片内部各部件之间传输信息的一组公共通信线。

1.2 什么是cpu ?什么是主机?解:由于运算器、控制器是计算机处理信息的关键部件,所以常将它们合称为中央处理单元cpu( central processing unit ,简称cpu )。

通常把运算器、控制器、存储器这三部分称为计算机的主机。

1.3 何谓计算机系统?何谓单板机?何谓单片机?解:计算机与外围设备、电源、系统软件一起构成应用系统,称为计算机系统。

在一块印刷电路板上,集成了中央处理单元cpu 、只读存储器rom 、随机存取存储器ram 、i/o 接口、定时器/计数器、中断系统等功能部件,构成一台完整的微型计算机,称为单板机。

在一块半导体芯片上,集成了中央处理单元cpu 、只读存储器rom 、随机存取存储器ram 、i/o 接口、定时器/计数器、中断系统等功能部件,构成一台完整的微型计算机,称为单片机。

单片机C51编程_习题答案_-_Copy

单片机C51编程_习题答案_-_Copy

1.10 习题一、填空题1.最早的单片机是 4 位的。

2.MCS-51系列单片机是Intel 公司最先推出的。

3.单片机就是单片微型计算机(Single-Chip Microcomputer)的简称。

4.51系列单片机的发展方向包括高速、缩短指令执行周期、低功耗、高度集成性和减小封装尺寸。

5.如果某个特殊功能寄存器能被8整除,那么这个特殊功能寄存器便可以进行位寻址。

6.单片机的时钟模式包括片内时钟模式和片外时钟模式两种。

7.单片机片内RAM位寻址区的地址为20H~2FH 。

8.通用寄存器区的地址为00H~1FH ,等分为 4 组通用寄存器,每组均为R0~R7 。

在同一时刻只能有一组通用寄存器参与运算。

在程序中,可以通过PSW 寄存器的RS1和RS2 位来进行设置。

9.当单片机进入省电保持模式时,其内部时钟振荡器停止工作,CPU及其内部所有的功能部件均停止工作。

但是,此时片内RAM和全部的特殊功能寄存器的数据将可以被保存。

10.当单片机进入休眠运行模式时,其内部时钟振荡器仍然运行,但CPU 被冻结将不再工作。

此时,和省电保持模式不同的是,单片机的内部时钟信号仍然供给中断、串行口、定时/计数器等。

二、选择题1.下面哪个不是51系列单片机的组成部分(D )。

A.CPU B.RAMC.并行I/O接口D.无线模块2.增强型单片机主要体现在哪些方面(多选)(ABCD )。

A.高速B.集成更多资源C.低功耗D.缩短指令执行周期3.下面哪个不是单片机的特点( C )。

A.高性价比B.可编程能力C.可弯曲性D.扩展能力强4.典型的8051单片机的结构为(A )。

A.哈佛结构B.普林斯顿结构C.冯·诺伊曼结构D.以上都不是5.8051单片机的一个机器周期由(D )个时钟周期构成。

A.3 B.4C.5 D.66.8051单片机的CPU为( B )。

A.4位B.8位C.32位D.16位7.51系列单片机可以寻址( A )的程序存储空间。

C51单片机汇编语言程序设计

C51单片机汇编语言程序设计

C51单片机汇编语言程序设计一、二进制数与十六进制数之间的转换1、数的表达方法为了方便编程时书写,规定在数字后面加一个字母来区别,二进制数后加B十六进制数后加H。

2、二进制数与十六进制数对应表二进制十六进二进制制0000000100100011010001010110011101234567100010011010101111001101 11101111十六进制89ABCDEF3、二进制数转换为十六进制数转换方法为:从右向左每4位二进制数转化为1位十六进制数,不足4位部分用0补齐。

例:将(1010000110110001111)2转化为十六进制数解:把1010000110110001111从右向左每4位分为1组,再写出对应的十六进制数即可。

0101000011011000111150D8F答案:(1010000110110001111)2=(50D8F)16例:将1001101B转化为十六进制数解:把10011110B从右向左每4位分为1组,再写出对应的十六进制数即可。

100111109E答案:10011110B=9EH4、十六进制数转换为二进制数转换方法为:将每1位十六进制数转换为4位二进制数。

例:将(8A)16转化为二进制数解:将每位十六进制数写成4位二进制数即可。

8A10001010答案:(8A)16=(10001010)2例:将6BH转化为二进制数解:将每位十六进制数写成4位二进制数即可。

6B01101011答案:6BH=01101011B二、计算机中常用的基本术语1、位(bit)计算机中最小的数据单位。

由于计算机采用二进制数,所以1位二进制数称作1bit,例如110110B为6bit。

2、字节(Byte,简写为B)8位的二进制数称为一个字节,1B=8bit3、字(Word)和字长两个字节构成一个字,2B=1Word。

字长是指单片机一次能处理的二进制数的位数。

如AT89S51是8位机,就是指它的字长是8位,每次参与运算的二进制数的位数为8位。

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版) C语言程序设计课后习题答案(第四版)1. 基础知识概述C语言程序设计是一门广泛应用于软件开发领域的编程语言。

它以其简洁、高效以及可移植性而备受推崇。

本文将为读者提供《C语言程序设计》(第四版)课后习题的详细解答,帮助读者加深对C语言的理解。

2. 第一章习题答案2.1 习题1题目:编写一个C语言程序,输出"Hello, World!"。

解答:```c#include <stdio.h>int main() {printf("Hello, World!");return 0;}```2.2 习题2题目:编写一个C语言程序,接收用户输入的两个整数,并输出它们的和。

解答:```c#include <stdio.h>int main() {int num1, num2, sum;printf("请输入两个整数:");scanf("%d %d", &num1, &num2);sum = num1 + num2;printf("它们的和是:%d", sum);return 0;}```3. 第二章习题答案3.1 习题1题目:编写一个C语言程序,接收用户输入的一个整数,并判断它是否为偶数。

解答:```c#include <stdio.h>int main() {int num;printf("请输入一个整数:");scanf("%d", &num);if (num % 2 == 0) {printf("这个数是偶数");} else {printf("这个数不是偶数");}return 0;}```3.2 习题2题目:编写一个C语言程序,接收用户输入的一个字符,并判断它是否为字母。

单片机原理与C51语言程序设计与基础教程_课后习题答案-推荐下载

单片机原理与C51语言程序设计与基础教程_课后习题答案-推荐下载

D CPU
内核,用
三种。民用级的温度范围是

对全部高中资料试卷电气设备,在安装过程中以及安装结束后进行高中资料试卷调整试验;通电检查所有设备高中资料电试力卷保相护互装作置用调与试相技互术通关,1系电过,力管根保线据护敷生高设产中技工资术0艺料不高试仅中卷可资配以料置解试技决卷术吊要是顶求指层,机配对组置电在不气进规设行范备继高进电中行保资空护料载高试与中卷带资问负料题荷试22下卷,高总而中体且资配可料置保试时障卷,各调需类控要管试在路验最习;大题对限到设度位备内。进来在行确管调保路整机敷使组设其高过在中程正资1常料中工试,况卷要下安加与全强过,看2度并22工且22作尽22下可22都能2可地护1以缩关正小于常故管工障路作高高;中中对资资于料料继试试电卷卷保破连护坏接进范管行围口整,处核或理对者高定对中值某资,些料审异试核常卷与高弯校中扁对资度图料固纸试定,卷盒编工位写况置复进.杂行保设自护备动层与处防装理腐置,跨高尤接中其地资要线料避弯试免曲卷错半调误径试高标方中高案资等,料,编5试要写、卷求重电保技要气护术设设装交备备4置底高调、动。中试电作管资高气,线料中课并3敷试资件且、设卷料中拒管技试试调绝路术验卷试动敷中方技作设包案术,技含以来术线及避槽系免、统不管启必架动要等方高多案中项;资方对料式整试,套卷为启突解动然决过停高程机中中。语高因文中此电资,气料电课试力件卷高中电中管气资壁设料薄备试、进卷接行保口调护不试装严工置等作调问并试题且技,进术合行,理过要利关求用运电管行力线高保敷中护设资装技料置术试做。卷到线技准缆术确敷指灵设导活原。。则对对:于于在调差分试动线过保盒程护处中装,高置当中高不资中同料资电试料压卷试回技卷路术调交问试叉题技时,术,作是应为指采调发用试电金人机属员一隔,变板需压进要器行在组隔事在开前发处掌生理握内;图部同纸故一资障线料时槽、,内设需,备要强制进电造行回厂外路家部须出电同具源时高高切中中断资资习料料题试试电卷卷源试切,验除线报从缆告而敷与采设相用完关高毕技中,术资要资料进料试行,卷检并主查且要和了保检解护测现装处场置理设。备高中资料试卷布置情况与有关高中资料试卷电气系统接线等情况,然后根据规范与规程规定,制定设备调试高中资料试卷方案。

《C语言程序设计》课后习题答案(第四版)

《C语言程序设计》课后习题答案(第四版)

第1章程序设计和C语言11.1什么是计算机程序11.2什么是计算机语言11.3C语言的发展及其特点31.4最简单的C语言程序51.4.1最简单的C语言程序举例61.4.2C语言程序的结构101.5运行C程序的步骤与方法121.6程序设计的任务141-5 #include <stdio.h>int main ( ){ printf ("**************************\n\n");printf(" Very Good!\n\n");printf ("**************************\n");return 0;}1-6#include <stdio.h>int main(){int a,b,c,max;printf("please input a,b,c:\n");scanf("%d,%d,%d",&a,&b,&c);max=a;if (max<b)max=b;if (max<c)max=c;printf("The largest number is %d\n",max); return 0;}第2章算法——程序的灵魂162.1什么是算法162.2简单的算法举例172.3算法的特性212.4怎样表示一个算法222.4.1用自然语言表示算法222.4.2用流程图表示算法222.4.3三种基本结构和改进的流程图262.4.4用N S流程图表示算法282.4.5用伪代码表示算法312.4.6用计算机语言表示算法322.5结构化程序设计方法34习题36第章最简单的C程序设计——顺序程序设计37 3.1顺序程序设计举例373.2数据的表现形式及其运算393.2.1常量和变量393.2.2数据类型423.2.3整型数据443.2.4字符型数据473.2.5浮点型数据493.2.6怎样确定常量的类型513.2.7运算符和表达式523.3C语句573.3.1C语句的作用和分类573.3.2最基本的语句——赋值语句593.4数据的输入输出653.4.1输入输出举例653.4.2有关数据输入输出的概念673.4.3用printf函数输出数据683.4.4用scanf函数输入数据753.4.5字符数据的输入输出78习题823-1 #include <stdio.h>#include <math.h>int main(){float p,r,n;r=0.1;n=10;p=pow(1+r,n);printf("p=%f\n",p);return 0;}3-2-1#include <stdio.h>#include <math.h>int main(){float r5,r3,r2,r1,r0,p,p1,p2,p3,p4,p5;p=1000;r5=0.0585;r3=0.054;r2=0.0468;r1=0.0414;r0=0.0072;p1=p*((1+r5)*5); // 一次存5年期p2=p*(1+2*r2)*(1+3*r3); // 先存2年期,到期后将本息再存3年期p3=p*(1+3*r3)*(1+2*r2); // 先存3年期,到期后将本息再存2年期p4=p*pow(1+r1,5); // 存1年期,到期后将本息存再存1年期,连续存5次p5=p*pow(1+r0/4,4*5); // 存活期存款。

C51程序设计课后答案3.doc

C51程序设计课后答案3.doc

第三章习题答案一、选择题二、填空题1、 分号2、 输入一个字符数据、输出一个字符数据3、 任何、地址4、 %6D,%06.2F5、 ab%iro6、 t=a7> aabbt-j LJ LJ LJCC8、A9> Glmre10、 a 与b 互换11、 int num,totaltotal,num12、 a 二 10,跳过 20, b=30,c=4013、 #include<stdio.h>putchar(b) putchar(c)14、 scanf(“%d%f%c 冷&a ,&x ,&c);12.6A15、 a=98,b 二765.000000,c=4321.000000三、简答题1、 C 语句可以分为以下5类:表达式语句空语句复合语句函数调用语句流程控制语句2、 表达式与表达式语句的区别:表达式语句就是在一个表达式的后面加一个分号 “;”构成。

表达式语句常作为赋值语句使用。

3、 C 语言有四种输入输出函数:getchar()> putchar()、scanf()和 printf()函数。

getchar()函数可输入一个字符;putchar()函数用于输出一个字符;scanf()函数可输入任何类型的数据; printf()函数用于输出任何类型的数据。

4、 s canf 格式字符及附加格式说明符及使用方法:(1) <1格式符,用来输入十进制整数。

1. B5、D9、A13、B 2、B 6、B 3、C 7、D 4、D 8、A10、B 14、D 11、C 15、C(2)o格式符,用来输入八进制整数。

(3)x格式符,用来输入十六进制整数。

(4)c格式符,用来输入单个字符。

(5)s格式符,用来输入字符串,并将字符串送到1个字符数组屮。

(6)f格式符,用來输入实数,可以用小数形式或指数形式输入。

(7)e格式符和g格式符,与f格式符作用相同,e、f和g可以互相替换。

单片机原理与应用及C51程序设计第4章习题答案

单片机原理与应用及C51程序设计第4章习题答案

单片机原理与应用及C51程序设计第4章习题答案第4章习题答案4-2有哪里些数据类型是MCS-51系列单片机直接支持的?答:见P89,基本类型:字符型,整型,长整型,浮点型,特殊功能寄存器;构造类型:数组类型,结构体类型,共用体,枚举指针类型空类型4-3 C51特有的数据结构类型有哪些?答:特殊功能寄存器,位类型4-4 C51的存储类型有几种?它们分别表示的存储器区域是什么?答:见P94页:存储器类型有:data, bdata,idata,pdata,xdata4-5 C51中bit位与sbit位有什么区别?答:bit是定义一个一般的位变量;而使用sbit定义可位寻址字节或是特殊功能寄存器的的位,定义时必指定其位地址,其存储空间为内部RAM中的位寻址区20H-2FH(位地址为:00H~7FH),4-6 在C51通过绝对地址来访问的存储器有几种方式?答:使用C51运行库中预定义宏,通过指针访问,使用C51扩展关键字_at_4-7 在C51中,中断函数与一般函数有什么不同?答:见P112页:7点4-8 按指定存储器类型和数据类型,写出下列变量的说明形式答:(1)在data定义字符变量var11:char data var11(2)在idata定义整型变量var12:char idata var12(3)在xdata定义无符号字符数组var11[4]:unsigned char xdata var13[4](4) 在xdata定义一个指向无符号字符的指针px: unsigned char xdata* px(5)定义可寻址位变量flag: bit flag;(6)定义特殊功能寄存器变量p3: sfr p3=0xb0(7) 定义特殊功能寄存器变量SCON:sfr SCON = 0x98(8)定义16位特殊功能寄存器变量T0:sfr16 T0=0x8a (无法真正与实际相匹配)4-9 设a=3,b=4,c=5,写出下列关系表达式或逻辑表达式的结果答:(1) a+b>c && b==c (False)(2) a||b+c&&b-c (True)(3)!(a>b) && !c|| 1 (True)(4)!(a+b)+c-1&&b+c/2 (True)4-10 break与continue语句的区别是什么?答:见P110; 使用break语句可以跳出switch和循环体,提前结束循环而接着执行循环结构下面的语句continue语句使用在循环体结构中,用于结束本次循环,跳过该语句下面尚未执行的语句,直接进行下一否执行循环的判断。

单片机原理----C51编程及Proteus仿真 习题答案 (金宁治) 习题4答案

单片机原理----C51编程及Proteus仿真  习题答案 (金宁治) 习题4答案

思考题及习题4一、填空1.某数用十六进制表示为0x5a,那么用二进制表示为90 。

2.设int x=0, y=l;表达式(x&&y)的值是Q。

3. C51提供了两种不同的数据存储类型.xdata 和来pdata 访问片外数据存储区。

4. C51基本的结构有顺序结构、.选择结构一和循环结构。

5.假设声明inti,j,k;那么表达式i=10, j=20, k=30, k*=i+i 的值为900 。

6. x+=a 等价于x=x+a , x*二a 等价于x=x*a , x%=a 等价于x=x%a 。

7. (int)(8.2/2)= 4 °8.以下程序的输出结果是一2 0main() (int x-10, y=l, z=l;if(x<y) x=0;if(y<0) z=0; else z=z+l; printf("%d\n”, z); }9.执行语句for(j=0; j<=3; j++) {a=l;}后变量j的值是4。

10.假设一个函数的返回类型为void,那么表示其没有返回值。

11. C51编译器在头文件reg.51 中定义了全部sfr/sfr16和sbit变量。

二、简答1.简述C51语言与标准C语言的区别?答:相同之处:语法规那么、程序结构、编程方法。

不同之处:(1)库函数不同:由于标准C中的局部库函数不适用于嵌入式系统,因此排除在C51之外,如字符屏幕和图形函数。

⑵ 数据类型不同:51系列单片机包括丰富的位操作指令,因止匕C51相比于标准C增加了4 种数据类型,以便灵活操作。

(3)数据存储类型不同在通用计算机中只有一个程序和数据统一寻址的内存空间,51系列单片机存储区可分为内部数据存储区、外部数据存储区以及程序存储区。

不同的存储区域数据的存储类型也不同。

(4)标准C语言没有处理单片机中断的定义。

5、头文件不同:C5I语言头文件必须把8051单片机内部的外设硬件资源(如定时器、中断、I/O等)相应的特殊功能寄存器写入到头文件内,而标准C不用。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

第四章习题答案一、选择题1-5: c b b c c6-7: d a二、填空题1、n>=100 n<100&&n>=502、85-100并换行70-84并换行60-69并换行<60并换行什么也不输出三、编程题1.输入整数a、b,a2+b2若大于100,则输出百位以上的数字,否则输出两数之和。

#include<stdio.h>void main(){int a,b,c,d;printf("Please enter a and b:\n");scanf("%d,%d",&a,&b);c=a*a+b*b;if(c>100){printf("c=%d\n",c);printf("百位上的数字是:\n");d=(c%1000)/100;printf("%d\n",d);}else{d=a+b;printf("两数之和是:\n");printf("%d\n",d);}}2.判断输入的正整数是否既是5又是7的整倍数。

若是则输出yes,否则输出no。

#include<stdio.h>void main(){int x,y;printf("Input x:\n");scanf("%d",&x);if(x<0&&x>-5) y=x;if(x==0) y=x-1;if (x>0&&x<10) y=x+1;printf("%d\n",y);}3.输入三个整数,判断能否构成三角形。

能则按从小到大的顺序输出三条边的值,否则输出字符串“can’t comprise!”。

#include<stdio.h>void main(){int a,b,c,case1,case2,case3,t;printf("输入三条边的值:\n");scanf("%d%d%d",&a,&b,&c);if(a+b>c&&(a-b<c||b-a<c)) case1=1;else case1=0;if(b+c>a&&(b-c<a||c-b<a)) case2=1;else case2=0;if(a+c>b&&(a-c<b||c-a<b)) case3=1;else case3=0;if(case1&&case2&&case3){if(a>b) {t=a;a=b;b=t;}if(a>c) {t=a;a=c;c=t;}if(b>c) {t=b;b=c;c=t;}printf("%d %d %d",a,b,c);}else printf("can't comprise!");}4. 编程实现以下功能:输入一个小写字母,将字母循环后移5个位置后输出。

如‘a’变成‘f’,‘w’变成‘b’。

#include<stdio.h>void main(){char c;printf("Input c:\n");scanf("%c",&c);if(c>='a'&&c<='u') c=c+5;else if(c>'u'&&c<='z') c=c-26+5;printf("%c\n",c);}25. 假设奖金税率如下,(a代表奖金,r代表税率)a<500 r=0%500<a<1000 r=5%1000<a<2000 r=%8a≥2000 r=12%编写一程序实现其下功能,输入一个奖金数,求税率和应交税款以及所得的奖金数(扣除奖金税率后)。

#include<stdio.h>void main(){float a,r,out,in;printf(“输入奖金数:\n”);scanf(“%f”,&a);if(a<500) r=0.0;else if(a>=500&&a<1000) r=0.05;else if(a>=1000&&a<2000) r=0.08;else if(a>=2000) r=0.12;out=a*r;in=a*(1-r);printf(“应交的税率为:%f\n”,r);printf(“应交税:%f\n”,out);printf(“实现的奖金为:%f\n”,in);}6.编程实现,输入一个整数,判断它能否被3,5,7整除,并输出以下信息之一:(1)、能同时被3,5,7整除;(2)、能被其中两数(两指出哪两个)整数;(3)、能被其中一个数(要指出哪一个)整除;(4)、不能被3,5,7任一个整除。

#include<stdio.h>void main(){int a;printf("Input a:\n");scanf("%d",&a);if(a%3&&a%5&&a%7) printf("不能被其中的任一个整除!\n");else if(a%3==0&&a%5&&a%7||a%3&&a%5==0&&a%7||a%3&&a%5&&a%7==0) printf("能被其中的一个整除!\n");elseif(a%3==0&&a%5==0&&a%7||a%3==0&&a%5==0&&a%7||a%3&&a%5==0&&a%7==0) printf("能被其中的两个整除!\n");else if((a%3==0)&&(a%5==0)&&(a%7==0))3printf("能被其中的三个整除!\n");}7有一函数:x (-5<x<0)y= x-1 (x=0)x+1 (0<x<10)编写一程程序,要求输入x的值,输出y的值。

分别用:(1)不嵌套的if语句#include<stdio.h>void main(){int x,y;printf("Input x:\n");scanf("%d",&x);if(x>-5&&x<0){sy=x;if(x==0) y=x-1;if(x>0&&x<10) y=x+1;}printf("%d\n",y);}(2)嵌套的if语句#include<stdio.h>void main(){int x,y;printf("Input x:\n");scanf("%d",&x);if(x>-5&&x<0) y=x;else if(x==0) y=x-1;else if(x>0&&x<10) y=x+1;printf("%d\n",y);}(3)if-else语句#include<stdio.h>void main(){int x,y,t;printf("Input x:\n");4scanf("%d",&x);if(x>-5&&x<0) y=x;else if(x==0) y=x-1;else if(x>0&&x<10) y=x+1;printf("%d\n",y);}(4)switch语句#include<stdio.h>void main(){int x,y,t;printf("Input x:\n");scanf("%d",&x);if(x>-5&&x<0) t=1;else if(x==0) t=2;else if(x>0&&x<10) t=3;switch(t){case 1: y=x;case 2: y=x-1;case 3: y=x+1;}printf("%d\n",y);}5。

相关文档
最新文档