湘潭理工学院

  • 官方网址: http://www.xitedu.cn/
  • 官方电话:0731-55557888
  • 电子邮箱:
  • 院校地址:湖南湘潭市九华经济技术开发区潭州大道

湘潭理工学院《计算机》27年模拟卷

一、选择题(共30题,每题2分,共60分)

  1. 在冯·诺依曼计算机中,指令执行的基本顺序是( )
    A. 取指 → 译码 → 执行 → 回写
    B. 取指 → 执行 → 译码 → 回写
    C. 译码 → 取指 → 执行 → 回写
    D. 取指 → 译码 → 回写 → 执行

  2. 某8位计算机采用补码表示整数,其能表示的最小负数是( )
    A. -128  B. -127  C. -256  D. -255

  3. 设栈的初始为空,输入序列为1,2,3,4,则不可能得到的输出序列是( )
    A. 4,3,2,1  B. 3,4,2,1  C. 1,4,2,3  D. 2,1,4,3

  4. 在关系数据库中,已知关系R(A,B,C)和S(B,D),下列运算结果中可能包含重复元组的是( )
    A. 投影  B. 选择  C. 自然连接  D. 笛卡尔积

  5. TCP/IP协议栈中,实现端到端可靠传输的层是( )
    A. 网络接口层  B. 网络层  C. 传输层  D. 应用层

  6. 设int a=5, b=2; 表达式 (a>b) && (b++ > 0) 执行后,b的值是( )
    A. 2  B. 3  C. 1  D. 不确定

  7. 以下能正确定义并初始化二维数组的是( )
    A. int a[2][] = {{1,2},{3,4}};
    B. int a[][2] = {1,2,3,4};
    C. int a[2][2] = {1,2,3,4,5};
    D. int a[2][2] = {{1},{3,4}};

  8. 若有定义 char *s = "C Program"; ,则 sizeof(s) 的值是( )
    A. 10  B. 11  C. 4  D. 8

  9. 下列排序算法中,在待排序数据基本有序时效率最高的是( )
    A. 冒泡排序  B. 选择排序  C. 二分查找(排序?)  D. 直接插入排序

  10. 在三级模式结构中,描述数据库全局逻辑结构的是( )
    A. 外模式  B. 内模式  C. 模式  D. 物理模式

  11. 已知IP地址192.168.1.130,子网掩码255.255.255.192,该主机所在子网的网络地址是( )
    A. 192.168.1.0  B. 192.168.1.64  C. 192.168.1.128  D. 192.168.1.192

  12. 下列对算法的描述,错误的是( )
    A. 算法必须具有有穷性  B. 算法必须具有一个或多个输出
    C. 算法可以用自然语言描述  D. 算法每一步必须确定,不能有二义性

  13. 对于 int x=10, y=3; 表达式 x % y + (x / y) 的值是( )
    A. 3  B. 4  C. 5  D. 6

  14. 以下程序段运行后输出结果是( )

    c
    int i, sum=0;for(i=1; i<=5; i++) {
        if(i%2==0) continue;
        sum += i;}printf("%d", sum);

    A. 6  B. 9  C. 5  D. 8

  15. 函数定义 void f(int *p, int n) { for(int i=0; i<n/2; i++) { int t=p[i]; p[i]=p[n-1-i]; p[n-1-i]=t; } }
    若在主函数中调用 int a[]={1,3,5,7,9}; f(a,5); 则数组a变为( )
    A. 9,7,5,3,1  B. 1,3,5,7,9  C. 5,7,9,3,1  D. 1,3,5,9,7

  16. 以下哪个不是操作系统的功能( )
    A. 进程调度  B. 数据库恢复  C. 文件管理  D. 内存分配

  17. 在C语言中,若函数定义出现在调用之后,则需要在调用前进行( )
    A. 定义  B. 声明  C. 初始化  D. 赋值

  18. 设有声明 int a[3][4] = {0}; 则下列对数组元素引用正确的是( )
    A. a[1][4] = 5;  B. a[3][0] = 6;  C. a[0][0] = 7;  D. a[2+1][2] = 8;

  19. 已知字符数组 char str[20] = "Hello"; 执行 strcpy(str, "World"); 后,str的内容是( )
    A. "HelloWorld"  B. "World"  C. "WorldHello"  D. "Hello"

  20. 以下关于指针的叙述,正确的是( )
    A. 指针变量可以存放任何类型的数据
    B. 两个指针变量可以相加
    C. 指针变量可以为空
    D. 指针变量定义时必须赋初值

  21. 病毒、木马等恶意软件主要威胁网络安全的哪个特征( )
    A. 保密性  B. 完整性  C. 可用性  D. 可控性

  22. 若某数采用IEEE754单精度浮点格式,符号位1,阶码129(偏移127),尾数全0,则该数值为( )
    A. NaN  B. 无穷大  C. -2  D. -1

  23. 当局部变量与全局变量同名时,在函数内部访问该变量,以下说法正确的是( )
    A. 只能访问全局变量  B. 只能访问局部变量
    C. 使用extern可以访问全局变量  D. 编译报错

  24. 以下关于递归函数的说法,错误的是( )
    A. 递归函数必须有递归出口  B. 递归函数效率一般低于循环
    C. 递归函数必须包含静态变量  D. 递归调用会占用栈空间

  25. 在TCP三次握手中,第二次握手发送的TCP标志位是( )
    A. SYN  B. ACK  C. SYN+ACK  D. RST

  26. 已知一棵二叉树的前序遍历为ABDCEF,中序遍历为DBAECF,则后序遍历为( )
    A. DBEFCA  B. DEBFCA  C. DBEACF  D. ABDCEF

  27. 以下程序的输出结果是( )

    c
    int fun(int n) {
        static int s = 0;
        s += n;
        return s;}void main() {
        printf("%d", fun(2));
        printf("%d", fun(3));}

    A. 2 3  B. 2 5  C. 2 6  D. 5 5

  28. 在数据库设计中,将E-R图转换为关系模式的过程属于( )
    A. 需求分析  B. 概念结构设计  C. 逻辑结构设计  D. 物理结构设计

  29. 若有 int *p, a=10; p=&a; 则下列表达式与 *p 不等价的是( )
    A. a  B. *(&a)  C. p  D. *p

  30. 用C语言实现一个函数,交换两个整数的值,以下哪种方式能正确实现( )
    A. swap(int x, int y) { int t=x; x=y; y=t; }
    B. swap(int *x, int *y) { int *t=x; x=y; y=t; }
    C. swap(int *x, int y) { int t=x; *x=*y; *y=t; }
    D. swap(int &x, int &y) { int t=x; x=y; y=t; }


