自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 收藏
  • 关注

原创 关于字符数组和字符指针

#include<stdio.h>void main(){char a[]="abcdefg";char *p="abcdefg";}对于字符数组a,其中的内容是可以改变的。可以再次对某个元素赋值如 a[2]=‘r’; 正确a中存放首字符的地址,但不可被改变。a=“adeafsa”; 错误对于字符指针变量p,它指向了一个字符串常量,而常量被保存在常量区,是不可改变的如*p=‘r’; 错误不过可以对指针变量p整体赋新值如p=”olmesa“ ; 正确p=a;

2021-01-31 11:29:25 145

原创 大浪淘沙

裸机指的是未装备任何软件的计算机计算机的运行速度的单位是MI/S,其含义是每秒钟执行百万条指令影响cpu处理速度的主要因素是字长、主频、ALU、有无cache冯诺依曼原理的基本思想是程序存储和程序控制第一代计算机采用的电子器件是电子管指令队列的作用是暂存预取指令8086/8088的读数据操作发生在总线周期的 T3 T4时刻8086/8088的写数据操作发生在总线周期的 T2 T3 T4时刻数据总线驱动电路采用的基本逻辑单元是三态门ALU的工作是算术运算、逻辑运算、16位段内偏移地址运算A

2020-12-18 11:25:38 492

原创 微处理器部分简答题

简述8086和8088cpu的相同点和不同点相同点:内部数据总线均为16位,寄存器和指令系统完全兼容不同点:①8086的外部数据总线为16位,8088外部数据总线为8位;②8086的指令队列为6字节,8088指令队列为4字节;③8086有BHE信号,做奇存储体的选择信号,8088没有这个信号,存储器不分奇偶存储体;④8086的存储器和I/O控制线为M/IO,8088为IO/M8086和8088cpu由哪两个功能模块构成,简述他们之间的关系8086和8088cpu为了实现流水线操作,将内部划分

2020-12-18 10:41:29 2172

原创 汇编指令对标志位的影响

MOV LEA XCHG PUSH POP IN OUT传送类指令不影响标志位ADD ADC SUB SBB CMP加减法指令影响全部标志位INC DEC增一减一指令不影响CFNEG求补指令影响除CF外的5个标志位,对CF位置1MUL IMUL乘法指令只影响OF位和CF位,对其他位没定义DIV IDIV除法指令对6个标志位均没定义AND OR XOR TEST与 或 异或 测试指令正常影响SF ZF PF , 对OF CF清零,对AF没定义NOT取反指令对6个标志位均没影响S

2020-12-15 10:27:24 4372 4

原创 微机原理计算机基础部分简答题

简述数据总线和地址总线各自具有的特点,如果数据总线和地址总线采用同一组信号线有什么办法将地址总线分类出来①数据总线的特点为双向三态,数据总线位数决定cpu一次传输二进制信息的位数。地址总线的特点为单向三态,地址总线位数决定cpu对外部寻址的范围。②可以采用锁存器将地址总线分离出来。在计算机中常采用哪几种进制,如何用符号表示①在计算机中常采用二进制,八进制,十进制,十六进制②对数字尾部加上一个符号进行区分,二进制用B表示,八进制用Q表示,十进制用D表示,十六进制用H表示。简述原码,反码,补码的规则

2020-12-14 17:23:47 1135 6

原创 8253相关知识

外部引脚8253外部有24个引脚,可分为数据引脚:D0-D7门控信号引脚:GATE0、GATE1、GATE2时钟脉冲输入引脚:CLK0、CLK1、CLK2定时时间到引脚(波形输出引脚):OUT0、OUT1、OUT2写信号:WR读信号:RD片内地址线:A1 、A0 (00 计数器0,01 计数器1,10 计数器2,11 方式控制字)片选:CS电源:Vcc地:GND内部结构内部有三个计数通道:ch0、ch1、ch2、和控制字寄存器、数据总线缓冲器计数通道的内部结构(以ch0为例)工

2020-12-09 19:27:09 1257

原创 8255的相关知识

