太原网站建设方案策划win2012 网站建设

bicheng/2026/1/22 15:51:04/文章来源:
太原网站建设方案策划,win2012 网站建设,大学生创新创业项目计划书,如何做网络投票网站面试题1#xff1a;变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义#xff0c;不分配地址的称为声明。一个变量可以在多个地方声明#xff0c;但只能在一个地方定义。加入extern修饰的是变量的声明#xff0c;说明此变量将在文件以外或在文件后面部分定义… 面试题1变量的声明和定义有什么区别 为变量分配地址和存储空间的称为定义不分配地址的称为声明。一个变量可以在多个地方声明但只能在一个地方定义。加入extern修饰的是变量的声明说明此变量将在文件以外或在文件后面部分定义。 说明很多时候一个变量只是声明不分配内存空间知道具体使用时才初始化分配内存空间如外部变量。 面试题2sizeof和strlen的区别 sizeof和strlen有以下区别  sizeof是一个操作符strlen是库函数。  sizeof的参数可以是数据的类型也可以是变量而strlen只能以结尾为‘\0‘的字符串作参数。  编译器在编译时就计算出了sizeof的结果。而strlen函数必须在运行时才能计算出来。并且sizeof计算的是数据类型占内存的大小而strlen计算的是字符串实际的长度。  数组做sizeof的参数不退化传递给strlen就退化为指针了。 注意有些是操作符看起来像是函数而有些函数名看起来又像操作符这类容易混淆的名称一定要加以区分否则遇到数组名这类特殊数据类型作参数时就很容易出错。最容易混淆为函数的操作符就是sizeof。 说明指针是一种普通的变量从访问上没有什么不同于其他变量的特性。其保存的数值是个整型数据和整型变量不同的是这个整型数据指向的是一段内存地址。 面试题3写一个“标准”宏MIN #define min(a,b) ((a)(b)?(a):(b)) 面试题4一个指针可以是volatile吗 可以因为指针和普通变量一样有时也有变化程序的不可控性。常见例子中断服务子程序修改一个指向一个buffer的指针时必须用volatile来修饰这个指针。 面试题5a 和 a 有什么区别 请写出以下代码的打印结果主要目的是考察a和a的区别。 [cpp] view plaincopy #includestdio.h    void main( void )    {         int a[5]{1,2,3,4,5};        int *ptr(int *)(a1);        printf(%d,%d,*(a1),*(ptr-1));         return;    }   输出结果25。 注意数组名a可以作数组的首地址而a是数组的指针。思考将原式的int *ptr(int *)(a1);改为int *ptr(int *)(a1);时输出结果将是什么呢 面试题6简述C、C程序编译的内存分配情况 C、C中内存分配方式可以分为三种 1从静态存储区域分配 内存在程序编译时就已经分配好这块内存在程序的整个运行期间都存在。速度快、不容易出错因为有系统会善后。例如全局变量static变量等。 2在栈上分配 在执行函数时函数内局部变量的存储单元都在栈上创建函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集中效率很高但是分配的内存容量有限。 3从堆上分配 即动态内存分配。程序在运行的时候用malloc或new申请任意大小的内存程序员自己负责在何时用free或delete释放内存。动态内存的生存期由程序员决定使用非常灵活。如果在堆上分配了空间就有责任回收它否则运行的程序会出现内存泄漏另外频繁地分配和释放不同大小的堆空间将会产生堆内碎块。 一个C、C程序编译时内存分为5大存储区堆区、栈区、全局区、文字常量区、程序代码区。 面试题7简述strcpy sprintf与mencpy的区别 三者主要有以下不同之处 1操作对象不同strcpy的两个操作对象均为字符串sprintf的操作源对象可以是多种数据类型目的操作对象是字符串memcpy 的两个对象就是两个任意可操作的内存地址并不限于何种数据类型。 2执行效率不同memcpy最高strcpy次之sprintf的效率最低。 3实现功能不同strcpy主要实现字符串变量间的拷贝sprintf主要实现其他数据类型格式到字符串的转化memcpy主要是内存块间的拷贝。 说明strcpy、sprintf与memcpy都可以实现拷贝的功能但是针对的对象不同根据实际需求来选择合适的函数实现拷贝功能。 面试题8链表与数组的区别 数组和链表有以下几点不同 1存储形式数组是一块连续的空间声明时就要确定长度。链表是一块可不连续的动态空间长度可变每个结点要保存相邻结点指针。 2数据查找数组的线性查找速度快查找操作直接使用偏移地址。链表需要按顺序检索结点效率低。 3数据插入或删除链表可以快速插入和删除结点而数组则可能需要大量数据移动。 4越界问题链表不存在越界问题数组有越界问题。 说明在选择数组或链表数据结构时一定要根据实际需要进行选择。数组便于查询链表便于插入删除。数组节省空间但是长度固定链表虽然变长但是占了更多的存储空间。 面试题9简述队列和栈的异同 队列和栈都是线性存储结构但是两者的插入和删除数据的操作不同队列是“先进先出”栈是“后进先出”。 注意区别栈区和堆区。堆区的存取是“顺序随意”而栈区是“后进先出”。栈由编译器自动分配释放 存放函数的参数值局部变量的值等。其操作方式类似于数据结构中的栈。堆一般由程序员分配释放 若程序员不释放程序结束时可能由OS回收。分配方式类似于链表。 它与本题中的堆和栈是两回事。堆栈只是一种数据结构而堆区和栈区是程序的不同内存存储区域。 面试题10编码实现直接插入排序 直接插入排序编程实现如下 [cpp] view plaincopy #include stdio.h      int main()   {       int i,temp,p;       int array[10]  {2,6,1,9,4,7,5,8,3,0};       printf(Display this array:\n);       for(i0;i10;i)       {           printf(%d ,array[i]);       }              for(i1;i10;i)       {           temp  array[i];           p  i-1;           while(p  0  temp  array[p])           {               array[p1]  array[p];               p--;           }           array[p1]  temp;       }       printf(\n);       printf(After sorting,this array is:\n);       for(i0;i10;i)       {           printf(%d ,array[i]);       }          printf(\n);       return 0;   }   面试题11编码实现冒泡排序 冒泡排序编程实现如下 [cpp] view plaincopy #include stdio.h   #define LEN 10      int main()   {       int a,i,j;       int ARRAY[10]{23,1,4,9,6,17,24,56,98,72};       printf(\n);       printf(Display this array:\n);       for(a0;a10;a)       {           printf(%d ,ARRAY[a]);       }       printf(\n);       for(j0;j10;j)       {              for(i0;iLEN-j-1;i)           {               int temp;               if(ARRAY[i]ARRAY[i1])               {                   tempARRAY[i1];                   ARRAY[i1]ARRAY[i];                   ARRAY[i]temp;               }           }       }       printf(\nAfter sorting,the array is:\n);       for(a0;aLEN;a)       {           printf(%d ,ARRAY[a]);       }       printf(\n);       return 0;      }   面试题12编码实现直接选择排序 选择排序实现代码如下 [cpp] view plaincopy #include stdio.h      int main()   {       int i,j,t;       int array[10]{2,7,1,8,5,9,3,4,0,6};       printf(\nDisplay this array:\n);       for(i0;i10;i)       {           printf(%d ,array[i]);       }       printf(\n);       for(i1;i9;i)       {           int t  i-1;           for(ji;j10;j)           {               if(array[j]array[t])               {                   tj;               }           }           if(t!(i-1))           {               int temp  0;               temparray[i-1];               array[i-1]array[t];               array[t]temp;           }       }       printf(After sorting,this array is:\n);       for(i0;i10;i)       {           printf(%d ,array[i]);       }       printf(\n);       return 0;   }   注对比冒泡排序和选择排序之间的区别 区别在于冒泡算法每次比较如果发现较小的元素在后面就交换两个相邻的元素。而选择排序算法的改进在于先并不急于调换位置先从A[1]开始逐个检查看哪个数最小就记下该数所在的位置P等一躺扫描完毕再把A[P]和A[1]对调这时A[1]到A[10]中最小的数据就换到了最前面的位置 所以选择排序每扫描一遍数组只需要一次真正的交换而冒泡可能需要很多次。比较的次数是一样的。 面试题13typedef和define有什么区别 1用法不同typedef用来定义一种数据类型的别名增强程序的可读性。define主要用来定义常量以及书写复杂使用频繁的宏。 2执行时间不同typedef是编译过程的一部分有类型检查的功能。define是宏定义是预编译的部分其发生在编译之前只是简单的进行字符串的替换不进行类型的检查。 3作用域不同typedef有作用域限定。define不受作用域约束只要是在define声明后的引用都是正确的。 4对指针的操作不同typedef和define定义的指针时有很大的区别。 注意typedef定义是语句因为句尾要加上分号。而define不是语句千万不能在句尾加分号 面试题14关键字const是什么 const用来定义一个只读的变量或对象。主要优点便于类型检查、同宏定义一样可以方便地进行参数的修改和调整、节省空间避免不必要的内存分配、可为函数重载提供参考。 说明const修饰函数参数是一种编程规范的要求便于阅读一看即知这个参数不能被改变实现时不易出错。 面试题15static有什么作用 static在C中主要用于定义全局静态变量、定义局部静态变量、定义静态函数。在C中新增了两种作用定义静态数据成员、静态函数成员。 注意因为static定义的变量分配在静态区所以其定义的变量的默认值为0普通变量的默认值为随机数在定义指针变量时要特别注意。 面试题16extern有什么作用 extern标识的变量或者函数声明其定义在别的文件中提示编译器遇到此变量和函数时在其它模块中寻找其定义。 面试题17简述指针常量与常量指针区别 指针常量是指定义了一个指针这个指针的值只能在定义时初始化其他地方不能改变。其实指针常量是唯一的即NULL常量指针是指定义了一个指针这个指针指向一个只读的对象不能通过常量指针来改变这个对象的值。 指针常量强调的是指针的不可改变性而常量指针强调的是指针对其所指对象的不可改变性。 注意无论是指针常量还是常量指针其最大的用途就是作为函数的形式参数保证实参在被调用函数中的不可改变特性。 面试题18如何避免“野指针” “野指针”产生原因及解决办法如下 1指针变量声明时没有被初始化。解决办法指针声明时初始化可以是具体的地址值也可让它指向NULL。 2指针 p 被 free 或者 delete 之后没有置为 NULL。解决办法指针指向的内存空间被释放后指针应该指向NULL。 3指针操作超越了变量的作用范围。解决办法在变量的作用域结束前释放掉变量的地址空间并且让指针指向NULL。 注意“野指针”的解决方法也是编程规范的基本原则平时使用指针时一定要避免产生“野指针”在使用指针前一定要检验指针的合法性。 面试题19用C编写一个死循环程序 [cpp] view plaincopy while()   {   }   其实还有 [cpp] view plaincopy for(;;)   说明很多种途径都可实现同一种功能但是不同的方法时间和空间占用度不同特别是对于嵌入式软件处理器速度比较慢存储空间较小所以时间和空间优势是选择各种方法的首要考虑条件。面试题20编码实现某一变量某位清0或置1 给定一个整型变量a写两段代码第一个设置a的bit 3第二个清a的bit 3在以上两个操作中要保持其他位不变。 笔者认为在对ARM寄存器操作时会经常用到这一块所以要注意这块 [cpp] view plaincopy #define BIT3 (0x1  3 ) Satic int a;   //设置a的bit 3:    void set_bit3( void )    {          a | BIT3; //将a第3位置1    }   //清a的bit 3    void set_bit3( void )    {       a  ~BIT3; //将a第3位清零    }   说明在置或清变量或寄存器的某一位时一定要注意不要影响其他位。所以用加减法是很难实现的。还有一个就是保留某位 [cpp] view plaincopy //保留第k位   void set_bit3(void)   {       a  BIT3;   }   面试题21a3,b5,不用第三变量temp,对a和b的值进行交换 如果有第三者temp,a和b交换非常方便 [cpp] view plaincopy temp  a;   a  b;   b temp;   若无temp,可以这样做 a a b; b a - b; a a - b; 当然我们可以利用C语言的位运算符 [cpp] view plaincopy a  3;b  5;   a ^ b;   b ^ a;   a ^ b;   原理是a ^ b ^ b a; a ^ b b ^ a; 面试题22宏定义的用法看下面这个程序求出结果 [cpp] view plaincopy #include stdio.h   #define S(a,b) a*b      int main(void)   {   int n  3;   int m  5;   printf(%d,S(nm,mn));      return 0;   }   这道题容易出现的错误结果是64得到这个结果肯定是这样理解的35*53。其实并不是大家要理解宏定义的概念宏定义只是简单的符号替换而不做其他处理所以这里得到的结果是 35*5331. 大家看看运行结果 [cpp] view plaincopy fsubuntu:~/qiang/hanshu$ gcc -o 1 1.c   fsubuntu:~/qiang/hanshu$ ./1   31   要想得到正确结果应该怎么样呢应该这样改define s(a,b) (a)*(b),这样才是正确结果 [cpp] view plaincopy fsubuntu:~/qiang/hanshu$ gcc -o 1 1.c   fsubuntu:~/qiang/hanshu$ ./1   64   大家记住这句话宏定义只是简单的符号替换 面试题23 C语言中运算对象必须是整型数的运算符的有 A、%      B、/      C、%和/      D、* 答案A 取余对象必须是整数型 面试题25 以下程序执行的结果是__ [cpp] view plaincopy #include stdio.h]   #define N  2   #define M  N1   #define NUM  (M1)*M/2   main()   {   pritf(%d,NUM);   }   A、5   B、6  C、8   D、9 答案C 注意宏定义的使用此处NUM 31*21/2 为8

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

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

