手机版

c语言常见笔试题及答案(4)

发布时间:2021-06-07   来源:未知    
字号:

c语言常见笔试题及答案

9. 两段代码共存于一个文件,编译时有选择的编译其中的一部分,请问如何实现? 答案:有两种简单的办法可以实现:

在源码中使用条件编译语句,然后在程序文件中定义宏的形式来选择需

要的编译代码。

在源码中使用条件编译语句,然后在编译命令的命令中加入宏定义命令

来实现选择编译。

10.数据结构指针传给函数,函数能访问数据单元,但不能修改实际的内容,如何实现? 答案:定义为指向常量的指针,这样指针所指的数据结构中的内容就不会被改变。如: const 类型 *p 或 类型 const *p

11. 在头文件中定义静态变量,可能产生什么问题?

答案:在使用了该头文件的每个c程序文件中都单独存在一个该静态变量,这样造成空间的浪费并且很容易引起错误。因此建议不要在头文件中定义任何变量。

12.malloc()与 calloc()的区别?

答案:

1)参数上的区别

malloc (size_t size);

calloc (size_t n , size_t size);

malloc分配一块size大小的内存块,而calloc分配一个n*size大小的内存块

2)返回内存块的状态不同

malloc分配的内存块没有被清零,而calloc分配的内存块是清了零的。但是建议在使用内存时,如果需要初始化,则最好自己按照需要来进行初试化,不要依赖函数的实现说明。

13.寄存器变量可不可以访问其地址?可否是全局变量?在什么场合使用寄存器变量? 答案:这些问题都与编译器的实现有关,建议不要声明全局变量为寄存器变量,即使是局部变量都最好不要声明其为寄存器变量,现在的编译器在优化时都会较为合理的安排寄存器变量的使用,而人为的安排有时会造成优化的低效。

14."\n" '\n' 的区别?

答案:前者是一个字符串并且以’/0’结束,而后者只是一个简单的字符。

15.包含预定义头文件< > 和" "的区别?

答案:< >只在指定的目录里寻找被包含文件;" "先在当前目录下查找 ,再在指定目录下查找;通常<>方式用于系统的头文件,而一般用户的头文件用" "的方式。

16.strunt S_A{

int a[10];

};

void f()

{

int i;

strunt S_A *s_ptr;

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

c语言常见笔试题及答案(4).doc 将本文的Word文档下载到电脑,方便复制、编辑、收藏和打印
×
二维码
× 游客快捷下载通道(下载后可以自由复制和排版)
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
VIP包月下载
特价:29 元/月 原价:99元
低至 0.3 元/份 每月下载150
全站内容免费自由复制
注:下载文档有可能出现无法下载或内容有问题,请联系客服协助您处理。
× 常见问题(客服时间:周一到周五 9:30-18:00)