移远通信笔试题

news2024/10/6 22:25:00

限时60分钟

1.下列关于栈叙述正确的是 A

A) 栈顶元素最先能被删除

B)栈顶元素最后才能被删除

C)栈底元素永远不能被删除

D)以上三种都不对

在栈中,最后被压入的元素总是在栈顶上方,而栈顶元素总是最先被弹出的元素。
因此,在进行删除操作时,栈顶元素会最先被删除。

所以,选项 A 是正确的。

2.下列叙述中正确的是 B

A) 有一个以上根结点的数据结构不一定是非线性结构
B) 只有一个根结点的数据结构不一定是线性结构
C)循环链表是非线性结构
D)双向链表是非线性结构

选项 B 是正确的。只有一个根结点的数据结构不一定是线性结构。
选项 A 是错误的。拥有一个以上根结点的数据结构一定是非线性结构,因为它们无法形成单一的层次结构。
选项 C 和 D 都是错误的。循环链表和双向链表都是线性结构,因为它们沿着一个线性序列连接元素。
循环链表中,最后一个元素链接到了第一个元素,从而形成了一个环。
而双向链表中,每个节点都包含两个指针,分别指向前驱节点和后继节点,这样可以支持双向遍历。

3.某二又树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)

A)3 B) 4 C)6 D)7

在这里插入图片描述

4.若有定义语句:int a=3,b=2,c=1;,以下选项中错误的赋值表达式是

A)a=(b=4)=3;
B)a=b=c+1;
C) a=(b=4)+c;
D)a=1+(b=c=4);

选项 A 是错误的,因为 b=4 的结果是 4,所以 a=(b=4)=3 等价于 a=3 和 b=4,但是在 C 语言中,赋值操作返回被赋的值,因此 (b=4) 的结果是 4。然后再将 4 赋值给 b,使得 b 的值变成了 4。这时候再把 b=4 和 a=3 再进行一次赋值运算,就等价于 (4=3),由于左值必须是可修改的,因此会产生一个编译错误。

选项 B、C 和 D 都是正确的,其解释如下:

选项 B:首先计算 c+1 的结果为 2,然后将其赋值给 b,使得 b 的值变成了 2。接着将 b 赋值给 a,使得 a 的值也变成了 2。
选项 C:首先计算 (b=4) 的结果为 4,然后将其加上 c=1 的结果为 5,最后将 5 赋值给 a,使得 a 的值变成了 5。
选项 D:首先执行表达式 b=c=4,将 c 和 b 的值都变成了 4。接着计算 1+(b=c=4) 的结果为 5,最后将 5 赋值给 a,使得 a 的值变成了 5。
因此,选项 A 是错误的。

5.若有定义语句:char s[3][10],(*k)[3], *p;,则以下赋值语句正确的是

A)p=s;
B) p=k;
C)p=s[0];
D)k=s;

6.一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为 D

A)DBEFCA
B) DEBCAF
C) DEBFAC
D) DEBFCA
在这里插入图片描述

7.下列三条指针定义语句哪些表示含义相同的 B

(1)const char p; (2)char * const p; (3)char constp;
A)1,2
B) 1,3
C) 2,3
D) 1,2,3都相同
在这里插入图片描述

8.有以下程序void Func(char str[100]){print("%d”,sizeof(str));}运行结果是 C

A)1
B)2
C)4
D)8
E)100
F)根据传入字符串size大小

9.有以下程序printf(“%d”,sizeof(struct data)+sizeof(max));运行结果是 D

typedef union {
	long i; int k[5];char c: 
}DATA; 
typedef struct data 
{
	int cat;
	DATA cow;
	doubie dog; 
} animal; 
DATA max; 

A)29
B)12
C)16
D) 52
E)58
F)32

10.有以下程序程序运行后的输出结果是 B

#define S(x) 4*(x)*x+1
main 
{ 
	int k = 5, j = 2;
	printf("%d\r", S(k+j));
}

A)197 B)143 C)33 D)28 E)66 F)208

11.传入参数0x23调用下面的函数fn()会得到返回值是 E

#define x(y)((y<<2) | y)
unsigned int fn(unsigned int u) 
{
  	return x(u);
}

A) will not compile
B)0xdc
C)0xcd
D)0xbe
E) 0xaf
F) 0xg0

12. <多选>在多线(进)程编程中,线(进)程间通信方式有 ABCDEF

A)信号
B)信号量
C)消息队列
D)共享内存
E) 管道
F)套接字

13.<多选> 通信双方为了建立串行UART)通信,须要解决哪些问题 ABCDEF

A)波特率
B)数据位数
C)奇偶校验
D)数据流控制
E)起始位
F)停止位

14.<填空>

程序的局部变量存储于 中,全局变量存储于全局静态区,动态申请数据存储于

