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...

面试题 相关文章推荐
PHP面试题及答案一
Jun 18 面试题
说说你所熟悉或听说过的j2ee中的几种常用模式?及对设计模式的一些看法
May 24 面试题
C语言基础笔试题
Apr 27 面试题
Oracle中delete,truncate和drop的区别
May 05 面试题
3个CCIE对一个工程师的面试题
May 06 面试题
金士达面试非笔试
Mar 14 面试题
简述Linux文件系统通过i节点把文件的逻辑结构和物理结构转换的工作过程
Apr 17 面试题
Shell编程面试题
May 29 面试题
Linux机考试题
Oct 16 面试题
为什么要做架构设计
Jul 08 面试题
Prototype如何为一个Ajax添加一个参数
Dec 06 面试题
如何将一个描述日期或日期/时间的字符串转换为一个Date对象
Oct 13 面试题
C语言笔试题
Sep 04 #面试题
求网格中的黑点分布
Nov 06 #面试题
用C语言实现文件读写操作
Oct 27 #面试题
网络、C以及其他硬件方面的面试题
Aug 23 #面试题
随机分配座位,共50个学生,使学号相邻的同学座位不能相邻
Jan 18 #面试题
编写用C语言实现的求n阶阶乘问题的递归算法
Oct 21 #面试题
C语言笔试题回忆
Apr 02 #面试题
You might like
PHP使用Redis长连接的方法详解
2018/02/12 PHP
js网页中的(运行代码)功能实现思路
2013/02/04 Javascript
js正则匹配出所有图片及图片地址src的方法
2015/06/08 Javascript
很实用的js选项卡切换效果
2016/08/12 Javascript
前端面试题及答案整理(二)
2016/08/26 Javascript
js实现上下左右弹框划出效果
2017/03/08 Javascript
Vue 单文件中的数据传递示例
2017/03/21 Javascript
vue2.0中click点击当前li实现动态切换class
2017/06/21 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
vue项目中使用百度地图的方法
2018/06/08 Javascript
Webpack devServer中的 proxy 实现跨域的解决
2018/06/15 Javascript
JavaScript实现shuffle数组洗牌操作示例
2019/01/03 Javascript
最简单的vue消息提示全局组件的方法
2019/06/16 Javascript
利用JavaScript的Map提升性能的方法详解
2019/08/14 Javascript
快速对接payjq的个人微信支付接口过程解析
2019/08/15 Javascript
Python MD5文件生成码
2009/01/12 Python
tensorflow实现加载mnist数据集
2018/09/08 Python
python 实现批量xls文件转csv文件的方法
2018/10/23 Python
python 使用turtule绘制递归图形(螺旋、二叉树、谢尔宾斯基三角形)
2019/05/30 Python
如何通过python画loss曲线的方法
2019/06/26 Python
python argparser的具体使用
2019/11/10 Python
selenium+python配置chrome浏览器的选项的实现
2020/03/18 Python
使用CSS3来绘制一个月食图案
2015/07/18 HTML / CSS
原装进口全世界:天猫国际
2016/08/03 全球购物
来自圣地亚哥的实惠太阳镜:Knockaround
2018/08/27 全球购物
JDO的含义
2012/11/17 面试题
本科生详细的自我评价
2013/09/19 职场文书
奶茶店创业计划书范文
2014/01/17 职场文书
工作表现自我评价
2014/02/08 职场文书
小学生竞选班长演讲稿
2014/04/24 职场文书
体育比赛口号
2014/06/09 职场文书
公司2015年终工作总结
2015/05/26 职场文书
2015年秋季运动会前导词
2015/07/20 职场文书
优秀团员主要事迹材料
2015/11/05 职场文书
2019中小学生安全过暑期倡议书
2019/06/24 职场文书
JavaScript原始值与包装对象的详细介绍
2021/05/11 Javascript