外部引脚(40个引脚)A口 PA0-PA7B口 PB0-PB7C口 PC0-PC7数据引脚 D0-D7读引脚 RD写引脚 WR电源 Vcc地 GND片选 CS复位 RESET(与cpu的RESET引脚相连)片内寻址 A0 A1内部结构端口A、端口B、端口C、A组控制器、B组控制器、控制字寄存器、数据总线缓冲器。初始化命令字和置位控制字8255的A0、A1 一般与8088的A0、A1 对连,但是与8088不同的是8255约定与8086的A1、A2相

2020-12-04 20:43:38 1714

原创 8259a的相关知识

外部引脚8259a外部有28个脚,可分为数据引脚:D0-D7外部设备向8259a请求中断的引脚:IR0-IR7片选引脚:CS片内寻址引脚:A0写引脚:WR读引脚:RD级联引脚:CAS0-CAS2向CPU请求中断引脚:INTCPU应答引脚:INTASP/EN电源:Vcc地:GND内部结构中断请求寄存器IRR中断服务寄存器ISR中断屏蔽寄存器IMR优先权判决器 PR命令字寄存器ICW1-ICW4操作命令字寄存器...

2020-12-03 19:54:08 770

原创 cpu与外设之间传送数据的时存在的问题

一、速度不匹配I/O设备的速度比cpu慢很多,I/O设备的不同速度差异也很大二、时序不匹配每个I/O设备都有自己的定时控制电路,无法与cpu取得统一三、信息格式不匹配不同的I/O设备存储和处理信息的格式不同,例如可以分为串行并行,也可以分为二进制、ACSII编码、BCD码四、信息类型不匹配不同的I/O设备采用的信息类型不同,有的是数字信号有的是模拟信号...

2020-11-14 19:48:54 3095

原创 cpu和接口之间数据传送控制方式

程序控制方式一、无条件传送方式在数据传输时,不管外设的状态,直接进行信息传输,适用于一些开关量或数码管。二、条件传输方式(查询方式)在数据传输前先查询外设的状态,当外设准备好才传输,否者cpu继续查询,直到外设准备好进行数据的传输条件传输方式的步骤1、从I/O接口的状态端口读入状态信息;2、检查状态字中的状态位,确定是否准备好;3、若外设没有准备好重复1、2步,直到外设准备好;4、外设准备好,cpu执行输入或输出指令,从I/O端口的数据端口读出或写入数据,同时将状态字复位;中断控制方式

2020-11-14 19:39:58 2921

原创 最大公约数和最小公倍数

#include<stdio.h> int main(){ int a,b,c,r,m; scanf("%d%d",&a,&b); if(a<b){ c=a; a=b; b=c; } m=a*b; do{ r=a%b; a=b; b=r; } while(r); printf("最大公约数是%d",a); printf("最小公倍数是%d",m/a); return 0;} 求最大公约数和最小公倍数的算法输入两

2020-11-13 10:16:17 279

原创 格式的输入和输出

printf格式输出函数printf(格式控制字符串,输出项列表);一般输出项的类型和个数与格式控制保持一致,输出时严格按照格式控制输出;d格式符%d,正常输出十进制带符号整数;%md,m指定数据的宽度,指定的m大于实际宽度左补空格;%-md,m指定数据的宽度,指定的m大于实际宽度右补空格;ld格式符和d格式符一样,只不过可以输出长整型数据,ld格式符可以用来输出long型个int型;o格式符以8进制数输出整数,不会出现负的8进制数;如int i=-1; -1的补码为FFFFHpri

2020-11-10 11:25:46 573

原创 字符和字符串函数的总结

#include<stdio.h>#include<string.h>char c;char a[100];getchar()c=getchar(); 从键盘上输入一个字符给c;getchar(c);×错误putchar()putchar(c);把c输出到屏幕上;gets()gets(a);从键盘上输入一个字符串赋给a数组与scanf(“%s”,a)的区别gets()以回车作为结束标志,一次只能给一个字符数组赋值,不可以指定字符串长度,可以输入空格;sca

2020-11-09 11:22:21 119

