三正科技笔试题

(15题,45分钟,闭卷)

一、( 8 分 )请问以下程序输出什么结果?

char *getStr(void) 。

char p[] = "hellow world"; return p;

void test(void)

char *str = NULL; str = getStr(); printf("%s", str);

不会正确输出,可能会段错误。

二、( 5 分 )test2 函数有问题吗?如果有, 请指出问题出在什么地方并给出正确答案。

void test2()

char string[10], str[10];

int i;

for(i = 0; i < 10; i++)

str[i] ='a';

strcpy(string, str);

for(i = 0; i < 9; i++)

……

Str[9] = ‘\0’

……

没有\0结尾会导致strcpy无法结束。

三、(5分)用预处理指令#define声明一个常数,用以表明一年中有多少秒。(忽略闰年问题)

#define SECONDS_PER_YEAR (365 * 24 * 60 * 60)

四、( 5分 )写一个“标准”宏MIN , 这个宏输入两个参数并返回较小的—个。

#define MIN(a, b) (((a) < (b)) ? (a) : (b))

五、( 8分 )你怎么样用 C 编写死循环呢?

While(1)

六、( 10分 )用变量 a 给出下面的定义 :

1、一个整型数 ;int a;

2、一个指向整型数的指针 ;int *a;

3、一个指向指针的指针,它指向的指针是指向一个整型数;int **a;

4、一个有 10 个整型数的数组;int a[10];

5、一个有 10 个指针的数组,该指针是指向一个整型数的;int *a[10];

6、一个指向有 10 个整型数数组的指针;int (*a)[10];

7、一个指向函数的指针,该函数有一个整型数参数并返回一个整数;int (*a)(int);

8、一个有 10 个指针的数组 ,该指针指向一个函数,该函数有一个整型参数并返回一个整型数。int (*a[10])(int);

七、( 5分 )关键字 static 的作用是什么?

Static意为静态变量,用于控制变量的作用域和生命周期,主要应用于变量和函数。

修饰外部变量或函数时可以限定当前变量的作用域为当前文件,在函数内部定义时会延长变量的生命周期。该变量只会在第一次进入作用域时被初始化,并且在整个程序的执行过程中保持其值。

八、( 10 分 )关键字 const 有什么含意?

const用于声明常量,即一旦初始化后就不能再被修改的变量。它可以应用于多种类型的数据,包括基本类型、指针和复合类型等。用于函数形参时可以确保函数不会修改其值,用于类中的函数时该函数不能修改类中的变量。

下面的声明都是什么意思?

1)const int a;

2)int const a;

3)const int *a;

4)int *const a;

5)int const *a const;

九、( 5 分 )下面的代码输出是什么?为什么?

void foo(void)

  unsigned int a = 6;

    int b = -20;

    (a - b > 6) ? puts(">6") : puts("<=6");

 }

(a – b)是无符号数无论如何都是正数,而且非常大。所以>6

十、( 5 分 )动态分配内存可能发生的问题是什么?

内存泄漏:分配了内存但没有适时释放,导致程序占用的内存不断增加。

野指针:指向已经释放的内存的指针。使用野指针可能导致程序崩溃或未定义行为。

包括但不限于使用已释放的内存、重复释放同一内存块等。

内存越界:访问数组或其他数据结构时超出其实际大小,可能会破坏其他数据或导致程序崩溃。

分配失败:动态内存分配请求失败(如malloc返回NULL),而程序没有妥善处理这种情况。

内存碎片:多次分配与释放导致内存分割成小段,难以找到足够的连续内存空间来满足新的分配请求

十一、( 5 分 )volatile 这个关键字的作用是什么?

volatile 是易变的,volatile 的作用:

  1. 防止优化: 编译器在优化代码时可能会假设某些变量的值不会在两次访问之间发生变化。使用 volatile 关键字可以禁止这种优化,确保每次访问变量时都从内存中读取最新的值,而不是使用寄存器中缓存的值。
  2. 用于硬件交互: 在嵌入式系统或操作系统编程中,volatile 通常用于那些可能被硬件改变的变量,例如硬件寄存器、中断服务例程中的变量等。这样可以确保程序总是读取到最新的值。
  3. 应用于多线程环境: 在多线程环境中,volatile 可以用来标记那些可能被其他线程修改的变量。虽然 volatile 不能替代线程同步机制(如互斥锁),但它可以确保变量的可见性。

十二、( 8 分 )请写出下面的程序的输出结果 :

#include<stdio.h>

int main()

int a = 10, b, c, d;

b = a++;

c = ++a;

d=10*(++a);

printf(" b : %d ,c : %d , d :%d", b , c, d);

