【笔试题】2019CVTE软件支持工程师笔试题(附超详细解答)

2023-10-19 08:59

本文主要是介绍【笔试题】2019CVTE软件支持工程师笔试题(附超详细解答),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

CVTE的软件支持工程师的笔试题主要分为选择题(20道)和编程题(2道),考查内容主要是C语言、Linux操作系统为主。编程题都比较简单,没有什么难度;选择题涉及的范围还是比较广的。不过有三点比较“坑”的地方:

  • 选择题都是多选框,没有单选或者多选的提示(也就是说,每道题都有可能是多选);
  • 编程题只给出了一个文本框,不提供编译的功能。并且,编程题是不能在本地IDE上进行编译的(也就是说,每道编程题都需要自己对自己的程序有信心);
  • 整个试卷没有“前一道”按钮(也就是说,一旦你选择了某个答案,就不能再退回去修改了)。

 

选择题

1、共享变量是指()访问的变量。

只能被系统进程

只能被多个进程互斥

只能被用户进程

可被多个进程

KEY:D

2、关于GPIO,下面的描述错误的有()。

GPIO可以用于外部SDRAM进行高速传输

GPIO可以用于模拟Flash的接口,对Flash存储器进行读写操作

GPIO可以由CPU编程决定方向,但不能查询其状态

CPU可以通过编程,决定GPIO是输入、输出的通信功能,但不能是双向的

KEY:ACD

3、一个PWM波形,输出低电平为200ms,高电平为300ms,请问这个方波的占空比是()。

42.9%

60%

66.7%

40%

KEY:B

4、线程相对于进程强调的是()。

同步与互斥

并行执行与资源共享

相互独立与互相制约

资源的分配和独占性

KEY:D

5、C语言中,函数内部定义的局部变量申请到的空间存储在哪个位置()。

data段

bss段

堆区

栈区

KEY:D

6、若已知一个栈的入栈顺序为1、2、3、4,其出栈顺序为P1、P2、P3、P4,则P2、P4不可能是()。

2、1

4、3

2、4

1、4

KEY:B

7、栈是一种按“后进先出”原则进行插入和删除操作的数据结构,因此,()必须用栈。

将一个元素序列进行逆序

实现函数或过程的递归调用及返回处理时

可执行程序的装入与卸载

链表节点的申请和释放

KEY:B

解答:栈是一种后进先出的数据结构。将一个元素序列逆置时,可以使用栈也可以不用。链表节点的申请和释放次序与应用要求相关,不存在“先申请后释放”的操作要求。可执行程序的装入与卸载,也不存在“后进先出”的操作要求。对于函数的递归调用与返回,一定是后被调用执行的先返回。

8、文件file1的访问权限为rw-r--r--,现要增加所有用户的执行权限和同组用户的权限,下列哪个命令是对的()

chmod a+x g+w file1

chmod a+x o+w file1

chmod 775 file1

chmod 765 file1

KEY:AC

9、下段程序中的a、b的值分为是()。

char str[20] = "0123456789";
int a = strlen(str);
int b = sizeof(str);

10、4

10、20

4、20

4、4

KEY:B

10、关于SPI和IIC总线的描述,正确的是()

IIC可以实现全双工,SPI不能实现全双工

IIC的数据输入输出用的是一根线,SPI则分别为数据输入和数据输出两根线

IIC的抗干扰能力比SPI强

SPI适合长距离传播

KEY:D

11、以下是线性顺序结构的是()。

顺序存储完全二叉树

双向链表

数组

顺序存储栈

KEY:ACD

12、Linux下有文件A和文件B,文件A中的内容是文件B的路径,下列说法错误的是()。

文件A叫做文件B的软链接或符号链接

它们的文件索引信息中文件的链接数并不会因为这种关系发生变化

它们的文件的索引信息inode号是相同的

访问文件A其实就是访问文件B

KEY:C

13、下列关于管道(pipe)通信的叙述中,正确的是()。

一个管道可以实现双向数据传输

一个管道只能由一个读进程和一个写进程对其操作

进程对管道进行读操作和写操作都可能被堵塞

管道的容量仅受磁盘容量大小限制

KEY:C

14、设栈S和队列Q的初始状态为空,元素e1、e2、e3、e4、e5、e6依次通过栈S,一个元素出栈后即进入队列Q,若6个元素出队的序列是e2、e4、e3、e6、e5、e1,则栈S的容量至少应该是()。

