输入输出答案1
字符串习题!9

1、笨小猴(08年提高组第1题)(word.pas/c/cpp)【问题描述】笨小猴的词汇量很小,所以每次做英语选择题的时候都很头疼。
但是他找到了一种方法,经试验证明,用这种方法去选择选项的时候选对的几率非常大!这种方法的具体描述如下:假设maxn是单词中出现次数最多的字母的出现次数,minn 是单词中出现次数最少的字母的出现次数,如果maxn-minn是一个质数,那么笨小猴就认为这是个Lucky Word,这样的单词很可能就是正确的答案。
【输入】输入文件word.in只有一行,是一个单词,其中只可能出现小写字母,并且长度小于100。
【输出】输出文件word.out共两行,第一行是一个字符串,假设输入的的单词是Lucky Word,那么输出“Lucky Word”,否则输出“No Answer”;第二行是一个整数,如果输入单词是Lucky Word,输出maxn-minn的值,否则输出0。
【输入输出样例1】单词error中出现最多的字母r出现了3次,出现次数最少的字母出现了1次,3-1=2,2是质数。
【输入输出样例2】单词olympic中出现最多的字母i出现了2次,出现次数最少的字母出现了1次,2-1=1,1不是质数。
2.ISBN号码(08年普及组第1题)(isbn.pas/c/cpp)【问题描述】每一本正式出版的图书都有一个ISBN号码与之对应,ISBN码包括9位数字、1位识别码和3位分隔符,其规定格式如“x-xxx-xxxxx-x”,其中符号“-”是分隔符(键盘上的减号),最后一位是识别码,例如0-670-82162-4就是一个标准的ISBN码。
ISBN码的首位数字表示书籍的出版语言,例如0代表英语;第一个分隔符“-”之后的三位数字代表出版社,例如670代表维京出版社;第二个分隔之后的五位数字代表该书在出版社的编号;最后一位为识别码。
识别码的计算方法如下:首位数字乘以1加上次位数字乘以2……以此类推,用所得的结果mod 11,所得的余数即为识别码,如果余数为10,则识别码为大写字母X。
计算机组成原理——输入输出(IO)系统考研题

计算机组成原理——输⼊输出(IO)系统考研题(⼀) I/O系统基本概念(⼆)外部设备1. 输⼊设备:键盘、⿏标2. 输出设备:显⽰器、打印机3. 外存储器:硬盘存储器、磁盘阵列、光盘存储器(三) I/O接⼝(I/O控制器)1. I/O接⼝的功能和基本结构2. I/O端⼝及其编址3.I/O地址空间及其编码(四) I/O⽅式1. 程序查询⽅式2. 程序中断⽅式中断的基本概念;中断响应过程;中断处理过程;多重中断和中断屏蔽的概念。
3. DMA⽅式DMA控制器的组成;DMA传送过程。
4. 通道⽅式(2009)22. 下列选项中,能引起外部中断的事件是A. 键盘输⼊B. 除数为0C. 浮点运算下溢出D. 访存缺页答案:A考点:内部中断和外部中断的区别外中断:I/O设备等来⾃主机外部设备的中断。
内中断:CPU内部的异常、例外、陷⼊内中断(2010)21、单级中断系统中,中断服务程序执⾏顺序是()I保护现场II开中断III关中断IV保存断点V中断事件处理VI恢复现场VII中断返回A、I->V->VI->II->VIIB、III->I->V->VIIC、III->IV->V->VI->VIID、IV->I->V->VI->VII答案:A考点:单级中断的概念该题的⼀个特点是单级中断,不会出现多重中断的中断嵌套问题,由于是单级中断,断点也不需要保存了,CPU直接返回中断前的位置就可以了!同时关中断是由硬件⾃动实现的,并不属于中断服务程序。
⽽恢复断点、恢复现场之后需要开中断才能返回断点这⾥给出⼀般的中断处理的过程:22、假定⼀台计算机的显⽰存储器⽤DRAM芯⽚实现,若要求显⽰分辨率为1600*1200,颜⾊深度为24位,帧频为85HZ,现实总带宽的50%⽤来刷新屏幕,则需要的显存总带宽⾄少约为( )A、245MbpB、979MbpsC、1958MbpsD、7834Mbps答案:D考点:1600*1200*24*85/0.51M约为106(2010)21.某计算机有五级中断L4 ~ L0,中断屏蔽字为M4M3M2M1M0,Mi=1(0≤i≤4)表⽰对Li级中断进⾏屏蔽。
C++课后习题答案第十章

