面试模拟题1(C语言).doc

上传人:xt****7 文档编号:125298461 上传时间:2020-03-16 格式:DOC 页数:14 大小:32.50KB
返回 下载 相关 举报
面试模拟题1(C语言).doc_第1页
第1页 / 共14页
面试模拟题1(C语言).doc_第2页
第2页 / 共14页
面试模拟题1(C语言).doc_第3页
第3页 / 共14页
面试模拟题1(C语言).doc_第4页
第4页 / 共14页
面试模拟题1(C语言).doc_第5页
第5页 / 共14页
点击查看更多>>
资源描述

《面试模拟题1(C语言).doc》由会员分享,可在线阅读,更多相关《面试模拟题1(C语言).doc(14页珍藏版)》请在金锄头文库上搜索。

1、面试模拟题1 (C)面试题1:用find 写出查找/opt/kernel目录下(包括子目录)文件名为Kconfig的命令。 cd /opt/kernel; find name Kconfig 或 find /opt/kernel name Kconfig 面试题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 只能以结尾为 0的字符作为参数。编译器在编译时就计算出了sizeof

3、的结果,而 strlen 函数必须在运行时才能计算出来,并且sizeof 计算的是数据类型占内存的大小,而 strlen 计算的是字符串实际的长度。数组做 sizeof 的参数不退化,而传递给 strlen 做参数就退化指针了,计算出的是数组中字符串中的实际长度。如: char num10 = “hello”sizeof(num) = 10, 而 strlen(num) = 5;又如:char num = “helloworld”sizeof(num) = 11, strlen(sum) = 10注意:sizeof 是最容易混淆为函数名的操作符。面试题5:链表和数组有什么区别面试题6:简述队列

4、和栈的异同面试题7:有以下语句: char a=3, b=6, c; c = ab2; 则c的二进制值是_。面试题8:如何打印出当前源文件的文件名以及源文件的当前行号?面试题9:假设某个函数的原型为:void foo( int x, int y ); 该函数分别被C编译器和C+编译器编译后在符号库中的名字是什么? 面试题10:在QT程序中可以调用被C 编译器编译后的函数吗?如果可以怎么实现?面试题11:.h头文件中的ifndef/define/endif 的作用?i nclude 与 i nclude file.h的区别?面试题12:结构与联合有和区别?面试题13:全局变量和局部变量可否同名,

5、他们是否有区别?如果有,是什么区别?面试题14:static有什么用途?static全局变量与普通的全局变量有什么区别?static局部变量和普通局部变量有什么区别?static函数与普通函数有什么区别?面试题15:什么是预编译,何时需要预编译?面试题16:有数组定义int a22=1,2,3;则a01的值为多少?。面试题17:请计算sizeof的值charstr=“Hello”;char*p=str;intn=10;请计算sizeof(str)=_sizeof(p)=_sizeof(n)=_voidFunc(charstr100)请计算sizeof(str)=void*p=malloc(10

6、0);请计算sizeof(p)=char*str=“Hello”,”HI”,“x0”;请计算:sizeof(str)=sizeof(str0)=面试题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);请写出预编译后,该语句展开的

7、结果.面试题19:写一个程序,以递归方式反序输出一个字符串。如给定字符串“abc”输出“cba ”。面试题20:对于一个字节(8bit)的无符号整形变量,求二进制表示中“1”的个数,要求算法执行效率尽可能地高。面试题21:参数传递有哪些形式?寄存器和堆栈传递各有什么优缺点?面试题22:Define宏语句和inline函数有什么区别? 面试题23:char a54,a的地址为0,问printf(“%d”,a4+3)值面试题24:编写一个宏,实现判断数组a元素的个数。面试题25:.#define DOUBLE(x) x+x ,i = 5*DOUBLE(5); i 是多少?面试题26:i+一下代码的

8、输出结果是?int i = 1;int j = 2;int k = i+j;cout k 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 = he

9、llo 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 *s

10、tr = (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:如

11、何引用一个已经定义过的全局变量?面试题39:dowhile 和 whiledo 有什么区别?面试题40:写一个“标准”宏 MIN面试题41:typedef 和 define 有什么区别面试题42:Typedef 在C语言中频繁用以声明一个已经存在的数据类型的同义字。也可以用预处理器做类似的事。例如,思考一下下面的例子: #define dPS struct s * typedef struct s * tPS; 以上两种情况的意图都是要定义dPS 和 tPS 作为一个指向结构s指针。哪种方法更好呢?(如果有的话)为什么? 面试题43:int (*s10)(int) 表示的是什么面试题44:写出 bool 、int、 float、指针变量与“零值”比较的 if 语句bool 型数据:面试题45:请写出以下代码的打印结果#includevoid main( void )int a5=1,2,3,4,5;int *ptr=(int *)(&a+1);printf(%d,%d,*(a+1),*(ptr-1);return;面试题46:设置地址为 0x67a9 的整型变量的值为 0xaa66

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 中学教育 > 试题/考题

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号