- 相关推荐
四川省计算机二级C语言笔试真题及答案
在学习、工作生活中,我们最离不开的就是试题了,借助试题可以为主办方提供考生某方面的知识或技能状况的信息。一份好的试题都具备什么特点呢?以下是小编精心整理的四川省计算机二级C语言笔试真题及答案,仅供参考,大家一起来看看吧。
第一部分:软件技术基础
一、是非判断题
A:在程序设计中,常用一维数组来表达线性表的顺序存储空间。数组可以通过下标方便地访问和操作线性表中的元素,实现顺序存储的功能。
B:软件测试的目的不仅仅是为用户提供没有错误的程序,更重要的是发现软件中的潜在问题,确保软件的质量和可靠性。
B:栈顶既可以进行进栈操作,也可以进行退栈操作。栈的特点是先进后出,即新元素入栈放在栈顶,出栈时也从栈顶取出。
A:处在等待状态的进程,若其等待的事件已发生,就会立即转入就绪状态,等待被调度程序选中占有处理机后进入运行状态。
A:线性表采用链式存储时,其节点之间通过指针相连,因此存储单元地址可以不连续,便于动态地进行插入和删除操作。
A:在进行插入排序时,数据的初始排列会影响比较的次数。如果初始序列基本有序,比较次数会相对较少;如果初始序列较为无序,比较次数可能会较多。
A:数据的逻辑结构是从逻辑关系上描述数据,它独立于数据的存储结构和存储方式,是数据在用户层面上的抽象表示。
B:在操作系统中,进程最基本的特性是动态性和并发性。进程是程序的一次执行过程,具有动态创建、调度和消亡等特点;同时多个进程可以并发执行,提高系统的资源利用率。
B:软件危机并不是由于软件产品过多而产生的,主要原因包括软件需求的增长难以满足、软件开发的成本和进度难以控制、软件质量难以保证、软件的维护困难等。
A:面向过程系统需求分析中,数据流图用于描述系统中数据的流动和处理过程,数据字典用于定义数据流图中涉及的数据元素、数据结构、数据存储等信息,它们是重要的分析工具。
二、选择题
A:进程从运行状态进入就绪状态通常是因为时间片用完,此时需要让出处理机,进入就绪队列等待下一次调度。
B:需求分析中开发人员主要从用户那里了解软件需要做什么,即软件的功能、性能、约束等方面的需求,而不是如何做(具体的实现方式)。
B:队列的操作原则是先进先出,先进入队列的元素先出队列。
C:在需要经常查找节点的前驱和后继的情况下,使用双链表比较合适。双链表的每个节点都有指向前驱和后继节点的指针,可以方便地双向遍历链表。
D:任何两个并发进程之间可能存在同步或互斥关系。同步是指多个进程之间协调工作,按照一定的顺序或条件执行;互斥是指多个进程在访问共享资源时需要进行排他性控制,避免数据不一致等问题。但并不是所有并发进程之间都一定存在这两种关系,也可能彼此独立无关,具体取决于进程的功能和操作。
第二部分:C 与 C++ 语言程序设计
一、单项选择题
C:在 C 语言中,整数除法的结果会自动舍去小数部分。所以3/2
的结果是 1,然后再与x
相加,得到 2.0,因为x
是double
类型,所以最终结果也是double
类型的 2.0。
A:先计算表达式(-y == x+)
,因为x = 5
,y = 10
,所以-y == x+
不成立,其值为 0。然后执行a = -y
,即a = -10
。接着执行b = y+
,先将y
的值(10)赋给b
,然后y
自增 1,变为 11。最后c = x
,即c = 5
。所以最终结果是a = -10
,b = 10
,c = 5
。
C:先计算逻辑与表达式(j++ || k++) && i++
。由于短路效应,先计算j++
,其值为 2(先使用j
的值 1 进行判断,然后j
自增 1),为真,所以不再计算k++
。然后计算i++
,其值为 2(先使用i
的值 1 进行判断,然后i
自增 1)。所以最终输出的是i
、j
、k
自增后的结果,即 2, 2, 2。
D:在 C 语言中,a!= 0
是表示 “a 不等于 0” 的正确表达式。而 D 选项a0 || a0
的意思是 “a 小于 0 或 a 大于 0”,虽然在逻辑上也能表达 “a 不等于 0”,但不是最直接的表达方式。
A:*p
表示指针p
所指向的变量,所以*p - b +
就是先取p
指向的值,然后减去b
,再加上c
。
B:二维数组的初始化可以使用花括号括起来的一组值来进行。选项 B 中,外层花括号表示有三行,内层花括号表示每行有两个元素,符合二维数组a[3][2]
的定义和初始化方式。
C:要将r
指向的结点插入到p
、q
所指结点之间,可以先让r
的下一个指针指向q
(即r->next = q
),然后让p
的下一个指针指向r
(即p->next = r
)。这样就可以实现将r
插入到p
和q
之间的链表结构。
C:宏定义在预编译时会进行文本替换。在这个例子中,宏S(x)
被替换为PT * x * x
,即3.5 * (a + b) * (a + b)
。将a = 1
,b = 2
代入计算,结果为 10.5。
A:将八进制数020
转换为十进制是 16,然后进行位与运算。a = 9
转换为二进制是1001
,与十进制数 16 进行位与运算后得到二进制的1000
,转换为八进制就是 40。
二、读程序回答问题
(1)C:程序的功能是在母串str
中查找子串substr
出现的次数。在输入abcdabad
和ab
时,子串ab
在母串中出现了 2 次。
(2)B:该程序通过两个嵌套的循环,逐个比较母串和子串的字符,当子串完全匹配时计数器加 1,最终返回子串在母串中出现的次数。
程序的输出结果为 10。在函数fun
中定义了一个静态变量c
,其值会在多次调用函数时保留。首先调用fun(2*a, fun(b, c))
,计算内部的fun(b, c)
,即fun(5, 6)
,此时c = 5 + 6 = 11
。然后再计算外部的fun(2*2, 11)
,即fun(4, 11)
,得到c = 4 + 11 = 15
,最后将结果返回并输出。
资深写手 • 1对1服务
品质保证、原创高效、量身定制满足您的需求
【四川省计算机二级C语言笔试真题及答案】相关文章:
计算机二级C语言笔试历年真题及答案09-30
计算机二级C语言真题及答案09-26
计算机二级C语言考试真题及答案09-30
计算机二级考试C语言历年真题及答案解析03-10
2016年计算机二级c语言真题及答案03-29
2024年计算机二级c语言考试真题及答案09-25
计算机二级考试C语言历年真题09-26
3月计算机等级考试二级c笔试真题10-04
2017计算机二级考试C语言冲刺题及答案03-22