2022年河北专升本计算机全真模拟一
第一部分:C 语言程序设计(满分 150 分)
一、单项选择题(本大题共 25 小题,每小题 2 分,共 50 分。)
1. 以下正确的 C 语言标识符是_。
A. 2AB
B. a2.c
C. _ab3
D. #ab
2. C 语言的基本构成单位是_。
A. 函数
B. 函数和过程
C. 超文本过程
D. 子程序
3. 若 x 为 int 型变量,则执行以下语句后,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 A. 4 B. 3 C.2 D. 1 7. 执行下面程序后,运行结果是_。 #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}; ,则数组 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. 为表示关系 x≥y≥z,应使用 C 语言表达式_。 A. (x>=y)&&(y>=z) B. (x>=y)AND(y>=z) C. (x>=y>=z) D. (x>=y) & (y>=z) 12. 下列运算符中,要求运算对象必须是整数的是_。 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. 分析下面函数,以下说法正确的是_。 swap(int *p1,int *p2) { int *p; *p=*p1; *p1=*p2; *p2=*p; } A.交换*p1 和*p2 的值 B.正确,但无法改变*p1 和*p2 的值 C.交换*p1 和*p2 的地址 D.可能造成系统故障,因为使用了野指针 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 循环语句_。 int i,k; for(i=0,k=-1;k=1;i++,k++) printf("* * * *"); A 判断循环结束的条件非法 B 是无限循环 C 只循环一次 D 一次也不循环 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 C. x%2&&y==z D. y=x||z/3 20. 以下程序段_。 int x=-1; do { x=x*x; } while (!x); A.无限循环 B.循环执行两次 C.循环执行一次 D.有语法错误 21. 执行下面程序段后,k 的值是_。 int i,j,k; for(i=0,j=10;i k=i+j; A. 9 B. 11 C.8 D. 10 22. 在执行 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]; , 不能表示数组元素 a[1][1]。 A. *(a[1]+1) B. *(&a[1][1]) C. (*(a+1)[1]) D. *(a+5) 24. 有以下定义的函数,函数值的类型是_。 void print_star(){printf("*********\n");} A int B float C double D void 25. 当调用函数时,实参是一个数组元素,则向被调函数传递的是_。 A.数组的长度 B.数组的首地址 C.数组元素的值 D.数组每个元素中的值 二、程序阅读题(本大题共 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) 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 {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. 将一个数组中的元素按逆序重新存放。 例如原来的顺序为: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("初始数组:\n"); for (k=0;k printf("%4d",a[k]); for (k=0;k<_____________;k++) { s=a[k]; a[k]=_______;_________=s; } printf("\n交换后的数组:\n"); for (k=0;k printf("%4d",a[k]); } 2. 写一函数,实现两个字符串的比较。即自己写一个 strcmp 函数:compare(s1,s2)。如果s1=s2,返回值为 0,如果 s1≠s2,返回它们二者第一个不同字符的 ASCⅡ码差值("BOY"与"BAD",第二个字母不同,"O"与"A"之差为 79-65=14)。如果 s1>s2,则 输出正值,如 s1 #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 之间所有素数。 要求: (1)编写一个判断一个整数是否为素数的函数:void prime(int n),若是素数则输出,否则不输出 (2)主函数中调用 prime 函数,输出 100-200 之间所有素数说明:素数是指除了 1 和该数本身之外,不能被其它任何整数整除的数 2. 有 n 个学生,每个学生的数据包括学号(num),姓名(name[20]),性别(sex),年龄(age),三门课的成绩(score[3])。要求在 main 函数中输入这 n 个学生的数据, 然后调用一个函数 count,在该函数中计算出每个学生的总分和平均分, 然后打印出所有各项数据(包括原有的和新求出的)。 第二部分:微机原理与接口(含汇编语言)(满分150分) 一、选择题(每小题 3 分,共 45 分) 1.在 8086/8088 中,ES 是()。 A.段寄存器 B.状态标志寄存器 C.通用寄存器 D.数据寄存器 2.8088 是准 16 位微处理机,它的内部结构是几位,对外的数据线是几位()。 A.16,l6 B.16,8 C.8,8 D.8,16 3.堆栈指针 SP 的内容是()。 A.栈顶单元内容 B.栈顶单元地址 C.栈底单元内容 D.栈底单元地址 4. 在 8086 微机系统中,完成对指令译码操作功能的部件是()。 A.BIU B.EU C.SRAM D.DRAM 5.已知 X,Y,M,N 均为无符号数,令 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.当 CPU 响应可屏蔽中断时,若将 CS 和 IP 压入堆栈,需执行()个总线周期。 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 位取反,应使用()。 A.AND BL,5AH B.OR BL,5AH C.XOR BL,5AH D.TEST BL,5AH 10 8086/8088CPU 响应可屏蔽中断的条件是什么?() 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 内存单元中的字节内容()。 A.44H B.0FH C.FFH D.70H 12. 若一 SRAM 芯片的容量是 1024×8 位,除电源和接地线外,该芯片的其它引脚最少应为()根。 A.23 B.22 C.21 D.20 13.可编程中断控制器 8259A 中 IRR 用于()。 A.用来存放对各级中断请求的屏蔽信息 B.识别各中断请求信号的优先级别 C.用来存放由外部输入的中断请求信号 D.用来记录正在处理中的中断请求 14.若形成存储字长为 8 位,空间为 6000H~67FFH 的存储器系统,则需要 1K×4 位的存储芯片() A.2 B.4 C.6 D.8 15.设 8253 的 CLK 输入 2MHZ 的时钟脉冲,若要输出 4KHZ 频率的波形,负脉冲宽度为 1μs,则该 8253芯片的计数初值是()。 A.4000 B.400 C.500 D.2000 二、填空题(每空 2 分,共 30 分) 1. 8086/8088 为外部设备提供的可屏蔽中断信号是__________。 2.中断返回指令的功能__________。 3. 8086/8088 工作模式分为___________、_______。 4.TW用来等待____________,TW可以查到 T3和 T4之间。 5.十进制数 0.625 转换为二进制数为__________。 6.按功能分,8086 的标志寄存器的标志可以分为两个类__________、______。 7.指令 MOV AL,10 的源操作数的寻址方式为_________。 8.与 XOR AX,AX 指令具有相同功能的指令是_______。 9.下面是统计 100 个内存单元中高 4 位同时为“1”的字节数据个数,并将结果送入其后的内存单元的程序,请在横线上填上空缺的正确内容。 …… 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 响应可屏蔽中断的条件及过程。 3. 设 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] 四、应用题(每小题 15 分,共 45 分) 1.编写完整汇编语言程序实现如下功能。 在 M 单元和 N 单元分别存有一个 8 位无符号数 36H 和 95H,要求比较这两个无符号数,并根据比较结果在屏幕上显示 M>N 或 N>M(假设这两个数不相等)。2.8255 各口设置如下:A 组与 B 组均工作于方式 0,A 口为输入,B 口为输出,C 口高位部分为输出,低位部分为输入,端口地址设为 40H~43H。 (1) 写出工作方式控制字。 (2) 编写 8255A 初始化程序段。 (3) 从 A 口输入数据,将其取反后从 B 口送出。 3.在微机系统中,CPU 对中断源的管理可采用中断向量方式。设某中断向量在中断向量表中 0000H:0018H单元开始按地址递增方向依次存放 95H、96H、97H 和 98H,99H,9AH,9BH 和 9CH 八个字节,请回答:该向量对应的中断类型码和中断服务程序的入口地址的 CS 和 IP 分别是多少?并简述所得结论的理由。 以上就是关于2022年河北专升本计算机全真模拟一的全部内容了,如果你还有专升本相关的疑惑(如专升本报名、考试动态、院校招生简章、统考动态、湖南专升本院校、历年真题、考试大纲、专升本等相关信息),可以在文章下方留下你的联系方式,老师会第一时间联系到你,为你答疑解惑哦! 部分内容来源于网络转载、学生投稿,如有侵权或对本站有任何意见、建议或者投诉,请联系邮箱(1296178999@qq.com)反馈。
未经本站授权,不得转载、摘编、复制或者建立镜像, 如有违反,本站将追究法律责任!