return 0;

}

b : 10 ,c : 12 , d :130

十三、(8分)进程之间进行通信的方式有几种,它们分别是什么?

管道,信号,消息队列,共享内存,信号量集,套接字等

十四、(5分)进程和线程的区别是什么?

进程是操作系统进行资源分配的基本单位,每个进程都有独立的内存空间和资源。进程之间的通信通常需要使用IPC机制。

线程是进程内的一个执行单元,同一进程内的线程共享资源。线程之间的通信相对简单,可以直接访问共享数据。创建和销毁线程的开销比进程小,上下文切换也更快。

十五、(8分)请列举四种位运算符,并说明它们一般用于什么地方。

算术运算符用于数学运算

关系运算符用于判断大小等

逻辑运算符用于与或非运算

位运算符用于二进制操作移位等等

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

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

相关文章

Ps:OpenColorIO 设置

Ps菜单&#xff1a;编辑/OpenColorIO 设置 Edit/OpenColorIO Settings 在专业的图像编辑和色彩管理工作流程中&#xff0c;准确的色彩呈现和转换至关重要。OpenColorIO&#xff08;OCIO&#xff09; 是一种开源的色彩管理框架&#xff0c;广泛应用于影视、动画和视觉特效行业。…

如何抓取某大学网站专业录取分数

当我们在浏览器中浏览网页时&#xff0c;网页上显示的数据实际上已经被加载到浏览器内存中&#xff0c;只是以一种可视化的方式呈现出来。那么是否有一种简便的方法可以将这些数据从网页中提取出来&#xff0c;并保存为表格格式呢&#xff1f; 这是某大学的专业分数录取情况数…

举例理解LSM-Tree,LSM-Tree和B+Tree的比较

写操作 write1&#xff1a;WAL 把操作同步到磁盘中WAL做备份&#xff08;追加写、性能极高&#xff09; write2&#xff1a;Memtable 完成WAL后将(k,v)数据写入内存中的Memtable&#xff0c;Memtable的数据结构一般是跳表或者红黑树 内存内采用这种数据结构一方面支持内存…

JAVA开源项目 微服务在线教育系统 计算机毕业设计

博主说明&#xff1a;本文项目编号 T 060 &#xff0c;文末自助获取源码 \color{red}{T060&#xff0c;文末自助获取源码} T060&#xff0c;文末自助获取源码 目录 一、系统介绍二、演示录屏三、启动教程四、功能截图五、文案资料5.1 选题背景5.2 国内外研究现状5.3 可行性分析…

深入浅出《钉钉AI》产品体验报告

1. 引言 随着人工智能技术的迅猛发展&#xff0c;企业协同办公领域迎来了新的变革。钉钉作为阿里巴巴集团旗下的企业级通讯与协同办公平台&#xff0c;推出了钉钉AI助理&#xff0c;旨在提高工作效率&#xff0c;优化用户体验。本报告将对钉钉AI助理进行全面的产品体验分析&am…

揭开基础动销方案的神秘面纱

在如今竞争激烈的市场大环境下&#xff0c;产品实现有效动销可谓是企业生存发展的关键所在。而基础动销方案&#xff0c;正是推动产品销售的重要利器。 基础动销方案到底是什么呢&#xff1f;它指的是企业为促进产品销售&#xff0c;运用一系列营销手段和策略&#xff0c;提升产…

YOLO v5 Series - Image Comparison

图像相似度 Image Similarity 图片差异度 Image Dissimilaritypuzzle-diff pacman -S autoconf automake base-devel libtool pacman -S mingw-w64-x86_64-libgdautogen /opt/admin/libpuzzle>./configure configure: loading site script /etc/config.site che…

sqli—labs靶场 5-8关 (每日4关练习)持续更新!!!

Less-5 上来先进行查看是否有注入点&#xff0c;判断闭合方式&#xff0c;查询数据列数&#xff0c;用union联合注入查看回显位&#xff0c;发现到这一步的时候&#xff0c;和前四道题不太一样了&#xff0c;竟然没有回显位&#xff1f;&#xff1f;&#xff1f; 我们看一下源…

InnoDB引擎

6.1 逻辑存储结构 InnoDB的逻辑存储结构如下图所示: 6.2 架构 6.2.1 概述 MySQL5.5 版本开始&#xff0c;默认使用InnoDB存储引擎&#xff0c;它擅长事务处理&#xff0c;具有崩溃恢复特性&#xff0c;在日常开发中使用非常广泛。下面是InnoDB架构图&#xff0c;左侧为内存结…

C#与C++交互开发系列(二十二):跨进程通信之使用基于HTTP协议的REST风格的API

