内容正文:
专 业 班 级 学 号 姓 名
装 订 线
绝密★启用前
山东省普通高校招生(春季)考试
软件技术与应用类专业知识模拟试题二
本次试卷分卷一(选择题)和卷二(非选择题)两部分,满分200分。考试时间120分钟。考试结束,将本试题和答题卡一并交回。
卷一(选择题 共100分)
一.选择题(本大题共50小题,每小题2分,共100分。在每小题列出的四个选项中,只有一项是符合题目的,请将符合题目要求的选项字母代号选出,填涂在答题卡上)
1.若有定义int a[2][3] = {{1,2}, {3}};,则a[1][2]的值为( )
A. 0 B. 3
C. 2 D. 语法错误
【答案】A
【解析】二维数组初始化时未赋值的元素默认为0。a[1][2]属于第二行第三列,未显式赋值,故为0。
2.表达式3 + 4 * 2 && 5 > 3的值为( )
A. 0 B. 1
C. 5 D. 7
【答案】B
【解析】运算符优先级:* > + > > > &&。计算顺序为:4*2=8 → 3+8=11 → 5>3=1 → 11 && 1,结果为1。
3.以下循环的执行次数是( )
int i = 5;
do {
i -= 2;
} while (i > 0);
A. 2 B. 3
C. 4 D. 无限循环
【答案】B
【解析】i初始为5,每次减2,依次为5→3→1→-1。当i=-1时,i>0为假,循环结束。共执行3次。
4. 若int x = 3, y = 5;,以下逻辑表达式结果为假的是( )
A. x < y || x == y B. !(x > y)
C. x + 2 >= y D. x != y && x < y
【答案】C
【解析】选项C中,x+2=5,5 >= y=5为真,其余选项均为真。题目要求找结果为假的选项,故无答案。此处需修正题目,建议选项C改为x + 1 >= y,此时4 >=5为假。
5.以下代码的输出是( )
char ch = 'A' + 3;
printf("%d", ch);
A. 68 B. D
C. 3 D. 语法错误
【答案】A
【解析】字符'A'的ASCII码为65,加3后为68,对应字符'D',但用%d格式输出时打印整数值68。
6.若有定义int arr[5] = {10}; int *p = arr;,则*(p + 3)的值为( )
A. 0 B. 10
C. 随机值 D. 语法错误
【答案】A
【解析】A选项从0到4循环5次,B选项从1到5循环5次,C和D选项语法错误。
7.以下关于函数参数传递的描述,正确的是( )
A. 实参和形参共用同一内存地址
B. 形参是实参的别名
C. 函数内修改形参不影响实参
D. 数组名作为参数时传递的是副本
【答案】C
【解析】C语言函数参数为值传递,形参是实参的副本,修改形参不影响实参。数组名传递的是地址,但选项D中“副本”表述错误。
8.执行char str[] = "ab\0cd";后,strlen(str)的值为( )
A. 2 B. 5
C. 6 D. 语法错误
【答案】A
【解析】\0是字符串结束符,strlen计算到第一个\0前的字符数,即"ab"的长度为2。
9.以下代码段输出为( )
int x = 5;
int *p = &x;
printf("%d", ++*p);
A. 5 B. 6
C. 地址值 D. 语法错误
【答案】B
【解析】++*p等价于++(*p),即对x的值加1,x变为6。
10.递归函数int f(int n) { return n <= 1 ? 1 : n * f(n-1); }计算的是( )
A. 斐波那契数列 B. 阶乘
C. 累加和 D. 幂运算
【答案】B
【解析】递归终止条件为n <= 1返回1,否则返回n * f(n-1),即计算n的阶乘。
11.表达式(a=5, b=3, b++, a+b)的值是( )
A. 8 B. 9
C. 10 D. 7
【答案】B
【解析】逗号表达式返回最后一个子表达式的值。a=5,b=3,b自增为4,最终a+b=5+4=9。
12.执行int a=12; a += a -= a*a;后,a的值是( )
A. -264 B. 144
C. 264 D. 552
【答案】A
【解析】计算顺序:a -= a*a(a=12-144=-132),然后a += -132(最终a=-264)。
13.以下程序的输出结果是( )
int a;
printf("%d", (a=3*5, a*4, a+5));
A. 20 B. 15
C. 65 D. 10
【答案】A
【解析】逗号表达式返回最后一个子表达式的值,即a+5。a=15,结果为20。
14.以下程序的输出结果是( )
int x=3, y=6, a=0;
while (x++ != (y-=1)) {
a++;
if (y < x) break;
}
printf("x=%d, y=%d, a=%d", x, y, a);
A. x=4, y=5, a=1 B. x=5, y=5, a=1
C. x=5, y=4, a=1 D. x=5, y=4, a=3
【答案】C
【解析】循环执行一次后,x=4,y=5;第二次比较时x=4,y=4,条件不成立,循环结束,最终x=5,y=4,a=1。
15.以下程序段的输出结果是( )
int i, j, x=0;
for (i=0; i<2; i++) {
x++;
for (j=0; j<3; j++) {
if (j%2) continue;
x++;
}
x++;
}
printf("x=%d", x);
A. x=4 B. x=8
C. x=6 D. x=12
【答案】B
【解析】外层循环2次,每次内层循环执行j=0和j=2时x自增,总次数:2*(1+2+1)=8。
16.在Access中,用于唯一标识表中每条记录的字段称为( )
A. 主键 B. 外键
C. 索引 D. 约束
【答案】A
【解析】主键是唯一标识表中每条记录的字段,确保数据唯一性。外键用于建立表间关系,索引用于加速查询,约束用于限制数据规则。
17.若要创建一个“按部门筛选员工”的查询,要求用户输入部门名称,应使用( )
A. 交叉表查询 B. 参数查询
C. 更新查询 D. 生成表查询
【答案】B
【解析】参数查询允许用户在运行时输入条件(如部门名称),动态筛选数据。交叉表查询用于汇总,更新查询用于修改数据,生成表查询创建新表。
18.若要在窗体中显示“员工表”和“工资表”的关联数据,应使用( )
A. 单一窗体 B. 分割窗体
C. 主/子窗体 D. 导航窗体
【答案】C
【解析】主/子窗体用于显示一对多关系的关联数据(如员工及其工资记录)。单一窗体显示单条记录,分割窗体同时显示表单和数据表视图。
19.在SQL查询中,用于按条件筛选记录的语句是( )
A. GROUP BY B. ORDER BY
C. WHERE D. HAVING
【答案】C
【解析】WHERE子句用于筛选记录。GROUP BY用于分组,ORDER BY用于排序,HAVING用于分组后筛选。
20.以下关于索引的描述,错误的是( )
A. 索引可以加快查询速度 B. 主键字段自动创建索引
C. 索引字段允许重复值 D. 一个表可以创建多个索引
【答案】C
【解析】主键索引不允许重复值,但普通索引可以。索引确实能加速查询,且一个表可创建多个索引。
21.若要在窗体中添加一个按钮,用于跳转到下一条记录,应使用的控件是( )
A. 标签 B. 文本框
C. 命令按钮 D. 组合框
【答案】C
【解析】命令按钮可通过“向导”绑定操作(如“下一记录”)。标签用于显示文本,文本框显示数据,组合框用于选择输入。
22.若要将查询结果保存为新表,应使用( )
A. 选择查询 B. 生成表查询
C. 追加查询 D. 更新查询
【答案】B
【解析】生成表查询将查询结果保存为新表。选择查询仅显示结果,追加查询将数据添加到现有表,更新查询修改数据。
23.若要在字段中输入“商品编码”时强制第一位为字母,后三位为数字,应使用字段属性为( )
A. 验证规则 B. 默认值
C. 输入掩码 D. 格式
【答案】C
【解析】输入掩码可通过类似“L000”的格式限制输入规则,其中“L”表示字母,“0”表示必须输入数字。
24.在参数查询中,若要求用户输入日期范围,条件表达式应是( )
A. [输入开始日期] And [输入结束日期]
B. Between [输入开始日期] And [输入结束日期]
C. >=#输入开始日期# And <=#输入结束日期#
D. Year([datetime])=[输入年份]
【答案】B
【解析】Between...And...是用于范围查询的标准语法,结合参数输入可动态指定日期范围。
25.在表设计视图中,不能进行的操作是( )
A. 修改字段类型 B. 设置主键
C. 输入记录数据 D. 添加索引
【答案】C
【解析】表设计视图用于修改结构(如字段属性),而输入数据需在数据表视图中完成。
26.执行删除查询后,如何恢复被删除的记录( )
A. 通过撤销操作 B. 从备份数据表导入
C. 在回收站查找 D. 无法恢复
【答案】D
【解析】操作查询(如删除查询)直接修改数据且不可逆,必须提前备份数据。
27.若需统计各部门员工人数,应使用的查询是( )
A. 交叉表查询 B. 更新查询
C. 生成表查询 D. 删除查询
【答案】A
【解析】交叉表查询适合按部门(行)统计人数(值),使用“Group By”和“Count”实现。
28.按学生成绩降序排列,正确的子句是( )
A. ORDER BY score ASC B. SORT BY score DESC
C. ORDER BY score DESC D. ARRANGE BY score DESC
【答案】C
【解析】ORDER BY 用于排序,DESC 表示降序,其他选项语法错误。
29.若查询结果需排除“库存数量”为0的记录,条件表达式应设置为( )
A. <>0 B. Is Not Null
C. >0 D. Not 0
【答案】A
【解析】<>0表示“不等于0”,可排除数量为0的记录;>0仅包含正数,但可能遗漏需要包含负数的场景。
30.在查询设计器中,实现“仅显示最近30天的销售记录”是( )
A. 条件行输入 >=Date()-30 B. 总计行选择“最大值”
C. 添加“排序”为降序 D. 使用交叉表查询
【答案】A
【解析】Date()返回当前日期,Date()-30表示30天前的日期,条件>=Date()-30筛选最近30天的记录。
31.在Photoshop中,用于控制不同区域显示效果且不破坏原图层像素的功能是( )
A. 滤镜 B. 蒙版
C. 橡皮擦工具 D. 自由变换
【答案】B
【解析】蒙版通过灰度信息控制图层的显示区域,白色区域可见,黑色区域隐藏,灰色区域半透明,不会直接修改原图层像素。
32.使用“污点修复画笔工具”时,若希望自动识别周围纹理修复缺陷,应选择( )类型
A. 创建纹理 B. 图案填充
C. 近似匹配 D. 内容识别
【答案】D
【解析】内容识别模式会根据周围像素智能生成修复内容,适合快速去除瑕疵。
33.下列工具适合创建规则形状的选区的是( )
A. 套索工具 B. 魔棒工具
C. 矩形选框工具 D. 快速选择工具
【答案】C
【解析】矩形选框工具可直接绘制矩形或正方形选区,属于规则选区工具。
34.若要将多个图层合并为一个图层,但不影响其他可见图层,应使用命令( )
A. 拼合图像 B. 合并可见图层
C. 向下合并 D. 盖印可见图层
【答案】B
【解析】合并可见图层仅合并当前显示的图层,隐藏图层不受影响。
35.在“液化”滤镜中,用于调整脸部比例的工具有( )
A. 脸部工具 B. 膨胀工具
C. 旋转工具 D. 褶皱工具
【答案】A
【解析】脸部工具可自动检测面部特征,通过控制线调整脸部宽度、眼睛大小等参数。
36.使用“渐变工具”时,( )渐变类型会以起点为中心向外扩散颜色
A. 线性渐变 B. 角度渐变
C. 径向渐变 D. 菱形渐变
【答案】C
【解析】径向渐变从起点向外呈圆形扩散,常用于创建光晕或球形效果。
37.下列文件格式支持透明背景的是( )
A. JPEG B. BMP
C. PNG D. TIFF
【答案】C
【解析】PNG格式支持Alpha通道透明,适合保存带透明区域的图像。
38.若想快速选择图像中颜色相近的区域,最适合的工具是( )
A. 钢笔工具 B. 魔棒工具
C. 画笔工具 D. 裁剪工具
【答案】B
【解析】魔棒工具根据容差值选择颜色相近的连续或非连续区域。
39.调整图层的不透明度会影响( )
A. 图层混合模式 B. 图层内容的透明度
C. 图层蒙版效果 D. 图层样式强度
【答案】B
【解析】不透明度控制图层整体透明程度,数值越低,图层越透明。
40.图层样式可以为文字添加立体边框效果的是( )
A. 内阴影 B. 外发光
C. 斜面和浮雕 D. 描边
【答案】D
【解析】描边样式可为图层内容添加颜色、渐变或图案的边框。
41. 在冯·诺依曼体系结构中,负责控制计算机各部分协调工作的核心部件是( )
A. 运算器 B. 控制器
C. 存储器 D. 输入设备
【答案】B
【解析】控制器是计算机的控制中心,指挥各部分协调工作。运算器负责数据处理,存储器用于存储数据,输入设备用于数据输入。
42.下列存储器中,断电后数据会丢失的是( )
A. ROM B. EPROM
C. DRAM D. Flash ROM
【答案】C
【解析】DRAM(动态随机存储器)需要定期刷新,断电后数据丢失。ROM、EPROM和Flash ROM均为非易失性存储器。
43. 硬盘的“柱面”是指( )
A. 单个盘片上的同心圆磁道 B. 不同盘片相同半径的磁道组成的圆柱
C. 磁道划分的扇形区域 D. 盘片旋转一周的时间
【答案】B
【解析】柱面由不同盘片相同半径的磁道共同构成,是硬盘数据存储的逻辑单位。
44. 在BIOS设置中,用于恢复出厂默认安全配置的选项是( )
A. Load Fail-Safe Defaults B. Load Optimized Defaults
C. Save & Exit Setup D. Set Supervisor Password
【答案】A
【解析】Load Fail-Safe Defaults载入最安全的默认值,适合系统不稳定时使用;Load Optimized Defaults载入性能优化配置。
45.以下接口中,支持热插拔的是( )
A. IDE B. PS/2
C. SATA D. VGA
【答案】C
【解析】SATA接口支持热插拔,IDE、PS/2和VGA不支持。
46.若计算机开机后屏幕无显示且无报警声,应首先检查( )
A. 内存条是否插紧 B. 硬盘是否损坏
C. 电源是否供电 D. 显卡是否安装
【答案】C
【解析】电源未供电会导致整机无反应。内存或显卡问题通常伴随报警声,硬盘损坏不影响开机自检。
47.使用Ghost软件备份系统分区时,生成的镜像文件扩展名是( )
A. .iso B. .gho
C. .bak D. .img
【答案】B
【解析】Ghost生成的镜像文件扩展名为.gho,.iso是光盘镜像文件,.img为通用镜像格式。
48.主板上的PCI-E x16插槽主要用于连接( )
A. 独立显卡 B. 声卡
C. 网卡 D. 固态硬盘
【答案】A
【解析】PCI-E x16是显卡专用插槽,提供高带宽支持。声卡、网卡通常使用PCI或PCI-E x1插槽。
49.下列工具中,可用于修复硬盘分区表的是( )
A. Ghost B. Defrag
C. WinRAR D. DiskGenius
【答案】D
【解析】DiskGenius支持分区表修复,Ghost用于备份还原,Defrag用于磁盘碎片整理。
50.若CMOS电池电量不足,开机时可能出现的提示是( )
A. “Invalid system disk” B. “CMOS checksum error”
C. “No bootable device” D. “Disk read error”
【答案】B
【解析】CMOS电池电量不足会导致BIOS设置丢失,提示“CMOS checksum error”。
卷二(非选择题 共100分)
二、简答题(本大题共6小题,每小题5分,共30分)
1.#include <stdio.h>
#define SQUARE(x) x * x
int main() {
int a = 3;
printf("%d", SQUARE(a + 1));
return 0;
}
(1)该程序的输出结果是什么
【答案】
7,因为宏展开为a+1a+1=3+3+1=7。
(2)如何修改宏定义以正确计算平方
【答案】
改为#define SQUARE(x) (x)(x)
2.#include <stdio.h>
int main() {
int arr[] = {1,2,3};
int *p = arr;
printf("%d", *p++);
printf("%d", (*p)++);
printf("%d", *p);
return 0;
}
(1)请描述这段代码输出的结果是什么
【答案】
1 2 3
(2)解释*p++和(*p)++的区别
【答案】
因为*p++先取p的值再递增指针,(*p)++递增指针指向的值
3.在“图书馆管理系统”中,借阅表(Borrow)结构如下:
字段名称
数据类型
字段属性
借阅ID
自动编号
主键
图书编号
短文本
外键(关联图书表)
读者编号
短文本
外键(关联读者表)
借出日期
日期/时间
默认值为当前日期
应还日期
日期/时间
实际归还日期
日期/时间
(1)若要求“实际归还日期”不能早于“借出日期”,应如何设置?
【答案】打开表设计视图,右键点击借阅表,选择“设计视图”。在字段列表中找到 “实际归还日期”字段。在 “有效性规则” 属性框中输入以下表达式:“>[借出日期]”。在“有效性文本”属性框中输入提示信息(如:“实际归还日期不能早于借出日期!”)。保存后,当用户输入或修改 “实际归还日期” 时,系统会自动验证是否符合规则。
(2)写出查询逾期未归还图书的SQL语句
【答案】
SELECT * FROM Borrow
WHERE 应还日期 < Date() AND 实际归还日期 IS NULL;
4.在“电商订单管理”数据库中,已创建以下两张表:订单表(Order)、订单明细表(OrderDetail)
(1)“订单表”与“订单明细表”之间应建立什么类型的关系?说明理由。
【答案】关系类型: 一对多关系。一个订单可包含多个商品明细,但一个明细仅属于一个订单。
(2)若用户取消订单,需删除“订单表”和“订单明细表”中的相关记录,应如何保证数据一致性?
【答案】打开 “关系” 视图。将 “订单表” 的主键(订单ID)拖放到 “订单明细表” 的外键(订单ID)上。在弹出的 “编辑关系” 对话框中,勾选:“实施参照完整性”“级联删除相关记录”点击 “创建” 保存关系。
5.简述颜色替换工具的取样模式及其特点。
【答案】取样模式有三种,即“连续”“一次”“背景色板”。若选择“连续”,则鼠标经过位置的颜色均被取样为目标颜色并被替换;若选择“一次”,则只将鼠标落点处的颜色取样为目标颜色,与该颜色在容差范围内的颜色才能被替换;若选择“背景色板”,则在鼠标拖动的过程中只替换与当前背景色在容差范围内的颜色。
6.简述组建内存条双通道的要求。
【答案】
(1)双通道实现的关键因素是主板北桥或CPU中内置了两个内存控制器,两个内存控制器都能够并行运作;(2)内存必须是相同容量、相同结构和相同品牌的;(3)内存的插入顺序,只有“DIMM1+DIMM3”“DIMM2+DIMM4”和“DIMM1+DIMM2+DIMM3+DIMM4”的三种情况才能建立双通道模式。
三、案例分析题(本大题共6小题,每小题5分,共30分)
1.实现字符串中小写字母转大写功能。完成程序填空以实现此功能。
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "Hello123";
for (int i = 0; str[i] != ______; i++) {
if (islower(str[i]))
str[i] = ______ - 32;
}
printf("转换结果: %s", ______);
return 0;
}
【答案】
① '\0'
② str[i]
③ str
2.输入两个正整数m和n,求其最大公约数和最小公倍数。完成程序填空以实现此功能。
#include <stdio.h>
void count_calls() {
______ int cnt = 0;
cnt++;
printf("第%d次调用
", ______);
}
int main() {
for (int i = 0; i < 3; i++)
______;
return 0;
}
【答案】
① static
② cnt
③ count_calls()
3.在“图书管理”数据库中创建一个包含计算字段的交叉表查询。数据源为图2-1所示的“借阅记录表”,要求实现以下功能:
图2-1
按“图书类别”分组行字段,按“借阅年份”分组列字段,创建一个计算字段用于统计借阅次数。
【答案】
打开查询设计视图
打开 “图书管理” 数据库,切换到 “创建” 选项卡,点击 “查询设计”。
在弹出的 “显示表” 对话框中,将 “借阅记录表” 添加到查询设计网格中,然后关闭该对话框。
设置交叉表查询
点击 “查询工具 - 设计” 选项卡,在 “查询类型” 组中,单击 “交叉表” 按钮。此时,查询设计网格会新增 “交叉表” 行。
确定行、列、值字段
行标题:把 “图书类别” 字段拖到查询设计网格的 “字段” 行,在 “交叉表” 行中选择 “行标题”。
列标题:创建一个计算字段来提取 “借阅年份”。在 “字段” 行的空白列输入借阅年份: Year([借阅日期]),在 “交叉表” 行中选择 “列标题”。
值:创建一个计算字段用于统计借阅次数。在 “字段” 行的空白列输入借阅次数: Count([借阅日期]),在 “交叉表” 行中选择 “值”。
4.在“药品管理”数据库中创建一个包含条件判断的更新查询。数据源为图2-2所示的“药品库存表”,要求实现以下功能:新增“库存状态”字段,若药品的“当前存量”低于“标准存量”。标记为“需补货”。
药品编号
药品名称
规格
当前存量
标准存量
有效期至
M001
阿莫西林
0.5g
80
200
2024/5/1
M002
布洛芬
0.3g
150
300
2023/12/1
M003
维生素C
100mg
30
100
2025/1/1
图2-2
【答案】
打开 Access 软件并进入 “药品管理” 数据库。在数据库窗口的 “导航窗格” 中,找到 “药品库存表”。
右键单击 “药品库存表”,在弹出的菜单中选择 “设计视图”。在 “字段名称” 列中输入 “库存状态”。
在 “数据类型” 列的下拉列表中选择 “文本” 类型。点击工具栏上的 “保存” 按钮,关闭表设计视图。
切换到 Access 的 “创建” 选项卡。
在 “查询” 组中,点击 “查询设计” 按钮。
添加表
在弹出的 “显示表” 对话框中,选择 “药品库存表”,然后点击 “添加” 按钮将其添加到查询设计窗口。
关闭 “显示表” 对话框。
设置查询类型为更新查询
在 “查询工具 - 设计” 选项卡中,点击 “查询类型” 组中的 “更新” 按钮。此时,查询设计网格会新增 “更新到” 行。
设置更新条件和更新内容
在查询设计网格的 “字段” 行中,选择 “库存状态” 字段。
在 “更新到” 行中输入 '需补货'。
在 “条件” 行中输入 当前存量 < 标准存量。
点击 “查询工具 - 设计” 选项卡中的 “运行” 按钮。
Access 会弹出确认对话框,显示即将更新的记录数量,确认无误后点击 “是”,系统会将 “当前存量” 低于 “标准存量” 的药品的 “库存状态” 标记为 “需补货”。
5.如图所示,图中选区创建的三个样式各有什么特点?
【答案】
选择“正常”,可创建任意大小的矩形选区。
选择“固定比例”,其右侧的“宽度”和“高度”数值框将被激活,在其中输入数值,可设置矩形选区的长宽比,以绘制出大小不同但长宽比一定的矩形选区。
选择“固定大小”,其右侧的“宽度”和“高度”数值框也被激活,在其中输入数值后,在图像窗口中单击,即可创建大小一定的矩形选区。
6.以下为某液晶显示器的工作原理图,请根据图片回答下列问题
(1)双通道实现的关键因素是什么?
(2)若想启用双通道内存,对内存条有什么要求?
【答案】
(1)主板北桥或 CPU 中内置了两个内存控制器,两个内存控制器都能够并行运作。
(2)相同容量、相同结构、相同品牌;内存的插入顺序,只有 DIMM1+3、DIMM2+4 和 DIMM1+2+3+4 的三种情况才能建立双通道模式。
四、综合应用题(本大题共4小题,每小题10分,共40分)
1.编写一个程序,实现以下功能:
从键盘输入一个字符串(长度不超过100),统计其中包含的数字字符('0'-'9')的个数。
输出统计结果,格式为:数字字符个数:X(X为统计值)。
若字符串中没有数字字符,则输出:无数字字符!。
【答案】
#include <stdio.h>
#include <string.h>
int countDigits(char str[]) {
int count = 0;
for (int i = 0; str[i] != '\0'; i++) {
if (str[i] >= '0' && str[i] <= '9') {
count++;
}
}
return count;
}
int main() {
char input[101];
printf("请输入一个字符串:");
fgets(input, 100, stdin); // 读取包含空格的字符串
int num = countDigits(input);
if (num > 0) {
printf("数字字符个数:%d
", num);
} else {
printf("无数字字符!
");
}
return 0;
}
2.在“设备维修管理”数据库中,“设备表”、“部门表”和“维修记录表”三个表的关系如图4-1所示。按要求写出操作步骤:
图4-1
使用查询设计器创建“超期未修复设备”查询,要求显示设备名称、所属部门、报修日期和维修状态,并设置条件筛选维修状态为“未完成”且报修时间超过7天的记录。
【答案】
在设备维修管理数据库窗口中,切换到 “创建” 选项卡。点击 “查询设计” 按钮,打开查询设计器窗口。在 “显示表” 对话框中,选择“设备表”、“部门表”和“维修记录表”,然后点击 “添加” 按钮,将表添加到查询设计器中。添加完成后,关闭 “显示表” 对话框。
在查询设计器的字段列表中,分别双击 “设备名称”、“所属部门”、“报修日期” 和 “维修状态” 字段,将它们添加到查询设计网格的 “字段” 行中。
在 “维修状态” 字段对应的 “条件” 行中,输入 “未完成”,用于筛选维修状态为 “未完成” 的记录。在 “报修日期” 字段对应的 “条件” 行中,根据数据库系统的日期函数输入相应的表达式来筛选报修时间超过 7 天的记录。在 Access 中,可以使用以下表达式:< Date() - 7。完成上述设置后,点击查询设计器工具栏上的 “运行” 按钮,即可执行查询操作。
3.如图所示的两种路径有什么区别?如何将“工作路径”转换为“路径1”的形式?
【答案】
工作路径是临时的路径,一旦重新绘制,原工作路径会被当前路径所替代;而“路径1”这种形式的路径为永久路径。
将工作路径转换为永久路径的方法:双击路径缩览图,可打开“存储路径”对话框,将其存储,或者将工作路径拖至“创建新路径”按钮上,以默认名称存储。
4.小张新购买了一台电脑,电脑每次开机时内存检测时间都特别长,要检测三次,这是什么原因?如何解决这个问题?
【答案】
原因:一般是没有开启 BIOS 的自检功能
[1] 在计算机启动过程中,按下 DEL 键,进入 BIOS 主界面;
[2] 将光标移动到 Advanced BIOS Features 项后回车,打开高级 BIOS 功能设置界面;
[3] 将 Quick Power On Self Test(快速自检)选项设置为 Enabled;
[4] 按 F10 键保存并退出;
第 2 页 共 2 页
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$
专 业 班 级 学 号 姓 名
装 订 线
绝密★启用前
山东省普通高校招生(春季)考试
软件技术与应用类专业知识模拟试题二
本次试卷分卷一(选择题)和卷二(非选择题)两部分,满分200分。考试时间120分钟。考试结束,将本试题和答题卡一并交回。
卷一(选择题 共100分)
一.选择题(本大题共50小题,每小题2分,共100分。在每小题列出的四个选项中,只有一项是符合题目的,请将符合题目要求的选项字母代号选出,填涂在答题卡上)
1.若有定义int a[2][3] = {{1,2}, {3}};,则a[1][2]的值为( )
A. 0 B. 3
C. 2 D. 语法错误
2.表达式3 + 4 * 2 && 5 > 3的值为( )
A. 0 B. 1
C. 5 D. 7
3.以下循环的执行次数是( )
int i = 5;
do {
i -= 2;
} while (i > 0);
A. 2 B. 3
C. 4 D. 无限循环
4. 若int x = 3, y = 5;,以下逻辑表达式结果为假的是( )
A. x < y || x == y B. !(x > y)
C. x + 2 >= y D. x != y && x < y
5.以下代码的输出是( )
char ch = 'A' + 3;
printf("%d", ch);
A. 68 B. D
C. 3 D. 语法错误
6.若有定义int arr[5] = {10}; int *p = arr;,则*(p + 3)的值为( )
A. 0 B. 10
C. 随机值 D. 语法错误
7.以下关于函数参数传递的描述,正确的是( )
A. 实参和形参共用同一内存地址
B. 形参是实参的别名
C. 函数内修改形参不影响实参
D. 数组名作为参数时传递的是副本
8.执行char str[] = "ab\0cd";后,strlen(str)的值为( )
A. 2 B. 5
C. 6 D. 语法错误
9.以下代码段输出为( )
int x = 5;
int *p = &x;
printf("%d", ++*p);
A. 5 B. 6
C. 地址值 D. 语法错误
10.递归函数int f(int n) { return n <= 1 ? 1 : n * f(n-1); }计算的是( )
A. 斐波那契数列 B. 阶乘
C. 累加和 D. 幂运算
11.表达式(a=5, b=3, b++, a+b)的值是( )
A. 8 B. 9
C. 10 D. 7
12.执行int a=12; a += a -= a*a;后,a的值是( )
A. -264 B. 144
C. 264 D. 552
13.以下程序的输出结果是( )
int a;
printf("%d", (a=3*5, a*4, a+5));
A. 20 B. 15
C. 65 D. 10
14.以下程序的输出结果是( )
int x=3, y=6, a=0;
while (x++ != (y-=1)) {
a++;
if (y < x) break;
}
printf("x=%d, y=%d, a=%d", x, y, a);
A. x=4, y=5, a=1 B. x=5, y=5, a=1
C. x=5, y=4, a=1 D. x=5, y=4, a=3
15.以下程序段的输出结果是( )
int i, j, x=0;
for (i=0; i<2; i++) {
x++;
for (j=0; j<3; j++) {
if (j%2) continue;
x++;
}
x++;
}
printf("x=%d", x);
A. x=4 B. x=8
C. x=6 D. x=12
16.在Access中,用于唯一标识表中每条记录的字段称为( )
A. 主键 B. 外键
C. 索引 D. 约束
17.若要创建一个“按部门筛选员工”的查询,要求用户输入部门名称,应使用( )
A. 交叉表查询 B. 参数查询
C. 更新查询 D. 生成表查询
18.若要在窗体中显示“员工表”和“工资表”的关联数据,应使用( )
A. 单一窗体 B. 分割窗体
C. 主/子窗体 D. 导航窗体
19.在SQL查询中,用于按条件筛选记录的语句是( )
A. GROUP BY B. ORDER BY
C. WHERE D. HAVING
20.以下关于索引的描述,错误的是( )
A. 索引可以加快查询速度 B. 主键字段自动创建索引
C. 索引字段允许重复值 D. 一个表可以创建多个索引
21.若要在窗体中添加一个按钮,用于跳转到下一条记录,应使用的控件是( )
A. 标签 B. 文本框
C. 命令按钮 D. 组合框
22.若要将查询结果保存为新表,应使用( )
A. 选择查询 B. 生成表查询
C. 追加查询 D. 更新查询
23.若要在字段中输入“商品编码”时强制第一位为字母,后三位为数字,应使用字段属性为( )
A. 验证规则 B. 默认值
C. 输入掩码 D. 格式
24.在参数查询中,若要求用户输入日期范围,条件表达式应是( )
A. [输入开始日期] And [输入结束日期]
B. Between [输入开始日期] And [输入结束日期]
C. >=#输入开始日期# And <=#输入结束日期#
D. Year([datetime])=[输入年份]
25.在表设计视图中,不能进行的操作是( )
A. 修改字段类型 B. 设置主键
C. 输入记录数据 D. 添加索引
26.执行删除查询后,如何恢复被删除的记录( )
A. 通过撤销操作 B. 从备份数据表导入
C. 在回收站查找 D. 无法恢复
27.若需统计各部门员工人数,应使用的查询是( )
A. 交叉表查询 B. 更新查询
C. 生成表查询 D. 删除查询
28.按学生成绩降序排列,正确的子句是( )
A. ORDER BY score ASC B. SORT BY score DESC
C. ORDER BY score DESC D. ARRANGE BY score DESC
29.若查询结果需排除“库存数量”为0的记录,条件表达式应设置为( )
A. <>0 B. Is Not Null
C. >0 D. Not 0
30.在查询设计器中,实现“仅显示最近30天的销售记录”是( )
A. 条件行输入 >=Date()-30 B. 总计行选择“最大值”
C. 添加“排序”为降序 D. 使用交叉表查询
31.在Photoshop中,用于控制不同区域显示效果且不破坏原图层像素的功能是( )
A. 滤镜 B. 蒙版
C. 橡皮擦工具 D. 自由变换
32.使用“污点修复画笔工具”时,若希望自动识别周围纹理修复缺陷,应选择( )类型
A. 创建纹理 B. 图案填充
C. 近似匹配 D. 内容识别
33.下列工具适合创建规则形状的选区的是( )
A. 套索工具 B. 魔棒工具
C. 矩形选框工具 D. 快速选择工具
34.若要将多个图层合并为一个图层,但不影响其他可见图层,应使用命令( )
A. 拼合图像 B. 合并可见图层
C. 向下合并 D. 盖印可见图层
35.在“液化”滤镜中,用于调整脸部比例的工具有( )
A. 脸部工具 B. 膨胀工具
C. 旋转工具 D. 褶皱工具
36.使用“渐变工具”时,( )渐变类型会以起点为中心向外扩散颜色
A. 线性渐变 B. 角度渐变
C. 径向渐变 D. 菱形渐变
37.下列文件格式支持透明背景的是( )
A. JPEG B. BMP
C. PNG D. TIFF
38.若想快速选择图像中颜色相近的区域,最适合的工具是( )
A. 钢笔工具 B. 魔棒工具
C. 画笔工具 D. 裁剪工具
39.调整图层的不透明度会影响( )
A. 图层混合模式 B. 图层内容的透明度
C. 图层蒙版效果 D. 图层样式强度
40.图层样式可以为文字添加立体边框效果的是( )
A. 内阴影 B. 外发光
C. 斜面和浮雕 D. 描边
41. 在冯·诺依曼体系结构中,负责控制计算机各部分协调工作的核心部件是( )
A. 运算器 B. 控制器
C. 存储器 D. 输入设备
42.下列存储器中,断电后数据会丢失的是( )
A. ROM B. EPROM
C. DRAM D. Flash ROM
43. 硬盘的“柱面”是指( )
A. 单个盘片上的同心圆磁道 B. 不同盘片相同半径的磁道组成的圆柱
C. 磁道划分的扇形区域 D. 盘片旋转一周的时间
44. 在BIOS设置中,用于恢复出厂默认安全配置的选项是( )
A. Load Fail-Safe Defaults B. Load Optimized Defaults
C. Save & Exit Setup D. Set Supervisor Password
45.以下接口中,支持热插拔的是( )
A. IDE B. PS/2
C. SATA D. VGA
46.若计算机开机后屏幕无显示且无报警声,应首先检查( )
A. 内存条是否插紧 B. 硬盘是否损坏
C. 电源是否供电 D. 显卡是否安装
47.使用Ghost软件备份系统分区时,生成的镜像文件扩展名是( )
A. .iso B. .gho
C. .bak D. .img
48.主板上的PCI-E x16插槽主要用于连接( )
A. 独立显卡 B. 声卡
C. 网卡 D. 固态硬盘
49.下列工具中,可用于修复硬盘分区表的是( )
A. Ghost B. Defrag
C. WinRAR D. DiskGenius
50.若CMOS电池电量不足,开机时可能出现的提示是( )
A. “Invalid system disk” B. “CMOS checksum error”
C. “No bootable device” D. “Disk read error”
卷二(非选择题 共100分)
二、简答题(本大题共6小题,每小题5分,共30分)
1.#include <stdio.h>
#define SQUARE(x) x * x
int main() {
int a = 3;
printf("%d", SQUARE(a + 1));
return 0;
}
(1)该程序的输出结果是什么
(2)如何修改宏定义以正确计算平方
2.#include <stdio.h>
int main() {
int arr[] = {1,2,3};
int *p = arr;
printf("%d", *p++);
printf("%d", (*p)++);
printf("%d", *p);
return 0;
}
(1)请描述这段代码输出的结果是什么
(2)解释*p++和(*p)++的区别
3.在“图书馆管理系统”中,借阅表(Borrow)结构如下:
字段名称
数据类型
字段属性
借阅ID
自动编号
主键
图书编号
短文本
外键(关联图书表)
读者编号
短文本
外键(关联读者表)
借出日期
日期/时间
默认值为当前日期
应还日期
日期/时间
实际归还日期
日期/时间
(1)若要求“实际归还日期”不能早于“借出日期”,应如何设置?
(2)写出查询逾期未归还图书的SQL语句
4.在“电商订单管理”数据库中,已创建以下两张表:订单表(Order)、订单明细表(OrderDetail)
(1)“订单表”与“订单明细表”之间应建立什么类型的关系?说明理由。
(2)若用户取消订单,需删除“订单表”和“订单明细表”中的相关记录,应如何保证数据一致性?
5.简述颜色替换工具的取样模式及其特点。
6.简述组建内存条双通道的要求。
三、案例分析题(本大题共6小题,每小题5分,共30分)
1.实现字符串中小写字母转大写功能。完成程序填空以实现此功能。
#include <stdio.h>
#include <ctype.h>
int main() {
char str[] = "Hello123";
for (int i = 0; str[i] != ______; i++) {
if (islower(str[i]))
str[i] = ______ - 32;
}
printf("转换结果: %s", ______);
return 0;
}
2.输入两个正整数m和n,求其最大公约数和最小公倍数。完成程序填空以实现此功能。
#include <stdio.h>
void count_calls() {
______ int cnt = 0;
cnt++;
printf("第%d次调用
", ______);
}
int main() {
for (int i = 0; i < 3; i++)
______;
return 0;
}
3.在“图书管理”数据库中创建一个包含计算字段的交叉表查询。数据源为图2-1所示的“借阅记录表”,要求实现以下功能:
图2-1
按“图书类别”分组行字段,按“借阅年份”分组列字段,创建一个计算字段用于统计借阅次数。
4.在“药品管理”数据库中创建一个包含条件判断的更新查询。数据源为图2-2所示的“药品库存表”,要求实现以下功能:新增“库存状态”字段,若药品的“当前存量”低于“标准存量”。标记为“需补货”。
药品编号
药品名称
规格
当前存量
标准存量
有效期至
M001
阿莫西林
0.5g
80
200
2024/5/1
M002
布洛芬
0.3g
150
300
2023/12/1
M003
维生素C
100mg
30
100
2025/1/1
图2-2
5.如图所示,图中选区创建的三个样式各有什么特点?
6.以下为某液晶显示器的工作原理图,请根据图片回答下列问题
(1)双通道实现的关键因素是什么?
(2)若想启用双通道内存,对内存条有什么要求?
四、综合应用题(本大题共4小题,每小题10分,共40分)
1.编写一个程序,实现以下功能:
从键盘输入一个字符串(长度不超过100),统计其中包含的数字字符('0'-'9')的个数。
输出统计结果,格式为:数字字符个数:X(X为统计值)。
若字符串中没有数字字符,则输出:无数字字符!。
2.在“设备维修管理”数据库中,“设备表”、“部门表”和“维修记录表”三个表的关系如图4-1所示。按要求写出操作步骤:
图4-1
使用查询设计器创建“超期未修复设备”查询,要求显示设备名称、所属部门、报修日期和维修状态,并设置条件筛选维修状态为“未完成”且报修时间超过7天的记录。
3.如图所示的两种路径有什么区别?如何将“工作路径”转换为“路径1”的形式?
4.小张新购买了一台电脑,电脑每次开机时内存检测时间都特别长,要检测三次,这是什么原因?如何解决这个问题?
第 2 页 共 2 页
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
学科网(北京)股份有限公司
$$