首页 c语言常见笔试题总结

c语言常见笔试题总结

举报
开通vip

c语言常见笔试题总结c语言常见笔试题总结c语言常见笔试题总结  引导语:C语言之所以命名为C,是因为C语言源自KenThompson发明的B语言,而B语言则源自BCPL语言。以下是我整理的c语言常见笔试题总结,欢迎参考阅读!  【1使用宏】  1.1#error的作用?  #error用于向编译器报错,并输出它后面带的错误信息。例如:  #ifndefSOMETHING  #errorSOMETHINGnotdefined!  #endif  如果在这段代码之前未定义过SOMETHING,则在编译时出错,并给出SOMETHINGnot...

c语言常见笔试题总结
c语言常见笔试题总结c语言常见笔试题总结  引导语:C语言之所以命名为C,是因为C语言源自KenThompson发明的B语言,而B语言则源自BCPL语言。以下是我整理的c语言常见笔试题总结,欢迎参考阅读!  【1使用宏】  1.1#error的作用?  #error用于向编译器报错,并输出它后面带的错误信息。例如:  #ifndefSOMETHING  #errorSOMETHINGnotdefined!  #endif  如果在这段代码之前未定义过SOMETHING,则在编译时出错,并给出SOMETHINGnotdefined!的错误信息。  1.2定义一个宏,求出给定数组中的元素的个数#defineNELEMENTS(array)(sizeof(array)/sizeof((array)[0]))  【2数据声明和定义】  给定以下类型的变量a的定义式:  a)Aninteger  inta;  b)Apointertoaninteger  int*a;  c)Apointertoapointertoaninteger  int**a;  d)Anarrayof10integers  inta[10];  e)Anarrayof10pointerstointegers  int*a[10];  f)Apointertoanarrayof10integers  int(*a)[10];  g)Apointertoafunctionthattakesanintegerasanargumentandreturnsanintegerint(*a)(int);  h)Anarrayoftenpointerstofunctionsthattakeanintegerargumentandreturnanintegerint(*a[10])(int);  【3复杂类型(1)】  有如下表达式:  char(*(*x())[])();  请用文字描述x是什么。首先,确定标识符:x  x是一个函数,没有参数:x()  返回值是一个指针:*x()  这个指针指向一个数组:(*x())[]  数组中的每个元素是指针:*(*x())[]  指向一个不带参数的函数:(*(*x())[])()  函数的返回值是char:char(*(*x())[])()  这里,要知道*、()和[]的优先级  【5头文件】  问:为什么标准头文件都有类似以下的结构?  #ifndef__INCvxWorksh  #define__INCvxWorksh#ifdef__cplusplusexternC{#endif/*...*/#ifdef__cplusplus}#endif#endif  在编译源文件时,C编译器和C++编译器都会对符号(函数或变量)名作某些修正,但两者采用的修正方法不同,所以两者生成的目标文件不能互相链接。在C++中使用externC可以让C++符号获得C链接特性。由于C++编译器会自动定义__cplusplus宏,所以在C语言头文件中采用这种结构可以保证无论使用何种编译器,生成的.目标文件都具有C链接特性,能够与标准C编译器所生成的目标文件相链接  【6static关键字】  请说出static关键字的3种用处:  (1)用于全局变量;外部静态变量,只能在本源文件中被引用,不能被其它源文件所引用。  (2)用于局部变量;局部静态变量,在函数返回后存储单元不释放;下一次调用该函数时,该变量为上次函数返回时的值。  (3)用于函数。内部函数,只能被本源文件中的函数所调用,不能被其它源文件调用。/*file.c*/  staticinta;  intb;  staticintfn()  {  staticintx;  inty;  }  【7const关键字】  7.1const关键字的意义是什么?  7.2解释以下的变量定义:constinta1;a1是整型常量。  intconsta2;a2是整型常量。等同于constinta2。  constint*a3;a3是指针(a3是可变的),指向一个整型常量。等同于intconst*a3。int*consta4;a4是常量指针(a4不可变),指向一个整型变量。  intconst*consta5;a5是常量指针(a5不可变),指向一个整型常量。等同于constint*consta5。  【8volatile关键字】  8.1volatile意义?  volatileint*p;  8.2volatile能和const一起使用吗?  const关键字的意思是限制编程者自己不能修改变量的值;两者并不矛盾。  例如一个内存映射的、只读的硬件寄存器,假设它的地址是p,则可以这样声明:  volatileconstUINT32*p;
本文档为【c语言常见笔试题总结】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
个人认证用户
水水库
暂无简介~
格式:doc
大小:18KB
软件:Word
页数:5
分类:
上传时间:2022-09-16
浏览量:0