基础-笔试题2

1、int a[10]={1,2,3,4,5,6,7,8,9,0};

   int *p=&a[1];
   则p[6]等于_

        答:8 ,考察数组和指针的基本用法;

2、整数数组清零的方法?
        bzero(),memset()。

        memset() 是C语言标准库中的一部分,用于将内存区域设置为特定的值。包括0;

        bzero()用于将内存区域设置为零;

3、sizeof();测试变量所占地址的字节数

// 问sizeof(A) = ?
struct A
{
    char t:4; 
    char k:4;
    unsigned short i:8;
    unsigned long m;
};
【标准答案】8

// 求sizeof(name1)?
struct name1{
     char str;
	short x; int num;
};

【标准答案】8

// 求sizeof(name2)?    
struct name2{ 
    char str;
    int num; 
    short x;
};
【标准答案】12

4、输出下方程序结果(考查数组偏移)

main() {   char *str[]={"ab","cd","ef","gh","ij","kl"};  
 char *t; 
  t=(str+4)[-1]; 
  printf("%s",t); 
 }则显示__
答:"gh"

5、小端:低位字节数据存储在低地址大端:高位字节数据存储在低地址

例如:int a=0x12345678;(a首地址为0x2000) 大端格式如下:
 0x2000  0x2001  0x2002  0x2003 
  0x12     0x34      0x56      0x78     

6、异步IO和同步IO区别

 如果是同步IO,当一个IO操作执行时,应用程序必须等待,直到此IO执行完,相反,异步IO操作在后台运行,
 IO操作和应用程序可以同时运行,提高系统性能,提高IO流量; 在同步文件IO中,线程启动一个IO操作然后就立即进入等待状态,直到IO操作完成后才醒来继续执行,而异步文件IO中,
 线程发送一个IO请求到内核,然后继续处理其他事情,内核完成IO请求后,将会通知线程IO操作完成了。

7、输出下方程序输出结果(强转)

int foo(void)
{
       int i;
       char c=0x80;
        i=c;
       if(i>0)
           return 1;
       return 2;
}返回值__
答:为2;因为i=c=-128;如果c=0x7f,则i=c=127。

8、 对下方的计算改为效率最高的算法

a=b*2; a=b/4; a=b%8 ;  a=b/8*8+b%4;  a=b*15; 

答: a=b*2 -> a=b<<1;
 a=b/4 -> a=b>>2;
 a=b%8 -> a=b&7;
 a=b/8*8+b%4 -> a=((b>>3)<<3)+(b&3)
 a=b*15 -> a=(b<<4)-b

9、写出几个常用的c关键字(往往考应届生居多)

 c的关键字共32个
 *数据类型关键字(12)
 char,short,int,long,float,double,unsigned,signed,union,enum,void,struct
 *控制语句关键字(12)
 if,else,switch,case,default,for,do,while,break,continue,goto,return
 *存储类关键字(5)
 auto,extern,register,static,const
 *其他关键字(3)
 sizeof,typedef,volatile

10、输出下方程序结果(考查赋值语法)

int main() {
  int j=2;
  int i=1;
  if(i = 1) j=3;
  if(i = 2) j=5;
  printf("%d",j);
 } 则 输出__
答: 输出为5;如果再加上if(i=3)j=6;则输出6。不是==号;if条件执行结果是非0