2

3

4

1

KEY:B

15、MMU是Memory Mangement Unit的缩写,即内存管理单元,下列关于MMU说法错误的是()。

MMU作为转换器,将程序和数据的虚拟地址(编译时的连接地址)转换成实际的物理地址,即在物理主存中的地址

MMU提供了一些资源以允许使用虚拟存储器

在带MMU的操作系统控制下,运行的任务必须知道其他与之无关的任务的存储需求情况,这就简化了各个任务的设计

MMU提供的一个关键服务是使各个任务作为各自独立的程序在其自己的私有存储空间中运行

KEY:C

16、若用n个权值构造一棵最优二叉树(哈夫曼树),则该二叉树的结点总数为()。

2n-1

2n

2n+1

2n+2

KEY:A

17、下列关于查看当前Linux的系统状态(如CPU使用、内存使用、负载情况)命令的描述,正确的是()。

可以使用top命令分析CPU使用,内存使用,负载等情况

可以使用free查看内存整体的使用情况

可以使用cat /proc/meminfo查看内存更详细的情况

以上描述都不正确

KEY:ABC

18、下列关于makefile描述正确的是()。

主要包含了五个东西:显式规则、隐晦规则、变量定义、文件指示和注释

makefile文件保存了编译器和连接器的参数选项

在Makefile不可以使用include关键字把别的Makefile包含进来

默认的情况下,make命令会在当前目录下按顺序找寻文件名为“GNUmakefile”、“makefile”、“Makefile”的文件, 找到了解释这个文件

KEY:ABCD

19、执行完下列语句后,y的值为()。

int x, y, z;
x = y = 5;
z = ++x || ++y;

6

5

1

不确定

KEY:B

20、以下程序段执行后的结果为()。

#include <stdio.h>void main()
{short *p, *q;short arr[15] = { 0 };p = q = arr;p++;printf("%d", p - q);printf("%d", (char *)p - (char *)q);printf("%d", sizeof(arr) / sizeof(*arr));return 0;
}

011

1215

121

1115

KEY:B

 

编程题

1、要求实现下面的函数,杨辉三角算法基础:

输入一个整型值N(>10)代表杨辉三角的阶数,例如输入3,输出

1
1 1
1 2 1

同时输出第N阶的值相加之和,例如第3阶(1+2+1=4)。

解答:杨辉三角形,比较简单:

#include<stdio.h>int main()
{int n;scanf("%d", &n);int i, j, a[100][100], m = 0;for (i = 0; i <= n; i++) {for (j = 0; j <= n; j++) {a[i][0] = 1;a[i][i] = 1;}}for (i = 2; i <= n; i++) {for (j = 1; j <= i - 1; j++)a[i][j] = a[i - 1][j - 1] + a[i - 1][j];}for (i = 0; i <= n; i++) {for (j = 0; j <= i; j++) {printf("%d ", a[i][j]);if (i == n) {m += a[i][j];}}printf("\n");}printf("%d ", m);return 0;}

2、小C的信用卡支付密码是一串长度为6的数字,为了防止遗忘小C把它写在纸上,但是经过了加密,加密规则是:将这个6位整数的每一位数字都加上5,然后用每位数字分别对10求出余,接着用这6个余数来替换原来每位上的数字,最后将第一位和最后一位数字交换。请编写代码实现此加密过程。

例:输入34567,每一位加上5之后变成8 9 10 11 12,替换第一位和最后一位后输出29018。

提示:请实现encode函数:

char *encode(const char *psw_in, char *psw_out);

解答:主要掌握怎么将int与char之间如何进行转换就可以了,逻辑什么的倒是蛮简单:

char *encode(const char *psw_in, char *psw_out) {int i;char temp;for (i = 0; i < 6; i++)psw_out[i] = (psw_in[i] - '0' + 5) % 10 + '0';temp = psw_out[5];psw_out[5] = psw_out[0];psw_out[0] = temp;return psw_out;
}

 

这篇关于【笔试题】2019CVTE软件支持工程师笔试题(附超详细解答)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/238767

相关文章

软件设计师备考——计算机系统

学习内容源自「软件设计师」 上午题 #1 计算机系统_哔哩哔哩_bilibili 目录 1.1.1 计算机系统硬件基本组成 1.1.2 中央处理单元 1.CPU 的功能 1)运算器 2)控制器 RISC && CISC 流水线控制 存储器  Cache 中断 输入输出IO控制方式 程序查询方式 中断驱动方式 直接存储器方式(DMA)  ​编辑 总线 ​编辑

