c++调用栈库函数_大华 | C/C++ 校招笔试题

b33f06e6deff9ef51ad295b465ecbbb2.png

作者 | 鲜枣

大华,全球领先的以视频为核心的智慧物联网解决方案提供商和运营服务商。试题来自牛客网。

静态局部变量存储在进程的()。

A  栈区

B  寄存器区

C  代码区

D  全局区

答案:D

题解:

C语言内存分区:

  • 栈:由系统自动分配、回收,存放局部变量、函数形参,数据可读可写;

  • 堆:动态内存,由用户申请和释放,比如使用函数malloc申请的就是堆内存;

  • 全局区:存放全局变量和静态变量,数据可读可写;

  • 常量区:存放系统常量,只读;

  • 代码段:存放代码,只读。

在C语言中,设有数组定义:

char arrays[] = "China";

则数组array所占用的空间为()。

A  4字节

B  5字节

C  6字节

D  7字节

答案:C

题解:

C语言中,字符串以字符'\0'结尾,字符'\0'在数组中需要占一个字节。如果使用strlen求字符串长度,不包含字符'\0'。

执行c程序代码

int a = 1; int b = 0; int c = 0; int d = (++a) * (c = 1);

a,b,c,d的值分别为()。

A  2,0,1,2

B  1,0,1,1

C  2,0,1,1

D  2,0,0,2

答案:A

题解:

主要分析第 4 行代码。++a作为前置自增运算符,在执行语句之前,先进行加一操作,所以 a 变成了 2,乘号的右边就是 2。赋值运算符的返回值就是本身,但是因为有括号,所以优先级高,先进行赋值运算,于是乘号右边就是1,同时变量 c 也变成了 1。

d = 2 * 1;

有一个变量

int a = 0;

两个线程同时进行+1操作,每个线程加100次,不加锁,最后a的值是()

A  200

B  <= 200

C  >= 200

D  都有可能

答案:B

题解:

没有加锁保护,所以不能保证两个线程有序的访问变量 a,会出现两个线程同时访问变量 a 的情况,所以结果肯定<= 200。

HTTPS采用()实现安全网站访问?

A  SSL

B  IPsec

C  PGP

D  SET

答案:A

题解:

HTTPS采用SSL协议实bai现安全访问。SSL协议及其继du任者TLS协议,是一种zhi实现网络通信加密的安全协议,可在客户dao端(浏览器)和服务器端(网站)之间建立一条加密通道,保证数据在传输过程中不被窃取或篡改。

某主机的IP地址202.117.131.12/20,其子网掩码是()。

A  255.255.248.0

B  255.255.240.0

C  255.255.252.0

D  255.255.255.4

答案:B

题解:

CIDR记法,/20指的是网路前缀位数,剩余位数为主机号;

11111111   11111111  11110000   00000000 

结果 255.255.240.0

以下不属于网络安全控制技术的是()。

A  防火墙技术

B  访问控制技术

C  入侵检测技术

D  差错控制技术

答案:D

题解:

  • 网络安全控制技术:防火墙技术、入侵检测技术、访问控制技术;

  • 差错控制技术:是在数字通信过程中利用编码的方法对错误进行控制,以提高数字传输的准确性,不属于网络安全控制技术。

多媒体技术是指以计算机为平台综合处理多种媒体信息,其中“媒体”主要指的是()。

A  文字和图像

B  各种信息的编码

C  音频和视频

D  承载信息的载体

答案:D

题解:

媒体(medium)在计算机行业里,媒体有两种含义:其一是指传播信息的载体,如语言、文字、图像、视频、音频等等

一副彩色图像(RGB),分辨率为256*512,每一种颜色用8b表示,则该彩色图像为()bits。

A  256 * 512 * 8

B  256 * 512 * 3 * 8

C  256 * 512 * 3 / 8

D  256 * 512 * 3

答案:B

题解:

  1. 每一种颜色用8b表示,而彩色图像(RGB)表示,故每一个像素点总共需要3*8bit表示。

  2. 分辨率为256*512,故总共有256*512个像素点。

综上:该彩色图像为256*512*3*8bits。

计算机通过MIC(话筒接口)收到的信号是()。

A  音频数字信号

B  音频模拟信号

C  量化信号

D  采样信号

答案:B

题解:

采样信号:是指模拟信号先由采样器按照一定时间间隔采样获得时间上离散的信号。

十一

在CPU内存之间进行地址转换时,()将地址从虚拟(逻辑)地址空间映射到物理地址空间。

