一、简答题。下面的题目必须全部答对才给分
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的含义是什么。使用时会对编译器有什么暗示。
二、问答题。
1. "匈牙利命名法"有什么优缺点?
2.下面x, y, *p的值是多少,有什么问题?
int x, y, z = 2;
int *p=&z;
x=sizeof*p;
y=x/*p; /* x=?, *p=?, y=?, 有什么问题?*/
3.下面的语句是什么意思?如何声明或定义才使它们更易懂?
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语言运算符优先级的记忆技巧是什么? /* 下面r的值是多少 */
int hi, low, r;
hi=7;low=3;
r=hi<<4+low;