C语言笔试一
来源:互联网 发布:nfc扫描身份证软件 编辑:程序博客网 时间:2024/04/26 22:08
1、局部变量能否和全局变量重名?
答:能,局部变量会屏蔽全局变量,要使用全局变量需要加“::”
全局变量全部存放在静态存储区存放的是需要占用固定存储单元的变量动态存储区存放函数的形参、自动变量
未加static声明的局部变量、函数调用实参的现场保护和返回地址。
2、如何引用一个已经定义过的全局变量?
答:可以采用关键字extern或引用头文件。
3、全局变量可不可以定义在可被多个.C文件包含的头文件中?为什么?
答:可以,在不同的C文件中以static形式来声明同名全局变量。
4、语句for( ;1 ;)有什么问题它是什么意思?
答:无限循环;和while(1)功能相同。
5、do……while和while……do有什么区别?
答:前一个是循环一遍再判断;后一个是先判断再循环。
6、用两个栈实现一个队列的功能?要求给出算法和思路?
答:设两个栈A和B,开始均为空
入队:将新元素push进栈A
出队:(1)判断B是否为空。(2)如果不为空,将栈A中的所有元素依次pop出并push进栈B。
(3)将栈B的栈顶元素pop出,实现队列功能。
7、软件测试都有那些种类?
答:黑盒:针对系统功能的测试 。 白合:测试函数功能和各函数接口。
8、 要对绝对地址0x100000赋值?要是想让程序跳转到绝对地址是0x100000去执行应该怎么做?
答:(1)可以用(unsigned int*)0x100000 = 1234。强制类型转换,转换成指针类型。
(2)方法一:首先要将0x100000强制转换成函数指针,即: (void (*)())0x100000
然后再调用它: *((void (*)())0x100000)();
方法二:用typedef可以看得更直观些: typedef void(*)() voidFuncPtr;
*((voidFuncPtr)0x100000)()。
9、已知一个数组table,用一个宏定义求出数据的元素个数?
答:#define NTBL
#define NTBL (sizeof(table)/sizeof(table[0]))
10、 线程与进程的区别和联系? 线程是否具有相同的堆栈?
答: 进程是死的,只是一些资源的集合;真正的程序执行都是线程来完成的,程序启动的时候操作系统就帮你创建了一个主线程。
每个线程有自己的堆栈。
- c语言笔试一
- C语言笔试一
- C语言笔试题目(一)
- C语言笔试系列一
- C语言经典笔试题(一)
- C语言经典笔试题(一)
- C语言笔试练习(一)
- zz C语言常见笔试题大全(一)
- 习题一——C语言笔试题
- 校招【 笔试面试 】准备之C语言 基础知识一
- C语言笔试题
- C语言笔试题
- 华为笔试c语言
- C语言笔试大全
- C语言笔试题
- c语言笔试题
- C语言笔试题目
- 华为-C语言-笔试
- php链接数据库类
- 尾递归优化
- GitHub基础
- 第十二周十进制转二进制
- 延长FLASH和EEPROM芯片写入次数的小方法
- C语言笔试一
- 最短路径的算法的学习
- 如何设计一款低成本的计算机载板- 第二部分
- 第十四周项目一(4)数组大折腾
- Java json(com.google.gson)
- Jquery-zTree的基本用法
- C#获取指定路径下的文件信息
- Android小知识(1)
- jQuery实现展示效果