恒生電子筆試 C/C++開發筆試題
1.關于fork()函數:
子進程的()改變,父進程沒有也相應改變 a.文件指針 b.局部變量 c.全局變量 d.靜態變量
b
pid_t pid;
switch (pid = fork())
{
case -1:
/* 這里pid為-1,fork函數失敗 */
/* 一些可能的原因是 */
/* 進程數或虛擬內存用盡 */
perror(“The fork failed!”);
break;
case 0:
/* pid為0,子進程 */
/* 這里,我們是孩子,要做什么? */
/* … */
/* 但是做完后, 我們需要做類似下面: */
_exit(0);
default:
/* pid大于0,為父進程得到的子進程號 */
printf(“Child’s pid is %d\n”,pid);
}
fork之后,操作系統會復制一個與父進程完全相同的子進程,雖說是父子關系,但是在操作系統看來,他們更像兄弟關系,這2個進程共享代碼空間,但是數據空間是互相獨立的,子進程數據空間中的內容是父進程的完整拷貝,指令指針也完全相同,但只有一點不同,如果fork成功,子進程中fork的返回值是0,父進程中fork的返回值是子進程的進程號,如果fork不成功,父進程會返回錯誤,
恒生電子筆試 C/C++開發筆試題
。可以這樣想象,2個進程一直同時運行,而且步調一致,在fork之后,他們分別作不同的工作,也就是分岔了。這也是fork為什么叫fork的原因。
至于那一個最先運行,可能與操作系統有關,而且這個問題在實際應用中并不重要,如果需要父子進程協同,可以通過原語的'辦法解決。
2.C函數可否單獨編譯?
外部函數,可以在開始引進來
3.sum max avg count 哪個函數不可以跳過空值不處理?
count 不跳過空值null 其他都可以,我選擇了AVG。。。。。。
4.理解static局部變量和全局變量:
靜態局部變量屬于靜態存儲方式,它具有以下特點:
(1)靜態局部變量在函數內定義 它的生存期為整個源程序,但是其作用域仍與自動變量相同,只能在定義該變量的函數內使用該變量。退出該函數后, 盡管該變量還繼續存在,但不能使用它。
(2)允許對構造類靜態局部量賦初值 例如數組,若未賦以初值,則由系統自動賦以0值。
(3) 對基本類型的靜態局部變量若在說明時未賦以初值,則系統自動賦予0值。而對自動變量不賦初值,則其值是不定的。 根據靜態局部變量的特點, 可以 看出它是一種生存期為整個源程序的量,
資料共享平臺
《恒生電子筆試 C/C++開發筆試題》(http://salifelink.com)。雖然離開定義它的函數后不能使用,但如再次調用定義它的函數時,它又可繼續使用, 而且保存了前次被調用后留下的 值。 因此,當多次調用一個函數且要求在調用之間保留某些變量的值時,可考慮采用靜態局部變量。雖然用全局變量也可以達到上述目的,但全局變量有時會造成 意外的副作用,因此仍以采用局部靜態變量為宜。靜態全局變量
全局變量(外部變量)的說明之前再冠以static 就構 成了靜態的全局變量。全局變量本身就是靜態存儲方式, 靜態全局變量當然也是靜態存儲方式。 這兩者在存儲方式上并無不同。這兩者的區別雖在于非靜態全局 變量的作用域是整個源程序, 當一個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。 而靜態全局變量則限制了其作用域, 即只在 定義該變量的源文件內有效, 在同一源程序的其它源文件中不能使用它。由于靜態全局變量的作用域局限于一個源文件內,只能為該源文件內的函數公用, 因此 可以避免在其它源文件中引起錯誤。從以上分析可以看出, 把局部變量改變為靜態變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變為靜態變量 后是改變了它的作用域, 限制了它的使用范圍。因此static 這個說明符在不同的地方所起的作用是不同的。
5.高級通信包括信號量,——-,——–
通常把信號、信號量通信稱為低級通信 ,而把管道、消息隊列、共享存儲區通信稱為高級通信,這個題目我也不知道怎么填了,。。。。。。
6.double*p 利用malloc函數生成。。。。:
malloc()是C語言中動態存儲管理的一組標準庫函數之一。其作用是在內存的動態存儲區中分配一個長度為size的連續空間。其參數是一個無符號整形數,返回值是一個指向所分配的連續存儲域的起始地址的指針。還有一點必須注意的是,當函數未能成功分配存儲空間(如內存不足)就會返回一個NULL指針。所以在調用該函數時應該檢測返回值是否為NULL并執行相應的操作。
p=(double*)malloc(sizeof(double))
7.DB事務處理的四個特性:
原子性,一致性,隔離性,持久性
就答對一個:一致性,
8.建立索引語句:
create unique/cluster index <索引名> on< 表名> 次序
例如:create unique index Stusno on Student(Sno)
9.還有自身連接,嵌套查詢,集合查詢等等 都忘了快
10.本流程圖將數字 1,2,…,N2(N≥2)按逆時針方向依次寫在 N*N 矩陣中,下圖給出了 N=4 和 N=5時的情況:
【恒生電子筆試 C/C++開發筆試題】相關文章:
1.恒生電子筆試題
2.C/C++筆試題
3.C++筆試題
5.c++程序筆試題
6.網易C++筆試題
7.普天C++筆試題
8.聯想C++筆試題