相关文章

沈阳模板建站哪家好wordpress simplicity

“Ah ha,发现你了!”你的经理突然从桌子后面的假花旁冒出来,发出胜利的叫声。你沮丧地转过头看着经理。 “我已经创建了一个基本报表,并抓取了一些数据,我正打算-”你在他打断你之前快速的解释着。 “赶紧做完就好,大B…

织梦多语言网站网站架构教程

正题 题目链接:https://www.luogu.com.cn/problem/P3327 题目大意 TTT组询问给出n,mn,mn,m,d(x)d(x)d(x)表示xxx的约数个数,求∑i1n∑j1md(i∗j)\sum_{i1}^n\sum_{j1}^md(i*j)i1∑n​j1∑m​d(i∗j) 解题思路 对于iii和jjj的两个约数a,ba,ba,b如果他们…

成品网站 售卖建筑设计师要学什么专业

软件实例,物流货运配货单打印模板软件单据打印查询管理系统软件教程,可以同时打印标签或补打 一、前言 以下软件教程以 佳易王物流单打印查询系统V17.1为例说明 软件文件下载可以点击最下方官网卡片——软件下载——试用版软件下载 这个版本在原来基…

摄影网站app怎么做网络运营

国际荐酒师(香港)协会亮相第六届知交会暨地博会,助力中欧地理标志产品交流合作 12月9日,第六届粤港澳大湾区知识产权交易博览会暨国际地理标志产品交易博览会(以下简称“第六届知交会暨地博会”)在中新广州…

