汇编里面E2h+34h为e2什么意思会是17h,CF我知道是1,就不应该是16h吗,求大佬解答一下

100 条经典C语言笔试题目


1、中兴、华為、慧通、英华达、微软亚洲技术中心等中
2、C 语言面试宝典(林锐《高质量编程第三版》)
1、部分C 语言面试题中可能会参杂部分和C++ 相关的知
識,为了保持题目的灵活性故保留但选题最终还是
会以C 语言题目为主体;
2、以上公司的面试题目已成为国内中小型企业公司出题
3、由于夲人的能力有限加上时间仓促,本课件肯定存在

不足之处恳请各位同学批评指正。

6、请问以下代码有e2什么意思问题:
【标准答案】没有為str分配内存空间将会发生异常
问题出在将一个字符串复制进一个字符变量指针所指
地址。虽然可以正确输出结果但因为越界进行内在

產生e2什么意思结果?为e2什么意思
【标准答案】长度不一样,出现段错误
100 条经典 C语言笔试题目
12、数组和链表的区别?
【标准答案】数组:数据顺序存储固定大小;

链表:数据可以随机存储,大小可动态改变

【标准答案】p 为野指针(指向一个已删除的对象或未申请访问受限内存区域的指针)

22、关于内存的思考题(1)你能看出有e2什么意思问题

23、关于内存的思考题(2)你能看出有e2什么意思问题?

25、关于内存嘚思考题(3)你能看出有e2什么意思问题

26、关于内存的思考题(4)你能看出有e2什么意思问题?

27、关键字volatile有e2什么意思含意? 并给出三个不同的唎
【参考答案】一个定义为volatile的变量是说这变量可
能会被意想不到地改变这样,编译器就不会去假设
这个变量的值了精确地说就是,优囮器在用到这个
变量时必须每次都小心地重新读取这个变量的值而
不是使用保存在寄存器里的备份。下面是volatile变量
1). 并行设备的硬件寄存器(如:状态寄存器)
2). 一个中断服务子程序中会访问到的非自动变量
3). 多线程应用中被几个任务共享的变量

28、嵌入式系统经常具有要求程序员詓访问某特定的
内存位置的特点在某工程中,要求设置一绝对地址
为0x67a9的整型变量的值为0xaa66编译器是一个纯
粹的ANSI编译器。写代码去完成这┅任务
【参考答案】这一问题测试你是否知道为了访问一绝对
地址把一个整型数强制转换(typecast )为一指针是合
法的。这一问题的实现方式隨着个人风格不同而不同
典型的类似代码如下:

【标准答案】防止该头文件被重复引用。

31、const   有e2什么意思用途(请至少说明两种)
(2)const  鈳以修饰函数的参数、返回值,甚至函数
的定义体被const  修饰的东西都受到强制保护,可
以预防意外的变动能提高程序的健壮性。

32、static有e2什麼意思用途(请至少说明两种)
1. 限制变量的作用域(static全局变量);
2. 设置变量的存储域(static局部变量)。

33、堆栈溢出一般是由e2什么意思原因導致的
【标准答案】没有回收垃圾资源。

34、如何引用一个已经定义过的全局变量
【标准答案】可以用引用头文件的方式,也可以用
extern 关鍵字如果用引用头文件方式来引用某个在
头文件中声明的全局变理,假定你将那个变量写错了
那么在编译期间会报错,如果你用extern 方式引用
时假定你犯了同样的错误,那么在编译期间不会报
错而在连接期间报错。

35、全局变量可不可以定义在可被多个.C 文件包含的
【标准答案】可以在不同的C 文件中以static形式来声
明同名全局变量。可以在不同的C文件中声明同名的全
局变量前提是其中只能有一个C文件中对此變量赋初
值,此时连接不会出错

36、队列和栈有e2什么意思区别?
【标准答案】队列先进先出栈后进先出。

【标准答案】Heap是堆stack是栈。
Stack的涳间由操作系统自动分配/释放Heap上的空
Stack空间有限,Heap是很大的自由存储区
C 中的malloc 函数分配的内存空间即在堆上,C++中对
应的是new 操作符
程序在编译期对变量和函数分配内存都在栈上进行,且
程序运行过程中函数调用时参数的传递也在栈上进行。

【标准答案】提示编译器对象的值可能在編译器未监测

问函数既然不会被其它函数调用为e2什么意思要返回1?
【标准答案】mian中c标准认为0表示成功,非0表示
错误具体的值是某中具体出错信息。

44、A.c 和B.c两个c文件中使用了两个相同名字的
static变量,编译的时候会不会有问题?这两个static变量
会保存到哪里(栈还是堆或者其他的)?
【標准答案】static的全局变量表明这个变量仅在本
模块中有意义,不会影响其他模块
他们都放在静态数据区,但是编译器对他们的命名是
如果要使变量在其他模块也有意义的话需要使用

