計(jì)算機(jī)真題帶答案_第1頁(yè)
計(jì)算機(jī)真題帶答案_第2頁(yè)
計(jì)算機(jī)真題帶答案_第3頁(yè)
計(jì)算機(jī)真題帶答案_第4頁(yè)
計(jì)算機(jī)真題帶答案_第5頁(yè)
已閱讀5頁(yè),還剩45頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

河北省2019年普通高校專(zhuān)科接本科教育選拔考試

計(jì)算機(jī)科學(xué)與技術(shù)/軟件工程/網(wǎng)絡(luò)工程/物聯(lián)網(wǎng)工程專(zhuān)業(yè)試卷A

第一部分:C語(yǔ)言程序設(shè)計(jì)(滿(mǎn)分150分)

一、單項(xiàng)選擇題(本大題共20小題,每小題2分,共40分。在每小題給出的四個(gè)備選項(xiàng)

中,選出一個(gè)正確的答案,請(qǐng)將選定的答案填涂在答題紙的相應(yīng)位置上。)

1.以下C語(yǔ)言標(biāo)識(shí)符定義正確的是()o

A.switchB._for

C.3countD.do-while

2,若程序中調(diào)用庫(kù)函數(shù)strlen(),則必須包含頭文件()。

A.stdio.hB.stdlib.h

C.string.hD.math.h

3.如下程序的輸出結(jié)果是()o

#include<stdio.h>

voidmain()

