C语言笔试题_C笔试题大全14_附答案w.doc

  1. 1、本文档共20页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
/honghaochem3 /honghaochem3 c语言常见笔试题总结 【1 使用宏】 1.1 #error的作用? #error用于向编译器报错,并输出它后面带的错误信息。例如: #ifndef SOMETHING #error SOMETHING not defined! #endif 如果在这段代码之前未定义过SOMETHING,则在编译时出错,并给出SOMETHING not defined!的错误信息。 1.2 定义一个宏,求出给定数组中的元素的个数 #define NELEMENTS(array) (sizeof(array) / sizeof((array)[0])) 【2 数据声明和定义】 给定以下类型的变量a的定义式: a) An integer int a; b) A pointer to an integer int *a; c) A pointer to a pointer to an integer int **a; d) An array of 10 integers int a[10]; e) An array of 10 pointers to integers int *a[10]; f) A pointer to an array of 10 integers int (*a)[10]; g) A pointer to a Ifunction/I that takes an integer as an argument and returns an integer int (*a)(int ); h) An array of ten pointers to Ifunction/Is that take an integer argument and return an integer int (*a[10] ) (int ); 【3 复杂类型(1)】 有如下表达式: char (*(*x())[])(); 请用文字描述x是什么。 首先,确定标识符:x x是一个函数,没有参数: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编译器所生成的目标文件相链接 【6 static关键字】 请说出static关键字的3种用处: (1)用于全局变量;外部静态变量,只能在本源文件中被引用,不能被其它源文件所引用。 (2)用于局部变量;局部静态变量,在函数返回后存储单元不释放;下一次调用该函数时,该变量为上次函数返回时的值。 (3)用于函数。内部函数,只能被本源文件中的函数所调用,不能被其它源文件调用。 /* file.c */ static int a; int b; static int fn() { static int x; int y; } 【7 const关键字】 7.1 const关键字的意义是什么? 7.2 解释以下的变量定义: const int a1; a1是整型常量。 int const a2; a2是整型常量。等同于const int a2。 const int *a3; a3是指针(a3是可变的),指向一个整型常量。等同于int const *a3。 int * const a4; a4是常量指针(a4不可变),指向一个整型变量。 int const * const a5; a5是常量指针(a5不可变),指向一个整型常量。等同于const int * const a5。 【8 volatile关键字】 8.1 volatile意

文档评论(0)

湘雅书斋 + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

版权声明书
用户编号:5220142302000001

1亿VIP精品文档

相关文档