面试题1:
用find 写出查找/opt/kernel目录下(包括子目录)文件名为Kconfig的命令。
面试题2:
用 Vi 编译器底行命令模式实现字符串替换,把当前文件中的“xiaodai”全部替换成“banzhang”。
面试题3:
变量的声明和定义有什么区别?
面试题4:
sizeof是库函数吗?sizeof 和 strlen 的区别?
面试题5:
链表和数组有什么区别
面试题6:
简述队列和栈的异同
面试题7:
有以下语句: char a=3, b=6, c; c = a^b<<2; 则c的二进制值是_____。
面试题8:
如何打印出当前源文件的文件名以及源文件的当前行号?
面试题9:
假设某个函数的原型为:void foo( int x, int y ); 该函数分别被C编译器和C++编译器编译后在符号库中的名字是什么?
面试题10:
在QT程序中可以调用被C 编译器编译后的函数吗?如果可以怎么实现?
面试题11:
.h头文件中的ifndef/define/endif 的作用?#i nclude<file.h> 与 #include "file.h"的区别?
面试题12:
结构与联合有和区别?
面试题13:
全局变量和局部变量可否同名,他们是否有区别?如果有,是什么区别?
面试题14:
static有什么用途? static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?
面试题15:
什么是预编译,何时需要预编译?
面试题16:
有数组定义int a[2][2]={{1},{2,3}};则a[0][1]的值为多少?
面试题17:
请计算sizeof的值。
char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) =_____ sizeof ( p ) =_____ sizeof ( n ) =_____ void Func ( char str[100]) { 请计算sizeof( str ) = } void *p = malloc( 100 ); 请计算sizeof ( p ) = char *str[]={“Hello”,”HI”, “\x0”}; 请计算: sizeof(str) = sizeof(str[0]) =
面试题18:
头文件中有如下宏定义,
#define DECLARE_TASKLET(name, func, data) \ struct tasklet_struct name = { NULL, 0, ATOMIC_INIT(0), func, data }
.c源文件中有如下语句:
static DECLARE_TASKLET(btn_tasklet, btn_tasklet_func, (unsigned long)&mydata);
请写出预编译后,该语句展开的结果.
面试题19:
写一个程序,以递归方式反序输出一个字符串。如给定字符串“abc”输出“cba ”。
面试题20:
对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法执行效率尽可能地高。
面试题21:
参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?
面试题22:
define宏语句和inline函数有什么区别?
面试题23:
char a[5][4],a的地址为0,问printf(“%d”,a[4]+3)值
面试题24:
编写一个宏,实现判断数组a元素的个数。
面试题25:
.#define DOUBLE(x) x+x ,i = 5*DOUBLE(5); i 是多少?
面试题26:
i++一下代码的输出结果是?
int i = 1; int j = 2; int k = i+++j; cout << k << endl;
面试题27:
下面代码输出是什么?为什么
void foo(void) { unsigned int a = 6; int b = -20; (a+b > 6) puts("> 6") : puts("<= 6"); }
面试题28:
关于动态申请内存的问题
void GetMemory(char *p) { p = (char *)malloc(100); } void Test(void) { char *str = NULL; GetMemory(str); strcpy(str, "hello world"); printf(str); }
请问运行 Test 函数会有什么样的结果?
面试题29:
请问运行 Test 函数会有什么样的结果?
char *GetMemory(void) { char p[] = "hello world"; return p; } void Test(void) { char *str = NULL; str = GetMemory(); printf(str); }
面试题30:
请问运行 Test 函数会有什么样的结果?
void GetMemory2(char **p, int num) { *p = (char *)malloc(num); } void Test(void) { char *str = NULL; GetMemory(&str, 100); strcpy(str, "hello"); printf(str); }
面试题31:
请问运行 Test 函数会有什么样的结果?
void Test(void) { char *str = (char *) malloc(100); strcpy(str, “hello”); free(str); if(str != NULL) { strcpy(str, “world”); printf(str); } }
面试题32:
用预处理指令#define 声明一个常数,用以表明 1 年中有多少秒(忽略闰年问题)
面试题33:
C 语言中结构化程序设计的三种基本控制结构
面试题34:
请说出 const 与#define相比,有何优点?
面试题35:
简述数组与指针的区别?
面试题36:
main 函数执行完毕后,是否可能会再执行一段代码,给出说明?
面试题37:
如果编写一个标准 strlen 函数
面试题38:
如何引用一个已经定义过的全局变量?
面试题39:
do……while 和 while……do 有什么区别?
面试题40:
写一个“标准”宏 MIN
面试题41:
typedef 和 define 有什么区别
面试题42:
Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。
例如,思考一下下面的例子:
#define dPS struct s * typedef struct s * tPS;
以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么?
面试题43:
int (*s[10])(int) 表示的是什么
面试题44:
写出 bool 、int、 float、指针变量与“零值”比较的 if 语句bool 型数据:
面试题45:
请写出以下代码的打印结果
#include<stdio.h> void main( void ) { int a[5]={1,2,3,4,5}; int *ptr=(int *)(&a+1); printf("%d,%d",*(a+1),*(ptr-1)); return; }
面试题46:
设置地址为 0x67a9 的整型变量的值为 0xaa66