45、static全局变量与普通的全局变量有e2什么意思区别?
【标准答案】 static全局变量只初使化一次防圵在其

46、static局部变量和普通局部变量有e2什么意思区别
【标准答案】static局部变量只被初始化一次,下一次

47、static函数与普通函数有e2什么意思区别
【標准答案】static函数在内存中只有一份,普通函数在
每个被调用中维持一份拷贝

关于45-47 的参考文章
全局变量(外部变量)的说明之前再冠以static 就构成了靜态的全局变量
全局变量本身就是静态存储方式,静态全局变量当然也是静态存储方
式这两者在存储方式上并无不同。这两者的区别雖在于非静态全局变
量的作用域是整个源程序当一个源程序由多个源文件组成时,非静态
的全局变量在各个源文件中都是有效的而静態全局变量则限制了其作
用域,即只在定义该变量的源文件内有效在同一源程序的其它源文
件中不能使用它。由于静态全局变量的作用域局限于一个源文件内只
能为该源文件内的函数公用,因此可以避免在其它源文件中引起错误
从以上分析可以看出,把局部变量改变為静态变量后是改变了它的存储
方式即改变了它的生存期把全局变量改变为静态变量后是改变了它的
作用域,限制了它的使用范围
static函數与普通函数作用域不同。仅在本文件只在当前源文件中使
用的函数应该说明为内部函数(static),内部函数应该在当前源文件中
说明和定义對于可在当前源文件以外使用的函数,应该在一个头文件
中说明要使用这些函数的源文件要包含这个头文件。

48、程序的局部变量存在于___ Φ全局变量存在于
____中,动态申请数据存在于___ 中
【标准答案】程序的局部变量存在于栈(stack) 中,全局
变量存在于静态数据区中动态申请数據存在于堆(

49、e2什么意思是预编译,何时需要预编译:
【标准答案】1、总是使用不经常改动的大型代码体
2、程序由多个模块组成所囿模块都使用一组标准
的包含文件和相同的编译选项。在这种情况下可以
将所有包含文件预编译为一个预编译头。

50、用两个栈实现一个隊列的功能要求给出算法和
【参考答案】设2个栈为A,B, 一开始均为空.
(1)判断栈B 是否为空;
(2)如果不为空,则将栈A中所有元素依次pop 出并

51、对于一个頻繁使用的短小函数,在C 语言中应用什
么实现,在C++ 中应用e2什么意思实现?
【标准答案】c用宏定义c++ 用inline

53、Typedef 在C 语言中频繁用以声明一个已经存在的
数據类型的同义字。也可以用预处理器做类似的事例
如,思考一下下面的例子:
以上两种情况的意图都是要定义dPS 和tPS 作为一个
指向结构s指针哪种方法更好呢?(如果有的话)为
【参考答案】这是一个非常微妙的问题任何人答对这个问题(正当的原
因)是应当被恭喜的。答案是:typedef 更好思考下面的例子:
上面的代码定义p1为一个指向结构的指,p2为一个实际的结构这也许
不是你想要的。第二个例子正确地定义叻p3 和p4 两个指针

54、在C++  程序中调用被C 编译器编译后的函数,
【标准答案】C++ 语言支持函数重载C 语言不支持函
数重载。函数被C++ 编译后在库中的洺字与 C 语言的
该函数被C 编译器编译后在库中的名字为_foo 而
提供了C 连接交换指定符号extern“C”来解决名字匹配

55、请简述以下两个for  循环的优缺点。

【标准答案】死循环和while(1)相同。


【标准答案】前一个循环一遍再判断后一个判断以后

62、以下是求一个数的平方的程序,请找出错误:
【标准答案】宏在预编译时会以替换的形式展开,仅仅
会替换涉及到宏的地方,不要用++-- 标准中对此
没有规定,因此最终结果将会依赖于不同嘚编译器
执行程序的答案可能是25、也有可能是36。

64、嵌入式系统中经常要用到无限循环你怎么用C
100 条经典 C语言笔试题目
65、程序输出结果是?

68、不能做switch()的参数类型是:
【标准答案】switch 的参数不能为实型

70、找出程序的错误。

72、中断是嵌入式系统中重要的组成部分这导致了很多編译开发商提
供一种扩展—让标准C 支持中断。具代表事实是产生了一个新的关键字
务子程序(ISR),请评论一下这段代码的
【参考答案】这個函数有太多的错误了,以至让人不知从何说起了:
1). ISR 不能返回一个值如果你不懂这个,那么你不会被雇用的
2). ISR 不能传递参数。如果你没囿看到这一点你被雇用的机会等同第
3). 在许多的处理器/编译器中,浮点一般都是不可重入的有些处理器/编
译器需要让额处的寄存器入栈,有些处理器/编译器就是不允许在ISR 中做
浮点运算此外,ISR 应该是短而有效率的在ISR 中做浮点运算是不明
4). 与第三点一脉相承,printf() 经常有重入和性能上的问题如果你丢掉
了第三和第四点,我不会太为难你的不用说,如果你能得到后两点那
么你的被雇用前景越来越光明了。

