?2022年河北專升本計算機全真模擬一
摘要:本文是2022年河北專升本計算機全真模擬一,通過兩個部分的試卷對考生進行考核,包含選擇題、填空題等題型,下面是具體內(nèi)容。
第一部分:C 語言程序設(shè)計(滿分 150 分)
一、單項選擇題(本大題共 25 小題,每小題 2 分,共 50 分。)
1. 以下正確的 C 語言標識符是_。
A. 2AB
B. a2.c
C. _ab3
D. #ab
2. C 語言的基本構(gòu)成單位是_。
A. 函數(shù)
B. 函數(shù)和過程
C. 超文本過程
D. 子程序
3. 若 x 為 int 型變量,則執(zhí)行以下語句后,x 的值為_。
x=6; x+=x*x;
A. 16
B.42
C. 52
D. 6
4. 不是 C 語言字符常量的是_。
A. "h"
B. 'h'
C. '\0'
D. '\n'
5. 字符串"\\AB\01C\\"的長度是_。
A. 3
B. 9
C. 6
D. 4
6. 假定 w、x、y、z、m 均為 int 型變量,有如下程序段: w=1;x=2;y=3;z=4; m=w m=(m<z)?m:z; p="" 的值是_。
A. 4
B. 3
C.2
D. 1
7. 執(zhí)行下面程序后,運行結(jié)果是_。
#include
void main( )
{ int x=49,y=1;
if (x%3==0 && x%7==0)
{ y+=x;printf("y=%d\n",y);}
else
{y=x;printf("y=%d",y);}
return 0;
}
A. y=49
B. y=43
C. y=42
D. y=1
8. 條件語句 while(x){...}中條件表達式 x 的等價寫法是_。
A. x==0
B. x!=0
C. x==1
D. x!=1
9. 如有定義語句 int a[]={1,8,2,8,3,8,4,8,5,8}; ,則數(shù)組 a 的大小是_。
A. 10
B. 11
C.8
D. 不定
10. 若有語句 int *point,a=4;和 point=&a;下面均代表地址的一組選項是_____。
A.a,point,*&a
B.&*a,&a,*point- 2 -
C.*&point,*point,&a
D.&a,&*point ,point
11. 為表示關(guān)系 x≥y≥z,應(yīng)使用 C 語言表達式_。
A. (x>=y)&&(y>=z)
B. (x>=y)AND(y>=z)
C. (x>=y>=z)
D. (x>=y) & (y>=z)
12. 下列運算符中,要求運算對象必須是整數(shù)的是_。
A. /
B. %
C. *
D. !
13. 若已定義 x 和 y 是整型變量 x=3;則表達式 y=2.75+x/2 的值是_。
A. 5.5
B. 3.75
C. 3
D. 4.0
14. 表達式 1!=2 && 3==5 的值是_。
A. True
B. False
C. 0
D. 1
15. 分析下面函數(shù),以下說法正確的是_。
swap(int *p1,int *p2)
{ int *p;
*p=*p1; *p1=*p2; *p2=*p;
}
A.交換*p1 和*p2 的值
B.正確,但無法改變*p1 和*p2 的值
C.交換*p1 和*p2 的地址
D.可能造成系統(tǒng)故障,因為使用了野指針
16. 已知有變量定義 double x=1.6;int a=78; 正確的輸出語句_。
A. printf("%f%d\n",x,a);
B. printf("%f%f\n",x,a);
C. printf("%d%f\n",x,a);
D. printf("%d%d\n",x,a);
17. 下述 for 循環(huán)語句_。
int i,k;
for(i=0,k=-1;k=1;i++,k++) printf("* * * *");
A 判斷循環(huán)結(jié)束的條件非法
B 是無限循環(huán)
C 只循環(huán)一次
D 一次也不循環(huán)
18. 若 double x ,*p; 則正確的賦值表達式是_。
A p=&x
B p=x;
C *p=&x;
D *p=*x
19. 若 x=0,y=3,z=3,以下表達式值為 0 的是_。
A !X
B.x<y? p="" 1:0
C. x%2&&y==z
D. y=x||z/3
20. 以下程序段_。
int x=-1;
do
{ x=x*x; } while (!x);
A.無限循環(huán)
B.循環(huán)執(zhí)行兩次
C.循環(huán)執(zhí)行一次
D.有語法錯誤
21. 執(zhí)行下面程序段后,k 的值是_。
int i,j,k;
for(i=0,j=10;i<j;i++,j--)
k=i+j;
A. 9
B. 11
C.8
D. 10
22. 在執(zhí)行 int a[][2]={1,2,3,4,5,6};語句后,a[1][1]的值是_。
A 4
B 3
C 2
D 1- 3 -
23. 若有定義:int a[3][4]; ,
不能表示數(shù)組元素 a[1][1]。
A. *(a[1]+1)
B. *(&a[1][1]) C. (*(a+1)[1])
D. *(a+5)
24. 有以下定義的函數(shù),函數(shù)值的類型是_。
void print_star(){printf("*********\n");}
A int
B float
C double
D void
25. 當(dāng)調(diào)用函數(shù)時,實參是一個數(shù)組元素,則向被調(diào)函數(shù)傳遞的是_。
A.數(shù)組的長度
B.數(shù)組的首地址
C.數(shù)組元素的值
D.數(shù)組每個元素中的值
二、程序閱讀題(本大題共 5 小題,每小題 5 分,共 25 分。)
1. _________________。
#include
void main()
{
int a1,a2,b1,b2;
int i=5,j=7,k=0;
a1=!k;
a2=i!=j;
printf("a1=%d,a2=%d\n",a1,a2);
b1=k && j;
b2=k||j;
printf("b1=%d,b2=%d\n",b1,b2);
}
2. _________________。
#inlcude
#include
void main()
{
char str[3][80],c[80];
int i;
for(i=0;i<3;i++)
gets(str[i]);
strcpy(c,str[0]);
for(i=1;i<3;i++)
if(strlen(c)<strlen(str[i]))
strcpy(c,str[i]);
puts(c);
}
輸入:abcde
xyz
cdefghijk
3. _________________。
#include
void main()
{ int i=1;
while (i<=5)
if (++i%3!=2) continue;
else printf("%d",i);
printf("\n");
}
4. _________________。
#include
int x;
void main()
{ x=5;
cude();
printf("%d\n",x);
}
cude()
{ x=x*x*x; }
5. _________________。
#include
void main()
{ int *p1,*p2,*p,a,b;
a=12;b=34;
p1=&a;
p2=&b;
if(a<b)
{p=p1;p1=p2;p2=p;}
printf("a=%d,b=%d\n",a,b);
printf("max=%d,min=%d\n",*p1,*p2);
}
三、程序填空題(每空 5 分,共 35 分。)
1. 將一個數(shù)組中的元素按逆序重新存放。
例如原來的順序為:8,5,7,4,1, 要求改為:1,4,7,5,8。
#define N 5
void main()
{ int a[N]={8,5,7,4,1},k,s;
printf("初始數(shù)組:\n");
for (k=0;k<n;k++)
printf("%4d",a[k]);
for (k=0;k<_____________;k++)
{ s=a[k]; a[k]=_______;_________=s; }
printf("\n交換后的數(shù)組:\n");
for (k=0;k
printf("%4d",a[k]);
}
2. 寫一函數(shù),實現(xiàn)兩個字符串的比較。即自己寫一個 strcmp 函數(shù):compare(s1,s2)。如果s1=s2,返回值為 0,如果 s1≠s2,返回它們二者第一個不同字符的 ASCⅡ碼差值("BOY"與"BAD",第二個字母不同,"O"與"A"之差為 79-65=14)。如果 s1>s2,則 輸出正值,如 s1<s2,則輸出負值。
#include
compare(char *p1,char *p2)
{ int i;
i=0;
while( ____)
if(*(p1+i++)=='\0')_____;
return(____);
}
void main()
{ int m;
char str1[20],str2[20],*p1,*p2;
printf("please input string by line:\n");
scanf("%s",str1);
scanf("%s",str2);
p1=_____;
p2=str2;
m=compare(p1,p2);
printf("the result is:%d\n",m);
}
四、編程題(本大題共 2 小題,第小題 20 分,共 40 分。)
1.輸出 100-200 之間所有素數(shù)。
要求:
(1)編寫一個判斷一個整數(shù)是否為素數(shù)的函數(shù):void prime(int n),若是素數(shù)則輸出,否則不輸出
(2)主函數(shù)中調(diào)用 prime 函數(shù),輸出 100-200 之間所有素數(shù)說明:素數(shù)是指除了 1 和該數(shù)本身之外,不能被其它任何整數(shù)整除的數(shù)
2. 有 n 個學(xué)生,每個學(xué)生的數(shù)據(jù)包括學(xué)號(num),姓名(name[20]),性別(sex),年齡(age),三門課的成績(score[3])。要求在 main 函數(shù)中輸入這 n 個學(xué)生的數(shù)據(jù), 然后調(diào)用一個函數(shù) count,在該函數(shù)中計算出每個學(xué)生的總分和平均分, 然后打印出所有各項數(shù)據(jù)(包括原有的和新求出的)。
第二部分:微機原理與接口(含匯編語言)(滿分150分)
一、選擇題(每小題 3 分,共 45 分)
1.在 8086/8088 中,ES 是()。
A.段寄存器
B.狀態(tài)標志寄存器
C.通用寄存器
D.數(shù)據(jù)寄存器
2.8088 是準 16 位微處理機,它的內(nèi)部結(jié)構(gòu)是幾位,對外的數(shù)據(jù)線是幾位()。
A.16,l6
B.16,8
C.8,8
D.8,16
3.堆棧指針 SP 的內(nèi)容是()。
A.棧頂單元內(nèi)容
B.棧頂單元地址
C.棧底單元內(nèi)容
D.棧底單元地址
4. 在 8086 微機系統(tǒng)中,完成對指令譯碼操作功能的部件是()。
A.BIU
B.EU
C.SRAM
D.DRAM
5.已知 X,Y,M,N 均為無符號數(shù),令 X=10101010,Y=01100010,M=10100010,N=01010100,Z=X+Y,K=M+N,則下列說法正確的是()。
A.Z 無溢出,K 無溢出
B.Z 有溢出,K 無溢出
C.Z 無溢出,K 有溢出
D.Z 有溢出,K 有溢出
6.當(dāng) CPU 響應(yīng)可屏蔽中斷時,若將 CS 和 IP 壓入堆棧,需執(zhí)行()個總線周期。
A.1
B.2
C.4
D.6
7. EPROM 是指()。
A.隨機讀寫存儲器
B.可編程的只讀存儲器
C.只讀存儲器
D.可擦除的可編程只讀存儲器
8.若 A=01100001, B=11001011,則 A⊕B=()。
A.00100001
B.10101010
C.01000001
D.01101011
9.若將 BL 寄存器中的 D1、D3、D4 和 D6 位取反,應(yīng)使用()。
A.AND BL,5AH
B.OR BL,5AH
C.XOR BL,5AH
D.TEST BL,5AH
10 8086/8088CPU 響應(yīng)可屏蔽中斷的條件是什么?()
A.INTR=l,IF=1
B.INTR=0,IF=1
C.INTR=l,IF=0.
D.INTR=0,IF=0
11 有如下定義語句:BVAR DB 101B,7,‘D’,0FH,-1,2×56,則 BVAR+4 內(nèi)存單元中的字節(jié)內(nèi)容()。
A.44H
B.0FH
C.FFH
D.70H
12. 若一 SRAM 芯片的容量是 1024×8 位,除電源和接地線外,該芯片的其它引腳最少應(yīng)為()根。
A.23
B.22
C.21
D.20
13.可編程中斷控制器 8259A 中 IRR 用于()。
A.用來存放對各級中斷請求的屏蔽信息
B.識別各中斷請求信號的優(yōu)先級別
C.用來存放由外部輸入的中斷請求信號
D.用來記錄正在處理中的中斷請求
14.若形成存儲字長為 8 位,空間為 6000H~67FFH 的存儲器系統(tǒng),則需要 1K×4 位的存儲芯片()
A.2
B.4
C.6
D.8
15.設(shè) 8253 的 CLK 輸入 2MHZ 的時鐘脈沖,若要輸出 4KHZ 頻率的波形,負脈沖寬度為 1μs,則該 8253芯片的計數(shù)初值是()。
A.4000
B.400
C.500
D.2000
二、填空題(每空 2 分,共 30 分)
1. 8086/8088 為外部設(shè)備提供的可屏蔽中斷信號是__________。
2.中斷返回指令的功能__________。
3. 8086/8088 工作模式分為___________、_______。
4.TW用來等待____________,TW可以查到 T3和 T4之間。
5.十進制數(shù) 0.625 轉(zhuǎn)換為二進制數(shù)為__________。
6.按功能分,8086 的標志寄存器的標志可以分為兩個類__________、______。
7.指令 MOV AL,10 的源操作數(shù)的尋址方式為_________。
8.與 XOR AX,AX 指令具有相同功能的指令是_______。
9.下面是統(tǒng)計 100 個內(nèi)存單元中高 4 位同時為“1”的字節(jié)數(shù)據(jù)個數(shù),并將結(jié)果送入其后的內(nèi)存單元的程序,請在橫線上填上空缺的正確內(nèi)容。
……
C_SEG SEGMENT
ASSUME CS:C_SEG, DS:D_SEG
BEGIN: MOV AX,D_SEG
MOV DL,0
MOV CX, __________
MOV SI, OFFSET NUM
AGAIN: MOV AL,[SI]
ADD AL,10H
________________
________________
NEXT: INC SI
LOOP AGAIN
MOV [SI],DL
MOV AH,4CH
_____________
C_SEG ENDS
END BEGIN
三、簡答題(每小題 10 分,共 30 分)
1.在最小模式下,8086CPU 一個基本的總線周期一般由幾個時鐘周期組成?以讀總線周期為例,請說明在每個時鐘周期中,CPU 做了哪些工作?
2.簡述 8086CPU 響應(yīng)可屏蔽中斷的條件及過程。
3. 設(shè) BX=0158H,DI=10A5H,SI=1008H,DS=2100H,ES=7100H,SS=5100H,BP=0258H,在沒有使用段前綴情況下,即 DS 為目前段寄存器,寫出下列物理地址。
(1)MOV AX,[1100H]
(2)MOV AX,[BX]
(3)ES:MOV CX,[BX]
(4)MOV BX,[BP]
(5)MOV AX,[BX+SI]
四、應(yīng)用題(每小題 15 分,共 45 分)
1.編寫完整匯編語言程序?qū)崿F(xiàn)如下功能。
在 M 單元和 N 單元分別存有一個 8 位無符號數(shù) 36H 和 95H,要求比較這兩個無符號數(shù),并根據(jù)比較結(jié)果在屏幕上顯示 M>N 或 N>M(假設(shè)這兩個數(shù)不相等)。2.8255 各口設(shè)置如下:A 組與 B 組均工作于方式 0,A 口為輸入,B 口為輸出,C 口高位部分為輸出,低位部分為輸入,端口地址設(shè)為 40H~43H。
(1) 寫出工作方式控制字。
(2) 編寫 8255A 初始化程序段。
(3) 從 A 口輸入數(shù)據(jù),將其取反后從 B 口送出。
3.在微機系統(tǒng)中,CPU 對中斷源的管理可采用中斷向量方式。設(shè)某中斷向量在中斷向量表中 0000H:0018H單元開始按地址遞增方向依次存放 95H、96H、97H 和 98H,99H,9AH,9BH 和 9CH 八個字節(jié),請回答:該向量對應(yīng)的中斷類型碼和中斷服務(wù)程序的入口地址的 CS 和 IP 分別是多少?并簡述所得結(jié)論的理由。
延伸閱讀
- 2023年河北專升本金屬材料概論模擬題及答案
- 2023年河北專升本環(huán)境監(jiān)測模擬題及答案
- 2023年河北專升本環(huán)境保護概論模擬題及答案
- 2023年河北專升本和聲學(xué)模擬題及答案
- 2023年河北專升本基本樂理模擬題及答案
- 2023年河北專升本命題創(chuàng)作模擬題及答案
專升本微信公眾號
掃碼添加
專升本備考資料免費領(lǐng)取
去領(lǐng)取