当前位置: 首页 > news >正文

C语言测试五

  1. windows是什么类型的系统(实时还是分时)?有什么区别?

    分时操作系统。如果在单核的情况下,分时操作系统多个进程共用一个单核,该单核会将其执行时间分成相应的时间片,每个进程占用一定的时间片,时间片过后则跳转至下一个进程的时间片。而实时操作系统如果在单核的情况下,一个进程能独享该单核。

  2. 描述每种结构体(struct、enum、union)的区别?

    struct变量依次存储,且结构体大小为内部最大成员的整数倍,不足需要补齐(内存对齐,具体内容可参照:https://blog.csdn.net/u011573853/article/details/49967923。
    union变量每次只有一个成员存放于某个地址。联合体大小为内部最大成员的大小。
    enum大小为int数据类型的大小。将一个字符串和一个整型值联系起来。

  3. 数组和指针的区别?多维指针和多维数组的区别?多维指针可以直接操作多维数组吗?

    • 数组名取地址得到的是数组名所指元素的地址,而对指针取地址得到的是指针变量自身的地址

    • 数组名代表了一个指向数组首元素的指针常量,一经定义不可更改,数组名类型与数组元素类型相同;指针是指针变量,定义后仍可以更改,其类型在定义时确定

    • 当出现sizeof和&操作符时,数组名不再当成指向一个元素的指针常量使用,而指针仍可当成指向一个元素的指针变量

  4. 堆栈溢出一般什么原因

    • 函数调用层次太深。
    • 动态申请的空间使用之后没有释放。
    • 数组访问越界。
    • 指针非法访问。
  5. 计算机中是如何存储小数的?

    采用科学计数法存储

  6. C中函数是如何入栈的?

    从右往左的入栈顺序,最后压入函数名

  7. 进程和线程有什么区别?

    • 根本区别:进程是操作系统进行资源分配的最小单元,线程是操作系统进行运算调度的最小单元

    • 进程中包含了线程,线程属于进程

    • 进程的创建、销毁和切换开销都远大于线程

    • 每个进程都有自己的内存和资源,一个进程中的线程会共享这些内存和资源

    • 子进程无法影响父进程,而子线程可以影响父线程,如主线程发生异常会影响所在进程和子线程

    • 进程CPU利用率较低,因为上下文切换开销较大,线程CPU利用率较高,上下文切换速度快

    • 进程的操纵者一般是操作系统,线程的操纵者一般是编程人员

  8. exe、lib、dll的区别?它们的关系是什么?

    具体参照:https://blog.csdn.net/kason2011/article/details/7467372

    • lib 是编译时需要的文件,dll是让动态链接的程序所需的。lib文件是在编译期连接到应用程序的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。

    • 如果只有lib文件,那么这个lib文件时静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装的时候就不需要挂载动态库dll。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。

    • 在动态库的情况下,有两个文件,一个是引入库lib文件,一个是dll文件,引入库文件包含被dll文件导出的函数的名称和位置,dll文件包含实际的函数和数据,应用程序使用lib文件链接到所需要使用的dll文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是dll文件中所要调用的函数的内存地址,这样当一个或多个应用程序运行是把程序代码和被调用的函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,dll文件和lib文件必须随应用程序一起发行,否则应用程序将会产生错误。

    • exe文件是Windows平台下的应用程序,exe可以只需要dll文件,而不必有lib和dll头文件。

  9. 详细描述编译连接的过程

    源代码->预编译->编译->链接->可执行文件->执行

  10. 使用malloc申请200字节,调用free后,操作系统是如何知道需要释放200个字节的?

    因为malloc时会多申请4个字节,用于标记申请了多少个字节。

    长度标记 | 申请的内存空间|

    4 | 200 |

    而返回的仅仅只是申请的内存空间的地址。

  11. memcpy有什么问题?该如何解决?

    内存重叠。使用memmove或者手写处理。

  12. 完备功能的函数

    即要处理输入参数(使用if过滤),不能让程序崩溃。

  13. 判断当前编译环境是32位还是64位。

    • 方式一:使用关键字sizeof(int*)

    • 方式二:使用int**(二级指针)的偏移来确定,int**的偏移量是int*的字节大小。

相关文章:

C语言测试五

windows是什么类型的系统(实时还是分时)?有什么区别? 分时操作系统。如果在单核的情况下,分时操作系统多个进程共用一个单核,该单核会将其执行时间分成相应的时间片,每个进程占用一定的时间片&a…...

【微服务~原始真解】Spring Cloud —— 访问数据库整合Druid数据源

🔎这里是【秒懂云原生】,关注我学习云原生不迷路 👍如果对你有帮助,给博主一个免费的点赞以示鼓励 欢迎各位🔎点赞👍评论收藏⭐️ 👀专栏介绍 【秒懂云原生】 目前主要更新微服务,…...

前端入门必刷题,经典算法—两数之和

优美的前⾔ 年轻的码农哟~ 你是不是⼀直在思考⾃我提升的问题~ 思来想去,决定从算法抓起(单押)~ 拿起⼜放下,经历过多少次放弃(单押 ✖ 2)~ 决定了!这次让我来帮你梳理(单押 ✖ 3&a…...

‘海外/国外‘地区微博签到shu据(正题在第二部分)

最近失眠,研究了项关于weibo爬虫的新功能,种种原因,大家可跳过第一部分的引用直接看第二部分。 内容来源:健康中国、生命时报、央视等​​​​ 失眠标准一:3个“30分钟” ● 入睡困难,从躺下想睡到睡着间隔…...

Springboot——SB整合Mybatis的CURD(基于注解进行开发)

此处是根据需求实现基本操作 上面这里涉及到了条件分页查询,还有增加和批量删除员工信息,右边编辑就是先查询后更新操作,叫做查询回显,然后在原有基础上进行更新 环境准备 在下面的入门案例的整体环境下把数据库表换成empSpring…...

现在大专生转IT可行吗?

当然可行的。 大专也是人,为什么不可以选择喜欢的专业学习,现在大学生遍地都是,学历已经不是限制你发展的因素了。有的人就是不擅长理论学习,更喜欢技术。IT也只是一个普普通通的技术行业,跟其他技术行业一样&#xf…...

XC7A50T-1CSG324I、XC7A50T-2CSG324I Artix-7 FPGA可编程门阵列

Artix-7 FPGA能够在多个方面实现更高的性价比,这些方面包括逻辑、信号处理、嵌入式内存、LVDS I/O、内存接口,以及收发器。MicroBlaze CPU针对Xilinx FPGA进行了优化,是一种可高度配置的32位RISC处理器,可为微控制器、实时处理器和…...

linux安装图片处理软件ImageMagick

下载地址: wget https://download.imagemagick.org/archive/ImageMagick-7.1.1-4.tar.gz 或者 wget --no-check-certificate https://download.imagemagick.org/archive/ImageMagick-7.1.1-4.tar.gz 安装命令: tar -zxvf ImageMagick-7.1.1-4.tar.…...

【Java基础】JavaCore核心-反射技术

文章目录1.什么是反射技术2.反射-获取类对象方式3.反射-获取声明构造器4.反射-对象创建实战5.反射-方法和属性实战6.反射-属性值操作实战7.反射-invoke运行类方法1.什么是反射技术 Java的反射(reflection)机制是指在程序的运行状态中 可以构造任意一个类…...

AWGN后验估计下的均值与协方差关系(向量和标量形式)

文章目录AWGN信道向量模型后验均值与协方差的关系从实数域拓展到复数域小结AWGN信道向量模型 考虑一个随机向量x∼pX(x)\boldsymbol x \sim p_{\boldsymbol X}(\boldsymbol x)x∼pX​(x),信道模型为 qxv,v∼N(0,Σ)\boldsymbol q \boldsymbol x \boldsymbol v, \…...

Linux常用命令之文件搜索命令

1、常用搜索-find 命令find英文原意find所在路径/bin/find执行权限所有用户功能描述文件搜索语法find [搜索范围] [搜索条件] (默认准确搜索)范例find /etc -name init?? 常用的搜索条件的选项包括: -name:按照文件名进行匹配查找,例&…...

ChatGPT给软件测试行业带来的可能

软件测试在软件开发过程中扮演着至关重要的角色,因为它可以确保软件的质量和可靠性。而随着人工智能技术的不断发展,ChatGPT作为一个强大的自然语言处理工具,可以在软件测试中发挥出许多重要的作用。本文将介绍ChatGPT在软件测试应用中带来的…...

Cadence Allegro 导出Properties on Nets Report报告详解

⏪《上一篇》   🏡《上级目录》   ⏩《下一篇》 目录 1,概述2,Properties on Nets Report作用3,Properties on Nets Report示例4,Properties on Nets Report导出方法4.1,方法14.2,方法2B站关注“硬小二”浏览更多演示视频...

JAVA代码 实现定位数据动态聚集并绘制多边形区域

文章目录思路1、限制聚合距离2、绘制多边形区域3、多边形区域之间合并4、多边形定边点4、逻辑流程一些性能上的优化1、多边形设置圆心2、采用分支合并思路3、清理聚集较分散区域合理性处理1、解决多边形内凹角问题2、解决定边点插入位置问题3、多边形区域扩展成果展示最近有根据…...

基于储能进行调峰和频率调节研究【超线性增益的联合优化】(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...

体验 Linux 的几个监控命令(htop、nmon、netdata)

体验 Linux 的几个监控命令htopnmonnetdatahtop 安装, sudo dnf install -y htop使用, htopnmon 安装, sudo dnf install -y nmon使用, nmon输入c, 输入C, 输入m, 输入n, 输入…...

NOC大赛2022NOC软件创意编程初赛图形化小低组(小学高年级组)

一、选择题 1.如果要控制所有角色一起朝舞台区右侧移动,下面哪个积太块是不需要的 2.要想让三个角色一起移动起来,下面哪个积木块没有作用 ? 3.小猴按照下面的程序前进,小猴最后一次前进了()步。 4.小可同学写了一个画笔程序画出花朵,但是运行后什么都看不到,不可…...

python进行股票收益率计算和风险控制的实现

股票收益率计算和风险控制的实现 在进行股票投资时,计算收益率和进行风险控制是非常重要的。本文将介绍一个与此相关的函数:radio_day_cal()。 radio_day_cal()函数 def radio_day_cal(last_day, sheet_name, df_dict, code_list, new_list):i 0days…...

自从有了这套近4000页的开发文档后,Java面试路上就像开了挂一样

Java是世界最流行的编程语言,也是国内大多数IT公司的主流语言。招聘网站上Java岗位众多,Java工程师似乎不愁找工作。但仔细一看就会发现,Java岗位的招聘薪酬天差地别,人才要求也是五花八门。而在Java工程师求职过程中,…...

Python文件操作

目录 一、文件操作介绍 二、文件的打开和关闭 三、文件的读写 四、文件文件夹相关操作 五、test 一、文件操作介绍 文件 : python中文件是对象 Liunx 文件 : 一切设备都可以看成是文件 磁盘文件 管道 网络Socket 文件属性: 读 写 执行权限 就是把一些存储存放起来&…...

【HarmonyOS 5.0】DevEco Testing:鸿蒙应用质量保障的终极武器

——全方位测试解决方案与代码实战 一、工具定位与核心能力 DevEco Testing是HarmonyOS官方推出的​​一体化测试平台​​,覆盖应用全生命周期测试需求,主要提供五大核心能力: ​​测试类型​​​​检测目标​​​​关键指标​​功能体验基…...

大数据零基础学习day1之环境准备和大数据初步理解

学习大数据会使用到多台Linux服务器。 一、环境准备 1、VMware 基于VMware构建Linux虚拟机 是大数据从业者或者IT从业者的必备技能之一也是成本低廉的方案 所以VMware虚拟机方案是必须要学习的。 (1)设置网关 打开VMware虚拟机,点击编辑…...

Leetcode 3577. Count the Number of Computer Unlocking Permutations

Leetcode 3577. Count the Number of Computer Unlocking Permutations 1. 解题思路2. 代码实现 题目链接:3577. Count the Number of Computer Unlocking Permutations 1. 解题思路 这一题其实就是一个脑筋急转弯,要想要能够将所有的电脑解锁&#x…...

【HarmonyOS 5 开发速记】如何获取用户信息(头像/昵称/手机号)

1.获取 authorizationCode: 2.利用 authorizationCode 获取 accessToken:文档中心 3.获取手机:文档中心 4.获取昵称头像:文档中心 首先创建 request 若要获取手机号,scope必填 phone,permissions 必填 …...

处理vxe-table 表尾数据是单独一个接口,表格tableData数据更新后,需要点击两下,表尾才是正确的

修改bug思路: 分别把 tabledata 和 表尾相关数据 console.log() 发现 更新数据先后顺序不对 settimeout延迟查询表格接口 ——测试可行 升级↑:async await 等接口返回后再开始下一个接口查询 ________________________________________________________…...

Git常用命令完全指南:从入门到精通

Git常用命令完全指南:从入门到精通 一、基础配置命令 1. 用户信息配置 # 设置全局用户名 git config --global user.name "你的名字"# 设置全局邮箱 git config --global user.email "你的邮箱example.com"# 查看所有配置 git config --list…...

群晖NAS如何在虚拟机创建飞牛NAS

套件中心下载安装Virtual Machine Manager 创建虚拟机 配置虚拟机 飞牛官网下载 https://iso.liveupdate.fnnas.com/x86_64/trim/fnos-0.9.2-863.iso 群晖NAS如何在虚拟机创建飞牛NAS - 个人信息分享...

Python竞赛环境搭建全攻略

Python环境搭建竞赛技术文章大纲 竞赛背景与意义 竞赛的目的与价值Python在竞赛中的应用场景环境搭建对竞赛效率的影响 竞赛环境需求分析 常见竞赛类型(算法、数据分析、机器学习等)不同竞赛对Python版本及库的要求硬件与操作系统的兼容性问题 Pyth…...

Sklearn 机器学习 缺失值处理 获取填充失值的统计值

💖亲爱的技术爱好者们,热烈欢迎来到 Kant2048 的博客!我是 Thomas Kant,很开心能在CSDN上与你们相遇~💖 本博客的精华专栏: 【自动化测试】 【测试经验】 【人工智能】 【Python】 使用 Scikit-learn 处理缺失值并提取填充统计信息的完整指南 在机器学习项目中,数据清…...

在鸿蒙HarmonyOS 5中使用DevEco Studio实现指南针功能

指南针功能是许多位置服务应用的基础功能之一。下面我将详细介绍如何在HarmonyOS 5中使用DevEco Studio实现指南针功能。 1. 开发环境准备 确保已安装DevEco Studio 3.1或更高版本确保项目使用的是HarmonyOS 5.0 SDK在项目的module.json5中配置必要的权限 2. 权限配置 在mo…...