C语言———42道自整理面试题

本文整理了42道关于C语言的面试题,涵盖C语言历史、特点、库函数、编译过程、实时性、Makefile、头文件处理、内存管理、指针、函数、数据结构等多个方面,旨在帮助开发者巩固C语言基础知识和面试准备。
摘要由CSDN通过智能技术生成

1、C语言之父?

丹尼斯里奇

 

2、C语言的特点?

具有出色的可移植性,能够在多种不同的体系的软硬件平台运行

具有简单紧凑,使用灵活的语法机制,能够直接访问硬件

运行效率高

 

3、什么是库文件和库函数

库文件:只能使用函数和变量,但是看不见函数和变量的实现

库函数:只能使用函数,但是无法看到实现

 

4、动态库和静态库的区别

静态库:编译速度慢,可执行文件体积大,代码布局好,执行效率高,不易于升级

动态库:编译速度快,可执行文件体积小,代码布局混乱,执行效率不高,易于升级

 

5、什么是硬实时,什么是软实时

硬实时:在规定那个的时间里完成相应的工作,超出时间有很严重的后果

软实时:在规定的时间内完成相应的工作,超出一点时间也没有关系

 

6、Makefile的三要素

目标文件、依赖文件、命令行

 

7、Scanf如何获取空格

输入scanf(“%[^/n]”,s);

 

8、Printf的特点

Printf是行缓冲,满一行才输出。

遇到以下的情况也会输出:

1、遇到的scanf

2、到了函数结束的时候

3、加了\n

 

9、什么时候使用c语言,什么时候使用汇编语言?

汇编语言是低级语言,无法实现较复杂的功能,一般用来硬件的初始化

C语言的高级语言,可以实现较复杂的功能,

 

10、为什么嵌入式系统中选择C语言作为开发语言?

1、操作系统的内核是用C语言来编写的

2、C语言的可移植性好,适应操作系统从一个平台移植到另一个平台

3、操作系统管理者软件和硬件的资源,C语言也是一个可以直接访问硬件的语言,用c语言作为开发语言,能帮助操作系统更好的管理硬件资源

4、C语言的运行效率高,程序运行速度快

 

11、如何避免头文件被重复包含

#ifdef

#define

......

#endif

 

12、Gcc编译程序的过程

预处理:头文件、条件编译、宏替换

编译

汇编

连接

 

13、声明和定义的区别

声明指定了一个变量的标识符,用来描述变量的类型,声明不分配内存空间,可声明多次

定义是对声明的实现或者实例化,定义分配内存空间,只能定义一次

 

14、定义变量的时候遵循什么原则

左右法则

 

15、循环的时候怎么判断for还是while

已知循环的次数用for

不知循环次数的用while

 

16、#inlcude<stdio.h>#include”stdio.h”的区别

<>是在系统目录下找,找不到就报错了

“ ”是先在当前的目录下找,找不到去系统目录下找,找不到就报错

 

17、int *(*

  • 0
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值