内容正文:
重庆市2025年对口招生考试计算机类
专业综合模拟卷(二)
(本试题卷共5大题,88小题,共15页。时量150分钟,满分390分。)
1、 单项选择题(共35小题,每小题3分,共105分)
1. 关于微波通信,下列叙述正确的是( )。
A. 具有较高的带宽和抗干扰性
B. 易受地表障碍物限制
C. 易受恶劣气候影响
D. 隐蔽性好,不易被窃取
【答案】B
2. 路由选择是( )的功能。
A. 网络层
B. 传输层
C. 应用层
D. 数据链路层
【答案】A
3. 关于DNS下列叙述错误的是( )。
A. 子节点能识别父节点的IP地址
B. DNS采用客户服务器工作模式
C. 域名的命名原则是采用层次结构的命名树
D. 域名不能反映计算机所在的物理地址
【答案】A
4. 下列正确定义一个文件指针pm的语句是( )。
A. FILE pm;
B. file *pm;
C. FILE *pm;
D. file pm;
【答案】C
5. 关于C语言的描述,以下哪项是正确的?( )
A. C语言比其他语言高级
B. C语言可以不用编译就能被计算机识别执行
C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D. C语言出现的最晚,具有其他语言的一切优点
【答案】C
6. 关于C语言程序的执行,以下哪项是正确的?( )
A. C语言程序总是从第一个函数开始执行
B. 在C语言程序中,要调用函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
【答案】C
7. 要清除所有内存变量,应该使用的命令是什么?( )
A. CLEAR
B. GO 1
C. CLEAR MEMORY
D. GO BOTTOM
【答案】C
8. 数据表中共有100条记录,当前记录为第10条,执行LIST NEXT 5以后,当前记录为( )。
A. 10
B. 14
C. 15
D. EOF
【答案】B
9. 对表文件建立索引,可使用命令( )。
A. SORT
B. UPDATE
C. INDEX
D. JOIN
【答案】C
10. 计算机网络的主要目的是什么?( )
A. 提高计算机运行速度
B. 连接多台计算机
C. 共享软、硬件和数据资源
D. 实现分布处理
【答案】C
11. 电子邮件能传送的信息包括哪些?( )
A. 压缩的文字和图像信息
B. 只能是文本格式的文件
C. 标准ASCII字符
D. 文字、声音和图形图像信息
【答案】D
12. 申请免费电子邮箱必须进行哪项操作?( )
A. 写信申请
B. 申请
C. 电子申请
D. 在线注册申请
【答案】D
13. 下列哪组可以作为C语言的用户标识符?( )
A. void define WORD
B. a3_b3 _123 Car
C. For abc case
D. 2a DO sizeof
【答案】B
14. 设int a=3, b=4, c=5; 表达式(a+b)>c&&b==c的值是?( )
A. 2
B. -1
C. 0
D. 1
【答案】C
15. 关于循环体的描述,以下哪项是错误的?( )
A. 循环体中可以出现break语句
B. 循环体中还可以出现循环语句
C. 循环体中不能出现continue语句
D. 循环体中可以出现switch语句
【答案】C
16. 一个学生表的结构如下,姓名(C,8),性别(C,2),出生日期(D),是否团员(L),表共有100条记录,则所有记录所占用的字节数为( )。
A. 1800
B. 1900
C. 2000
D. 2100
【答案】C
17. 对表结构的修改是在下面哪一个对话框中完成的( )。
A. 表设计器
B. 数据库设计器
C. 表达式生成器
D. 浏览窗口
【答案】A
18. 下列关于数据库表的说法中错误的是( )。
A. 可设置长表名,长字段名
B. 可设置匹配字段类型到类,字段验证和记录验证,触发器
C. 可设置主索引和候选索引关键字,字段默认值,显示模式
D. 不可用USE命令直接打开,必须在数据库设计器中打开
【答案】D
19. FTP在Internet中是什么服务?( )
A. 发送电子邮件的软件
B. 浏览网页的工具
C. 用来传送文件的一种服务
D. 一种聊天工具
【答案】C
20. 下列哪项不是共享式局域网的特点?( )
A. 为一个单位所拥有,且地理范围和站点数目均有限
B. 所有的站共享较高的总带宽
C. 较低的时延和较低的误码率
D. 各站为主从关系
【答案】D
21. IPv6地址的长度是多少?( )
A. 32 bits
B. 48 bits
C. 64 bits
D. 128 bits
【答案】D
22. 在while(x)中的x相当于?( )
A. x==0
B. x==1
C. x!=1
D. x!=0
【答案】D
23. 关于switch语句和break的描述,以下哪项是正确的?( )
A. 在switch语句中,可以根据需要使用或不使用break语句
B. switch语句中必须用break语句
C. break语句只能用于switch语句
D. break语句是switch语句必须的一部分
【答案】A
24. 关于C语言函数的描述,以下哪项是正确的?( )
A. 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. C函数既可以嵌套调用又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
【答案】B
25. 在向数据库添加表的操作中,下列叙述中不正确的是( )。
A. 可以将一张“独立的”表添加到数据库中
B. 可以将一个已属于一个数据库的表添加到另一个数据库中
C. 可以在数据库设计器中新建个表使其成为数据库表
D. 欲使一个数据库表成为另外一个数据库的表,则必须先使它成为自由表
【答案】B
26. 在使用REPLACE替换命令时,不能作用于下列哪个字段( )。
A. 逻辑型
B. 日期时间型
C. 备注型
D. 通用型
【答案】D
27. 下列命令结果中,肯定生成一个空表的是( )。
A. COPY TO boy FOR 性别="男"
B. COPY FILE da.dbf TO boy.dbf
C. COPY STRU TO boy FIELDS 姓名,年龄,奖学金
D. SELECT * FROM da WHERE 性别="男" INTO DBF boy
【答案】C
28. 用DDN专线方式接入因特网,不需要的是?( )
A. 路由器
B. 拨号调制解调器
C. 静态IP地址
D. TCP/IP软件
【答案】B
29. 下列哪个不是电子邮件服务的优点?( )
A. 方便迅捷
B. 时实性强
C. 费用低廉
D. 传输信息量大
【答案】B
30. 下列哪个是正确的电子邮件地址?( )
A. inhe、netwangxing
B. wangxing、inhe、net
C. inhe、net、wangxing
D. wangxinginhe、net
【答案】D
31. 以下函数声明中,存在语法错误的是?( )
A. int BF(int x; int y);
B. void BC(int a, int);
C. void BD(int, int);
D. void BE(int, int=5)
【答案】A
32. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是?( )
A. 地址传递
B. 单向值传递
C. 由实参传给形参,再由形参传回实参
D. 传递方式由用户指定
【答案】B
33. 一个程序源文件中全局变量作用范围是?( )
A. 本文件的全部范围
B. 本程序的全部范围
C. 本函数的全部范围
D. 从定义该变量位置开始至文件结束
【答案】D
34. 若要控制数据库表中学号字段只能输入数字,则应设置( )。
A. 显示格式
B. 输入掩码
C. 字段有效性
D. 记录有效性
【答案】B
35. 数据库文件的扩展名是( )。
A. DBF
B. DBC
C. DBT
D. FPT
【答案】B
2、 判断题(共20小题,每小题3分,共60分)
1. 循环语句是可以嵌套的。( )
【答案】√
2. STORE和“=”命令具有相同功能,它们都可以在一条命令中给多个变量赋值。( )
【答案】×
3. 关键字只能是一个字段。( )
【答案】×
4. 记录查找是否成功,可以用函数found()来判断。( )
【答案】√
5. int *p=150;语法错误。( )
【答案】√
6. C语言是一种结构化程序设计语言。( )
【答案】√
7. 在switch-case语句中,不是每个case后都必须使用break语句,可以根据需要使用break语句。( )
【答案】√
8. C语言为所定义的数组在内存中分配一片连续的存储单元。( )
【答案】√
9. 因特网间传送数据不一定要通过TCP/IP协议( )。
【答案】×
10. 流行于Internet上的BBS最早的用途是为了公布股票的价格( )。
【答案】√
11. 电子商务是Internet上新兴的商业模式( )。
【答案】√
12. 电子邮件借助Internet使通讯方式经济快捷( )。
【答案】√
13. 函数的形参可以是常量、变量或表达式。( )
【答案】×
14. 在定义二维数组时,可以将该数组的两个维数全部省略。( )
【答案】×
15. 字符串"The"小于字符串"the"。( )
【答案】√
16. for循环只能用于循环次数已经确定的场合。( )
【答案】×
17. 数据表中的字段不属于变量。( )
【答案】×
18. \、\命令都是记录指针移动命令,二者的执行过程和功能相同。( )
【答案】×
19. 对关系进行选择、投影或连接运算之后,运算的结果仍然是一个关系。( )
【答案】√
20. 算术运算符、逻辑运算符、关系运算符不能同时出现在一个表达式中。( )
【答案】×
3、 填空题(共25题,每题4分,共100分)
1. 命令?ROUND(37.2007,3)的执行结果是______。
【答案】37.201
2. 命令?LEN("THIS IS MY BOOK")的结果是______。
【答案】15
3. TIME()的返回值的数据类型是______类型。
【答案】字符
4. 下列命令执行后的结果是______。
STORE 'GOOD BYE!' TO X
?LEFT(X,2),SUBSTR(X,6,2)+SUBSTR(X,6),RIGHT(X,3)
【答案】GO BYBYE! YE!
5. 建立计算机网络的基本目的是实现数据通信和______。
【答案】资源共享
6. 计算机网络主要有______、资源共享、提高计算机的可靠性和安全性、分布式处理等功能。
【答案】数据通信
7. 局域网的覆盖范围为______km。
【答案】0.1~10
8. 局域网的传输通常可达______Mb/s。
【答案】10~100
9. C语言中的标识符只能由______、______和______三种字符组成。
【答案】字母、数字、下划线
10. C语言中的每条基本语句以______作为结束符,每条复合语句以______作为结束符。
【答案】;、}
11. C语言中函数返回值的类型是由______时指定的类型决定的。
【答案】函数定义
12. C源程序的基本单位是______。
【答案】函数
13. 下列命令执行后的结果是______。
STORE -100 TO X
?SIGN(X)*SQRT(ABS(X))
【答案】-10
14. Visual FoxPro的主索引和候选索引可以保证数据的______完整性。
【答案】域
15. 数据库表之间的一对多联系通过主表的______索引和子表的______索引实现。
【答案】主 # 候选 @ 普通
16. 实现表之间临时联系的命令是______。
【答案】SET RELATION TO
17. 在定义字段有效性规则中,在规则框中输入的表达式中类型是______。
【答案】逻辑表达式
18. 在Visual FoxPro中,最多同时允许打开______个数据库表和自由表。
【答案】32767
19. 在SQL语句中空值用______表示。
【答案】NULL
20. 在Visual FoxPro中用于计算检索的函数有COUNT、、、MAX和MIN。
【答案】SUM # AVG
21. 以太网的通信协议是一种______协议。
【答案】有冲突
22. 网络______决定了网络的传输速率、网络段的最大长度、传输的可靠性及网卡的复杂性。
【答案】通信介质
23. 常用的通信介质主要有有限介质和______两大类。
【答案】无线
24. 若int a = 2, b = 3; 表达式 a > b ? a++ : ++b 的值为______。
【答案】3
25. 若int x=1,y=1,z=1; x+=y+=z; 则表达式 x<y?y:x 的值为______。
【答案】3
4、 程序填空题(共12空,每空6分,共72分)
1. 编写一个程序,从数据库的 employees 表中检索员工的信息,并按部门和入职时间排序,显示给定部门的第一个员工的姓名。请根据提示填空。
CLOSE DATABASES ALL
OPEN DATABASE companyDB
USE employees
SELECT dept_id, emp_name, hire_date ;
FROM employees ;
WHERE dept_id = ___(1)___ ;
ORDER BY dept_id, ___(2)___ ;
___(3)___
提示:
(1) 选择部门 ID 为 101 的员工。
(2) 排序字段为入职日期。
(3) 仅显示排序后的第一条结果的员工姓名。
【答案】
(1)101
(2) hire_date
(3) DISPLAY NEXT 1 emp_name
完整程序:
CLOSE DATABASES ALL
OPEN DATABASE companyDB
USE employees
SELECT dept_id, emp_name, hire_date ;
FROM employees ;
WHERE dept_id = 101 ;
ORDER BY dept_id, hire_date ;
DISPLAY NEXT 1 emp_name
2. 编写一个程序,将 sales 表中的数据按年和月进行汇总,以显示每个月的总销售额。请根据提示填空。
CLOSE DATABASES ALL
OPEN DATABASE salesDB
USE sales
SELECT YEAR(sale_date) AS sale_year, MONTH(sale_date) AS sale_month, ___(1)___ AS monthly_total ;
FROM sales ;
GROUP BY ___(2)___ ;
ORDER BY sale_year, sale_month ;
___(3)___
提示:
(1) 使用 SUM 函数计算每个月的总销售额。
(2) 按照年份和月份分组。
(3) 输出结果到当前窗口中显示。
【答案】
(1) SUM(amount)
(2) sale_year, sale_month
(3) BROWSE
完整程序:
CLOSE DATABASES ALL
OPEN DATABASE salesDB
USE sales
SELECT YEAR(sale_date) AS sale_year, MONTH(sale_date) AS sale_month, SUM(amount) AS monthly_total ;
FROM sales ;
GROUP BY sale_year, sale_month ;
ORDER BY sale_year, sale_month ;
BROWSE
3. #include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * ___(1)___;
}
}
int main() {
int num = 5;
int result = ___(2)___;
printf("Factorial of %d is %d
", num, ___(3)___);
return 0;
}
【答案】
(1) factorial(n - 1)
(2) factorial(num)
(3) result
4. #include <stdio.h>
void reverse(char *str) {
int len = 0;
char *start, *end, temp;
// Calculate length of the string
while (str[len] != '\0') {
len++;
}
start = str;
end = str + len - 1;
while (start < end) {
temp = *start;
*start = ___(1)___;
*end = temp;
___(2)___;
___(3)___;
}
}
int main() {
char str[] = "hello";
reverse(str);
printf("Reversed string: %s
", str);
return 0;
}
【答案】
(1) *end
(2) start++
(3) end--
5、 阅读程序,写出程序运行结果(共4小题,第1题11分,剩余每小题14分,共53分)
1. #include <stdio.h>
int calculate(int a, int b, int (*operation)(int, int)) {
return operation(a, b);
}
int add(int x, int y) {
return x + y;
}
int multiply(int x, int y) {
return x * y;
}
int main() {
int x = 5;
int y = 10;
int result;
result = calculate(x, y, add);
printf("Addition: %d
", result);
result = calculate(x, y, multiply);
printf("Multiplication: %d
", result);
return 0;
}
(1) 这个程序使用了什么特性来实现不同的操作?
(2) 输出的结果是什么?
【答案】
(1) 这个程序使用了函数指针来实现不同的操作。calculate 函数接受一个函数指针作为参数,这个函数指针指向不同的操作函数(如 add 和 multiply),以便在运行时选择执行哪个函数。
(2) 输出的结果是:
Addition: 15
Multiplication: 50
该程序分别使用 add 和 multiply 函数计算 5 和 10 的和与积。
2. #include <stdio.h>
#include <string.h>
void swap(char *x, char *y) {
char temp = *x;
*x = *y;
*y = temp;
}
void permute(char *str, int l, int r) {
if (l == r) {
printf("%s
", str);
} else {
for (int i = l; i <= r; i++) {
swap((str + l), (str + i));
permute(str, l + 1, r);
swap((str + l), (str + i)); // 回溯
}
}
}
int main() {
char str[] = "ABC";
permute(str, 0, strlen(str) - 1);
return 0;
}
(1) permute 函数的作用是什么?
(2) 运行程序后,输出的结果是什么?
【答案】
(1) permute 函数的作用是生成并打印输入字符串的所有排列组合。该函数使用递归算法,通过交换字符实现对字符串的排列。
(2) 运行程序后,输出的结果是:
ABC
ACB
BAC
BCA
CBA
CAB
这些都是由字符串 "ABC" 所能形成的不同排列。通过递归调用和回溯,程序生成了所有可能的排列组合。
3. CLOSE DATABASES ALL
OPEN DATABASE Library
USE Books
* 为所有库存量少于10的书籍记录进行补货,并更新库存
SCAN
IF Stock < 10
REPLACE Stock WITH Stock + 20
ENDIF
ENDSCAN
* 找出所有“文学”类别的书籍,并按书名升序排序
SELECT * FROM Books WHERE Category = 'Literature' INTO CURSOR LiteratureBooks ORDER BY Title ASC
* 计算库存总量
SELECT SUM(Stock) AS TotalStock FROM Books INTO ARRAY arrTotalStock
IF ALEN(arrTotalStock, 1) > 0
? 'Total stock of all books: ', arrTotalStock[1]
ELSE
? 'No books found in the database.'
ENDIF
CLOSE ALL
(1) 程序如何识别并处理库存量少于10的书籍?
(2) 程序是如何筛选“文学”类别的书籍,并进行排序的?
(3) 如何计算并显示所有书籍的库存总量?
【答案】
(1) 程序使用 SCAN...ENDSCAN 结构遍历所有书籍记录,识别出库存量少于10的书籍,并使用 REPLACE Stock WITH Stock + 20 更新这些书籍的库存量。
(2) 程序使用 SQL 语句 SELECT * FROM Books WHERE Category = 'Literature' INTO CURSOR LiteratureBooks ORDER BY Title ASC 筛选出类别为“文学”的书籍,并按书名升序排序,将结果存入游标 LiteratureBooks。
(3) 程序使用 SELECT SUM(Stock) AS TotalStock FROM Books INTO ARRAY arrTotalStock 计算所有书籍的库存总量,并通过 IF ALEN(arrTotalStock, 1) > 0 检查是否有计算结果,然后输出总库存量。
4. CLOSE DATABASES ALL
OPEN DATABASE Sales
USE Orders
* 按客户ID进行汇总,计算每个客户的总订单金额
SELECT CustomerID, SUM(OrderAmount) AS TotalAmount ;
FROM Orders ;
GROUP BY CustomerID ;
INTO CURSOR CustomerTotals
* 输出订单总金额超过5000的客户ID
SELECT * FROM CustomerTotals WHERE TotalAmount > 5000 INTO ARRAY HighValueCustomers
FOR i = 1 TO ALEN(HighValueCustomers, 1)
? 'Customer ID with high total orders: ', HighValueCustomers[i, 1]
ENDFOR
* 更新最后一个订单日期,以标记处理完成
LOCATE FOR .T.
GO BOTTOM
REPLACE OrderStatus WITH "Completed", OrderDate WITH DATE()
? 'Updated order status and date for the last record.'
CLOSE ALL
(1) 程序是如何计算每个客户的总订单金额的?
(2) 如何提取并输出订单金额超过5000的客户ID?
(3) 程序如何标记最后一条记录为“完成”?
【答案】
(1) 程序使用 SQL 聚合函数 SELECT CustomerID, SUM(OrderAmount) AS TotalAmount FROM Orders GROUP BY CustomerID 来计算每个客户的总订单金额,并将结果存入游标 CustomerTotals。
(2) 程序使用 SQL 语句 SELECT * FROM CustomerTotals WHERE TotalAmount > 5000 INTO ARRAY HighValueCustomers 拉取总订单金额超过5000的客户ID,并通过 FOR...ENDFOR 循环以及 ALEN 函数输出每个符合条件的客户ID。
(3) 程序使用 LOCATE FOR .T. 找出记录中的第一条(即到达 BOTTOM),然后执行 GO BOTTOM 移动到最后一条记录,使用 REPLACE 指令更新最后一条记录的订单状态为“Completed”和当前日期。
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$
重庆市2025年对口招生考试计算机类
专业综合模拟卷(二)
(本试题卷共5大题,88小题,共15页。时量150分钟,满分390分。)
1、 单项选择题(共35小题,每小题3分,共105分)
1. 关于微波通信,下列叙述正确的是( )。
A. 具有较高的带宽和抗干扰性
B. 易受地表障碍物限制
C. 易受恶劣气候影响
D. 隐蔽性好,不易被窃取
2. 路由选择是( )的功能。
A. 网络层
B. 传输层
C. 应用层
D. 数据链路层
3. 关于DNS下列叙述错误的是( )。
A. 子节点能识别父节点的IP地址
B. DNS采用客户服务器工作模式
C. 域名的命名原则是采用层次结构的命名树
D. 域名不能反映计算机所在的物理地址
4. 下列正确定义一个文件指针pm的语句是( )。
A. FILE pm;
B. file *pm;
C. FILE *pm;
D. file pm;
5. 关于C语言的描述,以下哪项是正确的?( )
A. C语言比其他语言高级
B. C语言可以不用编译就能被计算机识别执行
C. C语言以接近英语国家的自然语言和数学语言作为语言的表达形式
D. C语言出现的最晚,具有其他语言的一切优点
6. 关于C语言程序的执行,以下哪项是正确的?( )
A. C语言程序总是从第一个函数开始执行
B. 在C语言程序中,要调用函数必须在main()函数中定义
C. C语言程序总是从main()函数开始执行
D. C语言程序中的main()函数必须放在程序的开始部分
7. 要清除所有内存变量,应该使用的命令是什么?( )
A. CLEAR
B. GO 1
C. CLEAR MEMORY
D. GO BOTTOM
8. 数据表中共有100条记录,当前记录为第10条,执行LIST NEXT 5以后,当前记录为( )。
A. 10
B. 14
C. 15
D. EOF
9. 对表文件建立索引,可使用命令( )。
A. SORT
B. UPDATE
C. INDEX
D. JOIN
10. 计算机网络的主要目的是什么?( )
A. 提高计算机运行速度
B. 连接多台计算机
C. 共享软、硬件和数据资源
D. 实现分布处理
11. 电子邮件能传送的信息包括哪些?( )
A. 压缩的文字和图像信息
B. 只能是文本格式的文件
C. 标准ASCII字符
D. 文字、声音和图形图像信息
12. 申请免费电子邮箱必须进行哪项操作?( )
A. 写信申请
B. 申请
C. 电子申请
D. 在线注册申请
13. 下列哪组可以作为C语言的用户标识符?( )
A. void define WORD
B. a3_b3 _123 Car
C. For abc case
D. 2a DO sizeof
14. 设int a=3, b=4, c=5; 表达式(a+b)>c&&b==c的值是?( )
A. 2
B. -1
C. 0
D. 1
15. 关于循环体的描述,以下哪项是错误的?( )
A. 循环体中可以出现break语句
B. 循环体中还可以出现循环语句
C. 循环体中不能出现continue语句
D. 循环体中可以出现switch语句
16. 一个学生表的结构如下,姓名(C,8),性别(C,2),出生日期(D),是否团员(L),表共有100条记录,则所有记录所占用的字节数为( )。
A. 1800
B. 1900
C. 2000
D. 2100
17. 对表结构的修改是在下面哪一个对话框中完成的( )。
A. 表设计器
B. 数据库设计器
C. 表达式生成器
D. 浏览窗口
18. 下列关于数据库表的说法中错误的是( )。
A. 可设置长表名,长字段名
B. 可设置匹配字段类型到类,字段验证和记录验证,触发器
C. 可设置主索引和候选索引关键字,字段默认值,显示模式
D. 不可用USE命令直接打开,必须在数据库设计器中打开
19. FTP在Internet中是什么服务?( )
A. 发送电子邮件的软件
B. 浏览网页的工具
C. 用来传送文件的一种服务
D. 一种聊天工具
20. 下列哪项不是共享式局域网的特点?( )
A. 为一个单位所拥有,且地理范围和站点数目均有限
B. 所有的站共享较高的总带宽
C. 较低的时延和较低的误码率
D. 各站为主从关系
21. IPv6地址的长度是多少?( )
A. 32 bits
B. 48 bits
C. 64 bits
D. 128 bits
22. 在while(x)中的x相当于?( )
A. x==0
B. x==1
C. x!=1
D. x!=0
23. 关于switch语句和break的描述,以下哪项是正确的?( )
A. 在switch语句中,可以根据需要使用或不使用break语句
B. switch语句中必须用break语句
C. break语句只能用于switch语句
D. break语句是switch语句必须的一部分
24. 关于C语言函数的描述,以下哪项是正确的?( )
A. 在C中,调用函数时,只能把实参的值传送给形参,形参的值不能传送给实参
B. C函数既可以嵌套调用又可以递归调用
C. 函数必须有返回值,否则不能使用函数
D. C程序中有调用关系的所有函数必须放在同一个源程序文件中
25. 在向数据库添加表的操作中,下列叙述中不正确的是( )。
A. 可以将一张“独立的”表添加到数据库中
B. 可以将一个已属于一个数据库的表添加到另一个数据库中
C. 可以在数据库设计器中新建个表使其成为数据库表
D. 欲使一个数据库表成为另外一个数据库的表,则必须先使它成为自由表
26. 在使用REPLACE替换命令时,不能作用于下列哪个字段( )。
A. 逻辑型
B. 日期时间型
C. 备注型
D. 通用型
27. 下列命令结果中,肯定生成一个空表的是( )。
A. COPY TO boy FOR 性别="男"
B. COPY FILE da.dbf TO boy.dbf
C. COPY STRU TO boy FIELDS 姓名,年龄,奖学金
D. SELECT * FROM da WHERE 性别="男" INTO DBF boy
28. 用DDN专线方式接入因特网,不需要的是?( )
A. 路由器
B. 拨号调制解调器
C. 静态IP地址
D. TCP/IP软件
29. 下列哪个不是电子邮件服务的优点?( )
A. 方便迅捷
B. 时实性强
C. 费用低廉
D. 传输信息量大
30. 下列哪个是正确的电子邮件地址?( )
A. inhe、netwangxing
B. wangxing、inhe、net
C. inhe、net、wangxing
D. wangxinginhe、net
31. 以下函数声明中,存在语法错误的是?( )
A. int BF(int x; int y);
B. void BC(int a, int);
C. void BD(int, int);
D. void BE(int, int=5)
32. 在调用函数时,如果实参是简单变量,它与对应形参之间的数据传递方式是?( )
A. 地址传递
B. 单向值传递
C. 由实参传给形参,再由形参传回实参
D. 传递方式由用户指定
33. 一个程序源文件中全局变量作用范围是?( )
A. 本文件的全部范围
B. 本程序的全部范围
C. 本函数的全部范围
D. 从定义该变量位置开始至文件结束
34. 若要控制数据库表中学号字段只能输入数字,则应设置( )。
A. 显示格式
B. 输入掩码
C. 字段有效性
D. 记录有效性
35. 数据库文件的扩展名是( )。
A. DBF
B. DBC
C. DBT
D. FPT
2、 判断题(共20小题,每小题3分,共60分)
1. 循环语句是可以嵌套的。( )
2. STORE和“=”命令具有相同功能,它们都可以在一条命令中给多个变量赋值。( )
3. 关键字只能是一个字段。( )
4. 记录查找是否成功,可以用函数found()来判断。( )
5. int *p=150;语法错误。( )
6. C语言是一种结构化程序设计语言。( )
7. 在switch-case语句中,不是每个case后都必须使用break语句,可以根据需要使用break语句。( )
8. C语言为所定义的数组在内存中分配一片连续的存储单元。( )
9. 因特网间传送数据不一定要通过TCP/IP协议( )。
10. 流行于Internet上的BBS最早的用途是为了公布股票的价格( )。
11. 电子商务是Internet上新兴的商业模式( )。
12. 电子邮件借助Internet使通讯方式经济快捷( )。
13. 函数的形参可以是常量、变量或表达式。( )
14. 在定义二维数组时,可以将该数组的两个维数全部省略。( )
15. 字符串"The"小于字符串"the"。( )
16. for循环只能用于循环次数已经确定的场合。( )
17. 数据表中的字段不属于变量。( )
18. \、\命令都是记录指针移动命令,二者的执行过程和功能相同。( )
19. 对关系进行选择、投影或连接运算之后,运算的结果仍然是一个关系。( )
20. 算术运算符、逻辑运算符、关系运算符不能同时出现在一个表达式中。( )
3、 填空题(共25题,每题4分,共100分)
1. 命令?ROUND(37.2007,3)的执行结果是______。
2. 命令?LEN("THIS IS MY BOOK")的结果是______。
3. TIME()的返回值的数据类型是______类型。
4. 下列命令执行后的结果是______。
STORE 'GOOD BYE!' TO X
?LEFT(X,2),SUBSTR(X,6,2)+SUBSTR(X,6),RIGHT(X,3)
5. 建立计算机网络的基本目的是实现数据通信和______。
6. 计算机网络主要有______、资源共享、提高计算机的可靠性和安全性、分布式处理等功能。
7. 局域网的覆盖范围为______km。
8. 局域网的传输通常可达______Mb/s。
9. C语言中的标识符只能由______、______和______三种字符组成。
10. C语言中的每条基本语句以______作为结束符,每条复合语句以______作为结束符。
11. C语言中函数返回值的类型是由______时指定的类型决定的。
12. C源程序的基本单位是______。
13. 下列命令执行后的结果是______。
STORE -100 TO X
?SIGN(X)*SQRT(ABS(X))
14. Visual FoxPro的主索引和候选索引可以保证数据的______完整性。
15. 数据库表之间的一对多联系通过主表的______索引和子表的______索引实现。
16. 实现表之间临时联系的命令是______。
17. 在定义字段有效性规则中,在规则框中输入的表达式中类型是______。
18. 在Visual FoxPro中,最多同时允许打开______个数据库表和自由表。
19. 在SQL语句中空值用______表示。
20. 在Visual FoxPro中用于计算检索的函数有COUNT、、、MAX和MIN。
21. 以太网的通信协议是一种______协议。
22. 网络______决定了网络的传输速率、网络段的最大长度、传输的可靠性及网卡的复杂性。
23. 常用的通信介质主要有有限介质和______两大类。
24. 若int a = 2, b = 3; 表达式 a > b ? a++ : ++b 的值为______。
25. 若int x=1,y=1,z=1; x+=y+=z; 则表达式 x<y?y:x 的值为______。
4、 程序填空题(共12空,每空6分,共72分)
1. 编写一个程序,从数据库的 employees 表中检索员工的信息,并按部门和入职时间排序,显示给定部门的第一个员工的姓名。请根据提示填空。
CLOSE DATABASES ALL
OPEN DATABASE companyDB
USE employees
SELECT dept_id, emp_name, hire_date ;
FROM employees ;
WHERE dept_id = ___(1)___ ;
ORDER BY dept_id, ___(2)___ ;
___(3)___
提示:
(1) 选择部门 ID 为 101 的员工。
(2) 排序字段为入职日期。
(3) 仅显示排序后的第一条结果的员工姓名。
2. 编写一个程序,将 sales 表中的数据按年和月进行汇总,以显示每个月的总销售额。请根据提示填空。
CLOSE DATABASES ALL
OPEN DATABASE salesDB
USE sales
SELECT YEAR(sale_date) AS sale_year, MONTH(sale_date) AS sale_month, ___(1)___ AS monthly_total ;
FROM sales ;
GROUP BY ___(2)___ ;
ORDER BY sale_year, sale_month ;
___(3)___
提示:
(1) 使用 SUM 函数计算每个月的总销售额。
(2) 按照年份和月份分组。
(3) 输出结果到当前窗口中显示。
3. #include <stdio.h>
int factorial(int n) {
if (n == 0) {
return 1;
} else {
return n * ___(1)___;
}
}
int main() {
int num = 5;
int result = ___(2)___;
printf("Factorial of %d is %d
", num, ___(3)___);
return 0;
}
4. #include <stdio.h>
void reverse(char *str) {
int len = 0;
char *start, *end, temp;
// Calculate length of the string
while (str[len] != '\0') {
len++;
}
start = str;
end = str + len - 1;
while (start < end) {
temp = *start;
*start = ___(1)___;
*end = temp;
___(2)___;
___(3)___;
}
}
int main() {
char str[] = "hello";
reverse(str);
printf("Reversed string: %s
", str);
return 0;
}
5、 阅读程序,写出程序运行结果(共4小题,第1题11分,剩余每小题14分,共53分)
1. #include <stdio.h>
int calculate(int a, int b, int (*operation)(int, int)) {
return operation(a, b);
}
int add(int x, int y) {
return x + y;
}
int multiply(int x, int y) {
return x * y;
}
int main() {
int x = 5;
int y = 10;
int result;
result = calculate(x, y, add);
printf("Addition: %d
", result);
result = calculate(x, y, multiply);
printf("Multiplication: %d
", result);
return 0;
}
(1) 这个程序使用了什么特性来实现不同的操作?
(2) 输出的结果是什么?
2. #include <stdio.h>
#include <string.h>
void swap(char *x, char *y) {
char temp = *x;
*x = *y;
*y = temp;
}
void permute(char *str, int l, int r) {
if (l == r) {
printf("%s
", str);
} else {
for (int i = l; i <= r; i++) {
swap((str + l), (str + i));
permute(str, l + 1, r);
swap((str + l), (str + i)); // 回溯
}
}
}
int main() {
char str[] = "ABC";
permute(str, 0, strlen(str) - 1);
return 0;
}
(1) permute 函数的作用是什么?
(2) 运行程序后,输出的结果是什么?
3. CLOSE DATABASES ALL
OPEN DATABASE Library
USE Books
* 为所有库存量少于10的书籍记录进行补货,并更新库存
SCAN
IF Stock < 10
REPLACE Stock WITH Stock + 20
ENDIF
ENDSCAN
* 找出所有“文学”类别的书籍,并按书名升序排序
SELECT * FROM Books WHERE Category = 'Literature' INTO CURSOR LiteratureBooks ORDER BY Title ASC
* 计算库存总量
SELECT SUM(Stock) AS TotalStock FROM Books INTO ARRAY arrTotalStock
IF ALEN(arrTotalStock, 1) > 0
? 'Total stock of all books: ', arrTotalStock[1]
ELSE
? 'No books found in the database.'
ENDIF
CLOSE ALL
(1) 程序如何识别并处理库存量少于10的书籍?
(2) 程序是如何筛选“文学”类别的书籍,并进行排序的?
(3) 如何计算并显示所有书籍的库存总量?
4. CLOSE DATABASES ALL
OPEN DATABASE Sales
USE Orders
* 按客户ID进行汇总,计算每个客户的总订单金额
SELECT CustomerID, SUM(OrderAmount) AS TotalAmount ;
FROM Orders ;
GROUP BY CustomerID ;
INTO CURSOR CustomerTotals
* 输出订单总金额超过5000的客户ID
SELECT * FROM CustomerTotals WHERE TotalAmount > 5000 INTO ARRAY HighValueCustomers
FOR i = 1 TO ALEN(HighValueCustomers, 1)
? 'Customer ID with high total orders: ', HighValueCustomers[i, 1]
ENDFOR
* 更新最后一个订单日期,以标记处理完成
LOCATE FOR .T.
GO BOTTOM
REPLACE OrderStatus WITH "Completed", OrderDate WITH DATE()
? 'Updated order status and date for the last record.'
CLOSE ALL
(1) 程序是如何计算每个客户的总订单金额的?
(2) 如何提取并输出订单金额超过5000的客户ID?
(3) 程序如何标记最后一条记录为“完成”?
原创精品资源学科网独家享有版权,侵权必究!
学科网(北京)股份有限公司
$$