购物网站seo相亲网站用什么做的

患者在就诊之前一直使用的二甲双胍和达格列净这两种降糖药物,这两种药对于控制血糖是有一定效果的。北京崇文门医院朱学敏主任的建议是继续服用,然后患者空腹血糖在7-8mmol/L左右,餐后血糖稍高,达到9-10mmol/L,但总体上…

获取网站访客qq代码亿网

C后端开发之Sylar学习三:VSCode连接Ubuntu配置Gitee 为了记录学习的过程,学习Sylar时写的代码统一提交到Gitee仓库中。 Ubuntu配置Gitee 安装git sudo apt-get install -y git配置用户名和邮箱 git config --global user.name 用户名 …

js网站繁体如何自己设计装修效果图

文章目录 什么是 NVMe?什么是固态硬盘?为什么 NVMe 很重要?NVMe、SAS 和 SATA 之间的区别只有SSD运行在NVMe上PCIe和NVMe有关系,但它们不是同一个东西NVMe-oF连接SSD到网络NVMe 的工作原理是什么?NVMe SSD 外形尺寸M.2…

资质做网站需要用到什么郑州企业网站建设团队

😁 作者简介:一名大四的学生,致力学习前端开发技术 ⭐️个人主页:夜宵饽饽的主页 ❔ 系列专栏:JavaScript进阶指南 👐学习格言:成功不是终点,失败也并非末日,最重要的是继…

