1 .
用预处理指令
#define
声明一个常数,用以表明
1
年中有多少秒(忽略闰年问题)
#define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL
2.
嵌入式系统中经常要用到无限循环,你怎么样用
C
编写死循环呢?
while(1){}
或者
for(;;){}
3.
用变量
a
给出下面的定义
a)
一个整型数(
An integer
)
b)
一个指向整型数的指针(
A pointer to an integer
)
c)
一个指向指针的的指针,它指向的指针是指向一个整型数(
A pointer to a pointer to an intege
)
r
d)
一个有
10
个整型数的数组(
An array of 10 integers
)
e)
一个有
10
个指针的数组,该指针是指向一个整型数的。(
An array of 10 pointers to integers
)
f)
一个指向有
10
个整型数数组的指针(
A pointer to an array of 10 integers
)
g)
一个指向函数的指针,该函数有一个整型参数并返回一个整型数(
A
pointer
to
a
function
that
takes
an
integer
as an argument and returns an integer
)
h)
一个有
10
个指针的数组,该指针指向一个函数,该函数有一个整型参数并返回一个整型数(
An array of ten
pointers to functions that take an integer argument and return an integer
)
答案是:
a) int a; // An integer
b) int *a; // A pointer to an integer
c) int **a; // A pointer to a pointer to an integer
d) int a[10]; // An array of 10 integers
e) int *a[10]; // An array of 10 pointers to integers
f) int (*a)[10]; // A pointer to an array of 10 integers
g) int (*a)(int); // A pointer to a function a that takes an integer argument and returns an integer
h) int (*a[10])(int); // An array of 10 pointers to functions that take an integer argument and return an
integer
4.
关键字
static
的作用是什么?
这个简单的问题很少有人能回答完全。在
C
语言中,关键字
static
有三个明显的作用:
1)
在函数体,一个被声明为静态的变量在这一函数被调用过程中维持其值不变。
2)
在模块内
(但在函数体外)
,
一个被声明为静态的变量可以被模块内所用函数访问,
但不能被模块外其它函数访问。
它是一个本地的全局变量。
3)
在模块内,一个被声明为静态的函数只可被这一模块内的其它函数调用。那就是,这个函数被限制在声明它的模块
的本地范围内使用。
大多数应试者能正确回答第一部分,一部分能正确回答第二部分,同是很少的人能懂得第三部分。这是一个应试者的
严重的缺点,因为他显然不懂得本地化数据和代码范围的好处和重要性。
5.
关键字
const
有什么含意
?
表示常量
不可以修改的变量。