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