ic有什麼用途?(請至少說明兩種)
1)在函式體,一個被宣告為靜態的變數在這一函式被呼叫過程中維持其值不變。
2) 在模組內(但在函式體外),一個被宣告為靜態的變數可以被模組內所用函式訪問,但不能被模組外其它函式訪問。它是一個本地的全域性變數。
3) 在模組內,一個被宣告為靜態的函式只可被這一模組內的其它函式呼叫。那就是,這個函式被限制在宣告它的模組的'本地範圍內使用
2.引用與指標有什麼區別?
1) 引用必須被初始化,指標不必。
2) 引用初始化以後不能被改變,指標可以改變所指的物件。
3) 不存在指向空值的引用,但是存在指向空值的指標。
3.描述實時系統的基本特性
在特定時間內完成特定的任務,實時性與可靠性。
4.全域性變數和區域性變數在記憶體中是否有區別?如果有,是什麼區別?
全域性變數儲存在靜態全域性資料段,區域性變數在堆疊。
5.什麼是平衡二元樹?
左右子樹都是平衡二元樹 且左右子樹的深度差值的絕對值不大於1。
6.堆疊溢位一般是由什麼原因導致的?
沒有回收垃圾資源。
7.什麼函式不能宣告為虛擬函式?
constructor函式不能宣告為虛擬函式。
8.氣泡排序演算法的時間複雜度是什麼?
時間複雜度是O(n^2)。
9.寫出float x 與“零值”比較的if語句。
if(x>0.000001&&x<-0.000001)
rnet採用哪種網路協議?該協議的主要層次結構?
Tcp/Ip協議
主要層次結構為: 應用層/傳輸層/網路層/資料鏈路層/物理層。
rnet實體地址和IP地址轉換採用什麼協議?
ARP (Address Resolution Protocol)(地址解析協議)
地址的編碼分為哪倆部分?
IP地址由兩部分組成,網路號和主機號。不過是要和“子網掩碼”按位與上之後才能區分哪些是網路位哪些是主機位。
13.使用者輸入M,N值,從1至N開始順序迴圈數數,每數到M輸出該數值,直至全部輸出。寫出C程式。
迴圈連結串列,用取餘操作做
14.不能做switch()的引數型別是:
switch的引數不能為實型。
一、判斷題(對的寫T,錯的寫F並說明原因,每小題4分,共20分)
1、有陣列定義int a[2][2]={{1},{2,3}};則a[0][1]的值為0。( T )
2、int (*ptr) (),則ptr是一維陣列的名字。( F )
3、指標在任何情況下都可進行>, <, >=, <=, = =運算。( F )
4、switch(c) 語句中c可以是int, long, char, float, unsigned int 型別。(F )
5、#define print(x) printf("the no, "#x",is ") ( T )
二、填空題(共30分)
1、在windows下,寫出執行結果,每空2分,共10分。
char str[ ]= "Hello";
char *p=str;
int n=10;
sizeof(str)=( 6 )
sizeof(p)=( 4 )
sizeof(n)=( 4 )
void func(char str[100])
{ }
sizeof(str)=( 4 )
2、
void setmemory(char **p, int num)
{ *p=(char *) malloc(num);}
void test(void)
{ char *str=NULL;
getmemory(&str,100);
strcpy(str,"hello");
printf(str);
}
執行test函式有什麼結果?( hello )10分
3、設
int arr[]={6,7,8,9,10}; int *ptr=arr; *(ptr++)+=123; printf("%d,%d",*ptr,*(++ptr)); |
( 8,8 ) 10分
二、程式設計題(第一小題20,第二小題30分)
1、 不使用庫函式,編寫函式int strcmp(char *source, char *dest)
相等返回0,不等返回-1;
int strcmp(char *source,char *dest)
{
if((source == NULL) && (dest == NULL))
{
return 0;
}
while((*source != '