A  TCB

B  MMU

C CACHE

D DMA

答案:B

题解:

  • TCB是Trusted Computing Base的简称,指的是计算机内保护装置的总体,包括硬件、固件、软件和负责执行安全策略的组合体。

  • MMU是Memory Management Unit的缩写,中文名是内存管理单元,有时称作分页内存管理单元(英语:paged memory management unit,缩写为PMMU)。它是一种负责处理中央处理器(CPU)的内存访问请求的计算机硬件。

  • Cache存储器,电脑中为高速缓冲存储器,是位于CPU和主存储器DRAM(Dynamic Random Access Memory)之间,规模较小,但速度很高的存储器,通常由SRAM(Static Random Access Memory 静态存储器)组成。

  • DMA(Direct Memory Access,直接存储器访问) 是所有现代电脑的重要特色,它允许不同速度的硬件装置来沟通,而不需要依赖于 CPU 的大量中断负载。

十二

RS-485最少有()根数据信息号。

A  2

B  6

C  8

D  16

答案:A

题解:

RS-485分为两大类:两制线、四制线。其中,前者需要两根数据线,可以进行半双工通信;后者需要四根数据线,可以进行全双工通信。故,RS-485最少有两个数据信息号。

十三

程序开发中编译器的主要作用是()。

A  代码编辑功能

B  检查代码规范性

C  分析代码中的问题

D  完成源语言和目标语言的转换

答案:D

题解:

编译器主要负责把文本文件转换成机器能识别的编码。

十四

关于实时操作系统(RTOS)的任务调度器,以下描述中正确的是()。

A  任务之间的公平性是最重要的调度目标

B  大多数RTOS调度算法都是可抢占式(可剥夺式)的

C  RTOS调度器都采用了基于时间片轮转的调度算法

D  RTOS调度算法只是一种静态调度算法

答案:B

题解:

实时操作系统要求响应有一个截止时间,必须在截止时间前响应(硬实时),或者偶尔出现超时的情况(软实时);

RTOS  如uCOS-II采用的即是基于抢占式的优先级调度算法,后来的uCOS-III中增加了时间片轮询的调度方法,这时允许多个任务具有同一优先级(可以分时执行)。

十五

a = 1, b = 2, c = 3, d = 4;a ;

的结果是()

答案:1

题解:

先判断 a < b 是否成立,成立,取 a 的值,表达式变成

1 < d ? a : d;

再判断 1 < d 是否成立,成立,取 a 的值。

十六

下面代码输出什么?

#includeint main( ){    unsigned int a = 6;    int b = -20;    (a + b > 6) ? printf(">6") : printf("<=6");        return 0;}

答案:>6

题解:

a + b 属于混合运算,先要把变量 b 从有符号整形转换成无符号整形(涉及到补码运算),得到结果 4294967276,所以最终的结果是大于6。

十七

C++调用C语言库时,需要加()

答案:extern “C”

题解:

C++调用C的库函数时,如果头文件定义得不恰当,可能会出现明明某函数在obj文件中存在,但是却发生链接失败的情况,出现如下错误:   undefined reference to 'xxx'

出现问题的原因是c库函数编译成obj文件时对函数符号的处理和C++不同。因为C++函数支持重载,所以函数符号的处理要更复杂一些,c往往不作修饰。

C++和编译器的设计者早已料到了这个问题,并提供了一种通用的解决办法:使用extern "C"来修饰旧C库的外部函数声明。extern "C"修饰内的函数,一律按照c的风格来编译,以便能够链接到用c编译出来的obj库上去。

十八

sprinf和snprintf函数区别是。

答案:

int sprintf(char *str, const char *format, ...);

作用:格式化输出字符串到指定的缓冲区;

int snprintf(char *str, size_t size, const char *format, ...);

作用:格式化输出SIZE个长度的字符串到指定缓冲区。

7ba90daa108a056ad36e457757e9fe0a.png

PS.如果你还在惆怅简历上没有项目可写、毕业设计不知道做什么,抓住机会,智能家居项目实战,扫码试听!

e713f7c44eab805bf7acd8efa7e396bd.png

360506bfb77fa8e42fef85027b9e5a8d.png

540a3155ffa26f7558ed2e5e2111557a.png

0a1d2980cfcaefd011a56a0282ec1e73.png

ae17491a4e262fc45f83ccd65ccfb164.png

59db38dc0ca1d083a285e2ff681e1183.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值