原创 关于&&和||的优先级问题

#include<stdio.h>int main(){ int x=2,y=2,z=0; ++x||++y&&z++; printf("%d,%d,%d",x,y,z);//结果是3,2,0}大家理所当然的认为是先按优先级运算++x,++y,z++,表达式为3||3&&0(1);教科书上写的&&的优先级比||要高,所以大家又理所当然的认为表达式的求值顺序为3||(3&&0)c把先计算哪部分的决定权留个设计者,但&

2020-11-08 10:33:50 6628 3

原创 用递归的方法将整数n转换成字符串

int main(){void aaa(int); int n; scanf("%d",&n);//输入正整数n aaa(n);}void aaa(int n){ int m; m=n%10; n=n/10;/* printf("%c",m+48); if(n) 输入1234,输出4321 aaa(n); */ if(n) aaa(n); printf("%c",m+48);//输入1234,输出1234}此函数为不带返回值的递归函数原样输出:用n/10判断

2020-11-07 14:37:53 2886 2

原创 指向一维数组的指针和指针数组

int a[2][4]={1,2,3,4,5,6,7,8};int (*p)[4];p=a; //正确p=a[0] //错误由于[]优先级高,所以*p加括号,int (*p)[4]这种写法首先说明了p是一个指针,指向了具有4个int类型的一维数组;所以给p赋值时应该赋有行地址属性的地址int a[2][4]={1,2,3,4,5,6,7,8};int *p[2]={a[0],a[1]};printf("%d,%d,%d",**p,*p[0],p[0][0]);//输出1,1,1int

2020-11-06 10:56:28 1108

原创 变量的作用域和存储方式

按作用域可分为局部变量:函数级局部变量,复合语句级局部变量,这种类型的变量在本函数或本复合语句内有效,在其他范围内无效。全局变量:在函数外定义,从定义开始到本文件结束有效。按存储方式可分为静态存储区存储:全局变量和static变量全部存放在静态存储区,从定义开始占用内存一直到本文件结束释放内存,存放在静态存储区的局部变量并不随着局部程序的结束而被释放,但是其他函数或复合语句也不能引用。存放在静态存储区的变量不赋初值则自动为0;动态存储区存储:如一些不加static的局部变量均存放在动态存储区,这些

2020-11-04 11:04:24 386

原创 将十进制正整数依次转换成2进制8进制16进制

#include<stdio.h>int main(){ char a[]="0123456789ABCDEF"; int n,m,b[20],i,base,j; scanf("%d",&m); for(i=0;i<3;i++){ if(i==0) base=2; else if(i==1) base=8; else base=16; j=0; n=m; //初值赋给n while(n){ b[j]=n%base;

2020-11-04 09:31:03 736

原创 微机原理名字解释

位计算机存储数据的最小单位,可以存放一位二进制,有0,1两种状态字节8位二进制作为一个存储单元,一个存储单元也叫一个字节,字节长度固定,是计算机能存取的最小单位字字是计算机中处理和传送信息的基本单位,通常和寄存器运算器传输线的宽度一致字长字长决定cpu中寄存器和数据总线的宽度,现代计算机中有8位,16位,32位,64位存储容量指存储器能容纳的二进制信息总量指令计算机能识别和执行的基本操作命令指令系统计算机能识别和执行的所有操作命令的集合程序为完成某一功能的指令集合称为程序中央

2020-11-03 15:25:07 670

原创 关于字符串的长度和大小的定义

char a[]=“aaaaa”;字符串长度为5,数组长度(大小)为6;char b[5]=“aaaaa”;字符串长度不确定,数组长度(大小)为5;char c[10]=“aaaaa”;字符串长度5,数组长度(大小)为10;字符串长度的定义:以首个‘\0’为结束存放字符的个数;字符数组长度的定义:数组所占存储空间的实际大小;把字符串长度和数组长度区分开;把数组长度和数组大小区分开;int a[5]={1,2,3,4,5};数组a的长度为5,大小(sizeof)为20;...

2020-11-03 10:12:57 15466

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除