C语言必知必会的题目整理

C语言问题整理

1.C语言之父是谁?

2.C语言和UNIX有什么区别

3.C语言特点哪些?

4.丹尼斯为什么写C语言?

5.为什么嵌入式开发中选择C语言作为开发语言?

6.什么是可移植性?

7.什么可以成为移植性好?

8.能够直接访问硬件的还有什么语言?与C语言有什么区别?

9.什么时候用C语言?什么时候用汇编?

10.C语言的标准有哪些?

11.C语言的标准之间的差别在哪里?

12.gcc遵循的什么标准?

13.什么是数据类型?

14.数据类型有哪些?

15.如何定义变量

16.隐式类型转化和强制类型转化分别是什么?

17.基本数据类型分别是占据多少字节?

18.char型数据类型的取值范围

19.sizeof与strlen的区别

20.解释原码、反码、补码

21.什么是变量?说明一下变量的特点

22.解释int num = 5

23.声明和定义的区别?

24.全局变量和局部变量的区别

25.请说明Linux进程虚拟地址空间分配情况

26.请说明scanf使用注意事项

27.请编程实现将十进制转化为二进制

28.请编程实现将十进制转化十六进制

29.请分别说明一维数组名、二维数组名、三维数组名的含义

30.什么是野指针?

31.如何避免野指针?

32.什么是内存泄漏?

33.导致内存泄漏的原因有哪些?

34.动态分配内存:malloc、realloc、calloc使用、区别,如何实现(实现原理)?注意事项?

35.请说明字符串的意义

36.请编程实现字符串处理函数:strlen、strcmp、strcpy、strcat、strncmp、strncpy、strchr、strstr、strtok、memset、memcpy、bzero,并说明其功能

37.请说明strcpy和memspy的区别

38.请说明指针与数组的区别?

39.请说明函数的特点?

40.什么是回调函数?

41.函数的三要素分别是?

42.什么是传入参数?什么传出参数?

43.什么时候传变量的地址

44.如何返回多个值?

45.请说明return 与exit的区别

46.请说明return 0的作用

47.请说明共用体的特点

48.请利用共用体编程实现判断机器的大小端

49.请说明枚举的作用

50.请说明枚举和宏定义的区别

51.什么是幻数?如何避免幻数?

52.宏定义和自定义函数的区别?

53.如何解决头文件重复包含带来的问题

54.请说明#include<>和#include“”的区别

55.请说明静态库和动态库的区别以及各自的特点

56.请说明register关键字的作用?使用注意事项?什么时候使用?

57.请说明static关键字的作用?使用注意事项?什么时候使用?

58.请说明extern关键字的作用

59.请说明const关键字的作用?使用注意事项?以及为什么叫做只读变量

60.请说明typedef的作用?以及如何使用?

61.请说明typedef与define的区别

62.请说明volatile作用?使用注意事项?

63.你的数据保存在哪里?

64.内存分配的方式有哪些?

65.常见的内存错误有哪些?并如何解决这些错误?

66.如何调试内存错误?

67.如何提高代码的可读性?

68.如何提高代码的复用性?

69.如何提高代码的扩展性?

70.如何用面向结构实现面向对象思想?

你可能感兴趣的:(面试笔试题,unix,c语言,嵌入式开发,移植,内存)