一、簡答題。下面的題目必須全部答對才給分
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;