11、Norflash与Nandflash的区别

 (1)、NAND闪存的容量比较大;NorFlash采用并行结构;每个存储单元都有一个独立的地址线,支持随机访问,适用于执行代码和数据存储。(Nor-音“nuo”-挪的快)
        而NandFlash则采用串行结构,数据以页的形式进行读写,不支持随机访问,更适用于大规模存储和数据传输。(nand-音“难”-不支持随机访问-存储仓库-f'we的困
所以:
 (2)在读写速度上,NorFlash的读取速度较快,可以快速执行代码和加载数据,适用于实时性要求较高的应用。而NandFlash的写入速度则相对较快,但读取速度略慢于NorFlash,因此更适合对实时性要求不高的大容量数据存储。

可靠性方面,NorFlash的擦写次数相对较低,为10万次,因此不适合频繁擦写。相比之下,NandFlash的擦写次数达到了100万次,表现出更高的耐用性。成本也更低

 (3)、由于NandFlash没有挂接在地址总线上,所以如果想用NandFlash作为系统的启动盘,就需要CPU具备特殊的功能, 如s3c2410在被选择为NandFlash启动方式时会在上电时自动读取NandFlash的4k数据到地址0的SRAM中

12、区分原码、反码、补码的区别

反码:对原码除符号位外的其余各位逐位取反就是反码 
补码:负数的补码就是对反码加1
 正数的原码、反码、补码都一样

13、pthread线程的相关函数,信号的函数。

我一个同行告诉我,他去顺某丰面试linux岗位的时候,有面到这个题目:

答:

pthread_t tid;
pthread_create(&tid,NULL,pthread_func,NULL);//创建线程
 pthread_join(tid,NULL);                                   //等待子线程结束,并回收资源
 pthread_detach(tid);                                       //与当前进程分离
 pthread_exit(NULL);//退出调用线程
 pthread_cancel(tid);//取消线程
 pthread_mutex mutex=PTHREAD_MUTEX_INITIALIZER;
 pthread_mutex_init(&mutex,NULL);//初始化一个互斥锁
 pthread_mutex_lock(&mutex);//对互斥锁上锁
 pthread_mutex_unlock(&mutex);//对互斥锁解锁
 sem_t sem;
 sem_init(&sem,0,1);//创建信号量并初始化它的值
 sem_wait(&sem);//信号量的值减1
 sem_post(&sem);//信号量的值加1

14、内存管理MMU的作用

  *内存分配和回收
  *内存保护
  *内存扩充
  *地址映射 

  1. 虚拟地址映射到物理地址:MMU负责将程序的逻辑地址(虚拟地址)转换为内存中的物理地址。这种地址映射机制使得程序能够在比实际物理内存大得多的虚拟内存空间中运行,从而提高了内存的利用率。
  2. 内存保护:MMU可以确保多个进程在各自分配到的内存区域内操作,互不干扰。这通过为每段特定的内存区块设置访问权限来实现,如只读、只写或可读写。这样的内存保护机制有助于防止一个进程破坏其他进程的信息,增强了系统的稳定性和安全性。
  3. 内存扩充:MMU通过提供比实际物理内存大得多的虚拟地址空间,实现了内存的扩充。这使得程序能够运行比处理器实际物理内存多很多的内存空间,提高了系统的整体性能。
  4. 物理地址访问权限管理(分配回收:MMU可以管理物理地址的访问权限,包括读、写等操作的权限设置。这有助于防止未授权的内存访问,从而保护系统的安全性。
  5. Cache缓存控制:MMU还负责cache缓存控制,例如决定物理页是否允许缓存等。这有助于优化内存访问的性能,提高系统的响应速度。

总的来说,MMU通过其地址映射、内存保护、内存扩充、物理地址访问权限管理和缓存控制等功能,为操作系统和处理器提供了强大的内存管理支持,使得系统能够更高效地利用内存资源,提高系统的稳定性和性能。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

leetcode刷题日记之串联所有单词

题目描述 解题思路 一开始考虑的就是暴力破解&#xff0c;每次切片切words中字母的个数&#xff0c;然后根据每个词语的长度进行进一步的切片&#xff0c;将切出来的单词放入列表&#xff0c;然后每次对比一次&#xff0c;如果存在&#xff0c;就从原来的列表中&#xff0c;删…

LeetCode Python - 58. 最后一个单词的长度

目录 题目描述解法运行结果 题目描述 给你一个字符串 s&#xff0c;由若干单词组成&#xff0c;单词前后用一些空格字符隔开。返回字符串中 最后一个 单词的长度。 单词 是指仅由字母组成、不包含任何空格字符的最大子字符串。 示例 1&#xff1a; 输入&#xff1a;s “Hel…

Leet code 34 在排序数组中查找元素的第一个和最后一个位置

解题思路 二分查找 核心就是 先找到左端点的位置 再找到右端点的位置 二分查找整体不难 但难在细节处理 一旦处理不好就是死循环 定义rightnums.size()-1 left0 if(nums[mid] < target) 更新 left leftmid1 if(nums[mid] > target) 这里为什么要大于等于我们不…

idea error java:compilation failed:internal java compiler error

idea中编译运行maven项目报错如下 idea error java:compilation failed:internal java compiler error 尝试如下操作 注意&#xff1a;jdk8 需要设置4个地方 1.首先打开File->Project Structure中的Project&#xff0c;将SDK和language level都设置一致&#xff0c;如下…

【LeetCode热题100】148. 排序链表(链表)

一.题目要求 给你链表的头结点 head &#xff0c;请将其按 升序 排列并返回 排序后的链表 。 二.题目难度 中等 三.输入样例 示例 1&#xff1a; 输入&#xff1a;head [4,2,1,3] 输出&#xff1a;[1,2,3,4] 示例 2&#xff1a; 输入&#xff1a;head [-1,5,3,4,0] 输…

日期与时间(Java)

文章目录 日期与时间&#xff08;Java&#xff09;一、JDK8之前的1.1 Date1.2 SimpleDateFormat1.3 Calendar 二、 JDK8之后的2.1 LocalDate、LocalTime和LocalDateTime2.2 ZoneId和ZonedDateTime2.3 Instant2.4 DateTimeFormatter2.4 Period和 Duration &#x1f389;写在最后…

数据结构:详解【链表】的实现(单向链表+双向链表)

目录 一&#xff0c;前言二 &#xff0c;有关链表的概念&#xff0c;结构和分类三&#xff0c;无头单向非循环链表&#xff08;单链表&#xff09;1.单链表的功能2.单链表功能的实现3.完整代码 四&#xff0c;带头双向循环链表&#xff08;双链表&#xff09;1.单链表与双链表的…

YOLOv9改进策略:注意力机制 | 归一化的注意力模块(NAM)

&#x1f4a1;&#x1f4a1;&#x1f4a1;本文改进内容&#xff1a; NAM作为一种高效且轻量级的注意力机制。采用了CBAM的模块集成并重新设计了通道和空间注意子模块。 yolov9-c-NAMAttention summary: 965 layers, 51000614 parameters, 51000582 gradients, 238.9 GFLOPs 改…

Java基础 - 9 - 集合进阶(二)

一. Collection的其他相关知识 1.1 可变参数 可变参数就是一种特殊形参&#xff0c;定义在方法、构造器的形参列表里&#xff0c;格式是&#xff1a;数据类型…参数名称; 可变参数的特点和好处 特点&#xff1a;可以不传数据给它&#xff1b;可以传一个或者同时传多个数据给…

html中如何让网页禁用右键禁止查看源代码

在网页中&#xff0c;辛辛苦苦写的文章&#xff0c;被别人复制粘贴给盗用去另很多站长感到非常无奈&#xff0c;通常大家复制都会使用选取右键复制&#xff0c;或CTRLC等方式&#xff0c;下面介绍几种禁止鼠标右键代码&#xff0c;可减少网页上文章被抄袭的几率&#xff0c;当然…

Day38:安全开发-JavaEE应用SpringBoot框架MyBatis注入Thymeleaf模版注入

目录 SpringBoot-Web应用-路由响应 SpringBoot-数据库应用-Mybatis SpringBoot-模版引擎-Thymeleaf 思维导图 Java知识点 功能&#xff1a;数据库操作&#xff0c;文件操作&#xff0c;序列化数据&#xff0c;身份验证&#xff0c;框架开发&#xff0c;第三方库使用等. 框架…

PyTorch学习笔记之激活函数篇(二)

文章目录 2、Tanh函数2.1 公式2.2 对应的图像2.3 对应生成图像代码2.4 优点与不足2.5 torch.tanh()函数 2、Tanh函数 2.1 公式 Tanh函数的公式&#xff1a; f ( x ) e x − e − x e x e − x f(x)\frac{e^x-e^{-x}}{e^xe^{-x}} f(x)exe−xex−e−x​ Tanh函数的导函数&am…

idea找不到或无法加载主类

前言 今天在运行项目的时候突然出了这样一个错误&#xff1a;IDEA 错误 找不到或无法加载主类,相信只要是用过IDEA的朋友都 遇到过它吧&#xff0c;但是每次遇到都是一顿焦头烂额、抓耳挠腮、急赤白咧&#xff01;咋整呢&#xff1f;听我给你吹~ 瞧我这张嘴~ 问题报错 找不…

C++之类(持续更新)

1、类的基础知识点 1.1、类和对象 和C中的结构体不同&#xff0c;在C类中不仅可以定义变量&#xff0c;也可以定义函数。【在C结构体中也可以定义变量和函数&#xff0c;但是一般情况下都使用类】。 类的成员属性默认都是private&#xff1b;结构体的成员属性默认都是public。…

利用express从0到1搭建后端服务

目录 步骤一&#xff1a;安装开发工具步骤二&#xff1a;安装插件步骤三&#xff1a;安装nodejs步骤四&#xff1a;搭建启动入口文件步骤五&#xff1a;启动服务器总结 在日常工作中&#xff0c;有很多重复和繁琐的事务是可以利用软件进行提效的。但每个行业又有自己的特点&…

特殊文件——属性文件、XML文件

目录 特殊文件 ——属性文件、XML文件 特殊文件的作用 需要掌握的知识点 Properties文件 ​编辑 构造器与方法​编辑 使用Properties 把键值对数据写出到属性文件中 ​编辑 XML文件​编辑 XML文件的作用和应用场景 解析XML文件 使用Dom4J框架解析出XML文件——下载…

EXCEL+PYTHON学习3

1&#xff09; 遍历一个SHEET&#xff0c;无非就是两个循环&#xff0c;rows属性是取得所有行。 fn data3_16.xlsx wb openpyxl.load_workbook(fn) ws wb.active for row in ws.rows:for cell in row:print(cell.value, end )print() 2&#xff09; 返回工作表的最小行数…

TCP/IP协议栈

TCP/IP协议栈&#xff08;Transmission Control Protocol/Internet Protocol Suite&#xff09;是互联网上进行数据通信的一系列网络协议的集合&#xff0c;它是现代计算机网络通信的基础架构。 它由多个不同的协议层构成&#xff0c;每层负责不同层面的数据处理和传输工作&…

PyQt5使用

安装Pyqt5信号与槽使用可视化界面编辑UI (Pyside2)ui生成之后的使用(两种方法)1 ui转化为py文件 进行import2 动态调用UI文件 安装Pyqt5 pip install pyqt5-tools这时候我们使用纯代码实现一个简单的界面 from PyQt5.QtWidgets import QApplication, QMainWindow, QPushButto…

LabVIEW湍流等离子体束热效率优化

LabVIEW湍流等离子体束热效率优化 利用LabVIEW虚拟仪器技术&#xff0c;对湍流等离子体束的热效率进行了实时监测与优化&#xff0c;提高其在材料处理领域的应用效率和精度。通过双进气湍流等离子体发生器&#xff0c;实现了在不同工作参数下对热效率的实时在线监测&#xff0…
最新文章