c语言测试题及参考答案

c语言测试题及参考答案

ID:32179250

大小:52.50 KB

页数:5页

时间:2019-02-01

c语言测试题及参考答案_第1页
c语言测试题及参考答案_第2页
c语言测试题及参考答案_第3页
c语言测试题及参考答案_第4页
c语言测试题及参考答案_第5页
资源描述:

《c语言测试题及参考答案》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、C语言测试题—参考答案(1~10题每题9分,11~16题每题10分,共计150分。请在答题纸上注明姓名及开始、结束时间)1.举例说明关键字static、const和volatile尽可能多的作用。static关键字至少有下列几个作用:1).函数体内static变量的作用范围为该函数体,该变量的内存只被分配一次,因此其值在下次调用时仍维持上次的值;2).在模块内的static全局变量可以被模块内所用函数访问,但不能被模块外其它函数访问;3).在模块内的static函数只可被这一模块内的其它函数调用,这个函数的使用范围被限制在

2、声明它的模块内;const关键字至少有下列几个作用:1).欲阻止一个变量被改变,可以使用const关键字。在定义该const变量时,通常需要对它进行初始化,因为以后就没有机会再去改变它了;2).对指针来说,可以指定指针本身为const,也可以指定指针所指的数据为const,或二者同时指定为const;3).在一个函数声明中,const可以修饰形参,表明它是一个输入参数,在函数内部不能改变其值;volatile关键字至少有下列几个作用:一个定义为volatile的变量是说这变量可能会被意想不到地改变,这样,编译器就不会去假设

3、这个变量的值了。精确地说就是,优化器在用到这个变量时必须每次都小心地重新读取这个变量的值,而不是使用保存在寄存器里的备份。下面是volatile变量的几个例子:1).并行设备的硬件寄存器(如:状态寄存器);2).一个中断服务子程序中会访问到的非自动变量;3).多线程应用中被几个任务共享的变量;2.请描述内存的分配方式及其区别,并编写一个函数为整型二维数组动态申请内存。1).从静态存储区域分配。内存在程序编译的时候就已经分配好,这块内存在程序的整个运行期间都存在。例如全局变量,static变量。2).在栈上分配。在执行函数时

4、,函数内局部变量的存储单元都可以在栈上创建,函数执行结束时这些存储单元自动被释放。栈内存分配运算内置于处理器的指令集。3).从堆上分配,亦称动态内存分配。程序在运行的时候用malloc申请任意多少的内存,程序员自己负责在何时用free释放内存。动态内存的生存期由程序员决定,使用非常灵活,但问题也最多。intget_2d_mem(int***array2D,introws,intcolumns){  inti;  if((*array2D=(int**)malloc(rows*sizeof(int*)))==NULL)   

5、 return-1;/*notenoughmemory.*/  if(((*array2D)[0]=(int*)malloc(rows*columns*sizeof(int)))==NULL)    return-1;/*notenoughmemory.*/  for(i=1;i

6、线程“同时”调用的函数,并且能保证函数结果的正确性的函数。在编写可重入函数时通常要注意如下的一些问题:1).尽量不要使用全局变量,静态变量,如果使用了应该注意对变量访问的互斥。通常可以根据具体的情况采用信号量机制、关调度机制、关中断机制等方式来保证函数的可重入性。2).不要调用不可重入的函数,调用了不可重入的函数会使该函数也变为不可重入的函数。3).注意对系统中的临界资源、互斥资源的访问方式,防止使函数成为不可重入的函数。4).一般驱动程序都是不可重入的函数,因此在编写驱动程序时一定要注意重入的问题。4.下面定义的2个变量

7、str1和str2有什么不同?  char(*str1)[256];  char*str2[256];str1是一个数组指针,即指向数组的指针。str2是一个指针数组,其元素为指针型数据。5.一个单向链表,不知道头节点,一个指针指向其中的某一个节点,请问如何删除这个指针所指向的节点?将这个指针指向的next节点值copy到本节点,将next指向next->next,并随后删除原next指向的节点。6.在不使用第三个变量的情况下,用宏定义写出SWAP(x,y)。  #defineSWAP(x,y)    x=x+y;  

8、  y=x-y;    x=x-y;方法二:  #defineSWAP(x,y)    x^=y;    y^=x;    x^=y;7.用宏定义实现32位整数x是否为2的若干次幂的判断。  #defineIS_POWER2(x)((x&(x-1))?0:1)8.写一个宏定义MAX(a,b),这

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。