php做的购物网站代码专门做网站制作的公司

动态规划:有很多重叠子问题,每一个状态一定是由上一个状态推导出来的 贪心:没有状态推导,而是从局部直接选最优的 动规五步曲: 确定dp数组(dp table)以及下标的含义 确定递推公式(容…

做平台网站一般有php还是js南阳市网站建设

🏡浩泽学编程:个人主页 🔥 推荐专栏:《深入浅出SpringBoot》《java项目分享》 《RabbitMQ》《Spring》《SpringMVC》 🛸学无止境,不骄不躁,知行合一 文章目录 前言一、SpringBoot…

无锡高端网站设计公司网站进入沙盒后

上次小伍带大家看了部分机房的照片,并且简单介绍了一下电梯能量回馈装置,小伙伴们表示很新奇,没看够,今天小伍又来了,带大家看一下电梯能量回馈装置到底安装在电梯什么位置。跟着小伍去看看吧。Lets go! 电…

夫妻找做伙食饭工作哪个网站好四川网站建设费用

5G智能制造纺织工厂数字孪生可视化平台,推进纺织行业数字化转型。纺织工业作为传统制造业的重要组成部分,面临着转型升级的紧迫需求。随着5G技术的快速发展,智能制造成为纺织工业转型升级的重要方向。数字孪生可视化平台作为智能制造的核心技…

宝安网站建设方案外包制作相册app

基础数据结构 ngx_int_t 32位操作系统4字节,64位操作系统8字节 解决跨平台以及,普通int类型在x86和x64操作系统上面是4字节,在类型转换时造成内存浪费(如在x64下面转换long类型) typedef intptr_t ngx_int_t;#ifdef _WIN64 typedef __int64 intptr_t; #else typedef _…

国际外贸网站推广二维码制作生成器

MyBatis 支持一对一,一对多,多对多查询。XML 文件和注解都能实现关系的操作。多对多实质就是一对多 1. 表关系的维护 1.1 One一对一 一对一查询和多表(两表)查询很相似, 都能查询两表的全部属性 区别是一对一可以在对象中嵌套对象, 呈现包含关系; 多表…

企业网站系统官网网站 添加备案号

[html] 前端需要注意哪些SEO? 合理的title,description,keyswords 搜索引擎对这三项的权重逐个减小,title 值强调重点即可,重要的关键词出现不要超过两次,而且要靠前。2 、不同页面的tilte要有所不同;desc…

有个人做网站的吗云南旅游网站建设公司

《[含文档PPT源码等]精品Nodejs实现的校园疫情防控管理系统的设计与实现[包运行成功]》该项目含有源码、文档、PPT、配套开发软件、软件安装教程、项目发布教程、包运行成功! 软件开发环境及开发工具: 操作系统:Windows 10、Windows 7、Win…

贸易网站源码中国最好的网络营销公司

Chrony 是一款开源的网络时间协议(NTP)客户端和服务端软件,旨在提供高精度的时间同步功能。相较于传统的 NTP 实现如 ntpd,Chrony 提供了一些改进和优势,包括更快的同步速度、低延迟、低CPU占用和低内存消耗。以下是 Chrony 的几个关键特性和…

网站建设经理岗位职责网页设计公司企业文化怎么写

【引言】 HarmonyOS中加载网络图片常用的方法是直接给Image组件添加图片的网络地址,申请网络权限ohos.permission.INTERNET后就可以通过url加载对应的图片了,如HarmonyOS官网中的写法: Image(https://www.example.com/example.JPG) 【问题概…

胡芦娃app软件下载网站服装电子商务网站有哪些

1、Go 1.3之前的标记-清除(mark and sweep)算法 Go 1.3之前的时候主要用的是普通的标记-清除算法,此算法主要由两个主要的步骤: 标记(Mark phase)清除(Sweep phase) 1&#xff09…

网站系统建设预算网站优化应该怎么做

服务认证基础考试大纲(第1版) 1.总则 本大纲依据 CCAA《服务认证审查员注册准则》制定,适用于拟向CCAA申请注册服务认证审查员级别的人员。 2.考试要求 2.1考试科目 申请注册服务认证审查员级别的人员,需通过“服务认证基础”…