(c)outfile.write(( char* ) &data , sizeof( float ));
(d)outfile.write(( char* ) &data , data );
10.2
1.#include <iostream.h>
cout.setf(ios::right,ios::left);
cout <<x<< endl;
cout.setf( ios::showpos );
cout <<x<< endl;
cout <<-x<< endl;
cout.setf( ios :: scientific );
cout <<x<< endl;
}
答案:
123.456
123.456
123.456
+123.456
-123.456
+1.234560e+002
2.#include <iostream.h>
void main()
{ double x=123.45678;
cout.width(10);
cout<<("#");
cout <<x<< endl;
do
{
infile.read((char *)&gzrec,sizeof(txrec));
}while (strcmp(gzrec.no,num)!=0 && infile.tellp()!=posend);
第7章输入输出习题参考解答

第7章思考题与习题参考答案1.计算机的I/O系统的功能是什么?它由哪几个部分组成?答:计算机的I/O系统,主要用于解决主机与外部设备间的信息通讯,提供信息通路,使外围设备与主机能够协调一致地工作。
计算机的I/O系统由I/O硬件和I/O软件两大部分组成。
其中I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。
I/O软件包括:用户的I/O程序、设备驱动程序、设备控制程序。
2.I/O硬件包括哪几个部分?各部分的作用是什么?答:I/O硬件包括:系统总线、I/O接口、I/O设备及设备控制器。
系统总线的作用是为CPU、主存、I/O设备(通过I/O接口)各大部件之间的信息传输提供通路。
I/O接口通常是指主机与I/O设备之间设置的一个硬件电路及其相应的控制软件。
它用于在系统总线和外设之间传输信号,并起缓冲作用,以满足接口两边的时序要求。
I/O设备的作用是为主机与外部世界打交道提供一个工具。
设备控制器用来控制I/O设备的具体动作,不同的I/O设备需要完成的控制功能不同。
3.什么是用户I/O程序?什么是设备驱动程序?什么是设备控制程序?答:用户I/O程序是指用户利用操作系统提供的调用界面编写的具体I/O设备的输入输出程序。
例如用户编写的用打印机输出文本的程序。
设备驱动程序是一种可以使计算机和设备通信的特殊程序。
可以说相当于操作系统与硬件的接口,操作系统只有通过这个接口,才能控制硬件设备的工作,假如某设备的驱动程序未能正确安装,便不能正常工作。
设备控制程序就是驱动程序中具体对设备进行控制的程序。
设备控制程序通过接口控制逻辑电路,发出控制命令字。
命令字代码各位表达了要求I/O设备执行操作的控制代码,由硬件逻辑解释执行,发出控制外设的有关控制信号。
4.说明设计I/O系统的三个要素的具体内容。
答:设计I/O系统应该考虑如下三个要素:①数据定位: I/O系统必须能够根据主机提出的要求进行设备的选择,并按照数据在设备中的地址找到相应的数据。
计算机组成原理(第七章 输入输出系统

第七章输入输出系统第一节基本的输入输出方式一、外围设备的寻址1.统一编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器等与内存单元一样看待,将它们和内存单元联合在一起编排地址,用访问内存的指令来访问输入输出设备接口的某个寄存器,从而实现数据的输入输出。
2.单独编址:将输入输出设备中控制寄存器、数据寄存器、状态寄存器单独编排地址,用专门的控制信号进行输入输出操作。
3.CPU与外围设备进行通信有三种类型:(1)CPU向外围设备发出操作控制命令。
(2)外围设备向CPU提供状态信息。
(3)数据在CPU与外围设备之间的传递。
历年真题1.对外设统一编址是指给每个外设设置一个地址码。
(2002年)【分析】CPU与外设之间的信息传送是通过硬件接口来实现的,各种外设的硬件接口上又都包含有多个寄存器,如控制寄存器、数据寄存器、状态寄存器等。
统一编址是将外设接口上的各种寄存器等同于内存储器的存储单元,通过使用访问内存单元的指令来访问外设接口上的各个寄存器,这样就可以使用访存指令来访问外设,输入输出操作简单,程序设计比较简便。
由于外设接口上的寄存器种类和数量通常不止一个,所以一个外设至少对应一个以上的内存地址。
【答案】对外设统一编址是将外设接口上的寄存器等同内存单元,给每个外设设置至少一个地址码。
二、外围设备的定时1.外围设备的定时方式有异步传输方式和同步定时方式两种。
2.实现输入输出数据传输的方式主要有:程序控制方式、直接存储访问(DMA)方式、通道方式。
程序控制方式又可分为程序查询方式和中断方式两种。
历年真题1.对I/O数据传送的控制方式,可分为程序中断控制方式和独立编址传送控制方式两种。
(2001年)【分析】对1/O数据传送的控制方式,可分为程序直接控制方式、程序中断控制方式、DMA控制方式、通道控制方式等。
程序中断控制方式只是其中的一种方法,独立编址是指对1/O设备的控制寄存器、数据寄存器、状态寄存器等单独进行地址编排,使用专门的指令对其进行操作,可用在各种数据传送的控制方式中。
计算机专业基础综合操作系统(输入/输出管理)历年真题试卷汇编1

计算机专业基础综合操作系统(输入/输出管理)历年真题试卷汇编1计算机专业基础综合操作系统(输入/输出管理)历年真题试卷汇编1(总分:64.00,做题时间:90分钟)一、单项选择题(总题数:25,分数:50.00)1.单项选择题下列各题的备选答案中,只有一个是符合题意的。
(分数:2.00)________________________________________________________________ __________________________ 解析:2.虚拟设备是指____。
【南京理工大学2002年】(分数:2.00)A.允许用户使用比系统中具有的物理设备更多的设备B.允许用户以标准化方式来使用物理设备C.把一个物理设备变换成多个对应的逻辑设备√D.允许用户程序不必全部装入主存便可使用系统中的设备解析:解析:考查虚拟设备的定义。
3.在操作系统中,用户在使用I/O设备时,通常采用____。
【兰州大学2005年】(分数:2.00)A.物理设备名B.逻辑设备名√C.虚拟设备名D.设备序号解析:解析:考查I/O设备管理的基本概念。
此题在2010年统考真题中有涉及。
没有虚拟设备名一说。
4.____是操作系统中采用的以空间换取时间的技术。
【北京理工大学2004年】(分数:2.00)A.SPOOLing技术√B.虚拟存储技术C.覆盖与交换技术D.通道技术解析:解析:综合考查操作系统中的几种技术。
SPOOLing技术通过建立缓冲区(输入井、输出井),使得物理上独占的设备实现逻辑共享,从而提高设备的利用率,使得系统效率提高。
5.关于SPOOLing技术,下列说法错误的是____。
(分数:2.00)A.SPOOLing技术是缓冲技术的应用B.SPOOLing技术是一种虚拟设备技术C.SPOOLing技术是一种设备驱动技术√D.SPOOLing技术提高了独占设备的利用率解析:解析:考查SPOOLing技术的基本概念。
C++题目和答案(1)

第1题:输入圆的半径和圆柱的高,依次输出圆周长、圆面积、圆球表面积、圆柱体积(以空格分隔,π取3.14)。
样例输入:1.5 3样例输出:9.42 7.065 28.26 21.195第1题:#include<iostream.h>int main(){float s,c,d,v,r,h;cin>>r>>h;c=3.14*2*r;s=3.14*r*r;d=4*3.14*r*r;v=s*h;cout<<c<<" "<<s<<" "<<d<<" "<<v<<endl;}第2题:输入一个华氏温度,要求输出摄氏温度。
公式为:c=5/9*(F-32)。
样例输入:100样例输出:37.7778第2题:#include<iostream.h>int main(){float c,f;cin>>f;c=5.0/9*(f-32);cout<<" "<<c;}第3题:输入三角形的三条边长a,b,c(要求能构成三角形),求三角形面积。
样例输入:3.2 4.4 5.6样例输出:7.02624第3题:#include <iostream.h>#include <math.h>int main(){float a,b,c,area,s;cin>>a>>b>>c;s=(a+b+c)/2;area=sqrt(s*(s-a)*(s-b)*(s-c));cout<<area;}第4题:输入大写字母,输出对应的小写字母。
样例输入:B样例输出:b第4题:#include <iostream.h>int main(){char c1,c2;cin>>c1;c2=c1+32;cout<<c2;}第5题:输入一个正整数n(100<=n<=999),依次输出n的百位数字、十位数字、个位数字(以空格分隔)。
计算机专业基础综合(输入/输出管理)模拟试卷1(题后含答案及解析)

计算机专业基础综合(输入/输出管理)模拟试卷1(题后含答案及解析)题型有:1. 单项选择题 2. 综合应用题单项选择题1-40小题,每小题2分,共80分。
下列每题给出的四个选项中,只有一个选项是最符合题目要求的。
1.设备管理的主要任务和功能包括( )。
A.按照用户的要求控制I/O设备B.完成用户所希望的输入/输出要求C.进行设备分配,实现真正的I/O操作D.以上全部正确答案:D解析:设备管理的基本任务是按照用户的要求控制I/O设备操作,完成用户所希望的输入/输出要求,以减轻用户编程序的负担。
设备管理软件的基本功能可归纳为:(1)进行设备分配;(2)实现真正的I/O操作;(3)实现其他功能。
知识模块:输入/输出管理2.按资源分配方式可将外设分为( )。
A.独占设备、共享设备、分时设备B.共享设备、分时设备、虚拟设备C.虚拟设备、独占设备、共享设备D.虚拟设备、独占设备、分时设备正确答案:C解析:按资源分配方式可将外设分为虚拟设备、独占设备、共享设备三种。
知识模块:输入/输出管理3.下列关于各种设备说法中正确的是( )。
A.独占设备的分配单位是作业,且当某作业占用此设备时,其他作业也可以使用该设备B.共享设备的分配单位是作业,且当某作业占用此设备时,其他作业也可以使用该设备C.独占设备的分配单位是进程,且当某进程占用此设备时,其他进程也可以使用该设备D.共享设备的分配单位是进程,且当某进程占用此设备时,其他进程也可以使用该设备正确答案:D解析:独占设备:该类设备要以用户或作业为单位分配,在该用户未退出系统之前或该作业未运行结束之前,此设备不能作其他分配。
共享设备:多个进程可以“同时”从这些设备上存取信息。
知识模块:输入/输出管理4.I/O操作的控制方式经历( )阶段。
A.程序直接控制方式、程序中断I/O控制方式、DMA控制方式、I/O 通道控制方式B.程序中断I/O控制方式、中断I/O控制方式、DMA控制方式C.程序直接控制方式、DMA控制方式D.I/O通道控制方式正确答案:A解析:I/O控制方式可以分为程序直接控制方式、程序中断I/O控制方式、DMA控制方式、I/O通道控制方式,共4个阶段。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
输入输出一、选择题1.C语言中调用printf进行输出时需要注意,在格式控制串中,格式说明与输出项的个数必须相同。
如果格式说明的个数小于输出项的个数,多余的输出项将A;如果格式说明的个数多于输出项的个数,则对于多余的格式将输出不定值(或0)。
如printf(“%d,%d”,a,b,c);只输出a和b的值,c不输出A)不予输出B)输出空格C)照样输出D)输出不定值或02.在scanf函数的格式控制中,格式说明的类型与输入的类型应该一一对应匹配。
如果类型不匹配,系统 B 。
A)不予接收B)并不给出出错信息,但不可能得出正确信息数据C)能接受正确输入D)给出出错信息,不予接收输入3.下列说法正确的是 D 。
A)输入项可以是一个实型常量,如scanf("%f",4.8);B)只有格式控制,没有输入项也能进行正确输入,如scanf("a=%d,b=%d");C)当输入一个实型数据时,格式控制部分应规定小数点后的位数,如scanf("%5.3f",&f);D)当输入数据时,必须指明变量的地址,如scanf("%f",&f);4.根据题目中已给出的数据的输入和输出形式,程序中输入/输出语句的正确是 B。
main(){int a;float x;printf("input a,x:");输入语句输出语句}输入形式input a,x:3 2.1输出形式a+x=5.10A)scanf("%d,%f",&a,&x);printf("\na+x=%4.2f",a+x);B)scanf("%d %f",&a.&x);printf("\na+x=%4.2f",a+x);C)scanf("%d %f",&a,&x);printf("\na+x=%6.1f",a+x);D)scanf("%d %3.1f",&a,&x);printf("\na+x=%4.2f",a+x);5.以下程序的输出结果是 D 。
main(){int i=010,j=10,k=0x10;printf("%d,%d,%d\n",i,j,k);A)8,10,16 B)8,10,10 C)10,10,10 D)10,10,166.以下程序的输出结果是A。
main(){int i=011,j=11,k=0x11;printf("%d,%d,%d\n",i,j,k);}A)9,11,17 B)9,11,11 C)11,11,11 D)11,11,167.以下程序的输出结果是 B 。
#include<stdio.h>main(){printf("%d\n",NULL);}NULL是符号常量,他的定义在stdio.h中A)不确定的值(因变量无定义)B)0C)-1 D)18.以下程序的输出结果是 B 。
main(){char c1='6',c2='0';printf("%c,%c,%d,%d\n",c1,c2,c1-c2,c1+c2);}A)因输出格式不合法,输出出错信息B)6,0,6,102C)6,0,7,6 D)6,0,5,79.设有如下定义int x=10,y=3,z;则语句printf("%d\n",z=(x%y,x/y));的输出结果是A。
A)3 B)0 C)4 D)110.设有如下定义int x=10,y=5,z;则语句printf("%d\n",z=(x+=y,x/y));的输出结果是 D 。
A)1 B)0 C)4 D)311.以下程序的输出结果是 D 。
main(){int x=10,y=10;printf("%d %d\n",x--,--y);}A)10 10 B)9 9 C)9 10 D)10 912.写出下面程序的输出结果A。
main(){int x;x=-3+4*5-6;printf("%d",x);x=3+4%5-6;printf("%d",x);x=-3*4%6/5;printf("%d",x);x=(7+6)%5/2;printf("%d",x);}A)11 1 0 1 B)11 -3 2 1 C)12 -3 2 1 D)11 1 2 113.写出下面程序的输出结果A。
main(){int x,y,z;x=y=1;z=x++-1;printf("%d,%d\t",x,z);z+=-x++ +(++y);printf("%d,%d",x,z);}A)2,0 3,0 B)2,1 3,0 C)2,0 2,1 D)2,1 0,114.写出下面程序的输出结果 C 。
main(){int i,j;i=20;j=(++i)+i;printf("%d",j);i=13;printf("%d %d",i++,i);}A)42 14,13 B)41 14,14 C)42 13 13 D)42 13 1415.若有定义:int x,y;char a,b,c;并有以下输入数据(此处,<cr>代表换行符)1 2<cr>A B C<cr>则能给x赋整数1,给y赋整数2,给a赋字符A,给b赋字符B,给c赋字符C的正确程序段是 C 。
注意:12之间有空格,abc之间也有空格A)scanf("x=%dy=%d",&x,&y);a=getchar();b=getchar();c=getchar();B)scanf("%dy%d",&x,&y);a=getchar();b=getchar();c=getchar();C)scanf("%d%d%c%c%c%c%c%c",&x,&y,&a,&a,&b,&b,&c,&c);D)scanf("%d%d%c%c%c",&x,&y,&a,&b,&c);16.若已知a=10,b=20,则表达式!a<b的值为 C 。
A)10 B)20 C)1 D)017.printf函数中用到格式符"%4s",其中数字4表示输出的字符串站用4列。
如果字符串长度大于4,则按原字符长从左向右全部输出;如果字符串长度小于4,则输出方式为 C 。
A)从左起输出该字符串,右补空格B)按原字符长从左向右全部输出C)右对齐输出该字符,左补空格D)输出错误信息18.以下C程序,正确的运行结果是 B 。
main(){long y=-34567;printf("y=%-8ld\n",y);printf("y=%-08ld\n",y);printf("y=%08ld\n",y);printf("y=%+8ld\n",y);}A)y= -34567 B)y=-34567y=- 34567 y=-34567y=-0034567 y=-0034567y=-34567 y= -34567C)y=-34567 D)y= -34567y=-34567 y=-0034567y=-0034567 y=00034567y=-34567 y=+3456719. C程序的基本编译单位是 C 。
A)函数B)文件C)源文件D)子程序20.设有如下定义和执行语句,其输出结果为:A。
int a=3,b=3;a = --b + 1; printf(“%d %d”,a,b);A)3 2 B)4 2 C)2 2 D)2 321.根据定义和数据的输入方式,输入语句的正确形式为:A。
已有定义:float a1, a2;数据的输入方式: 4.5233.52A)scanf(“%f %f ”, &a1,&a2);B)scanf(“%f ,%f ”, a1, a2);C)scanf(“%4.3f ,%3.2f ”, &a1,&a2); 注意:%4.3f %3.2f是错的,f前不能规定数据精度D)scanf(“%4.3f %3.2f ”, a1,a2);22.以下程序的输出结果是:。
main( ){ int I=012, j=12, k=0x12;printf(“%d,%d,%d\n”,I, j, k );A)10, 12, 18 B)12, 12, 12C)10, 12, 12 D)12, 12, 1823. 以下程序的输出结果是:(注:▂表示空格) D 。
main( ){ printf(“\n*s1=%8s*”, “china”);printf(“\n*s2=%-5s*”, “chi”) ; }A)*s1=china▂▂▂* B)*s1=china▂▂▂**s2=chi* *s2=chi▂▂*C)*s1=▂▂▂china* D)*s1=▂▂▂china**s2=▂▂chi * *s2=chi▂▂*二.填空题1.C语言中的语句可分为5类,即表达式语句、函数调用语句、空语句、控制语句、复合语句。
2.由一次函数调用加一个分号构成一个函数调用语句。
3.putchar函数的作用是输出一个字符。
4.printf是C语言提供的标准输出函数,它的作用是把数据按制定的格式输出到显示器。
5.printf函数的“格式控制”包括两部分,他们是格式字符和普通字符。
6.对不同类型的语句有不同的格式字符。
例如: d 格式字符是用来输出十进制整数,c 格式字符是用来输出一个字符,s 格式字符是用来输出一个字符串。
7.%-ms表示如果串长< m,则在m列范围内,字符串向左靠,右补空格。
8.如果要输出字符“&”,则应该在“格式控制”字符串中用% c 表示。
9.getchar函数的作用是从键盘接受一个字符。
10.符号“&”是取地址运算符,&a是指取变量a的地址。
(&是双目运算符则表示按位与,&是单目运算符则表示取地址)11.scanf函数中的“格式控制”后面应当是地址表列,而不是输入表列。