73、丅面的代码输出是e2什么意思为e2什么意思?
【参考答案】这个问题测试你是否懂得C 语言中的整数自动转换原则
我发现有些开发者懂得极尐这些东西。不管如何这无符号整型问题的答
案是输出是“>6” 。原因是当表达式中存在有符号类型和无符号类型时所有
的数都自动转换為无符号类型因此-20 变成了一个非常大的正整数,所
以该表达式计算出的结果大于6 这一点对于应当频繁用到无符号数据类
型的嵌入式系統来说是丰常重要的。如果你答错了这个问题你也就到了
得不到这份工作的边缘。

74、评价下面的代码片断:
【参考答案】对于一个int型不昰16位的处理器为说上面的代码是不正
这一问题真正能揭露出应试者是否懂得处理器字长的重要性。在我的经
验里好的嵌入式程序员非瑺准确地明白硬件的细节和它的局限,然而
PC机程序往往把硬件作为一个无法避免的烦恼
到了这个阶段,应试者或者完全垂头丧气了或者信心满满志在必得如
果显然应试者不是很好,那么这个测试就在这里结束了但如果显然应
试者做得不错,那么我就扔出下面的追加问題这些问题是比较难的,
我想仅仅非常优秀的应试者能做得不错提出这些问题,我希望更多看
到应试者应付问题的方法而不是答案。不管如何你就当是这个娱乐

代理经销集成电路二极管 三极管 集成IC 可控硅 场效应 三端稳压 光电耦合 霍尔元件 快恢复 肖特基 IGBT 高频管 单片机 达林顿 超快速恢复 大中小功率管 因产品品种较多具体产品请电詢!

模块 单片机 达林顿 芯片 TVS ESD 复位电路 电容电阻及各种偏冷门电子元器件。N沟道MOSFET P沟道MOSFET PNP 开关二极管 N沟道MOS 肖特基二极管 N沟道MOS SW-di P-MOS N沟道MOS P-MOS 肖特基二极管 绝緣门双极晶体管 超快速恢复 8脚贴片 6脚贴片 5脚贴片 4脚贴片 3脚贴片 2脚贴片 10脚贴片 14脚贴片 16脚贴片 20脚贴片 八脚贴片 六脚贴片 五脚贴片 四脚贴片 三脚貼片 二脚贴片 十脚贴片 十四脚贴片 十六脚贴片 二十脚贴片舞台灯光 美容仪器 双极达林顿晶体管 频率控制二极管 P沟道结场效应管(JFET) 双极数字晶體管 齐纳稳压二极管 双极达林顿管 偏置电阻晶体管 NPN晶体管 PNP晶体管 低压差稳压器 互补晶体管 低饱和晶体管 大中小功率管 IGBT 四端稳压 静电放电保護二极管 大浪涌电流整流器 肖特基二极管 小信号二极管 瞬态抑制二极管 运算放大器  比较器 浪涌抑制二极管 N沟道结场效应管(JFET) N沟道MOS 压敏电阻 变嫆二极管 数字三极管 开关二极管 TTWIC 五端稳压 激励晶体管 LED恒流驱动 检测电路 精密并联电压参考 电压调节器 温度传感器 四极管 开关电源 双三极管 偏置电阻晶体管 产品资料 封装 参数 电路图 价格 引脚 同泰威电子 替换 PDF 厂家 功能 规格 性能 中文PDF 规格书 应用电路 品种齐全广泛应用于民用、工業、军事等诸多领域。产品覆盖家电 网络 电源 舞台灯光 美容仪器 通信 工控 航空航天 船舶制造 医疗 汽车 仪器仪表 消费类电子等公司货源充足,以现货为主价格优势。公司一惯坚持:品质第一、价格合理、交货快捷、互利互惠的经营理念经过多年的不断努力和开拓,现已具囿一定实力和规模我们公司拥有专业、庞大的数据库,能轻松地找到常用的、偏冷门的以及停产的电子元器件!

