C语言测试一

1.什么是预编译,预编译的用处是什么?
  预编译是在编译前进行的(源文件=>预编译=>编译=>链接),它的作用是把宏和预编译头(#开头称为预编译头)进行展开替换。

2.static 关键字的作用

  1. static 为全局变量和函数限制在本文件内使用
  2. static局部变量:生命周期为全局(结束于程序停止运行),但是作用域为局部(只能局部调用),并且只会初始化一次(例如:在函数调用结束后,它不释放仍然保留原值)

3.sizeof 是什么,作用在哪个阶段?
  它是关键字,作用在预编译阶段(关键字的作用域都是在预编译阶段),用于计算对应数据类型占用的内存大小。

4.头文件中的ifndef/define/endif 的作用
  防止重复引用文件。

5.全局变量和局部变量有什么区别?
  全局变量储存在静态数据区(全局区),局部变量在栈中。

6.局部变量能否和全局变量重名?
  能重名,局部会屏蔽全局。同一作用域想要引用同名全局变量?C语言不可以。

7.写出每种数据类型与零值的比较

  1. 不可将布尔变量直接与true、false或者1、0比较
  2. 整型可以用"=="或"!="直接与0比较
  3. 不可将浮点变量用"=="或"!="与任何书比较
  4. 指针变量用"=="或"!="与NULL比较

8.现在需要给银行设计一套存储系统,需要精确到小数点后4位,请问使用什么数据类型,为什么?
  int类型,因为浮点数存在精确度问题。

9.汉字的常用编码方式是什么?采用几字节存储,为什么?
  GBK,2字节;因为汉字超过了1个字节表示的范围,采用2字节存储且最高位为1表示汉字存储方式。

10.如何让局部变量具有全局生命期?

        将其变为静态变量

11.#include<>与#include""的区别

        前者直接从计算机库中找头文件,后者先从项目中找头文件,没找到再去计算机库中

12.队列和栈有什么区别

        队列先进先出,栈先进后出

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值