1 / 20
文档名称:

c语言笔试题 c笔试题大全14 附答案w.doc

格式:doc   大小:93KB   页数:20页
下载后只包含 1 个 DOC 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

c语言笔试题 c笔试题大全14 附答案w.doc

上传人:755273190 2019/5/7 文件大小:93 KB

下载得到文件列表

c语言笔试题 c笔试题大全14 附答案w.doc

文档介绍

文档介绍:c语言常见笔试题总结【1使用宏】#error的作用?#error用于向编译器报错,并输出它后面带的错误信息。例如:#ifndefSOMETHING#errorSOMETHINGnotdefined!#endif如果在这段代码之前未定义过SOMETHING,则在编译时出错,并给出"SOMETHINGnotdefined!"的错误信息。,求出给定数组中的元素的个数#defineNELEMENTS(array)(sizeof(array)/sizeof((array)[0]))【2数据声明和定义】给定以下类型的变量a的定义式:a)Anintegerinta;b)Apointertoanintegerint*a;c)Apointertoapointertoanintegerint**a;d)Anarrayof10integersinta[10];e)Anarrayof10pointerstointegersint*a[10];f)Apointertoanarrayof10integersint(*a)[10];g)Apointertoa<I>function</I>thattakesanintegerasanargumentandreturnsanintegerint(*a)(int);h)Anarrayoftenpointersto<I>function</I>sthattakeanintegerargumentandreturnanintegerint(*a[10])(int);【3复杂类型(1)】有如下表达式:char(*(*x())[])();请用文字描述x是什么。首先,确定标识符:xx是一个函数,没有参数:x()返回值是一个指针:*x()这个指针指向一个数组:(*x())[]数组中的每个元素是指针:*(*x())[]指向一个不带参数的函数:(*(*x())[])()函数的返回值是char:char(*(*x())[])()这里,要知道*、()和[]的优先级【5头文件】问:为什么标准头文件都有类似以下的结构?#ifndef__INCvxWorksh #define__INCvxWorksh #ifdef__cplusplus extern"C"{ #endif /*...*/ #ifdef__cplusplus } #endif#endif在编译源文件时,C编译器和C++编译器都会对符号(函数或变量)名作某些修正,但两者采用的修正方法不同,所以两者生成的目标文件不能互相链接。在C++中使用extern"C"可以让C++符号获得C链接特性。由于C++编译器会自动定义__cplusplus宏,所以在C语言头文件中采用这种结构可以保证无论使用何种编译器,生成的目标文件都具有C链接特性,能够与标准C编译器所生成的目标文件相链接【6static关键字】请说出static关键字的3种用处:(1)用于全局变量;外部静态变量,只能在本源文件中被引用,不能被其它源文件所引用。(2)用于局部变量;局部静态变量,在函数返回后存储单元不释放;下一次调用该函数时,该变量为上次函数返回时的值。(3)用于函数。内部函数,只能被本源文件中的函数所调用,不能被其它源文件调用。/**/staticinta;intb;staticintfn(){staticintx;inty;}【7const关键字】?:constinta1;a1是整型常量。intconsta2;a2是整型常量。等同于constinta2。constint*a3;a3是指针(a3是可变的),指向一个整型常量。等同于intconst*a3。int*consta4;a4是常量指针(a4不可变),指向一个整型变量。intconst*consta5;a5是常量指针(a5不可变),指向一个整型常量。等同于constint*consta5。【8volatile关键字】?volatileint*p;?const关键字的意思是限制编程者自己不能修改变量的值;两者并不矛盾。例如一个内存映射的、只读的硬件寄存器,假设它的地址是p,则可以这样声明:volatileconstUINT32*p;【9sizeof()】有以下定义:char*pmsg="A";charmsg[]="A";charch='A';问:sizeof(pmsg)=? 4sizeof(msg)=? 2sizeof(“A”)=? 2sizeof(ch)=? 1sizeof(‘A’)=?(在C++中等于多少?)(在C语言中,字符常量的数据类型实际上是int;在C++中,它的数据类型是char,从而