1. 前言 REST API&#xff08;Representational State Transfer Application Programming Interface&#xff09;是一种基于HTTP协议的通信方式&#xff0c;广泛用于网络服务和分布式应用程序之间的通信。通过REST API&#xff0c;可以让C#和C应用程序进行跨进程、甚至跨平台的…

想让三维模型与实时视频融合?这款软件值得一试

视频融合&#xff0c;是指将视频数据投影到地理特征表面&#xff0c;并通过相应姿态参数控制投影效果的一种三维展示方式&#xff0c;实现了三维模型与实时视频的融合。 四维轻云是一款轻量化的地理空间数据管理云平台&#xff0c;支持地理空间数据的在线管理、编辑以及分享。…

汉化版WinHex和CFF Explorer下载及程序脱壳后修复,重建引入表,修改程序PE文件(附下载链接)

前言 现有一个加壳程序&#xff0c;要求对程序脱壳&#xff0c;需要修复脱壳后的程序 使用PEiD查壳&#xff0c;显示为NsPack 1.4 -> Liuxingping [Overlay] * 先定位程序的OEP&#xff0c;使用od打开程序&#xff0c;看到有压入栈的操作 进行查找&#xff0c;查找命令序列…

STM32F407简单驱动步进电机(标准库)

配置 单片机型号&#xff1a;STM32F104ZGT6 步进电机&#xff1a;YK28HB40-01A 驱动器&#xff1a;YKD2204M-Plus 接线方式&#xff1a; pu&#xff1a;接对应的产生PWM的引脚&#xff0c;这里接PF9&#xff0c;对应TIM14_CH1通道&#xff01; pu-&#xff1a;接单片机的G…

linux-DNS解析

dns解析 dns&#xff1a;域名系统&#xff0c;将域名和ip地址互相映射的一个分布式的数据库&#xff0c;方便用户访问互联网。 ip地址&#xff1a;是所有设备和网站在互联网上的唯一地址&#xff0c;通信一定是ip和ip之间的通信。 dns解析&#xff1a;根据域名在互联网当中找…

光伏电站容量计算方法科普

光伏电站的容量计算是设计和评估光伏系统性能的关键步骤。通过了解光伏电站的容量&#xff0c;我们可以预估其发电量&#xff0c;优化系统设计&#xff0c;并确保系统能满足电力需求。本文将详细介绍几种常见的光伏电站容量计算方法&#xff0c;并特别介绍小程序“光伏一点通”…

采集opc da 转 profinet IO项目案例

目录 1 案例说明 1 2 VFBOX网关工作原理 1 3 应用条件 2 4 查看OPC DA服务器的相关参数 2 5 配置网关采集opc da数据 4 6 用profinet IO协议转发数据 6 7 在服务器上运行仰科OPC DA采集软件 9 8 案例总结 11 1 案例说明 在OPC DA服务器上运行OPC DA client软件查看OPC DA服务…

循环矩阵和BCCB矩阵与向量乘积的快速计算——矩阵向量乘积与频域乘积之间的转换

目录 循环矩阵循环矩阵的定义特征值与特征向量循环矩阵的对角化 循环矩阵与向量的乘积 BCCB矩阵BCCB矩阵的定义BCCB矩阵的对角化BCCB 矩阵与向量的乘积BCCB 矩阵与向量乘积的实现 总结 循环矩阵&#xff08;Circulant Matrix&#xff09;和块循环对称矩阵&#xff08;Block Cir…

(动画版)排序算法 -希尔排序

文章目录 1. 希尔排序&#xff08;Shellsort&#xff09;1.1 简介1.2 希尔排序的步骤1.3 希尔排序的C实现1.4 时间复杂度1.5 空间复杂度1.6 希尔排序动画 1. 希尔排序&#xff08;Shellsort&#xff09; 1.1 简介 希尔排序&#xff08;Shells Sort&#xff09;&#xff0c;又…

蓝桥杯每日真题 - 第7天

题目&#xff1a;&#xff08;爬山&#xff09; 题目描述&#xff08;X届 C&C B组X题&#xff09; 解题思路&#xff1a; 前缀和构造&#xff1a;为了高效地计算子数组的和&#xff0c;我们可以先构造前缀和数组 a&#xff0c;其中 a[i] 表示从第 1 个元素到第 i 个元素的…

socketcan-goloang

模拟接收 模拟发送 package mainimport ("context""fmt""go.einride.tech/can""go.einride.tech/can/pkg/candevice""go.einride.tech/can/pkg/socketcan" )func main() {// linux系统设置// sudo ip link add dev can0 ty…