神州數碼筆試經歷

才智咖 人氣:8.66K

30個選擇,兩個程式設計,總體不是很難,還是很基礎的東西~

神州數碼筆試經歷

有幾個不太確定的總結一下:

1.%o。太遙遠的都忘得不行了~

C語言書真是個寶貝~%o是以八進位制形式輸出整數。%x是以十六進位制數形式輸出整數。%e以指數形式輸出實數。%g用來輸出實數,它根據數值的大小自動選擇f或e格式(選擇輸出時佔寬度較小的一種)輸出,且不輸出無意義的零。

2.程序和執行緒的區別

什麼是程序(Process):普通的解釋就是,程序是程式的一次執行;而什麼是執行緒(Thread),執行緒可以理解為程序中的執行的一段程式片段。在一個多工環境中下面的概念可以幫助我們理解兩者間的差別:

程序間是獨立的,這表現在記憶體空間,上下文環境;執行緒執行在程序空間內。

一般來講(不使用特殊技術)程序是無法突破程序邊界存取其他程序內的儲存空間;而執行緒由於處於程序空間內,所以同一程序所產生的執行緒共享同一記憶體空間。

同一程序中的兩段程式碼不能夠同時執行,除非引入執行緒。

執行緒是屬於程序的,當程序退出時該程序所產生的執行緒都會被強制退出並清除。

執行緒佔用的資源要少於程序所佔用的資源。

程序和執行緒都可以有優先順序。

在執行緒系統中程序也是一個執行緒。可以將程序理解為一個程式的第一個執行緒。

說法一:程序是具有一定獨立功能的程式關於某個資料集合上的一次執行活動,程序是系統進行資源分配和排程的一個獨立單位.

執行緒是程序的一個實體,是CPU排程和分派的基本單位,它是比程序更小的能獨立執行的基本單位.執行緒自己基本上不擁有系統資源,只擁有一點在執行中必不可少的資源(如程式計數器,一組暫存器和棧),但是它可與同屬一個程序的其他的執行緒共享程序所擁有的全部資源.

一個執行緒可以建立和撤銷另一個執行緒;同一個程序中的多個執行緒之間可以併發執行

說法二:程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於:

簡而言之,一個程式至少有一個程序,一個程序至少有一個執行緒.

執行緒的劃分尺度小於程序,使得多執行緒程式的併發性高。

另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

說法三:多執行緒共存於應用程式中是現代作業系統中的基本特徵和重要標誌。用過UNIX作業系統的讀者知道程序,在UNIX作業系統中,每個應用程式的執行都在作業系統核心中登記一個程序標誌,作業系統根據分配的標誌對應用程式的執行進行排程和系統資源分配,但程序和執行緒有什麼區別呢?

程序和執行緒都是由作業系統所體會的程式執行的基本單元,系統利用該基本單元實現系統對應用的併發性。程序和執行緒的區別在於:

執行緒的劃分尺度小於程序,使得多執行緒程式的併發性搞。

另外,程序在執行過程中擁有獨立的記憶體單元,而多個執行緒共享記憶體,從而極大地提高了程式的執行效率。

執行緒在執行過程中與程序還是有區別的。每個獨立的執行緒有一個程式執行的入口、順序執行序列和程式的出口。但是執行緒不能夠獨立執行,必須依存在應用程式中,由應用程式提供多個執行緒執行控制。

從邏輯角度來看,多執行緒的意義在於一個應用程式中,有多個執行部分可以同時執行。但作業系統並沒有將多個執行緒看做多個獨立的應用,來實現程序的排程和管理以及資源分配。這就是程序和執行緒的重要區別。

程序(Process)是最初定義在Unix等多使用者、多工作業系統環境下用於表示應用程式在記憶體環境中基本執行單元的概念。以Unix作業系統為例,程序是Unix作業系統環境中的基本成分、是系統資源分配的基本單位。Unix作業系統中完成的幾乎所有使用者管理和資源分配等工作都是通過作業系統對應用程式程序的控制來實現的。

C、C++、Java等語言編寫的源程式經相應的編譯器編譯成可執行檔案後,提交給計算機處理器執行。這時,處在可執行狀態中的應用程式稱為程序。從使用者角度來看,程序是應用程式的一個執行過程。從作業系統核心角度來看,程序代表的是作業系統分配的記憶體、CPU時間片等資源的基本單位,是為正在執行的程式提供的執行環境。程序與應用程式的區別在於應用程式作為一個靜態檔案儲存在計算機系統的硬碟等儲存空間中,而程序則是處於動態條件下由作業系統維護的系統資源管理實體。多工環境下應用程式程序的主要特點包括:

●程序在執行過程中有記憶體單元的初始入口點,並且程序存活過程中始終擁有獨立的記憶體地址空間;

●程序的生存期狀態包括建立、就緒、執行、阻塞和死亡等型別;

●從應用程式程序在執行過程中向CPU發出的執行指令形式不同,可以將程序的狀態分為使用者態和核心態。處於使用者態下的程序執行的是應用程式指令、處於核心態下的應用程式程序執行的是作業系統指令。