一.1、简答题。下面的题目必须全部答对才给分(20 分):
1、 如何在 C 中初始化一个字符数组。
2、 如何在 C 中为一个数组分配空间。
3、 如何初始化一个指针数组。
4、 如何定义一个有 10 个元素的整数型指针数组。
5、 s[10]的另外一种表达方式是什么。
6、 GCC3.2.2 版本中支持哪几种编程语言。
7、 要使用 CHAR_BIT 需要包含哪个头文件。
8、 对(-1.2345)取整是多少?
9、 如何让局部变量具有全局生命期。
10、C 中的常量字符串应在何时定义?
11、如何在两个.c 文件中引用对方的变量。
12、使用 malloc 之前需要做什么准备工作。
13、realloc 函数在使用上要注意什么问题。
14、strtok 函数在使用上要注意什么问题。
15、gets 函数在使用上要注意什么问题。
16、C 语言的词法分析在长度规则方面采用的是什么策略?
17、a+++++b 所表示的是什么意思?有什么问题?
18、如何定义 Bool 变量的 TRUE 和 FALSE 的值。
19 、C 语言的 const 的含义是什么。在 定 义 常量时, 为什么推 荐 使 用 const ,而不 是
#define。
20、C 语言的 volatile 的含义是什么。使用时会对编译器有什么暗示。
一.2、问答题。
1、-----------------------------------------------------------
"匈牙利命名法"有什么优缺点?(2 分)
2、-----------------------------------------------------------
下面 x, y, *p 的值是多少,有什么问题?(2 分)
int x, y, z = 2; int *p=&z; x=sizeof*p;
y=x/*p; /* x=?, *p=?, y=?, 有什么问题?*/
3、-----------------------------------------------------------
下面的语句是什么意思?如何声明或定义才使它们更易懂?(10 分)
int (*foo())();
int (*foo())[];
int (*foo[])();
(*(void(*)())0)();
void (*signal(int,void(*)(int)))(int);
4、----------------------------------------------------------- 本题(2 分)。
一般使用 malloc 时,需要进行强制类型转换,如: char *s; s = (char *)malloc(31);
下面中 ??? 该如 何 填 写,才可 以 正确执 行 强 制类型转 换 ? int (*monthp)[31]; monthp =
(???)malloc(31);
5、-----------------------------------------------------------
关于 C 语言运算符优先级的记忆技巧是什么?(2 分) /* 下面 r 的值是多少 */
int hi, low, r; hi=7;low=3; r=hi<<4+low;
6、-----------------------------------------------------------