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

面试题 相关文章推荐
开发中都用到了那些设计模式?用在什么场合?
Aug 21 面试题
C++是不是类型安全的
Feb 18 面试题
为数据库创建索引都需要注意些什么
Jul 17 面试题
网络安全方面的面试题
Nov 04 面试题
维德科技C#面试题笔试题
Dec 09 面试题
C#如何进行LDAP用户校验
Nov 21 面试题
一套C#面试题
Oct 09 面试题
linux面试题参考答案(8)
Apr 19 面试题
易程科技软件测试笔试
Mar 24 面试题
MYSQL支持事务吗
Aug 09 面试题
int和Integer有什么区别
May 25 面试题
Java面试笔试题大全
Nov 23 面试题
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和ACCESS写聊天室(二)
2006/10/09 PHP
Zend framework处理一个http请求的流程分析
2010/02/08 PHP
删除无限分类并同时删除它下面的所有子分类的方法
2010/08/08 PHP
多个PHP中文字符串截取函数
2013/11/12 PHP
PHP分享图片的生成方法
2018/04/25 PHP
鼠标右击事件代码(asp.net后台)
2011/01/27 Javascript
JS获取后台Cookies值的小例子
2013/03/04 Javascript
JavaScript实现cookie的写入、读取、删除功能
2015/11/05 Javascript
javascript的列表切换【实现代码】
2016/05/03 Javascript
js实现开启密码大写提示
2016/12/21 Javascript
vue-router 导航钩子的具体使用方法
2017/08/31 Javascript
详解webpack编译多页面vue项目的配置问题
2017/12/11 Javascript
浅析vue-router jquery和params传参(接收参数)$router $route的区别
2018/08/03 jQuery
vue项目使用axios发送请求让ajax请求头部携带cookie的方法
2018/09/26 Javascript
vue 详情跳转至列表页实现列表页缓存
2019/03/27 Javascript
初学vue出现空格警告的原因及其解决方案
2019/10/31 Javascript
vue element table中自定义一些input的验证操作
2020/07/18 Javascript
解决vue中的无限循环问题
2020/07/27 Javascript
vue 在服务器端直接修改请求的接口地址
2020/12/19 Vue.js
[56:57]LGD vs VP 2019DOTA2国际邀请赛淘汰赛 胜者组赛BO3 第一场 8.20.mp4
2019/08/22 DOTA
Python多线程学习资料
2012/12/19 Python
Python代码太长换行的实现
2019/07/05 Python
pycharm中leetcode插件使用图文详解
2020/12/07 Python
AmazeUI在模态框中嵌入表单形成模态输入框
2020/08/20 HTML / CSS
一套SQL笔试题
2016/08/14 面试题
Python里面如何拷贝一个对象
2014/02/17 面试题
4s客服专员岗位职责
2013/12/01 职场文书
个人租房协议书
2014/04/09 职场文书
硕士生找工作求职信
2014/07/05 职场文书
承诺书模板
2014/08/30 职场文书
慈善捐赠倡议书
2014/08/30 职场文书
学习心理学的体会
2014/11/07 职场文书
2015年中秋晚会主持词
2015/07/01 职场文书
会议营销主持词
2015/07/03 职场文书
Mysql InnoDB 的内存逻辑架构
2022/05/06 MySQL
win11怎么消除图标小盾牌?win11消除图标小盾牌解决方法
2022/08/05 数码科技