{charc-a';

printf("%c\n",'H'+(c-h));

A.AB.a

C.HD.h

4.以下合法的常量表達(dá)式是()o

A/\0'B.018

C.5E3.5D/loveC,

5.已知inta=2,b=3;則逗號(hào)表達(dá)式a+b,a++,b+=a,b+5的值為()。

A.5B.8

C.10D.11

6.當(dāng)調(diào)用函數(shù)時(shí),實(shí)參是一個(gè)數(shù)組名,則向函數(shù)傳送的是()。

A.數(shù)組的長(zhǎng)度B.數(shù)組的第一個(gè)元素

C.數(shù)組的首地址D.數(shù)組中每個(gè)元素的值

7.若有inta[][4]={1,2,345,6,7},則數(shù)組a第一維的大小是()。

1

6.1B.2

C.3D.4

8.若有char*s="ab\Ocde",則該字符串的長(zhǎng)度為()。

A.2B.5

C.6D.7

9.若x=l,y=2;則表達(dá)式x++>=y?l:2的值為()。

A.1B.-1

C.0D.2

10.已矢口inty=10;貝!J執(zhí)行y+=y-=y-y;后:y的值是()o

A.10B.20

C.30D.40

11.如下程序的輸出結(jié)果是()o

#include<stdio.h>

#defineF(x)(x-l)*x

voidmain()

{inta=l,b=2;

printf("%d\n",F(a+b));

A.4B.6

C.12D.16

12.以下說(shuō)法錯(cuò)誤的是()o

A.C程序總是從main函數(shù)開(kāi)始執(zhí)行,也在main函數(shù)結(jié)束

B.函數(shù)不可以嵌套定義,但可以嵌套調(diào)用

C.若函數(shù)的形參為一維數(shù)組,調(diào)用函數(shù)時(shí)對(duì)應(yīng)的實(shí)參必須為數(shù)組名D.

若函數(shù)的形參為一維數(shù)組,形參數(shù)組可以不指定大小

13.若inta[10]={l,2,3A5,6,7,8,9,10},*p=a;

則以下選項(xiàng)中值不是8的是()。

A.a[7]B.*p+7

C.*(p+7)D.p[8]

14.如下函數(shù)f實(shí)現(xiàn)的功能是()。

voidf(char*d,char*s)

while((*d++=*s++)!='\O');

A.求字符串長(zhǎng)度B.字符串復(fù)制

C.字符串比較D.編譯錯(cuò)誤

15.以下關(guān)于邏輯運(yùn)算符兩側(cè)運(yùn)算對(duì)象的敘述正確的是()o

A.只能是整數(shù)0或1B.只能是整數(shù)0或非0

C.只能是整數(shù)0或正整數(shù)D.可以是任意合法表達(dá)式

16.switch語(yǔ)句使用中,下列敘述正確的是()。

A.break只能用于switch語(yǔ)句B在switch語(yǔ)句中必須使用default

C.switch語(yǔ)句中不一定使用breakD.default必須放在switch結(jié)構(gòu)最后

17.已知inta=12;則語(yǔ)句f=a?2;執(zhí)行后f的值為()。

A.16B.8

C.6D.48

18.設(shè)有定義:

structsk

{inta;

floatb;

}data,*p=&data;

則對(duì)data中成員b的引用不正確的是()。

A.data.bB.p->data.b

C.(*p)上D.p->b

19.若有intx=l,y=2,z;則表達(dá)式z=(x==y)的值是()。

A.OB.l

C.trueD.flase

20.以下正確定義一維數(shù)組的選項(xiàng)是()o

A.inta[5]={0,1,2,3,4,5};B.chara[]=

C.chara="ABC”;D.inta[5]="123”;

.、程序閱讀題(本大題共5小題,每小題6分,共30分。請(qǐng)將程序的運(yùn)行結(jié)果填寫(xiě)在

答題紙的相應(yīng)位置上。)

3

1.______________________

#include"stdio.h"

voidmain()

{intx=l,y=0,a=l,b=0;

switch(x)

{case1:

switch(y)

{case0:b++;

casel:a++;break;

case2:b++;break;

)

case2:a++;b++;break;

case3:a++;b++;

)

printf(na=%d,b=%d\nn,a,b);

)

2.______________________

#include"stdio.h"

voidf(char*p)

{for(;*p!=*\0';p++)

if(*p>=,a,&&*p<=2)

*p=*p-32;

)

voidmain()

{chara[10]="ababan;

f(&a[l]);

printf("%s\nn,a);

)

3.________________________

#include"stdio.h"

intf(intx)

{staticints=0;

inti;

for(i=l;i<=x;i++)

s=s+i;

returns;

!

voidmain()

{intn;

n=f(l)+f(2);

printf("%d\nH,n);

}

4.__________________________

#include"stdio.h"

voidf(inta[])

{inti=0;

while(a[i]<=10)

{printf("%d\t”,a[i]);

i++;}

)

voidmain()

{inta[]={5,10,9,12,7);

f(a);

)

5.__________________________

#include"stdio.h"

voidfun(inta[2][3])

{inti,j,max;

for(i=0;i<2;i++)

{max=a[i][0];

5

for(j=l;j<3;j++)

if(a[i][j]>max)

max=a[i][j];

a[i][O]=max;

)

}

voidmain()

{inta[2][3]={l,2,3,4,5,6),i,j;

fun(a);

for(i=0;i<2;i++)

for(j=0;j<3;j++)

prmtf("%4d",a[i][j]);

)

三、程序填空題(本大題共3小題,每空5分,共35分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上

作答。)

1.以下程序的功能是判斷年份year是否閏年。(若某年份能被4整除但不能被100整除,

或者能被400整除,則該年份是閏年)。請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

voidmain()

{intyear;

printf("請(qǐng)輸入年份:");

scanf("%d",Q);

if(②)

printf("是閏年\n");

else

printf("不是閏年\n");

!

2.函數(shù)intSearch(inta[N],intx,inty)的功能是查找并替換一維數(shù)組a中部分元素的值(把數(shù)

組a中的所有x值換為y),返回被替換的元素個(gè)數(shù)。請(qǐng)?zhí)羁铡?/p>

intSearch(inta[N],intx,inty)

{intn=O,i;

for(i=0;i<N;i++)

if(?)

{a[i]=y;

n++;}

②;

}

3.下面程序的功能是利用指向結(jié)構(gòu)體數(shù)組元素的指針,從鍵盤(pán)輸入30名學(xué)生信息并進(jìn)行訪

問(wèn),統(tǒng)計(jì)來(lái)自“山東”的學(xué)生人數(shù),請(qǐng)?zhí)羁铡?/p>

#include"stdio.h"

#defineN30

#include"string.h"

typedefstructstudent

{intnumber;

charname[8];

charaddr[20];

}STU;

voidmain()

{STUstu[N],*p;

intcount=0;

printf("inputstudentsinformation:\nn);

for(p=stu;p<stu+N;p++)

{scanf(H%d%s%s",?);

if(?)

count++;

!

printf("%dcomefrom山東曲",③);

!

四、編程題(本大題共3小題,每小題15分,共45分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

7

1.計(jì)算輸出Fibonacci數(shù)列前20項(xiàng),并按每行4個(gè)數(shù)的格式輸出。

該數(shù)列有如下特點(diǎn):

(1)第1個(gè)數(shù)為b第2個(gè)數(shù)為1;

(2)從第3個(gè)數(shù)起,該數(shù)等于前兩個(gè)數(shù)之和。即:

Fi=l(n=l)

F2=l(n=2)

Fn=Fn-l+Fn-2(n>=3)

2.學(xué)校在1000名師生中發(fā)起慈善捐款,自愿募捐、款數(shù)不限,總數(shù)超過(guò)20000(2萬(wàn))元

活動(dòng)結(jié)束。編寫(xiě)程序,統(tǒng)計(jì)參與捐款的師生人數(shù)及捐款總數(shù)(精確到角幣,即保留1位小

數(shù))。

3.按要求編程:

(1)設(shè)計(jì)一個(gè)函數(shù)intisprime(intx)用于判斷一個(gè)整數(shù)是否為素?cái)?shù),是素?cái)?shù)返回1,否則

返回0。(素?cái)?shù)是只能被1和它自身整除的整數(shù))

(2)在主函數(shù)中調(diào)用isprime函數(shù),輸出100~999之間的個(gè)位數(shù)字為7的所有素?cái)?shù)之和。

9

第二部分:微機(jī)原理與接口(含匯編語(yǔ)言)(滿(mǎn)分150分)

一、單項(xiàng)選擇題(本大題共15小題,每小題3分,共45分。在每小題給出的四個(gè)備選項(xiàng)

中,選出一個(gè)正確的答案,請(qǐng)將選定的答案填涂在答題紙的相應(yīng)位置上。)

L在計(jì)算機(jī)中能夠在一組信息中取出所需的一部分信息的器件是()。

A.觸發(fā)器B.寄存器

C.譯碼器D.鎖存器

2.8086/8088CPU中的每一個(gè)總線周期通常包括()個(gè)時(shí)鐘周期。

A.2B.4

C.6D.8

3.完成使AL清零并使CF清零的功能,下列指令錯(cuò)誤的是()。

A.MOVAL,0B.ANDAL,0

C.XORAL,ALD.SUBAL,AL

4.下列指令有語(yǔ)法錯(cuò)誤的是()。

A.MOVDS,AXB.MOVES,AX

C.MOVSS,AXD.MOVCS,AX

5.宏匯編語(yǔ)言程序中一般由3個(gè)段組成,這三個(gè)段都采用隱含定位方式,即三個(gè)段的首

地址都是()的整數(shù)倍。

A.4B.8

C.16D.32

6.動(dòng)態(tài)RAM采用()及MOSFET作為記憶元件,要求每隔2ms刷新一次。

A.電容B.電感

C.電阻D.電極

7.高速緩沖存儲(chǔ)器是用價(jià)格高昂的雙極型RAM制作的,它主要加在()。

A.主存儲(chǔ)器與輔助主存儲(chǔ)器之間B.CPU與接口之間

C.接口與外設(shè)之間D.CPU與主存儲(chǔ)器之間

8.下列選項(xiàng)哪個(gè)不是接口電路的主要組成部分()。

A.控制命令邏輯電路B.地址譯碼和鎖存電路

C.狀態(tài)設(shè)置和存儲(chǔ)電路D.數(shù)據(jù)存儲(chǔ)和緩沖電路

9.下列()輸入/輸出控制方式中8086CPU必須工作在最大模式。

A.輸入/輸出處理機(jī)B.DMA控制方式

C.中斷控制方式D.程序控制方式

10.CPU響應(yīng)中斷后會(huì)把()推入堆棧保護(hù)。

A.中斷程序入口地址B.中斷類(lèi)型碼

C.當(dāng)前CS、IP值D.中斷源

11.匯編語(yǔ)言中下列對(duì)END語(yǔ)句敘述正確的是()。

A.END語(yǔ)句在機(jī)器匯編后產(chǎn)生機(jī)器碼

B.END語(yǔ)句是一可執(zhí)行語(yǔ)句

C.END語(yǔ)句表示程序執(zhí)行到此結(jié)束

D.END語(yǔ)句表示源程序到此結(jié)束

12.在并行接口的輸入過(guò)程中CPU可以用()方式讀取接口中的數(shù)據(jù)

A.中斷B.DMA

C.通道D.總線

13.8255A芯片中端口選擇引腳是)o

A.PAQ,PAiB.PBo,PBi

C.PCo?PCiD.Ao?Ai

14.現(xiàn)代計(jì)算機(jī)系統(tǒng)中常采用()方式實(shí)現(xiàn)延時(shí)或計(jì)數(shù)。

A.軟件查詢(xún)B.可編程硬件

C.單穩(wěn)延時(shí)電路D.中斷查詢(xún)

15.8253工作在方式1時(shí)被稱(chēng)為()。

A.可編程單脈沖發(fā)生器B.硬件觸發(fā)

C.方波發(fā)生器D.軟件觸發(fā)

二、填空題(本大題共11小題,每空2分,共30分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

L十進(jìn)制數(shù)-13的八位二進(jìn)制補(bǔ)碼是0

2.16位和32位微處理器采用新的結(jié)構(gòu),內(nèi)部組織管理采用微程序控制及技術(shù),

加快了周期和訪問(wèn)存儲(chǔ)器的操作。

3.8088工作在最大模式時(shí),要求有較強(qiáng)的驅(qū)動(dòng)能力,通過(guò)產(chǎn)生各種控制信息。

11

4.在基址加變址的尋址方式中,假設(shè)DS=1000H,BX=5000H,SI=2000H,有如下指令:

MOVAX,[BX+SI],則將兩單元內(nèi)容取到AX寄存器中。

5.試給出執(zhí)行完下列指令后OF,SF,ZF,CF4個(gè)可測(cè)試標(biāo)志位的狀態(tài)(要

求用十六進(jìn)制數(shù)給出16位標(biāo)志寄存器FLAG的值,其余各位均填0)。

MOVCX,3579H

SUBCX,4EC1H

6.衡量半導(dǎo)體存儲(chǔ)器性能最重要的指標(biāo)是存儲(chǔ)芯片的容量和存取速度,其中存儲(chǔ)器芯片

容量=?

7.接口電路的基本功能就是對(duì)數(shù)據(jù)傳送實(shí)現(xiàn)控制,具體包括以下幾種功能:地址譯碼、

、信息轉(zhuǎn)換、提供命令譯碼和狀態(tài)信息以及。

8.CPU響應(yīng)中斷請(qǐng)求信號(hào)線INTR發(fā)來(lái)的中斷條件是o

9.8259A的操作命令字有3個(gè),OCWi是對(duì)IMR置位復(fù)位的命令字。OCW?是

的命令字,用于復(fù)位ISR及改變優(yōu)先級(jí),OCW3是讀以及指定設(shè)置特殊屏蔽方

式的命令。

10.中斷可分為內(nèi)部中斷和外部中斷,其中內(nèi)部中斷包括:故障、、異常中止。

11.將8253的3個(gè)計(jì)數(shù)器級(jí)聯(lián),假設(shè)時(shí)鐘輸入為2MHZ,連接到CLKO,OUTO(毫秒輸出)連

接CLK1,OUT1(秒輸出)連接CLK2,OUT2(小時(shí)輸出),要求得到毫秒、秒、小時(shí)3種

定時(shí)脈沖,則定時(shí)器0的計(jì)數(shù)初值為,定時(shí)器2的計(jì)數(shù)初值為o

三、簡(jiǎn)答題(本大題共3小題,每小題10分,共30分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

1.觸發(fā)器、寄存器及存儲(chǔ)器之間有什么關(guān)系?請(qǐng)畫(huà)出4位緩沖寄存器電路原理圖。

2.8086微機(jī)系統(tǒng)中存儲(chǔ)器為什么要分段?哪幾個(gè)寄存器與分段有關(guān)?

3.什么是中斷源?識(shí)別中斷源有哪些方法?

四、應(yīng)用題(本大題共3小題,每小題15分,共45分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

1.請(qǐng)寫(xiě)出匯編語(yǔ)言程序?qū)崿F(xiàn)如下功能:從鍵盤(pán)輸入1~5中的任何一個(gè)數(shù),分別在屏幕上

顯示“1st”、“2st”、“3st”、“4st”、“5st”,鍵入其他字符則顯示“*

13

2.某微機(jī)系統(tǒng)中使用8255A作為并行口,其中A口工作在方式1輸入,以中斷方式與

CPU交換數(shù)據(jù),中斷類(lèi)型號(hào)為OAH;B口工作在方式0輸出,C口的普通U0線作為輸入,

PC4置1,試編寫(xiě)8255A的初始化程序段,并設(shè)置A口的中斷向量。已知8255A端口A,

B,C和控制端口的地址分別是:0100H,0101H,0102H,0103H,且中斷服務(wù)程序?yàn)镾ERV,

8255A工作方式控制字格式如下。

D7D6D5D4D3D2D1D0

特A口A口PC4?PC7B口B口PC3?PCO

征位00二方式00二0=輸出0=方0=0=輸出

01二方式1輸出1二輸入式0輸出1二輸入

lx二方式21=1=方1二

輸入輸入

式1

8255A置位/復(fù)位式控制字一格式如下。

D7DDDD3D2D1DO

654

標(biāo)志XXX000-111:PCO?PC70=復(fù)位1=置位

3.Intel2164A是一種典型的動(dòng)態(tài)RAM芯片,其引腳如下圖所示。8片2164A構(gòu)成64KB

存儲(chǔ)器,請(qǐng)問(wèn)(1)如何利用8條地址線在芯片內(nèi)尋址64K單元?用到哪些信號(hào)引腳?(2)

Intel2164A數(shù)據(jù)讀寫(xiě)是如何實(shí)現(xiàn)的?用到哪些引腳?

1—16

NCVss

215

WE314

RAS42164A13A6

Ao512A3

A

2611A4

AI

710A5

VDD

89A7

15

河北省2018年普通高校專(zhuān)科接本科教育選拔考試

計(jì)算機(jī)科學(xué)與技術(shù)/軟件工程/網(wǎng)絡(luò)工程/物聯(lián)網(wǎng)工程專(zhuān)業(yè)試卷A

第一部分:C語(yǔ)言程序設(shè)計(jì)(滿(mǎn)分150分)

一、單項(xiàng)選擇題(本大題共20小題,每小題2分,共40分。在每小題給出的四個(gè)備選項(xiàng)

中,選出一個(gè)正確的答案,請(qǐng)將選定的答案填涂在答題紙的相應(yīng)位置上。)

1.下列關(guān)于C語(yǔ)言程序結(jié)構(gòu)的說(shuō)法中,不正確的是()。

A.一個(gè)程序由一個(gè)或多個(gè)源程序文件組成

B.函數(shù)是C程序的主要組成部分

C.程序總是從main函數(shù)開(kāi)始執(zhí)行的

D.C語(yǔ)言本身提供了許多輸入輸出語(yǔ)句

2.在計(jì)算機(jī)高級(jí)語(yǔ)言中,用來(lái)對(duì)變量、符號(hào)常量名、函數(shù)、數(shù)組、類(lèi)型等命名的有效字

符序統(tǒng)稱(chēng)為標(biāo)識(shí)符,下列選項(xiàng)中都為正確標(biāo)識(shí)符的是()。

A.M.D.John,_abcB,3sum,al23

C._total,abc321D.$123,bb$

3.在C語(yǔ)言中,語(yǔ)句printf(nabcl23\rdef');執(zhí)行后屏幕上的顯示結(jié)果為()。

A.abcl23B.abcl23def

C.defl23D.def

4.已知x與y均為float類(lèi)型變量,使用scanf(,'x=%f,y=%f,,&x,&y)輸入時(shí),要使x的值

為1.2,y的值為3.4,正確的輸入為()o

A.1.2,3.4B.x=1.2y=3.4

C.x=1.2,y=3.4D.1.23.4

5.已知整型變量m,n,a,b,c,d的值都是0,則執(zhí)行(m=a==b)||(n=c==d);后m與n的值分

別為()o

A.1,1B.0,0

C.0,1D.1,0

6.已知整型變量a的值為33,則語(yǔ)句printf("%d,%x,%o",a,a,a);執(zhí)行后的輸出結(jié)果為

()o

A.33,33,33B.33,21,41

C.33,33,41D.33,21,21

7.已知整型變量a,則與if(!a)不等價(jià)的是()。

A.if(a==0)B.if(a!=0)

C.if(!(a!=0))D.if(0=a)

8.已知a=l,b=2,c=3,d=4,x=5,則語(yǔ)句x=(a>b?a:c<d?c:d);執(zhí)行后x的值為()。

7.1B.3

C.2D.4

9.設(shè)有語(yǔ)句inta=3;則執(zhí)行了a*=a+=a-2;后a的值為()。

A.3B.4

C.16D.9

10.下列程序段運(yùn)行的結(jié)果為()o

intm,x=3,y=4,z=5;

if(x>y)m=x;

if(y<z)m=y;

elsem=z;

printf("%dn,m);

A.3B.4

C.5D.O

11.有以下程序段,則敘述正確的是()o

inta=5;

do

{a-=2;}while(a>0);

A.循環(huán)語(yǔ)句執(zhí)行了一次B.循環(huán)語(yǔ)句一次也不執(zhí)行

C.循環(huán)語(yǔ)句執(zhí)行了兩次D.循環(huán)語(yǔ)句執(zhí)行了三次

12.聲明外部變量的關(guān)鍵字為()。

A.externB.register

C.autoD.static

13.定義數(shù)組的語(yǔ)句為:inta[10]={2,0,3,4};以下結(jié)果不為0的是()。

A.a[l]B.a[l]+a[4]

C.a[9]+a[7]D.a[0]+a[l]

14.語(yǔ)句printf("%s","shi\0jia\0zhuang");執(zhí)行后的輸出結(jié)果為()。

17

A.shiB.jia

C.shijiazhuangD.zhuang

15.有以下宏定義、變量定義:

#defineFFa+a

inta=3,x=9;

語(yǔ)句x=FF*FF;執(zhí)行完后x的值為()。

A.36B.15

C.9D.無(wú)定值

16.下列語(yǔ)句中,能夠使字符數(shù)組正確初始化的是()o

A.chara[2][5]={'He','Bei1};B.chara[2][]={,'He",',Bein};

C.chara[][5]={'He;'Bei'};D.chara[][5]={nHe,',"Bei,'};

17.已知inta=20;則語(yǔ)句a=a?2;執(zhí)行后a的值為()。

A.18B.10

C.5D.4

18.若有定義inta=5,b,*p=&a;則下列語(yǔ)句中使b不為5的語(yǔ)句是()。

AJ?=*&a;B.b=*p;

Cb二a;D.b=*a;

19.若有定義inta[10],*q=a;則對(duì)數(shù)組元素的正確引用為()。

A.*(q+3)B.q[a]

C.a[q]D.q+10

20.當(dāng)說(shuō)明一個(gè)共用體變量時(shí),系統(tǒng)分配給它的內(nèi)存是()。

A.第一個(gè)成員所需內(nèi)存空間B.各成員所需內(nèi)存空間之和

C.各成員所需內(nèi)存空間的最大值D.最后一個(gè)成員所需內(nèi)存空間

二、程序閱讀題(本大題共5小題,每小題6分,共30分。請(qǐng)將程序的運(yùn)行結(jié)果填寫(xiě)在

答題紙的相應(yīng)位置上。)

1.______________________

#include<stdio.h>

intmain()

inta=2,b=1;

switch(a+l)

{case2:b=b+2;break;

case3:b=b*3;

case4:b=b*4;break;

case5:b二b+5;

}

printf("b=%d",b);return0;

}

2.______________________

#include<stdio.h>

intf(intn,intx)

(

if(n==0)return1;

if(n==l)returnx;

return2*f(n-l,x)+3*f(n-2,x);

1

intmain()

{printf("%du,f(3,2));return0;}

3.________________________

#include<stdio.h>

intfun()

(

staticinta=6;

intb=5;

a/=2;—b;

return(a+b);

}

intmain()

(

inti,sum=0;

for(i=1;i<=3;i++)sum+=fun();

printf("sum=%dn,sum);return0;

19

4.__________________________

#include<stdio.h>

#include<string.h>

voidsss(char*p,char*q)

(

while(*p)p++;

while(*q){*p=*q;p++;q++;}

*p='(r;

)

intmain()

{chars1[80]={nTangH),s2[80]={nShanH);

sss(s2,sl);

sss(sl,s2);

puts(sl);return0;

)

5.__________________________

#include<stdio.h>

intmain()

{intsum=0,i,j;

for(i=l;i<=10000;i++)

(

for(j=l;j<=i;j++)sum+=i*j;

if(sum>20)break;

)

printf("sum=%dn,sum);return0;

)

三、程序填空題(本大題共3小題,每空5分,共35分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上

作答。)

1.下面程序的功能是:從鍵盤(pán)上輸入一個(gè)字符,判斷它是否為小寫(xiě)字母,如果是,將它轉(zhuǎn)

換為大寫(xiě)字母;如果不是則不轉(zhuǎn)換。請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

intmain()

{charch;

ch=getchar();

ch=(@)??:ch;

putchar(ch);return0;

)

2.下面函數(shù)的功能是對(duì)n個(gè)整數(shù)利用起泡法(冒泡法)進(jìn)行由大到小排序,請(qǐng)?zhí)羁铡?/p>

voidbubblesort(inta[],intn)

{inti,j,t;

for(i=0;i<n-l;i++)

for(i=0;①;j++)

if(②)

{t=aE;③;a[j+l]=t;}

}

3.下面程序的功能是利用指向結(jié)構(gòu)體數(shù)組元素的指針對(duì)學(xué)生信息進(jìn)行訪問(wèn),請(qǐng)?zhí)羁铡?/p>

#include<stdio.h>

structStudent{charname[20];intscore;};

intmain()

(

structStudentstu[40],*p;

inti;

for(i=0;i<40;i++)

①;〃以“LiMing93”的格式輸入學(xué)生信息

for(p=stu;p<stu+40;p++)

〃利用指針p以“LiMing,93”的格式輸出每一位學(xué)生信息并換行

________②___________;

)

四、程序設(shè)計(jì)題(本大題共3小題,每小題15分,共45分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置

上作答。)

1.編寫(xiě)程序,從鍵盤(pán)上輸入三角形的三個(gè)邊長(zhǎng)(實(shí)數(shù)),判斷這三個(gè)邊能否構(gòu)成三角形(構(gòu)成

三角形的條件為:任意兩邊之和大于第三邊),如果能構(gòu)成三角形,則計(jì)算三角形的面積并輸出

(保留2位小數(shù));如果不能構(gòu)成三角形,則輸出“False”字符串信息。假設(shè)三角形的邊長(zhǎng)分別為

21

a、b、c,則三角形的面積為:Js(s-為(s-6)(s-c),其中s的值為(a+b+c)/2。

(1)輸入信息為1.12.24.4時(shí),輸出False

(2)輸入信息為3.04.05.0時(shí),輸出6.00

2.請(qǐng)根據(jù)以下累加公式計(jì)算加勺近似值并輸出,要求累加到某項(xiàng)的值小于IO?時(shí)為止。

,1

兀=1+1+1+1+...+1(精度要求:<10-5)

6I2223242Kn2

3.某大學(xué)正在舉行歌唱比賽,現(xiàn)有10位評(píng)委為學(xué)生評(píng)分,評(píng)分采用百分制。按如下

規(guī)則計(jì)算學(xué)生的最終得分:先計(jì)算評(píng)委的分?jǐn)?shù)之和,減去分?jǐn)?shù)中的最高分與最低分,

再除以8得到學(xué)生的成績(jī)。請(qǐng)輸入1位同學(xué)的10個(gè)分?jǐn)?shù),計(jì)算和輸出學(xué)生的最終得分。下

面給出了main。函數(shù),請(qǐng)將其他函數(shù)補(bǔ)充完整,即寫(xiě)出input。、ssum()>smax()與smin。函

數(shù)的定義。

#include<stdio.h>

intmain()

{intscore[10],max,min,sum;

floataver;

input(score,10);//輸入10個(gè)評(píng)委的評(píng)分

sum=ssum(score,10);//計(jì)算10個(gè)評(píng)委的評(píng)分之和

max二smax(score,10);〃計(jì)算最高分

min=smin(score,10);〃計(jì)算最彳氐分

aver=(sum-max-min)*1.0/(10-2);//計(jì)算學(xué)生的最終得分

printf("%f\n”,aver);//輸出學(xué)生的最終得分

23

第二部分:微機(jī)原理與接口(含匯編語(yǔ)言)(滿(mǎn)分150分)

一、單項(xiàng)選擇題(本大題共15小題,每小題3分,共45分。在每小題給出的四個(gè)備選項(xiàng)中,

選出一個(gè)正確的答案,請(qǐng)將選定的答案填涂在答題紙的相應(yīng)位置上。)

L8086CPU的最大內(nèi)存地址空間是()。

A.1KBB.1MB

C.256MBD.64KB

2.8086CPU復(fù)位后的啟動(dòng)地址是()。

A.00000HB.FFFFFH

C.FFFF0HD.11111H

3.在8086CPU中,IP寄存器的位寬是()o

A.8位B.32位

C.24位D.16位

4.當(dāng)定時(shí)器/計(jì)數(shù)器8253的Al、A0引腳分別給定高電平和低電平時(shí),選定的是和()

相關(guān)的寄存器。

A.計(jì)數(shù)器0B.計(jì)數(shù)器1

C.計(jì)數(shù)器2D.計(jì)數(shù)器3

5.若SP=2000H,那么執(zhí)行完P(guān)USHBX指令后,SP=()。

A.1FFEHB.1FFFH

C.2001HD.2002H

6.接口電路8255A()工作方式可以實(shí)現(xiàn)雙向傳輸。

A.方式0B.方式1

C.方式2D.都不能

7.LOOP指令執(zhí)行時(shí),隱含的寄存器是()o

A.SPB.BX

C.DID.CX

8.8086CPU最小可尋址單位是()o

A.比特B.字節(jié)

C.雙字D.四字

9.用來(lái)定義雙字的偽指令是()。

A.DQB.DW

C.DDD.DB

10.當(dāng)EPROM擦除后,每個(gè)單元的內(nèi)容為()o

A.00HB.CCH

C.AAHD.FFH

11.需要定時(shí)刷新的存儲(chǔ)器是()o

A.SRAMB.DRAM

C.EPROMD.EEPROM

12.循環(huán)移位指令ROR的作用是()o

A.將操作數(shù)右移,最低位移入最高位和CFo

B.將操作數(shù)右移,最低位移入最高位。

C.將操作數(shù)右移,最低位移入CF,CF移入最I(lǐng)WJ位。

D.將操作數(shù)右移,最低位移入CF,最高位移入0。

13.8086中斷向量表的容量大小為()o

A.4KBB.2KB

C.8KBD.1KB

14.8086寫(xiě)I/O總線周期的控制信號(hào),一直保持低電平有效的是()。

A.M/IO—B.DT/R-

C.DEND.WR

15.8259A是()o

A.可編程DMA控制器B.可編程中斷控制器

C.可編程定時(shí)/計(jì)數(shù)器D.總線控制器

二、填空題(本大題共14小題,每空2分,共30分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

1.計(jì)算機(jī)軟件通常分為和兩大類(lèi)。

2.微型計(jì)算機(jī)硬件主要由、存儲(chǔ)器、輸入輸出設(shè)備和系統(tǒng)總線構(gòu)成。

3.8086微處理器在訪問(wèn)四個(gè)當(dāng)前段時(shí),堆棧段的偏移量由提供。

4.8086微處理器訪問(wèn)存儲(chǔ)器時(shí),物理地址是由段地址和偏移地址共同決定的,CPU中

負(fù)責(zé)生成物理地址的部件稱(chēng)作。

25

5.已矢口X=187.875,則X=B。

6.256KX8的RAM芯片需要條地址線。

7.通常匯編語(yǔ)言一條指令包括和操作數(shù)兩部分。

8.指令MOVAL,[BX]的源操作數(shù)尋址方式為o

9.8259A的初始化命令字共有個(gè),必須按順序全部或部分執(zhí)行。

10.為8253的計(jì)數(shù)器提供的脈沖輸入(CLK)頻率為IKHz,要實(shí)現(xiàn)500ms的定時(shí)中斷,則計(jì)

數(shù)器計(jì)數(shù)初值應(yīng)該是o

11.8086微處理器運(yùn)算器中的算術(shù)邏輯部件ALU用來(lái)對(duì)數(shù)據(jù)進(jìn)行算術(shù)、邏輯運(yùn)算,運(yùn)算結(jié)果

的一些特征由來(lái)存放。

12.有如下程序段

MOVBX,2100H

MOVAX,18B6H

MOV[BX],AL

執(zhí)行完成后內(nèi)存地址為2100H單元的內(nèi)容是

13.有如下程序段

MOVAX,1A55H

MOVCX,03H

LI:ADDAL,02H

LOOPLI

執(zhí)行完成后寄存器AX的值是o

地址數(shù)

14.已知內(nèi)存一存儲(chǔ)區(qū)域如右圖所示,如下程序段

據(jù)

MOVBX,1814H

1810H34H

MOVAX,[BX]

1811H35H

MOVBX,1811H

1812H36H

MOVBH,[BX]

1813H37H

SUBAH,BH

1814H38H

XORAH,OFH

1815H39H

執(zhí)行完成后,AH=o

三、簡(jiǎn)答題(本大題共3小題,每小題10分,共30分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

1.簡(jiǎn)述8086微機(jī)系統(tǒng)中硬件中斷和軟件中斷的區(qū)別。

2.在8086微處理器構(gòu)成的系統(tǒng)中,什么是存儲(chǔ)器的規(guī)則字和非規(guī)則字?8086微處理器對(duì)

一個(gè)規(guī)則字和一個(gè)非規(guī)則字讀寫(xiě)時(shí),有什么差別?

3.ROM、PROM、EPROM和EEPROM在使用上各有什么特點(diǎn)?

27

四、應(yīng)用題(本大題共3小題,每小題15分,共45分。請(qǐng)?jiān)诖痤}紙相應(yīng)題號(hào)的位置上作

答。)

1.自?xún)?nèi)存0500H單元開(kāi)始,保存有10個(gè)無(wú)符號(hào)字節(jié)類(lèi)型的數(shù)據(jù),分別為45H、89H、

UH、26H、8AH、9FH、78H、OAAH、18H、3EH,請(qǐng)編寫(xiě)程序,求這10個(gè)數(shù)之和。要求:

⑴用8位二進(jìn)制數(shù)運(yùn)算方式進(jìn)行計(jì)算。⑵結(jié)果用兩個(gè)字節(jié)表示。⑶把結(jié)果存放到050AH和

050BH單元,且高字節(jié)放在050BH單元。

2.有如下程序段:

MOVCX,1

MOVBX,2

AGAIN:

MOVAL,BL

INCBL

MULBL

ADDCX,AX

CMPAX,002AH

JBAGAIN

①該程序段完成的功能用算術(shù)表達(dá)式如何表示。

②寫(xiě)出程序完成后,AX的值是多少?

③寫(xiě)出程序完成后,BX的值是多少?

④寫(xiě)出程序完成后,CX的值是多少?

3.請(qǐng)利用下圖給定的集成電路(圖中的集成電路為示意圖,只包含題目中用到的引腳),

試連接其地址總線、數(shù)據(jù)總線和控制總線,使其構(gòu)成64KX8位的全地址譯碼存儲(chǔ)器系統(tǒng),

并指出IC6和IC7存儲(chǔ)器芯片的地址范圍。

說(shuō)明及提示:

①I(mǎi)C1為8086微處理器芯片。

②IC2、IC3、IC4為鎖存器電路,其Dio到DL為輸入引腳,DOo到DO7為輸出引腳。

STB為鎖存(選通)信號(hào)。

⑶IC6、IC7為32Kx8的存儲(chǔ)器,Ao~Ai4是它的地址輸入端,Do~D7是它的數(shù)據(jù)輸出

端;CE為片選輸入端,低電平有效;WE為寫(xiě)使能端,低電平有效;OE為輸出使能端(讀

29

使能),低電平有效

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論