资源描述:
《面试模拟题1(C语言).doc》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、面试模拟题1(C)面试题1:用find写出查找/opt/kernel目录下(包括子目录)文件名为Kconfig的命令。cd/opt/kernel;find–nameKconfig或find/opt/kernel–nameKconfig面试题2:用Vi编译器底行命令模式实现字符串替换,把当前文件中的“xiaodai”全部替换成“banzhang”。%s/xiaodai/banzhang/g面试题3:变量的声明和定义有什么区别?答:变量的定义:为变量分配地址和存储空间,只在一个地方定义变量的声明:不为变量分配地址,可以在多个地方声明,加入extern修饰的变量的声明,
2、说明此变量将在文件以外被定义。很多时候一个变量,只是声明不分配内存空间,直到具体使用时才初始化,分配内存空间,如外部变量。面试题4:sizeof是库函数吗?sizeof和strlen的区别?sizeof不是库函数,sizeof是计算变量类型的大小,即占存储区多少个字节;而strlen是计算字符串字面值的实际长度,如字符串“hello”,它的长度是5,则strlen(“hello”)=5;sizeof是一个操作符,strlen是库函数sizeof的参数可以是数据的类型,也可以是变量,而strlen只能以结尾为‘ ’的字符作为参数。编译器在编译时就计算出了sizeo
3、f的结果,而strlen函数必须在运行时才能计算出来,并且sizeof计算的是数据类型占内存的大小,而strlen计算的是字符串实际的长度。数组做sizeof的参数不退化,而传递给strlen做参数就退化指针了,计算出的是数组中字符串中的实际长度。如:charnum[10]=“hello”sizeof(num)=10,而strlen(num)=5;又如:charnum[]=“helloworld”sizeof(num)=11,strlen(sum)=10注意:sizeof是最容易混淆为函数名的操作符。面试题5:链表和数组有什么区别面试题6:简述队列和栈的异同面试题
4、7:有以下语句:chara=3,b=6,c;c=a^b<<2;则c的二进制值是_____。面试题8:如何打印出当前源文件的文件名以及源文件的当前行号?面试题9:假设某个函数的原型为:voidfoo(intx,inty);该函数分别被C编译器和C++编译器编译后在符号库中的名字是什么?面试题10:在QT程序中可以调用被C编译器编译后的函数吗?如果可以怎么实现?面试题11:.h头文件中的ifndef/define/endif的作用?#include与#include"file.h"的区别?面试题12:结构与联合有和区别?面试题13:全局变量和局部变量可
5、否同名,他们是否有区别?如果有,是什么区别? 面试题14:static有什么用途? static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?面试题15:什么是预编译,何时需要预编译?面试题16:有数组定义inta[2][2]={{1},{2,3}};则a[0][1]的值为多少?。面试题17:请计算sizeof的值char str[] = “Hello” ;char *p = str ;int n = 10;请计算sizeof (str ) =_____sizeof
6、( 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:头文件中有如下宏定义,#defineDECLARE_TASKLET(name,func,data)structtasklet_structname={NULL,0,ATOMI
7、C_INIT(0),func,data}.c源文件中有如下语句,staticDECLARE_TASKLET(btn_tasklet,btn_tasklet_func,(unsignedlong)&mydata);请写出预编译后,该语句展开的结果.面试题19:写一个程序,以递归方式反序输出一个字符串。如给定字符串“abc”输出“cba”。面试题20:对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法执行效率尽可能地高。面试题21:参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?面试题22:Define宏语句和inline函数有什么区别
8、?面试题2