2022年C语言经典笔试面试题.docx
《2022年C语言经典笔试面试题.docx》由会员分享,可在线阅读,更多相关《2022年C语言经典笔试面试题.docx(13页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆1、Static 作用:限制变量的作用域;设置变量的储备域;1 在函数体,一个被声明为静态的变量在这一函数被调用过程中维护其值不变;2 在模块内(但在函数体外),一个被声明为静态的变量可以被模块内所用函数拜访,但不能被模块外其它函数拜访;它是一个本地的全局变量;3 在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用;那就是,这个函数被限制在声明它的模块的本地范畴内使用 ; 即:把局部变量转变为静态变量后是转变了它的储备方式即转变了它的生存期;把全局变量转变为静态变量后是转
2、变了它的作用域,限制了它的使用范畴;2、进程、线程:定义: 一、进程是具有肯定独立功能的程序关于某个数据集合上的一次运行活动,是系统进行资源安排和调度的一个独立单位;二、线程是进程的一个实体,是CPU 调度和分派的基本单位,他是比进程更小的能独立运行的基本单位, 线程自己基本上不拥有系统资源,只拥有一点在运行中必不行少的资源(如程序计数器,一组寄存器和栈),一个线程可以创建和撤销另一个线程;进程和线程的关系:(1 )一个线程只能属于一个进程,而一个进程可以有多个线程,但至少有一个线程;(2 )资源安排给进程,同一进程的全部线程共享该进程的全部资源;(3 )线程在执行过程中,需要协作同步;不同进
3、程的线程间要利用消息通信的方法实现同步;(4 )处理机分给线程,即真正在处理机上运行的是线程;(5 )线程是指进程内的一个执行单元,也是进程内的可调度实体;线程与进程的区分:(1 )调度:线程作为调度和安排的基本单位,进程作为拥有资源的基本单位;(2 )并发性:不仅进程之间可以并发执行,同一个进程的多个线程之间也可以并发执行;(3 )拥有资源:进程是拥有资源的一个独立单位,线程不拥有系统资源,但可以拜访隶属于进程的资源;(4 )系统开销:在创建或撤销进程的时候,由于系统都要为之安排和回收资源,导致系统的明显大于创建或撤销线程时的开销;但进程有独立的地址空间,进程崩溃后, 在爱护模式下不会对其他
4、的进程产生影响,而线程只是一个进程中的不同的执行路径;线程有自己的堆栈和局部变量, 但线程之间没有单独的地址空间,一个线程死掉就等于整个进程死掉,所以多进程的程序要比多线程的程序健壮,但是在进程切换时,耗费的资源较大,效率要差些;线程的划分尺度小于进程,使得多线程程序的并发性高;另外, 进程在执行过程中拥有独立的内存单元,而多个线程共享内存,从而极大的提高了程序运行效率;线程在执行过程中,每个独立的线程有一个程序运行的入口,次序执行序列和程序的出口;但是线程不能够独立执行,必需依存在应用程序中,有应用程序供应多个线程执行掌握;从规律角度看, 多线程的意义子啊与一个应用程序中,有多个执行部分可以
5、同时执行;但操作系统并没有将多个线程看做多个独立的应用,来实现进程的调度和治理以及资源安排;这就是进程和线程的重要区分;3、进程状态: 三态:运行、就绪和堵塞态细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - 第 1 页,共 8 页 - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆五态:运行、就绪和堵塞态,加上新建态和终止态3、进程间通信:# 管道 pipe :管道是一种半双工的通信方式,数据只能单向流淌,而且只能在具有亲缘关系的进程间使用;进程的亲缘关系通
6、常是指父子进程关系;# 出名管道 named pipe : 出名管道也是半双工的通信方式,但是它答应无亲缘关系进程间的通信;# 信号量 semophore : 信号量是一个计数器,可以用来掌握多个进程对共享资源的拜访; 它常作为一种锁机制,防止某进程正在拜访共享资源时,其他进程也拜访该资源;因此,主要作为进程间以及同一进程内不同线程之间的同步手段;# 消息队列 message queue : 消息队列是由消息的链表,存放在内核中并由消息队列标识符标识; 消息队列克服了信号传递信息少、管道只能承载无格式字节流以及缓冲区大小受限等缺点;# 信号 sinal : 信号是一种比较复杂的通信方式,用于通
7、知接收进程某个大事已经发生;# 共享内存 shared memory :共享内存就是映射一段能被其他进程所拜访的内存,这段共享内存由一个进程创建,但多个进程都可以拜访;共享内存是最快的 IPC 方式,它是针对其他进程间通信方式运行效率低而特地设计的;它往往与其他通信机制,如信号两,协作使用,来实现进程间的同步和通信;# 套接字 socket : 套接字也是一种进程间通信机制,与其他通信机制不同的是,它可用于不同及其间的进程通信;4、gcc :预处理、编译、汇编、链接gcc -c hello.c -o hello.o -o为产生的可执行文件指定文件名 个.o-c 选项告知 GCC仅把源代码编译为
8、目标代码;缺省时 GCC 建立的目标代码文件有一的扩展名; -g gdb 显示调试信息 . 5、GDB:有文件 TXT.c 编译生成执行文件:(Linux下)hchen/test gcc -g tst.c -o tst 使用 GDB调试:hchen/test gdb tst - 启动 GDB 第 2 页,共 8 页 gdb l - l 命令相当于list,从第一行开头例出原码;gdb break 16 - 设置断点,在源程序第16 行处;gdb break func - 设置断点,在函数func入口处;gdb info break - 查看断点信息;gdb run - 运行程序, run命令简
9、写gdb next - 在断点处停住;gdb n - 单条语句执行,next命令简写;gdb continue - 连续运行程序, continue命令简写;gdb quit - 退出调试;6、Makefile:细心整理归纳 精选学习资料 - - - - - - - - - - - - - - - - - - - - - - - - 名师归纳总结 精品学习资料 - - - - - - - - - - - - - - -学而不思就惘,思而不学就殆Makefile 的规章目标 : 需要的条件(留意冒号两边有空格)命令(留意前面用 tab 键开头)Makefile 有三个特别有用的变量:$, $ ,
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022 语言 经典 笔试 试题
限制150内