信息知识竞赛(C语言)考试参考题库500题(附答案)_第1页
信息知识竞赛(C语言)考试参考题库500题(附答案)_第2页
信息知识竞赛(C语言)考试参考题库500题(附答案)_第3页
信息知识竞赛(C语言)考试参考题库500题(附答案)_第4页
信息知识竞赛(C语言)考试参考题库500题(附答案)_第5页
已阅读5页,还剩151页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE1信息知识竞赛(C语言)考试参考题库500题(附答案)一、单选题1.下列数据定义语句中可实现留空20H个字节存储单元的是()。A、DB20DUP()B、DW20HDUP()C、DB10HDUP(4DUP())D、DD08HDUP()答案:D2.函数调用语句:fseek(fp,-10L,2);的含义是()。A、将文件位置指针从文件末尾处向文件头的方向移动10个字节B、将文件位置指针从当前位置向文件头的方向移动10个字节C、将文件位置指针从当前位置向文件末尾方向移动10个字节D、将文件位置指针移到距离文件头10个字节处答案:A3.下面哪个不是子程序的参数传递方法()。A、立即数传递B、寄存器传递C、堆栈传递D、存储器传递答案:A4.有以下程序#include<stdio.h>main(){intx=1,y=0;if(!x)y++;elseif(x==0)if(x)y+=2;elsey+=3;printf("%d\n",y);}程序运行后的输出结果是()。A、3B、2C、1D、0答案:D5.算术位移指令SAR用于带符号数除2,而逻辑位移指令SHR用于()。A、带符号数减2B、带符号数除2C、无符号数乘2D、无符号数除2答案:D6.当并行接口芯片8255A被设定为方式2时,其工作的I/O口()。A、既能作输入口、也能作输出口使用B、仅能作输入口使用C、仅能作不带控制信号的输入口或输出口使用D、仅能作输出口使用答案:A7.以下程序的输出结果是()。#defineM(x,y,z)x*y+zmain(){inta=1,b=2,c=3;printf("%d\n",M(a+b,b+c,c+a));}A、19B、17C、15D、12答案:D8.以下函数的类型是()。fff(floatx){printf(“%d\n”,x*x);}A、与参数X的类型相同B、void型C、int型D、无法确定答案:C9.以下程序运行后的输出结果是()。#include<stdio.h>#include<string.h>#include<stdlib.h>main(){char*p;inti;p=(char*)malloc(sizeof(char)*20);strcpy(p,"wele");for(i=6;i>=0;i--)putchar(*(p+i));printf("\n-");free(p);}A、weleB、ewleC、wleeD、emoclew答案:D10.#include<stdio.h>main(){chara1,a2,a3,a4,a5,a6;scanf(“%c%c%c%c”,&a1,&a2,&a3,&a4);a5=getchar();a6=getchar();putchar(a1);putchar(a2);printf(“%c%c\n”,a5,a6);}如:123回车45678回车结果是()。A、1267B、1256C、1278D、1245答案:D11.已知字符0的ASCII码为十六进制的30,下面程序的输出是()。main(){union{unsignedcharc;unsignedinti[4];}z;z.i[0]=0x39;z.i[1]=0x36;printf("%c\n",z.c);}A、6B、9C、0D、3答案:B12.C语言中数组下标的下限是()。A、1B、0C、视具体情况而定D、无固定下限答案:B13.中断类型码为40H的中断服务程序入口地址存放在中断向量表中的起始地址是()。A、DS:0040HB、DS:0100HC、0000H:0040HD、0000H:0100H答案:D14.以下程序段输出结果是()。main(){intk,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}printf(“%d\n”,s);}A、9B、1C、11D、10答案:D15.若IEEE754单精度格式为(-1)s×(1.M)×2E-127,则十进制数3/4表示成754标准的十六进制数据为()。A、3F200000HB、BF200000HC、3F400000HD、BF400000H答案:C16.下列条件语句中,输出结果与其他语句不同的是()。A、if(a)printf(“%d\n”,x);elseprintf(“%d\n”,y);B、if(a==0)printf(“%d\n”,y);elseprintf(“%d\n”,x);C、if(a!=0)printf(“%d\n”,x);elseprintf(“%d\n”,y);D、if(a==0)printf(“%d\n”,x);elseprintf(“%d\n”,y);答案:D17.以下能正确定义字符串的语句是()。A、charstr[]={"\064"};B、charstr="kx43";C、charstr="";D、charstr[]="\0"答案:D18.在段定义时,如果定位类型用户未选择,就表示是隐含类型,其隐含类型是()。A、WORDB、PAGEC、BYTED、PARA答案:D19.有以下程序#include<stdio.h>#defineS(x)4*(x)*x+1main(){intk=5,j=2;printf("%d\n",S(k+j));}程序运行后的输出结果是()。A、197B、143C、33D、28答案:B20.下列说法中,错误的是()。A、8259A的自动EOI方式只适用于不出现多重中断的场合B、8259A的初始化结束后,在写入OCW2之前,它按完全嵌套方式工作C、在PC/XT下不能扩展新的8259AD、8259A的8个中断源的中断向量在中断向量表中是连续存放的答案:C21.要求通过while循环不断读入字符,当读入字母N时结束循环。若变量已正确定义,以下正确的程序段是()。A、while((ch=getchar())!="N")printf("%c",ch);B、while(ch=getchar()!="N")printf("%c",ch);C、while(ch=getchar()=="N")printf("%c",ch);D、while((ch=getchar())=="N")printf("%c",ch);答案:A22.有以下程序#include<stdio.h>main(){chara[30],b[30];scanf("%s",a);gets(b);printf("%s\n%s\n",a,b);}程序运行时若输入:howareyou?Iamfine<回车>则输出结果是()。A、howareyou?B、howareyou?IamfineC、howareyou?IamfineD、howareyou?答案:B23.设(AL)=07H,要使(AL)=-07H应执行的指令是()。A、ORAL,80HB、NOTALC、NEGALD、ADDAL,80H答案:C24.有以下程序#include<stdio.h>voidnum(){externintx,y;inta=15,b=10;x=a-b;y=a+b;}intx,y;main(){inta=7,b=5;x=a-b;y=a+b;num();printf("%d,%d\n",x,y);}执行后的输出结果是()。A、12,2B、5,25C、1,12D、输出不确定答案:B25.真值为-100101的数在字长为8的机器中,其补码形式为()。A、11011011B、10011011C、10110110D、10110111答案:A26.外部设备接口是指()。A、CPU与系统总线之间的逻辑部件B、系统总线与外部设备之间的逻辑部件C、主存与外围设备之间的逻辑部件D、运算器与外围设备之间的逻辑部件答案:B27.对下面程序段:#defineA3#defineB(a)((A+1)*a)...x=3*(A+B(7));正确的判断是()。A、程序错误,不许嵌套宏定义B、程序错误,宏定义不许有参数C、x=93D、x=21答案:C28.若有定义语句:intyear=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是()。A、*p+=1;B、(*p)++;C、++(*p);D、*p++;答案:D29.以下程序的输出结果是()。main(){inta=4,b=5,c=0,d;d=!a&&!b||!c;printf("%d\n",d);}A、1B、0C、非0数D、-1答案:A30.设SP=4AH,执行段内返回指令RET4后,SP的值是()。A、44HB、48HC、4CHD、50H答案:D31.MOVAL,-1NEGALXORAL,65H上述指令序列执行后,AL的值是()。A、01HB、40HC、61HD、64H答案:D32.下面程序输出数组中的最大值,由s指针指向该元素.main(){inta[10]={6,7,2,9,1,10,5,8,4,3,},*p,*s;flr(p=a,s=a;p-a<10;p++)if(_________)s=p;printf("Themax:%d",*s):}则在if语句中的判断表达式应该是()。A、p>sB、*p>*sC、a[p]>a[s]D、p-a>p-答案:B33.CPU要访问的某一存储单元的实际地址称()。A、段地址B、偏移地址C、物理地址D、逻辑地址答案:C34.请读程序:main(){inta=1,b=2;printf("%d\n",a=a+1,a+6,b+2);}则上面程序的输出结果是()。A、2B、3C、4D、1答案:A35.以下有关switch语句的正确说法是()。A、break语句是语句中必须的一部分B、在switch语句中可以根据需要使用或不使用break语句C、break语句在switch语句中不可以使用D、在switch语句中的每一个case都要用break语句答案:B36.8255的A口中断输出时,应将A口工作方式初始化为什么才能满足()。A、方式0B、方式1C、方式2D、不初始化答案:B37.定点小数是指()。A、小数点固定在最低位数的后面B、小数点固定在最高位数的后面C、小数点的位置可以随意指定D、没有小数的数答案:B38.零地址指令可选的寻址方式是()。A、立即寻址B、间接寻址C、堆栈寻址D、寄存器寻址答案:C39.采用直接寻址方式,则操作数在()。A、主存中B、寄存器中C、堆栈中D、磁盘中答案:A40.在C语言中,int,char和short三种类型数据在内存中所占用的字节数()。A、由用户自己定义B、均为2个字节C、是任意的D、由所用机器的机器字长决定答案:D41.有以下程序#include<stdio.h>intfun(){staticintx=1;x*=2;returnx;}voidmain(){inti,s=1;for(i=1;i<=2;i++)s=fun();printf("%d\n",s);}执行后的输出结果是()。A、1B、2C、3D、4答案:D42.有以下程序#include"stdio.h"voidmain(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}执行后的输出结果是()。A、1B、2C、3D、4答案:C43.设有语句inta=3,则执行语句a+=a-=a*a以后变量a的值是()。A、3B、0C、9D、-12答案:D44.有以下程序main(){charc1,c2,c3,c4,c5,c6;scanf("%c%c%c%c",&c1,&c2,&c3,&c4);c5=getchar();c6=getchar();putchar(c1);putchar(c2);printf("%c%c\n",c5,c6);}程序运行后,若从键盘输入(从第1列开始)123<回车>45678<回车>则输出结果是()。A、1267B、1256C、1278D、1245答案:D45.在磁盘的各磁道中()。A、最外圈磁道的位密度最大B、最内圈磁道的位密度最大C、中间磁道的位密度最大D、所有磁道的位密度一样大答案:B46.以下程序运行后的输出结果是()。#include<stdio.h>main(){inti,j;for(i=6;i>3;i--)j=i;printf(“%d%d\n”,i,j);}A、2,3B、3,3C、3,4D、4,5答案:C47.下列总线或接口中不属于串行方式的是()。A、PCIB、RS232C、UARTD、USB答案:A48.有以下程序main(){char*p[]={"3697","2584"};inti,j;longnum=0;for(i=0;i<2;i++){j=0;while(p[i][j]!="\0"){if((p[i][j]-"0")%2)num=10*num+p[i][j]-"0";j+=2;}}printf("%d\n",num);}程序执行后的输出结果是()。A、35B、37C、39D、3975答案:C49.以下关于逻辑运算符两侧运算对象的叙述中正确的是()。A、只能是整数0或1B、只能是整数0或非0的整数C、可以是结构体类型的数据D、可是任意合法的表达式答案:D50.某一测控系统要使用连续的方波信号,如果使用8253可编程定时/计数器来实现此功能,则8253应工作在()。A、方式0B、方式1C、方式2D、方式3答案:D51.C语言中,形参缺省的存储类别是()。A、auto(自动)B、static(静态)C、register(寄存器)D、extern(外部)答案:A52.有以下程序#include"stdio.h"intabc(intu,intv);main(){inta=24,b=16,c;c=abc(a,b);printf('%d\n",c);}intabc(intu,intv){intw;while(v){w=u%v;u=v;v=w}returnu;}输出结果是()。A、6B、7C、8D、9答案:C53.DOS系统功能调用中,将子程序编号送入哪个寄存器()。A、AHB、ALC、BHD、BL答案:A54.CISC是哪个的简称()。A、精简指令系统计算机B、大规模集成电路C、复杂指令计算机D、超大规模集成电路答案:C55.若有定义语句:doublea,*p=&a;以下叙述中错误的是()。A、定义语句中的*号是一个间址运算符B、定义语句中的*号只是一个说明符C、定义语句中的p只能存放double类型变量的地址D、定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p答案:A56.8255A的方式选择控制字为80H,其含义是()。A、B、C口全为输入B、A口为输出,其他为输入C、A、B为方式0D、A、B、C口均为方式0,输出答案:C57.以下程序运行后的输出结果是()。#include<stdio.h>main(){inti,n[5]={0};for(i=1;i<=4;i++){n[i]=n[i-1]*2+1;printf("%d",n[i]);}printf("\n");}A、13715B、13716C、13717D、13714答案:A58.有以下程序#include"stdio.h"voidmain(){inta=111;a=a^00;printf("%d,%o\n",a,a);}执行后的输出结果是()。A、111,157B、0,0C、20,24D、7,7答案:A59.以下程序main(){intx[3][2]={0},I;for(I=0;I<3;I++)scanf("%d",x[i]);printf("%3d%3d%3d\n",x[0][0],x[0][1],x[1][0]);}若运行时输入:246<回车>,则输出结果为()。A、200B、204C、240D、246答案:B60.有以下程序main(){inti;for(i=1;i<=40;i++){if(i++%5==0)if(++i%8==0)printf("%d",i);}printf("\n");}执行后的输出结果是()。A、5B、24C、32D、40答案:C61.有以下程序段#include<stdio.h>main(){…while(getchar()!='\n');…}以下叙述中正确的是()。A、此while语句将无限循环B、getchar()不可以出现在while语句的条件表达式中C、当执行此while语句时,只有按回车键程序才能继续执行D、当执行此while语句时,按任意键程序就能继续执行答案:C62.CPU可直接编程访问的存储器是()。A、光盘存储器B、虚拟存储器C、磁盘存储器D、主存储器答案:D63.设A=186,B=273<sub>O</sub>,C=0BB<sub>H</sub>,它们之间的关系是()。A、A>B>CB、A<B<CC、A=B=CD、A<B=C答案:D64.向量中断是()。A、由硬件形成中断向量地址,再由向量地址找到中断服务程序入口地址B、由硬件形成中断服务程序入口地址C、外设提出中断D、以上都不正确答案:A65.一个8位D/A转换器的分辨能力可以达到满量程的()。A、1/8B、1/256C、1/16D、1/32答案:B66.ORG200HBUFDB12H,34H┇MOVAX,WORDPTRBUF上述指令语句执行后AX中的内容是()。A、3412HB、1234HC、0200HD、0012H答案:A67.动态半导体存储器的特点是()。A、在工作中存储器内容会产生变化B、只在读出后根据原存内容重新写入一遍C、每隔一定时间,需要根据原存内容重新写入一遍D、在工作中需要动态地改变访存地址答案:C68.已定义以下函数intfun(int*p){return*p;)fun函数返回值是()。A、不确定的值B、一个整数C、形参P中存放的值D、形参P的地址值答案:B69.字符显示器中的VRAM用来存放()。A、显示字符的ASCII码B、BCD码C、字模D、汉字内码答案:A70.设有如下函数定义:intf(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}如果在主程序中用下面的语句调用上述函数,则输出结果为()。printf("%d\n",f("goodbey!"));A、3B、6C、8D、0答案:C71.二进制数100.0101B在机器中表示为()。A、1000101*10-4B、1000101*2-4C、0.1000101*10+3D、0.1000101*2+3答案:D72.磁盘处理写保护状态,那么磁盘中的数据()。A、不能读出,不能删改,也不能定入新数据B、可以读出,不能删改,也不能写入新数据C、可以读出,可以删改,但不能写入新数据D、可以读出,不能删改,但可以写入新数据答案:B73.中断控制方式的优点是()。A、提高CPU的利用率B、提高CPU与外设的数据传送精度C、提高CPU与外设的数据传送速度D、减少外设的等待时间答案:A74.下列说法中正确的是()。A、C语言程序总是从第一个定义的函数开始执行B、在C语言程序中要调用的函数必须在main()函数中定义C、C语言程序总是从main()函数开始执行D、C语言程序中的main()函数必须在程序的开始部分答案:C75.设有如下定义:structsk{inta;floatb;}data,*p;若有p=&data;,则对data中的a域的正确引用是()。A、(*p).data.aB、(*p).aC、p->data.aD、p.data.a答案:B76.比较硬连线控制器和微程序控制器,下列说法正确的是()。A、硬连线控制器结构简单规整B、硬连线控制器执行速度慢C、微程序控制器执行速度快D、微程序控制器容易实现复杂指令控制答案:D77.设有intx,y;以下语句判断x和y是否相等,正确的说法是该语句()。if(x=y)printf("xisequaltoy.");A、语法错B、不能判断x和y是否相等C、编译出错D、能判断x和y是否相等答案:B78.实模式下,80486管理的内存空间中,地址为00000H~003FFH中存放着()。A、用户程序代码B、BIOS代码C、DOS系统代码D、中断向量表答案:D79.在PC机中,启动硬中断服务程序执行的是()。A、主程序中安排的中断指令B、中断控制器发出的中断请求信号C、主程序中安排的转移指令D、主程序中安排的调用指令答案:B80.程序片段:在TC20中,inti=65536;printf("%d\n",i);的输出结果是()。A、65536B、0C、有语法错误,无输出结果D、-1答案:B81.若有数组定义:chararray[]="China";则数组array所占的空间为()。A、4个字节B、5个字节C、6个字节D、7个字节答案:C82.若存储周期250ns,每次读出16位,则该存储器的数据传送率为()。A、4×106字节/秒B、40M字节/秒C、8×106字节/秒D、80M字节/秒答案:C83.设AL和BL中都是带符号数,当AL≤BL时转至NEXT处,在CMPAL,BL指令后应选用正确的条件转移指令是()。A、JBEB、JNGC、JNAD、JNLE答案:B84.中断屏蔽字的作用是()。A、暂停外设对主存的访问B、暂停对某些中断的响应C、暂停对一切中断的响应D、暂停CPU对主存的访问答案:B85.中断向量可以提供()。A、被选中设备的起始地址B、传送数据的起始地址C、中断服务程序入口地址D、主程序的断点地址答案:C86.有以下程序段inti,n;for(i=0;i<8;i++){n=rand()%5;switch(n){case1:case3:printf("%d\n",n);break;case2:case4:printf("%d\n",n);continue;case0:exit(0);}printf("%d\n",n);}以下关于程序段执行情况的叙述,正确的是()。A、for循环语句固定执行8次B、当产生的随机数n为4时结束循环操作C、当产生的随机数n为1和2时不做任何操作D、当产生的随机数n为0时结束程序运行答案:D87.设p1和p2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是()。A、k=*p1+*p2;B、p2=k;C、p1=p2;D、k=*p1*(*p2);答案:B88.若给出以下定义:charx[]="abcdefg";chary[]={'a','b','c','d','e','f','g'};则正确的叙述为()。A、数组x和数组y等价B、数组x和数组y的长度相同C、数组x的长度大于数组y的长度D、数组x的长度小于数组y的长度答案:C89.实模式下,NMI中断的中断矢量在中断矢量表中的位置是()。A、由DOS自动分配B、由程序指定C、固定在以0008H开始的2个字单元中D、固定在中断矢量表表首答案:C90.以下程序的输出结果是()。main(){inti,j,x=0;for(i=0;i<2;i++){x++;for(j=0;j<3;j++){if(j%2)continue;x++;}x++;}printf("x=%d\n",x);}A、x=4B、x=8C、x=6D、x=12答案:B91.执行以下语句:x+=y;y=x-y;x-=y;的功能是()。A、把x和y按从大到小排列B、把x和y按从小到大排列C、无确定结果D、交换x和y中的值答案:D92.下列函数的功能是fun(char*a,char*b){while((*b=*a)!='\0'){a++,b++;}}A、将a所指字符串赋给b所指空间B、使指针b指向a所指字符串C、将a所指字符串和b所指字符串进行比较D、检查a和b所指字符串中是否有'\0'答案:A93.有以下程序#include<stdio.h>main(){inta=7;while(a--);printf(“%d\n”,a);}程序运行后的输出结果是()。A、-1B、0C、1D、7答案:A94.原码乘法是()。A、先取操作数绝对值相乘,符号位单独处理B、用原码表示操作数,然后直接相乘C、被乘数用原码表示,乘数取绝对值,然后相乘D、乘数用原码表示,被乘数取绝对值,然后相乘答案:A95.BUFlDB3DUP(0,2DUP(1,2),3)COUNTEQU$-BUFl符号COUNT等价的值是()。A、6B、8C、16D、18答案:D96.4片8259级联工作,可管理的外部中断源的级数为()。A、4B、32C、28D、29答案:D97.若有以下程序片段:charstr[]="ab\n\012\\\"";printf("%d",strlen(str));上面程序片段的输出结果是()。A、3B、4C、6D、12答案:C98.执行后使BX=0的同时也使CF=0,OF=0的指令是()。A、XORBX,BXB、ORBX,BXC、ANDBX,BXD、CMPBX,BX答案:A99.若AX=-15要得到AX=15应执行的指令是()。A、NEGAXB、NOTAXC、INCAXD、DECAX答案:A100.在CPU中,指令寄存器IR用来存放()。A、正在执行的指令B、即将执行的指令C、已执行的指令D、指令地址答案:A101.以下不合法的数值常量是()。A、011B、1e1C、8.0E0.5D、0xabcd答案:C102.用ASSUME伪指令指定某个段分配给那个寄存器后,还需要通过MOV指令来给段寄存器赋值,下面哪个不能这样做,而是在程序初始化时自动完成的。()。A、数据段寄存器DSB、堆栈段寄存器SSC、代码段寄存器CSD、附加段寄存器ES答案:C103.下列不正确的转义字符是()。A、\\'B、\"C、074'D、\0'答案:C104.运行结果是()switch(‘B’){case‘A’:printf("abc");break;case‘B’:switch(1){case0:printf("a");break;case1;printf("b");break;default:printf("c");break;}default:printf("x");}A、axB、bxC、cxD、dx答案:B105.有以下程序#include<stdio.h>voidmain(){intj,a[]={1,3,5,7,9,11,13,15},*p=a+5;for(j=3;j;j--){switch(j){case1:case2:printf("%d",*p++);case3:printf("%d",*(--p));}}}执行后的输出结果是()。A、9911B、79911C、99999D、991113答案:C106.以下程序的输出结果是()。unionmyun{struct{intx,y,z;}u;intk;}a;main(){a.u.x=4;a.u.y=5;a.u.z=6;a.k=0;printf("%d\n",a.u.x);}A、4B、5C、6D、0答案:D107.有以下程序段main(){union{intk;chari[2];}*s,a;s=&a;s->i[0]=0x39;s->i[1]=0x38;printf("%x\n",s->k);}输出结果是()。A、3839B、3938C、380039D、390038答案:A108.有以下程序#include"stdio.h"voidmain(){intx=1,y=0,a=0,b=0;switch(x){case1:switch(y){case0:a++;break;case1:b++;break;}case2:a++;b++;break;}printf("a=%d,b=%d\n",a,b);}执行后的输出结果是()。A、a=2,b=1B、a=1,b=1C、a=1,b=0D、a=2,b=2答案:A109.下列指令执行时操作数在数据段的是()。A、MOVAX,32768HB、ADDAL,AHC、NEGBXD、INC[DI]答案:D110.直接、间接、立即三种寻址方式指令的执行速度,由快至慢的排序为()。A、直接、立即、间接B、直接、间接、立即C、立即、直接、间接D、不一定答案:C111.当8253可编程定时/计数器工作在方式0,在初始化编程时,一旦写入控制字后()。A、输出信号端OUT变为高电平B、输出信号端OUT变为低电平C、输出端保持原来的电位值D、立即开始计数答案:B112.现有一个文本文件,想以追加方式打开,下列方式正确的是()。if((fp=fopen("fname.dat","____"))==NULL){printf("cannotopenfile!\n",num);exit(0);}A、wB、abC、bD、a答案:D113.浮点数进行右规格化时,()。A、尾数右移1位,阶码加1B、阶码右移1位,尾数加1C、尾数右移1位,阶码减1D、阶码右移1位,尾数减1答案:A114.用一条指令实现将寄存器BX和SI中的内容相加,结果送入AX中,这条指令是()。A、ADDAX,[SI][BX]B、MOVAX,[BX+SI]C、ANDAX,[BX+SI]D、LEAAX,[BX][SI]答案:D115.下面程序的输出结果为()。structst{intx;int*y;}*p;intdt[4]={10,20,30,40};structstaa[4]={50,&dt[0],60,&dt[1],70,&dt[2],80,&dt[3]};main(){p=aa;printf("%d\n",++p->x);printf("%d\n",(++p)->x);printf("%d\n",++(*p->y));}A、102020B、502020C、516021D、607031答案:C116.有以下程序#include<stdio.h>voidmain(){ints;scanf("%d",&s);while(s>0){switch(s){case1:printf("%d",s+5);case2:printf("%d",s+4);break;case3:printf("%d",s+3);default:printf("%d",s+1);break;}scanf("%d",&s);}}运行时,若输入123450<回车>,则输出结果是()。A、6566456B、66656C、66666D、6666656答案:A117.下面的程序执行后,文件test中的内容是()。voidfun(char*fname,char*st){FILE*myf;inti;myf=fopen(fname,"w");for(i=0;st[i];i++)fputc(st[i],myf);fputc('\0',myf);fclose(myf);}main(){fun("test","newworld");fun("test","hello,");}A、hello,B、newworldhello,C、newworldD、hello,rld答案:A118.8255A工作在方式2时,ACKA有效表示()。A、数据已存入端口AB、数据已被外设取走C、将数据存入端口AD、知外设将端口A数据取走答案:B119.有以下程序(注:字符a的ASCII码值为97)#include<stdio.h>main(){char*s={“abc”};do{printf(“%d”,*s%10);++s;}while(*s);}程序运行后的输出结果是()。A、abcB、789C、7890D、979899答案:B120.有以下程序fun(intx){intp;if(x==0║x==1)return(3);p=x-fun(x-2);returnp;}main(){prinf("%d\n",fun(7));}执行后的输出结果是()。A、7B、3C、2D、0答案:C121.有以下程序#include"stdio.h"voidmain(){intc;while((c=getchar())!='\n')switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}printf("\n");}通过键盘输入446755,执行后的输出结果是()。A、888988B、668966C、88898787D、66898787答案:C122.下列程序段执行后,s的值是()staticcharch[]="600";inta,s=0;for(a=0;ch[a]>='0'&&ch[a]<='9';a++)s=10*s+ch[a]-'0';A、600B、6C、0D、出错答案:A123.有以下程序fun(intx,inty){return(x+y);}main(){inta=1,b=2,c=3,sum;sum=fun((a++,b++,a+b),c++);printf("%d\n",sum);}执行后的输出结果是()。A、6B、7C、8D、9答案:C124.存储单元是指()。A、存放一个二进制信息位的存储元B、存放一个机器字的所有存储元集合C、存放一个字节的所有存储元集合D、存放两个字节的所有存储元集合答案:B125.某系统中欲采用8254的计数器0作频率信号发生器,引入计数器0的时钟频率为1.275MHz若要求它输出一个频率为5000Hz的信号,则在初始化时,送到计数器0的计数初值为()。A、0FFFHB、02FFHC、01FFHD、00FFH答案:D126.以下程序运行后,输出结果是()。fut(int**s,intp[2][3]){**s=p[1][1];)main(){inta[2][3]={1,3,5,7,9,11},*p;p=(int*)malloc(sizeof(int));fut(&p,a);printf("%d\n",*p);}A、1B、7C、9D、11答案:C127.有以下程序#include<stdio.h>main(){unsignedchara=8,c;c=a>>3;printf("%d\n",c);}程序运行后的输出结果是()。A、32B、16C、1D、0答案:C128.执行POPBP指令时,源操作数的物理地址表达式是()。A、16*SS+SPB、16*SS+BPC、16*DS+BPD、16*CS+BP答案:A129.有以下程序voidss(char*s,chart){while(*s){if(*s==t)*s=t-′a′+′A′;s++;}}main(){charstr1[100]="abcddfefdbd",c=′d′;ss(str1,c);printf("%s\n",str1);}程序运行后的输出结果是()。A、ABCDDEFEDBDB、abcDDfefDbDC、abcAAfefAbAD、Abcddfefdbd答案:B130.一个8位二进制补码整数,由3个“1”和5个“0”组成,则其最小值为()。A、-127B、-32C、-125D、-3答案:C131.若IEEE754单精度格式为(-1)s×(1.M)×2E-127,则十进制数-3/4表示成754标准的十六进制数据为()。A、3F200000HB、BF200000HC、3F400000HD、BF400000H答案:D132.在远距离串行通信中,采用调制技术是为了使信号()。A、强度加大B、有条不紊传送C、一位一位传送D、不失真传送答案:D133.以下对结构体变量stu1中成员age的非法引用是()。structstudent{charname[10];intage;}stu1,*p;p=&stu1;A、stu1.ageB、p->ageC、(*p).ageD、student.age答案:D134.若i和k都是int类型变量,有以下for语句for(i=0,k=-1;k=1;k++)printf("*****\n");下面关于语句执行情况的叙述中正确的是()。A、循环体执行两次B、循环体执行一次C、循环体一次也不执行D、构成无限循环答案:D135.下列部件中不属于主机的是()。A、运算器B、控制器C、硬盘D、内存储器答案:C136.一个指令周期包含若干个CPU周期,CPU周期也称为()。A、指令周期B、微周期C、时钟周期D、机器周期答案:D137.符号位可以和数字位一起直接参加运算的编码是()。A、补码和原码B、补码和移码C、原码和反码D、移码和反码答案:B138.若AL,BL中是BCD数,且在执行ADDAL,BL之后,(AL)=0EH,CFAF=10。再执行DAA后,(AL)=()。A、04HB、14HC、64HD、74H答案:D139.以下程序运行后的输出结果是()。#include<stdio.h>main(){intn[2],i,j;for(i=0;i<2;i++)n[i]=0;for(i=0;i<2;i++)for(j=0;j<2;j++)n[j]=n[i]+1;printf(“%d\n”,n[1]);}A、4B、3C、2D、1答案:B140.执行下列程序后,i的值是()。inti,x;for(i=1,x=1;i<20;i++){if(x>=10)break;if(x%2==1){x+=5;continue;}x-=3;}A、4B、5C、6D、7答案:C141.表达式:10!=9的值是()。A、tureB、非零值C、1D、0答案:C142.以下叙述中错误的是()。A、C程序中的#include和#define行均不是C语句B、除逗号运算符外,赋值运算符的优先级最低C、C程序中,j++;是赋值语句D、C程序中,+、-、*、/、%号是算术运算符,可用于整型和实型数的运算答案:D143.有以下程序#include"stdio.h"main(){inta,b,c=246;a=c/100%9;b=(-1)&&(-1);printf("%d,%d\n",a,b);}输出结果是()。A、2,1B、3,2C、4,3D、2,-1答案:A144.设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是()。A、scanf("%f",&x[6]);B、scanf("%lf",*(x+6));C、scanf("%lf",p+6);D、scanf("%lf",p[6]);答案:C145.在“先判断后工作”的循环程序结构中,循环执行的次数最少是()。A、不定B、0C、1D、2答案:B146.欲读取8259A的IRR的内容,必须先写哪个命令字()。A、ICW1B、OCW2C、ICW2D、OCW3答案:D147.对以下for循环,叙述正确的是()。for(x=0,y=0;(y!=123)&&(x<4);x++,y++);A、是无限循环B、循环次数不定C、执行了4次D、执行了3次答案:C148.变量具有类型属性,错误的类型是()。A、字节型B、字型C、字符型D、双字型答案:C149.有以下程序intfun(intn){if(n==1)return1;elsereturn(n+fun(n-1));}main(){intx;scanf("%d",&x);x=fun(x);printf("%d\n",x);}执行程序时,给变量X输入10,程序的输出结果是()。A、55B、54C、65D、45答案:A150.对于掉电,8086是通过什么来处理的()。A、软件中断B、DMA请求C、可屏蔽中断D、非屏蔽中断答案:D151.以下叙述中错误的是()。A、C语言源程序经编译后生成后缀为.obj的目标程序B、C程序经过编译、连接步骤之后才能形成一个真正可执行的二进制机器指令文件C、用C语言编写的程序称为源程序,它以ASCII代码形式存放在一个文本文件中D、C语言中的每条可执行语句和非执行语句最终都将被转换成二进制的机器指令答案:D152.以下关于硬盘的描述不正确的是()。A、硬盘是永久性存储器B、扇区是基本存储单位C、硬盘由驱动器和控制器组成D、硬盘速度比光盘速度快答案:C153.设CL=05H,要获得CL=0AH,可选用的指令是()。A、XORCL,0FHB、NOTCLC、ORCL,0AHD、ANDCL,0FH答案:A154.设8259A当前最高优先级为IR5,如果要使该中断在下一循环中变为最低优先级,则OCW2应设为()。A、11100000B、10100101C、10100000D、10000101答案:C155.要使8254通道2工作于方式4输出对称的周期性方波,必须有()。A、GATE为高电平,计数初值为奇数B、计数初值为偶数,GATE为高电平C、GATE为低电平,计数初值为奇数D、计数初值为偶数,GATE为低电平答案:B156.有如下条件表达式,若a=2、b=4、c=5、d=7则表达式的值为()。a>b?a:c>d?c:dA、2B、4C、5D、7答案:D157.如果程序中用到标准库函数log(),那么该程序应含下面哪条语句()。A、#include”stdio.h”B、#include”math.h“C、#include”string.h”D、#include”stdlib.h”答案:B158.C语言中规定函数的返回值的类型是由()。A、return语句中的表达式类型所决定B、调用该函数时的主调用函数类型所决定C、调用该函数时系统临时决定D、在定义该函数时所指定的函数类型所决定答案:D159.#include<stdio.h>intstreql(char*str1,char*str2){while((*str1==*str2)&&(*str1)){str1++;str2++;}return((*str1==NULL)&&(*str2==NULL));}voidmain(){printf("%d",streql("abc","Abc"));}程序的运行结果是()。A、0B、1C、2D、3答案:A160.设AX=9ABCH,DX=8765HPUSHAXPUSHDXPOPAXPOPDX上述4条指令执行后,AX,DX中内容分别是()。A、AX=9ABCHDX=8765HB、AX=9ABCHDX=9ABCHC、AX=8765HDX=8765HD、AX=8765HDX=9ABCH答案:D161.有以下程序structstu{intnum;charname[10];intage;};voidfun(structstu*p){printf("%s\n",(*p).name);}main(){structstustudents[3]={{9801,"Zhang",20},{9802,"Wang",19},{9803,"Zhao",18}};fun(students+2);}输出结果是()。A、ZhangB、ZhaoC、WangD、18答案:B162.在下列存储器中,属于顺序存取存储器的是()。A、优盘B、光盘C、磁盘D、磁带答案:D163.以下程序运行后的输出结果是()。#include<stdio.h>main(){intx=10,y=20,t=0;if(x==y)t=x;x=y;y=t;printf("%d%d\n",x,y);}A、100B、200C、1020D、2010答案:B164.输入、输出设备以及辅助存储器一般统称为()。A、I/O系统B、外围设备C、外存储器D、执行部件答案:B165.下列存储器中,属于半导体存储器的是()。A、硬盘B、光盘C、软盘D、优盘答案:D166.若二维数组a有m行n列,则下面能够正确引用元素a[i][j]的为()。A、*(a+j*n+i)B、*(a+i*n+j)C、*(*(a+i)+j)D、*(*a+i)+j答案:C167.#include<stdio.h>voidmain(){charstr[]="\"stop!\",hesaid";printf(str);}程序的运行结果是()。A、stop!B、"stop!"C、"stop",hesaidD、hesaid*/答案:C168.有以下程序#include<stdio.h>voidfun(int*p){printf(“%d\n”,p[5]);}main(){inta[10]={1,2,3,4,5,6,7,8,9,10};fun(&a[3]);程序运行后的输出结果是()。A、5B、6C、8D、9答案:D169.8255A接口芯片的端口A有几种工作方式()。A、5B、3C、4D、2答案:B170.在宏定义#definePI3.14159中,用宏名PI代替一个()。A、常量B、单精度数C、双精度数D、字符串答案:D171.下列说法中不正确的是()。A、在虚拟存储管理下,每个程序的逻辑地址空间可以大于实地址空间B、多级存储体系由cache、主存和虚拟存储器构成C、ache和虚拟存储器这两种存储器管理策略都利用了程序的局部性原理D、在CPU和主存之间增加cache,主要是为了提高主存的存取速度答案:B172.下面的程序段运行后,输出结果是()。inti,j,x=0;staticinta[8][8];for(i=0;i<3;i++)for(j=0;j<3;j++)a[i][j]=2*i+j;for(i=0;i<8;i++)x+=a[i][j];printf("%d",x);A、9B、不确定值C、0D、18答案:C173.要使BL中的低四位变反,高四位不变,应执行指令()。A、NOTBLB、ORBL,0FHC、ANDBL,0FHD、XORBL,0FH答案:D174.C语言中的标识符只能由字母,数字和下划线三种字符组成,且第一个字符()。A、必须为字母B、必须为下划线C、必须为字母或下划线D、可以是字母,数字和下划线中任一字符答案:C175.8255工作于中断方式传送数据时,可供使用的8位数据端口个数有()。A、1B、2C、3D、4答案:B176.寄存器间接寻址方式中,操作数在()。A、通用寄存器B、堆栈C、主存单元D、段寄存器答案:C177.在以下定义中,标识符p()。int(*p)[3];A、定义不合法B、是一个指针数组名,每个元素是一个指向整数变量的指针C、是一个指针,它指向一个具有三个元素的一维数组D、是一个指向整型变量的指针答案:C178.有以下程序main(){chars[]="abcde";s+=2;printf("%d\n",s[0]);}执行后的结果是()。A、输出字符a的ASCII码B、输出字符c的ASCII码C、输出字符cD、程序出错答案:D179.有以下程序#include"stdio.h"f(char*s){char*p=s;while(*p!='\0')p++;return(p-s);}voidmain(){printf("%d\n",f("ABCDEF"));}执行后的输出结果是()。A、3B、6C、8D、0答案:B180.C语言程序的基本单位是()。A、程序行B、语句C、函数D、字符答案:C181.如果在一个循环结构中包含若干个循环体,每个循环体对应一个条件,当满足某一条件后就执行对应循环体。进行这种循环结构的程序设计,常用()。A、计数控制法B、条件控制法C、开关控制法D、逻辑尺控制法答案:B182.组相联映象和全相联映象通常适合于()。A、小容量CacheB、大容量CacheC、小容量ROMD、大容量ROM答案:A183.下列程序的输出结果是()。intb=2;intfunc(int*a){b+=*a;return(b);}main(){inta=2,res=2;res+=func(&a);printf("%d\n",res);}A、4B、6C、8D、10答案:B184.下列有语法错误的语句是()。A、DB1234HB、DW4567HC、DD"AB","CD"D、DB"ABCD"答案:A185.有以下程序#include<stdio.h>main(){intx=011;printf("%d\n",++x);}程序运行后的输出结果是()。A、12B、11C、10D、9答案:C186.下列语句中,不正确的是()。A、staticchara[2]={1,2};B、staticchara[2]={'1','2'};C、staticchara[2]={'1','2','3'};D、staticchara[2]={'1'};答案:C187.以下叙述正确的是()。A、输入项可以是一个实型常量,如:scanf("%f".3.5);B、只有格式控制,没有输入项,也能正确输入数据到内存,例如:scanf("a=%d,b=%d);C、当输入一个实型数据时,格式控制部分可以规定小数点后的位数,例如:scanf("%4.2f",&f);D、当输入数据时,必须指明变量地址,例如:scanf("%f",&f);答案:D188.若有说明语句:double*p,a;则能通过scanf语句正确给输入项读入数据的程序段是()。A、*p=a;scanf("%1f",p);B、*p=a;scanf("%f",p);C、p=a;scanf("%1f",*p);D、p=&a;scanf("%1f",p);答案:D189.写出下列程序段运行结果()。unsignedinta=3,b=10;printf("%d\n",a<<2|b==1);A、13B、12C、8D、14答案:B190.已知inti,a;执行语句“i=(a=2*3,a*5),a+6;”后,变量a的值是()。A、6B、12C、30D、36答案:A191.用MOV指令将十进制数89以非压缩BCD码格式送入AX,可使用的指令是()。A、MOVAX,89B、MOVAX,0809HC、MOVAX,89HD、MOVAX,0809答案:B192.可以从8253的什么寄存器中读出减计数器的值()。A、控制寄存器B、计数初值寄存器C、减计数单元D、输出锁存寄存器答案:D193.使多路模拟信号共有一个A/D转换器时,需使用()。A、采样保持器B、多路模拟开关C、传感器D、滤波电路答案:B194.计数初值送到8253的哪个寄存器中()。A、控制寄存器B、计数初值寄存器C、减计数单元D、输出锁存寄存器答案:B195.在下列存储器中,属于挥发性的存储器是()。A、ROMB、光盘C、磁盘D、RAM答案:D196.JMPFARPTRABCD(ABCD是符号地址)是()。A、段内间接转移B、段间间接转移C、段内直接转移D、段间直接转移答案:D197.8255A能实现双向传送功能的工作方式为()。A、方式0B、方式1C、方式2D、都可以答案:C198.设整型变量a为5,使b不为2的表达式是()。A、b=a/2B、b=6-(--a)C、b=a%2D、b=a>3?2:1答案:C199.有关宏指令和子程序,下列说法哪一个不正确?()。A、宏指令并不能简化目标程序B、子程序可以简化目标程序,但执行时间要长些C、子程序或过程在执行时,由CPU处理D、宏指令在执行时要保护现场和断点答案:D200.以下程序的输出结果是()。func(inta,intb){intc;c=a+b;returnc;}main(){intx=6,y=7,z=8,r=0;r=func((x--,y++,x+y),z--);printf(“%d\n”,r);}A、11B、20C、21D、31答案:C201.在集中式总线仲裁中,什么方式响应时间最快()。A、菊花链B、独立请求C、计数器定时查询D、分布答案:B202.循环程序设计的关键是()。A、循环的控制B、循环结构的选择C、循环体的设计D、循环参数的置初值答案:A203.8086/8088系统执行传送指令MOV()。A、不影响标志位B、影响DF方向标志C、影响SF符号标志D、影响CF进位标志答案:A204.在执行下列指令时,需要使用段寄存器DS的指令是()。A、STOSWB、ADDAL,CLC、NEGBXD、INCBX答案:A205.有以下程序#include<stdio.h>intfun(intx,inty){if(x!=y)return((x+y)/2);elsereturn(x);}main(){inta=4,b=5,c=6;printf("%d\n",fun(2*a,fun(b,c)));}程序运行后的输出结果是()。A、3B、6C、8D、12答案:B206.如某存储器分段时,一个段最多允许16K个字节单元,那么表示一个段内偏移地址的二进制位数至少是()。A、14位B、15位C、16位D、17位答案:A207.有以下程序main(){chara[]="programming",b[]="language";char*p1,*p2;inti;p1=a;p2=b;for(i=0;i<7;i++)if(*(p1+i)==*(p2+i))printf("%c",*(p1+i));}输出结果是()。A、gmB、rgC、orD、ga答案:D208.指令SCAS的寻址方式是()。A、源操作数为寄存器寻址,目的操作数为寄存器间接寻址B、源操作数为寄存器间接寻址,目的操作数为寄存器间接寻址C、源操作数为寄存器间接寻址,目的操作数为寄存器寻址D、源操作数为寄存器寻址,目的操作数为寄存器寻址答案:A209.有以下程序#include"stdio.h"voidmain(){intx=0x02ff,y=0x0ff00;printf("%d\n",(x&y)>>4|0x005f);}执行后的输出结果是()。A、127B、255C、128D、1答案:A210.若要求从键盘读入含有空格字符的字符串,应使用函数()。A、getc()B、gets()C、getchar()D、scanf()答案:B211.浮点加减中的对阶的方法是()。A、将较大的一个阶码调整到与较小的一个阶码相同B、将较小的一个阶码调整到与较大的一个阶码相同C、将被加数的阶码调整到与加数的阶码相同D、将加数的阶码调整到与被加数的阶码相同答案:B212.设(SS)=338AH,(SP)=450H,执行PUSHBX,和PUSHF两条指令后,堆栈顶部的物理地址是()。A、33CECHB、33CF2HC、33CF4HD、33CE8H答案:A213.一般用条件转移指令JZ、JNZ、JC、JNC等来实现程序的什么结构()。A、顺序B、分支C、循环D、模块化答案:B214.在一个C语言程序中()。A、main函数必须出现在所有函数之前B、main函数可以在任何地方出现C、main函数必须出现在所有函数之后D、main函数必须出现在固定位置答案:B215.欲读取8259A的IMR内容,可()。A、先向8259A写入OCW3。然后读8259A的奇地址B、直接读8259A的偶地址C、先向8259A写入OCW3。然后读8259A的偶地址D、直接读8259A的奇地址答案:D216.#include"stdio.h"intdigits(intn){intc=0;do{c++;n/=10;}while(n);returnc;}voidmain(){printf("%d",digits(824));}程序运行结果是()。A、8B、3C、4D、5答案:B217.下列芯片中,可用作CPU与8位A/D转换器之间接口的是()。A、8251B、8254C、8255D、8259答案:C218.XORAX,426HJZDONE上述程序段产生分支的条件是()。A、执行前AX=426HB、执行前AX≠426HC、执行前AX=全0D、执行前AX=全1答案:A219.以下程序输出结果是()。main(){intm=5;if(m++>5)printf("%d\n",m);esleprintf("%d\n",m--);}A、7B、6C、5D、4答案:B220.微程序控制采用()。A、硬连线逻辑实现B、组合逻辑电路实现C、存储逻辑实现D、时序电路实现答案:C221.现有程序:main(){int*ptr,*p[5],i;if((ptr=malloc(100*sizeof(int)))!=NULL){p[0]=ptr;for(i=1;i<5;i++)p[i]=p[i-1]+7;for(i=0;i<100;i++)*ptr++=i;for(i=0;i<5;i++)printf("%3d",*p[i]);}}其输出结果是()。A、17142728B、07142228C、07132228D、07142128答案:D222.在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是()。A、地址传递B、单向值传递C、由实参传给形参,再由形参传回实参D、传递方式由用户指定答案:B223.当用8259A管理INTR中断时,要发出EOI命令结束中断是操作哪个命令字()。A、ICW1B、OCW2C、ICW2D、OCW3答案:B224.有以下程序main(){inta=1,b=3,c=5;int*p1=&a,*p2=&b,*p=&c;*p=*p1*(*p2);printf("%d\n",c);}执行后的输出结果是()。A、1B、2C、3D、4答案:C225.在以下给出的表达式中,与while(E)中的(E)不等价的表达式是()。A、(!E==0)B、(E>0‖E<0)C、(E==0)D、(E!=0)答案:C226.设有intx=11;则表达式(x++*1/3)的值是()。A、3B、4C、11D、12答案:A227.C语言中文件的存取方式是()。A、顺序存取B、随机存取C、顺序存取,随机存取均可D、顺序存取,随机存取均不可答案:C228.浮点数进行左规格化时,()。A、尾数左移1位,阶码加1B、阶码左移1位,尾数加1C、尾数左移1位,阶码减1D、阶码左移1位,尾数减1答案:C229.下列对字符串的定义中,错误的是()。A、charstr[7]="FORTRAN";B、charstr[]="FORTRAN";C、char*str="FORTRAN";D、charstr[]={'F','O','R','T','R','A','N',0};答案:A230.如果有多个中断请求同时发生,系统将根据它们的优先级高低,响应优先级最高的中断请求,若要调整响应顺序,则应使用()。A、中断嵌套B、中断响应C、中断屏蔽D、中断向量答案:C231.设VARl和VAR2是已定义的变量名,非法的表达式是()。A、VARl-VAR2B、VAR2-VARl[BX]C、VARl+VAR2D、VARl[BX]答案:B232.下列寻址方式中出现在指令“ADDR2,(R1)”中的是()。A、隐含寻址B、存储器间接寻址C、寄存器间接寻址D、直接寻址答案:C233.有以下程序#include"stdio.h"voidchange(intk[]){k[0]=k[5];}voidmain(){intx[10]={1,2,3,4,5,6,7,8,9,10},n=0;while(n<=4){change(&x[n]);n++;}for(n=0;n<5;n++)printf("%d",x[n]);printf("\n");}程序运行后输出的结果是()。A、678910B、13579C、12345D、62345答案:A234.以下程序的输出结果是()。main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=10)break;if(b%3==1){b+=3;continue;}}printf("%d\n",a);}A、101B、6C、5D、4答案:D235.若有定义:intb[5];则以下对b数组元素的正确引用是()。A、*b[5]B、b+2C、*(*(b+2))D、*(b+2)答案:D236.某存储单元的段地址是0AB90H,偏移地址是1234H,该存储单元的物理地址是()。A、0BDC4HB、0ACB34HC、0AD134HD、1CED0H答案:B237.有以下程序(说明:字符0的ASCII码值为48)#include<stdio.h>main(){charc1,c2;scanf("%d",&c1);c2=c1+9;printf("%c%c\n",c1,c2);}若程序运行时从键盘输入48<回车>,则输出结果为()。A、7B、8C、9D、6答案:C238.中断控制器8259A采用级连方式时最多可管理多少级中断源()。A、64B、32C、16D、8答案:A239.若某数x的真值为-0.1010,在计算机中该数表示为1.0110,则该数所用的编码方法是()。A、原码B、补码C、反码D、移码答案:B240.以下程序调用findmax函数返回数组中的最大值findmax(int*a,intn){int*p,*s;for(p=a,s=a;p-aif(______)s=p;return(*s);}main(){intx[5]={12,21,13,6,18};printf("%d\n",findmax(x,5));}在下划线处应填入的是()。A、p>sB、*p>*sC、a[p]>a[s]D、p-a>p-s答案:B241.8086中断系统的中断类型码的范围为()。A、0~255B、1~255C、0~127D、0~1023答案:A242.当定义一个结构体变量时系统分配给它的内存是()。A、各成员所需内存的总和B、变量第一个成员所需内存容量C、成员中占内存量大者所需的容量D、变量最后一个成员所需内存容量答案:A243.在C语言中,以下正确的说法是()。A、实参和与其对应的形参各占用独立的存储单元B、实参和与其对应的形参共占用一个存储单元C、只有当实参和与其对应的形参同名时才共占用存储单元D、形参是虚拟的,不占用存储单元答案:A244.对于下述程序,在方式串分别采用"wt"和"wb"运行时,两次生成的文件TEST的长度分别是()。#include<stdio.h>voidmain(){FILE*fp=fopen("TEST",);fputc(′A′,fp);fputc(′\n′,fp);fputc(′B′,fp);fputc(′\n′,fp);fputc(′C′,fp);fclose(fp);}A、7字节、7字节B、7字节、5字节C、5字节、7字节D、5字节、5字节答案:B245.XDW1234H,0A9BHYDB7EH,8DH┇MOVBH,TYPEXMOVBL,TYPEY执行后BX的内容是()。A、0102HB、0101HC、1234HD、0201H答案:D246.设一整型(int)变量占用2个字节则下述共用体变量x所占用内存字节数为()。unionexp{inti;floatj;doublek;}x;A、14个B、7个C、8个D、随机而定答案:C247.在对8253进行任何操作前,都必须先向8253写入一个什么,以确定8253的工作方式()。A、控制字B、计数初值C、状态字D、指令答案:A248.在计算机系统中外围设备一般通过以下哪个部件与主板的系统总线相连()。A、适配器B、存储器C、计数器D、寄存器答案:A249.用n+1位字长(其中含1位符号位)表示定点整数时,所能表示的数值的绝对值范围为()。A、0≤∣N∣≤2n-1B、0≤∣N∣≤2n+1-1C、≤∣N∣≤2n-1-1D、1≤∣N∣≤2n-1答案:A250.满足转移指令JNC的测试条件是()。A、ZF=1B、CF=0C、ZF=0D、CF=1答案:B251.若计算机的指令系统中设置有专门的I/O指令,那么系统外围设备的编址方式是()。A、统一编址方式B、独立编址方式C、扩展寻址编址方式D、隐含编址方式答案:B252.下面指令序列:MOVBX,0FFFCHMOVCL,2SARBX,CL执行后的正确结果是()。A、3FFFHB、0FFFFHC、0FFFCHD、0FFF5H答案:B253.若有以下程序段,输出结果是()。chars[]="\\141\141abc\t";printf("%d\n",strlen(s));A、9B、12C、13D、14答案:A254.有以下程序#include"stdio.h"voidmain(){inta=1;charc='a';floatf=2.0;printf("%d\n",(!(a==0),f!=0&&c=='A'));}执行后的输出结果是()。A、3B、2C、1D、0答案:D255.对于给定的数据定义,A1DW1,2,3,'ABC'A2DB6DUP(?)A3DB0R1EQUA3-A1变量R1的值为()。A、18B、16C、14D、12答案:B256.RISC是哪个的简称()。A、精简指令系统计算机B、大规模集成电路C、复杂指令计算机D、超大规模集成电路答案:A257.以下程序的主函数中调用了在其前面定义的fun函数#include<stdio.h>main(){dou

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论