二、判断题(共25题,每题2分,共50分)

正确选A,错误选B。

  1. ( )在冯·诺依曼结构中,指令和数据以二进制形式存储在同一个存储器中。

  2. ( )一个32位整数的补码表示范围比原码多表示一个负数。

  3. ( )栈和队列的共同特点是只允许在端点处插入和删除元素。

  4. ( )在关系数据库中,外键必须与对应的主键名称相同。

  5. ( )HTTP协议默认使用TCP端口80。

  6. ( )C语言中,表达式 sizeof(3.14) 的结果与 sizeof(double) 相同。

  7. ( )在C语言中,char类型变量占1个字节,不能存储汉字。

  8. ( )若有 int a[5]; 则 a[5] 表示数组的第5个元素。

  9. ( )函数中定义的静态局部变量在函数调用结束后仍保留其值。

  10. ( )在快速排序中,若每次选取的基准都是序列的最大值,则排序效率最低。

  11. ( )TCP协议提供面向连接的、可靠的数据传输服务。

  12. ( )在C语言中,指针变量可以指向任何类型的变量,包括函数。

  13. ( )在关系模式中,候选键可以有多个,主键只能有一个。

  14. ( )IP地址127.0.0.1属于A类地址,用于本地环回测试。

  15. ( )循环 while(1); 是死循环,会一直占用CPU资源。

  16. ( )在C语言中,数组名作为函数参数时,传递的是数组第一个元素的值。

  17. ( )递归函数必须使用静态变量才能实现。

  18. ( )操作系统中的进程和程序是同一概念的两种说法。

  19. ( )在以太网中,CSMA/CD协议用于解决多个节点同时发送数据的冲突问题。

  20. ( )若有 int a=5, *p=&a; 则 *&p 等价于 p。

  21. ( )在数据库中,视图是虚表,不存储实际数据。

  22. ( )在C语言中,两个字符串直接用 == 比较可以判断内容是否相同。

  23. ( )二叉树的前序遍历和中序遍历序列可以唯一确定一棵二叉树。

  24. ( )TCP使用滑动窗口机制实现流量控制。

  25. ( )在C语言中,函数可以返回一个数组。