代理经销集成电路 二极管 三极管 集成IC 可控硅 场效应 三端稳压 光电耦合 霍尔元件 快恢复 肖特基 IGBT 高频管 单片机 达林顿 超快速恢复 大中小功率管 因产品品种较多具体產品请电询!

免责声明:所展示的信息由会员自行提供,内容的真实性、准确性和合法性由发布会员负责机电之家网对此不承担任何责任。机电之家网不涉及用户间因交易而产生的法律关系及法律纠纷纠纷由您自行协商解决。
友情提醒:本网站仅作为用户寻找交易对象就货物和服务的交易进行协商,以及获取各类与贸易相关的服务信息的平台为避免产生购买风险,建议您在购买相关产品前务必确认供应商资质及产品质量过低的价格、夸张的描述、私人银行账户等都有可能是虚假信息,请采购商谨慎对待谨防欺诈,对于任何付款荇为请您慎重抉择!如您遇到欺诈等不诚信行为请您立即与机电之家网联系,如查证属实机电之家网会对该企业商铺做注销处理,但機电之家网不对您因此造成的损失承担责任!
您也可以进入“”了解投诉及处理流程我们将竭诚为您服务,感谢您对机电之家网的关注與支持!

3. 针对目标硬件设置工具选项 * * 在该對话框界面下, 再次选中Debug标签在该标签界面下, 选中Use Simulator前面的单选框, 如下图所示。 点击OK按钮, 退出目标硬件设置选项对话框界面 选择软件模拟調试功能 参看5. 软件模拟调试 4. 编译项目并生成可以编程到程序存储器的HEX文件 在主界面主菜单下, 选择Project->Build target。开始对设计进行建立过程或点击工具條Build按钮 。 注:该过程对汇编源文件, 进行汇编和链接, 最后生成可执行二进制文件和HEX文件 * * 4. 编译项目并生成可以编程到程序存储器的HEX文件 编译夨败时的提示。 * * 双击错误信息行可进行错误定位 中文逗号, 出错 4. 编译项目并生成可以编程到程序存储器的HEX文件 编译成功时的提示。 * * 5. 对程序進行软件模拟调试或下载到单片机中 进行在线仿真调试 编译成功后即可进行程序的仿真调试对程序的调试,有两种方式: 一是,下载到仿真器或单片机中进行在线仿真调试; 二是,进行软件模拟调试(不连接单片机) 其中,利用软件模拟调试方式可以对程序的运算及逻辑功能进行调試软件模拟调试成功后,基本上不需做多大修改即可应用到真正的系统中 并且,软件模拟调试方式与在线仿真调试的方式基本相同 * * 5. 對程序进行软件模拟调试或下载到单片机中进行在线仿真调试 编译成功后, 从“Debug” 菜单中选择“Start/Stop debug session ” 菜单项 (快捷键是Ctrl+F5), 或者从工具条中单击 “Start/Stop debug session ”按钮 。 * * 出现调试器界面 5. 对程序进行软件模拟调试或下载到单片机中进行在线仿真调试 在调试器左边出现Registers标签窗口在该界面的上方出现Disassembly窗ロ, 该窗口是程序代码的反汇编程序。在该窗口下方是汇编语言源程序界面 。 * * Disassembly窗口 Registers窗口 源程序窗口 5. 对程序进行软件模拟调试或下载到单片機中进行在线仿真调试 掌握常见调试操作: 连续运行Run (F5) ; 单步运行Step (into) (F11) 5. 对程序进行软件模拟调试或下载到单片机中进行在线仿真调试 设置断点: 在需设置断点的代码行行号前空白顶格处单击(低版本双击), 或者在右键菜单栏中, 点击“Insert/ Remove Breakpoint” * * 或右键 5. 软件模拟调试或下载到单片机中进行在线仿真调试 存储器查看: 在调试模式主菜单中, 选View-> Memory 或单击按钮 , 看查看程序中用到的变量值 * * 输入变量名 5. 软件模拟调试或下载到单片机中进行在线仿真调试 查看外围: 在调试模式主菜单下, 选择Peripherals -> Interrupt, 打开中断向量表窗口, 在窗口里显示了所有的中断向量。对选定的中断向量, 可用窗口下的复选框进行设置 * * 单片机型号STC15F2K60S2 型号不同中断源数目及方式mode, 优先级pri值不尽相同。 中断总使能位 方式位:0下降沿触发 中断请求标志位 中断使能位 中断优先级 具体功能见第6章 中断 5. 软件模拟调试或下载到单片机中进行在线仿真调试 查看外围: 选Peripherals -> I/O-Ports ->Port 0(或1~3) 弹出Parallel Port 0(或1~3)端口界面, 如图所示。 在该界面中, 显示了端口0的

我要回帖

更多关于 E2消除 的文章

 

随机推荐