c语言常见笔试题总结


Posted in 面试题 onSeptember 05, 2016
【1 使用宏】
1.1
#ifdef NDEBUG
#define TRACE(S) S
#else
#define TRACE(S) printf(“%s;\n”, #S); S
#endif
问:以上TRACE()宏的作用是什么?
1.2 #error的作用?
1.3 定义一个宏,求出给定数组中的元素的个数
#define NELEMENTS(array) ??
1.4 定义一个宏,求出给定结构中给定成员的偏移量
#define OFFSET(structure, member) ??

【2 数据声明和定义】
给定以下类型的变量a的定义式:
a) An integer
b) A pointer to an integer
c) A pointer to a pointer to an integer
d) An array of 10 integers
e) An array of 10 pointers to integers
f) A pointer to an array of 10 integers
g) A pointer to a function that takes an integer as an argument and returns an integer
h) An array of ten pointers to functions that take an integer argument and return an integer
【3 复杂类型(1)】
有如下表达式:

char (*(*x())[])();
请用文字描述x是什么。

【4 复杂类型(2)】
jmp_buf的定义:
typedef struct _jmp_buf
{
REG_SET reg;
int extra[3];
} jmp_buf[1];
setjmp函数的原型:
extern int setjmp (jmp_buf __env);
问:调用setjmp时传递__env的内容,还是传递指针?

【5 头文件】
问:为什么标准头文件都有类似以下的结构?
#ifndef __INCvxWorksh
#define __INCvxWorksh
#ifdef __cplusplus
extern “C” {
#endif
/*…*/
#ifdef __cplusplus
}
#endif
#endif /* __INCvxWorksh */
【6 static关键字】
请说出static关键字的3种用处:
(1)用于全局变量;
(2)用于局部变量;
(3)用于函数。
/* file.c */
static int a;
int b;
static int fn()
{
static int x;
int y;
}

【7 const关键字】
7.1 const关键字的意义是什么?
7.2 解释以下的变量定义:
const int a1;
int const a2;
const int *a3;
int * const a4;
int const * const a5;
【8 volatile关键字】
8.1 volatile意义?例如
volatile int *p;
8.2 volatile能和const一起使用吗?例如
volatile const int *p;
【9 sizeof()】
有以下定义:
char *pmsg = “A”;
char msg[] = “A”;
char ch = ‘A’;
问:
sizeof(pmsg) = ?
sizeof(msg) = ?
sizeof(“A”) = ?
sizeof(ch) = ?
sizeof(‘A’) = ? (在C++中等于多少?)
void f(char param[100])
{
// sizeof(param) = ?
}
【10 字符串】
有以下代码
char *pmsg = “hello, world!”;
strcpy(pmsg, “hi, there.”);
试评论该代码。

【11 混合运算】
有以下代码:
void foo()
{
unsigned int a = 6;
int b = -20;
(a+b > 6) ? puts(“> 6″) : puts(” }
请问调用foo()的输出?
【12 内存访问】
有以下代码:
void fn()
{
int a[100];
int *p;
p = (int *)((unsigned int)a + 1);
printf(“p=0x%x\n”, *p);
}
试评论以上代码。
【13 C库函数】
请说明以下函数的意义:
void perror(const char *__s);
fdprintf(int, const char *, …);
isspace(), isxdigit(), strerr(), sprintf()

Tags in this post...

面试题 相关文章推荐
10条PHP编程习惯
May 26 面试题
PHP经典面试题
Sep 03 面试题
什么是Deployment descriptors;都有什么类型的部署描述符
Jul 28 面试题
NET程序员上机面试题
May 23 面试题
.NET概念性的面试题
Feb 29 面试题
铭立家具面试题
Dec 06 面试题
介绍一下write命令
Aug 10 面试题
Linux管理员面试题 Linux admin interview questions
Jul 08 面试题
linux面试题参考答案(11)
Nov 26 面试题
解决方案设计综合面试题
Aug 31 面试题
Java语言程序设计测试题改错题部分
Jul 22 面试题
什么是servlet
May 08 面试题
C语言笔试题
Sep 04 #面试题
求网格中的黑点分布
Nov 06 #面试题
用C语言实现文件读写操作
Oct 27 #面试题
网络、C以及其他硬件方面的面试题
Aug 23 #面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
Jan 18 #面试题
编写用C语言实现的求n阶阶乘问题的递归算法
Oct 21 #面试题
C语言笔试题回忆
Apr 02 #面试题
You might like
在任意字符集下正常显示网页的方法一
2007/04/01 PHP
如何使用php判断所处服务器操作系统的类型
2013/06/20 PHP
基于laravel制作APP接口(API)
2016/03/15 PHP
joomla组件开发入门教程
2016/05/04 PHP
jQuery实现自动滚动到页面顶端的方法
2015/05/22 Javascript
JavaScript面对国际化编程时的一些建议
2015/06/24 Javascript
基于JQuery和CSS3实现仿Apple TV海报背景视觉差特效源码分享
2015/09/21 Javascript
详解AngularJS验证、过滤器、指令
2017/01/04 Javascript
深入nodejs中流(stream)的理解
2017/03/27 NodeJs
VUE2.0+Element-UI+Echarts封装的组件实例
2018/03/02 Javascript
js实现指定时间倒计时效果
2019/08/26 Javascript
Vue表单控件数据绑定方法详解
2020/02/05 Javascript
vue实现虚拟列表功能的代码
2020/07/28 Javascript
vue动画—通过钩子函数实现半场动画操作
2020/08/09 Javascript
[03:46]显微镜下的DOTA2第七期——满血与残血
2014/06/20 DOTA
[51:17]Mski vs VGJ.S Supermajor小组赛C组 BO3 第三场 6.3
2018/06/04 DOTA
详解Python的迭代器、生成器以及相关的itertools包
2015/04/02 Python
初步解析Python下的多进程编程
2015/04/28 Python
python实现将html表格转换成CSV文件的方法
2015/06/28 Python
使用python语言,比较两个字符串是否相同的实例
2018/06/29 Python
Python numpy中矩阵的基本用法汇总
2019/02/12 Python
Python使用dict.fromkeys()快速生成一个字典示例
2019/04/24 Python
python移位运算的实现
2019/07/15 Python
Win10 安装PyCharm2019.1.1(图文教程)
2019/09/29 Python
浅析Python+OpenCV使用摄像头追踪人脸面部血液变化实现脉搏评估
2019/10/17 Python
Scrapy框架介绍之Puppeteer渲染的使用
2020/06/19 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
Jeep牧马人、切诺基和自由人零配件:4 Wheel Drive Hardware
2017/07/02 全球购物
复古服装:RetroStage
2019/05/10 全球购物
植树节标语
2014/06/27 职场文书
田径运动会通讯稿
2014/09/13 职场文书
幼儿园中班教师个人工作总结
2015/02/06 职场文书
七年级之开学家长寄语35句
2019/09/05 职场文书
MySQL基础(一)
2021/04/05 MySQL
使用Golang的channel交叉打印两个数组的操作
2021/04/29 Golang
Redis如何使用乐观锁(CAS)保证数据一致性
2022/03/25 Redis