【STM32】SPI通信-软件与硬件读写SPI

SPI通信-软件与硬件读写SPI 软件SPI一、SPI通信协议1、SPI通信2、硬件电路3、移位示意图4、SPI时序基本单元(1)开始通信和结束通信(2)模式0---用的最多(3)模式1(4)模式2(5)模式3 5、SPI时序(1)写使能(2)指定地址写(3)指定地址读 二、W25Q64模块介绍1、W25Q64简介2、硬件电路3、W25Q64框图4、Flash操作注意事项软件SPI读写W2

沁恒CH32在MounRiver Studio上环境配置以及使用详细教程

目录 1.  RISC-V简介 2.  CPU架构现状 3.  MounRiver Studio软件下载 4.  MounRiver Studio软件安装 5.  MounRiver Studio软件介绍 6.  创建工程 7.  编译代码 1.  RISC-V简介         RISC就是精简指令集计算机(Reduced Instruction SetCom

免费也能高质量!2024年免费录屏软件深度对比评测

我公司因为客户覆盖面广的原因经常会开远程会议,有时候说的内容比较广需要引用多份的数据,我记录起来有一定难度,所以一般都用录屏工具来记录会议内容。这次我们来一起探索有什么免费录屏工具可以提高我们的工作效率吧。 1.福晰录屏大师 链接直达:https://www.foxitsoftware.cn/REC/  录屏软件录屏功能就是本职,这款录屏工具在录屏模式上提供了多种选项,可以选择屏幕录制、窗口

arduino ide安装详细步骤

​ 大家好,我是程序员小羊! 前言: Arduino IDE 是一个专为编程 Arduino 微控制器设计的集成开发环境,使用起来非常方便。下面将介绍如何在不同平台上安装 Arduino IDE 的详细步骤,包括 Windows、Mac 和 Linux 系统。 一、在 Windows 上安装 Arduino IDE 1. 下载 Arduino IDE 打开 Arduino 官网

HomeBank:开源免费的个人财务管理软件

在个人财务管理领域,找到一个既免费又开源的解决方案并非易事。HomeBank&nbsp;正是这样一个项目,它不仅提供了强大的功能,还拥有一个活跃的社区,不断推动其发展和完善。 开源免费:HomeBank 是一个完全开源的项目,用户可以自由地使用、修改和分发。用户友好的界面:提供直观的图形用户界面,使得非技术用户也能轻松上手。数据导入支持:支持从 Quicken、Microsoft Money

GPT系列之:GPT-1,GPT-2,GPT-3详细解读

一、GPT1 论文:Improving Language Understanding by Generative Pre-Training 链接:https://cdn.openai.com/research-covers/languageunsupervised/language_understanding_paper.pdf 启发点:生成loss和微调loss同时作用,让下游任务来适应预训

PDF 软件如何帮助您编辑、转换和保护文件。

如何找到最好的 PDF 编辑器。 无论您是在为您的企业寻找更高效的 PDF 解决方案,还是尝试组织和编辑主文档,PDF 编辑器都可以在一个地方提供您需要的所有工具。市面上有很多 PDF 编辑器 — 在决定哪个最适合您时,请考虑这些因素。 1. 确定您的 PDF 文档软件需求。 不同的 PDF 文档软件程序可以具有不同的功能,因此在决定哪个是最适合您的 PDF 软件之前,请花点时间评估您的

多路转接之select(fd_set介绍,参数详细介绍),实现非阻塞式网络通信

目录 多路转接之select 引入 介绍 fd_set 函数原型 nfds readfds / writefds / exceptfds readfds  总结  fd_set操作接口  timeout timevalue 结构体 传入值 返回值 代码 注意点 -- 调用函数 select的参数填充  获取新连接 注意点 -- 通信时的调用函数 添加新fd到

计算机视觉工程师所需的基本技能

一、编程技能 熟练掌握编程语言 Python:在计算机视觉领域广泛应用,有丰富的库如 OpenCV、TensorFlow、PyTorch 等,方便进行算法实现和模型开发。 C++:运行效率高,适用于对性能要求严格的计算机视觉应用。 数据结构与算法 掌握常见的数据结构(如数组、链表、栈、队列、树、图等)和算法(如排序、搜索、动态规划等),能够优化代码性能,提高算法效率。 二、数学基础