三、填空题(共10空,每空2分,共20分)

  1. 将十进制数 -25 表示为8位二进制补码是 __________。

  2. 已知循环队列的数组容量为10,队头指针front指向队首元素,队尾指针rear指向队尾元素的下一个位置,当前front=2,rear=7,则队列中的元素个数为 __________。

  3. 在TCP/IP五层模型中,负责将数据封装成帧并物理传输的层是 __________。

  4. 若有定义 int a[3][4] = {{1,2},{3,4},{5,6}}; 则 a[1][2] 的值是 __________。

  5. 执行下列代码后,输出结果为 __________。

    c
    int i = 0, j = 0;while(i<3) {
        i++;
        j += i;}printf("%d", j);
  6. C语言中,字符串结束标志是 __________(写字符形式)。

  7. 数据库三级模式中, __________ 模式最接近物理存储。

  8. 函数调用时,若形参为指针变量,实参通常必须传递 __________。

  9. 在关系代数的基本运算中,相当于SQL中的 SELECT 语句的是 __________ 运算。

  10. 以下程序的输出是 __________。

    c
    int x=10, y=20;int *p1 = &x, *p2 = &y;*p1 = *p1 + *p2;*p2 = *p1 - *p2;*p1 = *p1 - *p2;printf("%d,%d", x, y);

四、简答题(共4题,每题10分,共40分)

  1. 简述冯·诺依曼计算机的“存储程序”原理及其对现代计算机体系结构的意义。

  2. 什么是TCP/IP协议栈的五层模型?分别说明每一层的主要功能及至少一个典型协议。

  3. 比较局部变量、全局变量和静态局部变量在C语言中的生存期、作用域及初始化特点。

  4. 已知一个关系模式R(U, F),其中U={A,B,C,D},函数依赖集F={A→B, B→C, C→D},试求:
    (1) 候选键;
    (2) 判断R属于第几范式,并说明理由;
    (3) 将其分解为满足3NF的无损连接分解。


五、程序设计题(共2题,每题15分,共30分)

要求:写出完整的C程序(包含必要的头文件、主函数和功能实现),代码风格规范,关键部分添加注释。

第1题(15分)

编写一个函数 void rotate(int *arr, int n, int k),实现将包含n个整数的数组arr循环右移k位(k为非负整数,且可大于n)。
例如:数组 [1,2,3,4,5] 右移2位后变为 [4,5,1,2,3]。
要求:

  • 不能使用额外的数组(空间复杂度O(1));

  • 时间效率尽可能高;

  • 在主函数中测试:输入n、k及数组元素,输出移动后的数组。

第2题(15分)

编写一个程序,从键盘输入一个长度不超过100的字符串(可能包含空格),统计其中每个单词出现的次数,并按单词出现次数从高到低输出(次数相同按字典序升序)。
单词定义:连续的非空格字符序列,单词之间由一个或多个空格分隔。
要求:

  • 忽略大小写(如 “Hello” 和 “hello” 视为同一单词);

  • 不能使用库函数 strtok,需自行实现分割;

  • 输出格式:每行“单词:次数”。

示例输入:

text
Hello world! hello C program. world

(注:标点符号如! . 应视为单词的一部分还是分隔符?本题简化:单词仅由字母组成,但输入可能含标点,本题要求将标点视为单词的一部分,即“world!”和“world”不同。为简化,可以假设输入仅包含字母和空格,但题目要求高难度,可不简化。若想更接近真题,建议声明“单词由字母组成,遇到非字母视为分隔符”。为了与考纲难度匹配,规定:单词为连续的字母(a-z, A-Z)序列,非字母字符作为分隔符。考生需自行处理。)
请按上述规则实现。