15. <填空>

TCP通信中端口的作用是 标识使用TCP协议的应用进程

16.<填空>

请定义该函数指针类型,带一个整型参数和void* 的返回类型

void * (*pfun) (int arg);

17. <填空>

整型变量a,设置a的bit 3;清除a的bit 3:(保持其它位不变)。
设置a bit 3:

a |= (0x01 << 3);

清除a的bit3 保持其他位不变:

a &= ~(0x01 << 3);

18. <填空>

关键字 volatile有什么含意

在计算机编程中,关键字"volatile"通常用于声明一个变量是易变的(即具有不稳定性)。它告诉编译器该变量的值可能会在程序的其他位置改变,因此不应该对该变量进行优化或缓存。这样可以确保访问该变量时始终从内存中读取最新的值,而不是使用已经缓存的旧值。
在多线程编程中,使用"volatile"变量可以确保不同线程之间的数据同步,因为它们都从内存中读取最新的变量值。否则,在没有同步机制的情况下,并发线程可能会读取到过期的变量值,从而导致不可预测的结果。

一个既可以是const还可以是volatile么?为什么?

可以。比如只读的状态寄存器

19. <填空>

ISO的七层模型是什么? tcp/udp 是属于哪一层? tcp/udp 有何优缺点?

从高往上依次是物理层、数据链路层、网络层、传输层、会话层、表示层、应用层
TCP/UDP属于传输层;

20. <填空> 给出下列程序执行结果

(1) chat str[] = “Hello”; char *p = str;

1sizeof(str) =  6
2sizeof(p) = 4

(2)void *p = maloc( 100); int n = 10;

1sizeof(p) = 4
2sizeof(n) = 4

21.请找出下列代码片段中不正确的地方,并提供一种你认为合理的解决方案。

(1)

void test1()
{ 
	char string[10];
	char* str1="0123456789";
	strcpy( string, str1 );
}

(2)

void test3(char* str1)
{
	char string[10];
	if( strlen( str1 ) <= 10 ) 
		strcpy( string, str1);
}

22下面的程序执行后会有什么输出?

(1)

int sum(int a) 
{
	auto int c = 0;
	static int b = 3;
	
	c += 1;
	b += 2;
	return(a+b+c);
}

void main()
{
	int i; int a = 2;
	for(i = 0: i < 5: i++)
	{
		printf("%d," sum(a));
	}
}

这个程序输出是:8,10,12,14,16
(2)

int func(x)
{
	int countx = 0;
	
	while(x)
	{ 
		countx++;
		x =x&(x-1);
	}
	return countx:
}

void main()
{
	int ret = func(263);
}

ret变量为 4

23.<编程>定义一个函数,该函数功能为:设置一绝对地址为0x67a9 的整型变量的值为0xaa66,并将该值显示在屏幕上。(编译器是一个纯粹的ANSI编译器)

void func(void)
{
	int *p = (int *)0x67a9;
	*p = 0xaa66;
	printf("%d", *p);
}

24.中断是嵌入式系统中重要的组成部分,这导致了很多编译开发商提供一种扩展一让标准C支持中断。具代表事实是,产生了一个新的关键字 interrupt。下面的代码就使用了_interrupt 关键字去定义了一个中断服务子程序(ISR),请评论一下这段代码的。

__interrupt double compute area (double radius)
{
	double area = PI* radius * radius;
	sleep(1);
	printf(" Area = %f", area);
	return area;
}

中断不能有返回值和参数
最好不好在中断函数做浮点运算和打印操作,因为耗时长,中断处理追求快进快出
不要再中断函数中调用sleep这种引起系统阻塞函数,因为在中断中系统是不调度,这可能引起系统崩溃

25.<编程>设计一个函数来获知 stack 是向高地址还是低地址方向增长。(使用 C,不建议用伪码)

#include <stdio.h>

void find_stack_direction(int *p)
{
	int val;
	
	printf("%p %p\r\n", p, &val);
	if (p > &val)    /* 栈底变量地址比栈顶变量地址大,说明向下增长 */
	{
		printf("stack diretion: grow down\r\n");
	}
	else
	{
		printf("stack diretion grow high\r\n");
	}
}

