c语言常见笔试题总结.docc语言常见笔试题总结
引导语:C语言之所以命名为C,是因为 C语言源自Ken Thompson发明的B语言,而 B语言则源自BCPL语言。以下是我整理的,
(1 使用宏)
#error的作用?
#error用于向编译器报错,并输出它后面带的错误信息。例如:
#ifndef SOMETHING
#error SOMETHING not defined!
#endif
如果在这段代码之前未定义过SOMETHING,则在编译时出错,并给出"SOMETHING not defined!"的错误信息。
定义一个宏,求出给定数组中的元素的个数 #define NELEMENTSarray sizeofarray / sizeofarray[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 function that takes an integer as an argument and returns an integer int *aint ;
h An array of ten pointers to functions 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 __cplu
c语言常见笔试题总结 来自淘豆网www.taodocs.com转载请标明出处.