26.<编程>有一个单向链表,请编写代码反转该链表。(数据类型可以任意定义,使用 C,不建议用伪码

struct Node {
    void *data;            // 数据指针,数据类型任意
    struct Node *next;     // 指向下一个节点的指针
};

struct Node* reverseList(struct Node* head) {
    struct Node* prev = NULL;
    struct Node* curr = head;
    
    while (curr != NULL) {
        struct Node* next = curr->next;
        curr->next = prev;
        prev = curr;
        curr = next;
    }
    
    return prev;
}

27. Please translate English into Chinese

Tracker 007 is a multi-functional tracker. Combining with GPRS and high performance GPS, the devicecan be used to track and report device’s position and status to mobile phone through SMS or Main DattServer (MDS) through HTTP The operation modes include continuous tracking and position lock (park). So:buttons can be used to send emergency call. All configurations can be set through SMS or USB interface. The wireless communication includes UDP, TCP/IP,HTTP and SMS. With MTK EPO, it can get shorter TTFF atdistressed environment.

跟踪器007是一款多功能跟踪器。该设备结合GPRS和高性能GPS,可通过短信或HTTP向手机报告设备的位置和状态。
操作模式包括连续跟踪和位置锁定(泊车)。
所以:按钮可以用来发送紧急呼叫。所有配置都可以通过短信或USB接口进行设置。
无线通信包括UDP、TCP/IP、HTTP和SMS。使用MTK EPO,可以在恶劣的环境下获得更短的TTFF。

28.请用英文写信(5分)

客户 Peter 很焦急的写来邮件请求您的帮助。可是由于出差,你耽误了两天才看到邮件。并且他提出的关于蜂窝网络方面的问题并不是你非常熟悉的,你得介绍相关的技术人员和他沟通。请你马上回一个由件给Peter,另外邮件内容中蜂窝网问题的答复要包含如下主要信息
当个人和商业用户需要像手机网络一样简单易用的互联网连接时,移动计算提供简易的方案,以便在任何手机能够工作的地方通过蜂窝网络让上网本、膝上电脑或者其他电子设备连接网络。蜂窝网络是提供任何时间和任何地方低价的数据连接的理想选择

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/443450.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

面试题30天打卡-day09

1、一条 SQL 语句在 MySQL 中的执行过程是怎样的&#xff1f; client 根据SQL语法&#xff0c;定义好SQL语句&#xff0c;向MySQL建立连接连接器&#xff1a;client 首先要与 MySQL 建立连接&#xff0c;这就需要一个连接器&#xff0c;负责与 client 建立连接、权限验证、管理…

User accounts with SSH access to Amazon EC2 Linux instance

文章目录 一、Need to prepare ssh remote connection tool二、Enter the command and submit the pem file三、Access successful and operation performed 一、Need to prepare ssh remote connection tool For example, using XSHELL 二、Enter the command and submit t…

云通讯服务商有哪些?

随着语聊、视频通话、直播等行业的兴起&#xff0c;云通讯厂商的作用越来越凸显&#xff0c;解决画面卡顿、解决声音延迟以及基于互动领域更多的行业解决方案已经成为开发者和企业所需。 从长远来看&#xff0c;随着5G的不断普及&#xff0c;低延迟、高质量的网络环境不断催生线…

单片机课设和电子设计大赛仿真分享

兄弟们&#xff0c;我这有一堆单片机课设和电路图仿真&#xff0c;大家可以看一下 这是所有项目的一部分。 这是项目的里面的资料。 还有一堆仿真&#xff0c;这个只有仿真 下面的字是凑字数的&#xff0c;就是为了更好让大家看到这个福利 当今社会是一个电子信息技术飞速发展的…

头歌c语言实训项目-综合案例课外练习:火柴游戏

(创作不易&#xff0c;感谢有你&#xff0c;你的支持&#xff0c;就是我前行的最大动力&#xff0c;如果看完对你有帮助&#xff0c;请留下您的足迹&#xff09; 目录 第1关&#xff1a;火柴游戏1 题目&#xff1a; 代码思路&#xff1a; 代码表示&#xff1a; 第2关&…

winform电影售票系统

一、前言 C#winform电影售票系统sqlserver数据库 主要技术&#xff1a; 基于C#winform架构和sql server数据库的电影售票系统 随着互联网高速发展&#xff0c;人们的娱乐生活也逐渐丰富&#xff0c;最普遍的娱乐休闲方式之一就是到电影院看电影&#xff0c;那么传统的电影订票…

数智化招采平台系统中智能用印解决方案,从细节上降本增效

随着现代市场的发展&#xff0c;企业规模的不断扩大&#xff0c;分支机构众多 &#xff0c;用印管理在异地使用 、签字时带来了不便。在招标采购领域中&#xff0c;用印的智慧化管理模式已逐渐成为企业缩短信息传递时间、提高采购工作效率、实现降本增效的重要手段之一 。 经过…

JFrog Artifactory的数据备份与恢复教程

ps&#xff1a;码字&#xff0c;截图不容易&#xff0c;如果对您有帮助&#xff0c;请点个赞&#xff0c;评论下&#xff0c;谢谢 目录 一、数据备份 1、使用管理员账号登录JFrog的后台&#xff0c;点击“Backups”选项 2、查看备份规则 3、修改备份规则 4、测试备份规则是否…

管理后台项目-03-SPU列表-增删改SPU-获取SKU

目录 1-spu模块分析 2-spu三级分类和列表页面 3-添加修改spu 3.1-点击新增和修改逻辑分析和功能实现 3.2-图片上传逻辑分析 3.3-销售属性逻辑分析 3.4-保存spu信息 1-spu模块分析 我们看到spu组件模块&#xff0c;上面是三级联动&#xff0c;这个我们已经在上一篇属性那…

vue+oss实现服务端签名后直传的图片上传功能

vueoss实现服务端签名后直传的图片上传功能 vueoss实现服务端签名后直传的图片上传功能 vueoss实现服务端签名后直传的图片上传功能前言一、java服务端签名接口设计二、Vue element UI的upload图片上传三、前端直传oss可能出现跨域问题四、服务端签名流程总结 前言 基于Post …

Java基层卫生健康云源码 医院HIS信息管理系统源码

近年来&#xff0c;随着互联网技术的快速发展&#xff0c;云计算技术也得到了广泛的应用。云计算技术不仅可以提高计算效率&#xff0c;还可以实现资源的共享和协同&#xff0c;为基层卫生健康事业的发展提供了新的思路和机遇。 基层卫生健康云系统是指利用云计算技术&#xf…

【Java|golang】1026. 节点与其祖先之间的最大差值---避坑,注意:golang中同一个包下的全局变量只加载一次。

给定二叉树的根节点 root&#xff0c;找出存在于 不同 节点 A 和 B 之间的最大值 V&#xff0c;其中 V |A.val - B.val|&#xff0c;且 A 是 B 的祖先。 &#xff08;如果 A 的任何子节点之一为 B&#xff0c;或者 A 的任何子节点是 B 的祖先&#xff0c;那么我们认为 A 是 B…

环境变量的初始

目录 &#xff1a; 1.引出环境变量 2. 简单使用一下环境变量 3.环境变量的概念 4.本地变量 5.环境变量的相关命令 6.环境变量获取和操作的方式 7. getenv&#xff08;最常用的程序获取环境变量的方式&#xff09; 8.环境变量的全局属性 -------------------------------------…

擎创动态 | 二等奖!擎创携手国家电网喜获“浪潮信息杯”绝佳成绩

近日&#xff0c;2022电力行业信息化年会于湖南省长沙市圆满落下帷幕。据悉&#xff0c;今年是电力行业信息化年会举办的第二十周年&#xff0c;年会的主题为“低碳数字新动力 电力转型新发展”&#xff0c;紧密围绕“十四五”数据经济发展&#xff0c;“双碳”战略、新型电力系…

10分钟学会使用Jmeter工具做接口自动化测试

Jmeter接口自动化测试项目实战视频教程地址&#xff1a;https://www.bilibili.com/video/BV1e44y1X78S/? 目录&#xff1a;导读 引言 一、软件下载 二、软件安装及设置环境变量 三、Jmeter做接口自动化测试的步骤 四、接口依赖的解决 引言 大家好&#xff01;我是不二。…

《Linux基础》08. 日志管理 · 备份与恢复

Linux基础 - 08 1&#xff1a;日志管理1.1&#xff1a;系统常用日志1.2&#xff1a;日志管理1.2.1&#xff1a;日志服务1.2.2&#xff1a;配置文件1.2.3&#xff1a;自定义日志管理 1.3&#xff1a;日志轮替1.3.1&#xff1a;轮替服务1.3.2&#xff1a;配置文件1.3.3&#xff1…

顺序表(更新版)——“数据结构与算法”

各位CSDN的uu们你们好呀&#xff0c;今天小雅兰又来更新新专栏啦&#xff0c;其实之前我就已经写过了顺序表的内容&#xff0c;只是之前的内容不是最新版的顺序表&#xff0c;现在&#xff0c;我来更新一下最新版的顺序表&#xff0c;下面&#xff0c;就让我们进入更新版的顺序…

开发常用的 Linux 命令1(文件和目录)

开发常用的 Linux 命令汇总1&#xff08;文件和目录&#xff09; 作为开发者&#xff0c;Linux是我们必须掌握的操作系统之一。因此&#xff0c;在编写代码和部署应用程序时&#xff0c;熟练使用Linux命令非常重要。这些常用命令不得不会&#xff0c;掌握这些命令&#xff0c;…

小项目发布:TLC_Browers--一个开源的基于vb6基于Webview2 Runtime支持html5和多标签的浏览器

项目名称:TLC浏览器(TLC_NLP机器人的附属产品) 技术架构:webview2 runtime,可参考链接WebView2 - Microsoft Edge Developer 目录介绍: kernel:控制webview2内核的代码 client:主程序代码&#xff0c;将kernel变为自己的子窗体&#xff0c; 进程通信方式:共享文件 release:正…