硬件工程師在筆試中容易遇到的題目


名企硬件工程師面試考題大全

一、模擬電路

1、基爾霍夫定理的內容是什么?(仕蘭微電子)

2、平板電容公式(C=εS/4πkd)。(未知)

3、最基本的如三極管曲線特性。(未知)

4、描述反饋電路的概念,列舉他們的應用。(仕蘭微電子)

5、負反饋種類(電壓並聯反饋,電流串聯反饋,電壓串聯反饋和電流並聯反饋);負反 饋的優點(降低放大器的增益靈敏度,改變輸入電阻和輸出電阻,改善放大器的線性和非 線性失真,有效地擴展放大器的通頻帶,自動調節作用)(未知)

6、放大電路的頻率補償的目的是什么,有哪些方法?(仕蘭微電子)

7、頻率響應,如:怎么才算是穩定的,如何改變頻響曲線的幾個方法。(未知)

8、給出一個查分運放,如何相位補償,並畫補償后的波特圖。(凹凸)

9、基本放大電路種類(電壓放大器,電流放大器,互導放大器和互阻放大器),優缺 點,特別是廣泛采用差分結構的原因。(未知)

10、給出一差分電路,告訴其輸出電壓Y+和Y-,求共模分量和差模分量。(未知)

11、畫差放的兩個輸入管。(凹凸)

12、畫出由運放構成加法、減法、微分、積分運算的電路原理圖。並畫出一個晶體管級的 運放電路。(仕蘭微電子)

13、用運算放大器組成一個10倍的放大器。(未知)

14、給出一個簡單電路,讓你分析輸出電壓的特性(就是個積分電路),並求輸出端某點 的 rise/fall時間。(Infineon筆試試題)

15、電阻R和電容C串聯,輸入電壓為R和C之間的電壓,輸出電壓分別為C上電壓和R上電 壓,要求制這兩種電路輸入電壓的頻譜,判斷這兩種電路何為高通濾波器,何為低通濾 波器。當RC<<T時,給出輸入電壓波形圖,繪制兩種電路的輸出波形圖。(未知)&NBSP; />

16、有源濾波器和無源濾波器的原理及區別?(新太硬件)

17、有一時域信號S=V0sin(2pif0t)+V1cos(2pif1t)+V2sin(2pif3t+90),當其通過低通、 帶通、高通濾波器后的信號表示方式。(未知)

18、選擇電阻時要考慮什么?(東信筆試題)

19、在CMOS電路中,要有一個單管作為開關管精確傳遞模擬低電平,這個單管你會用P管 還是N管,為什么?(仕蘭微電子)

20、給出多個mos管組成的電路求5個點的電壓。(Infineon筆試試題)

21、電壓源、電流源是集成電路中經常用到的模塊,請畫出你知道的線路結構,簡單描述 其優缺點。(仕蘭微電子)

22、畫電流偏置的產生電路,並解釋。(凹凸)

23、史密斯特電路,求回差電壓。(華為面試題)

24、晶體振盪器,好像是給出振盪頻率讓你求周期(應該是單片機的,12分之一周期....) (華為面試題)

25、LC正弦波振盪器有哪幾種三點式振盪電路,分別畫出其原理圖。(仕蘭微電子)

 

趣味數學和應用數學題
(1)使用下列每組數字,排出加減乘除的公式,得出“24”.第一組“1、2、3、4”;第二組“5、6、7、8”;第三組“3、3、8、8”.

(2)10個人排隊戴帽子,10個黃帽子,9個藍帽子,戴好后,后面的人可以看見前面所有人的帽子,然后從后面問起,問自己頭上的帽子是什么顏色,結果一直問了9個人都說不知道,而最前面的人卻知道自己頭上的帽子的顏色.問是什么顏色,為什么?

(3)一個班有m名同學,問m為多少時,有兩人同一天生日的概率為0.6.建立數學模型並解答.同時說明該模型適用於通信中的那些情況.

(4)為了解決學生洗澡難的問題,東方學校新建一座澡堂,水龍頭數為m,每天開放k小時,如果學生人數為n,每位學生每周洗一次澡,每次須半小時,學生到達澡堂服從均勻分布,問當m為多少時,學生洗澡等待時間不超過10分鍾.建立數學模型並解答.同時請說明該模型適用於通信中的那些情況.

(5)有若干台型號相同的聯合收割機,收割一片土地上的小麥,若同時投入工作至收割完畢需用24小時;但它們是每隔相同的時間順序投入工作的,每一台投入工作后都一直工作到小麥收割完畢.如果第一台收割時間是最后一台的5倍,請問:用這種收割方法收割完這片土地上的小麥需用多長時間?

(6)有一批貨,如果本月初出售,可獲利100元,然后可將本利都存入銀行,已知銀行月息為2.4%,如果下月初出售,可獲利120元,但要付5元保管費,試問這批貨何時出售最好(本月初還是下月初)?請說明理由.

部分答案:

模擬電路

1、基爾霍夫定理的內容是什么?

基爾霍夫定律包括電流定律和電壓定律

電流定律:在集總電路中,任何時刻,對任一節點,所有流出節點的支路電流的代數和恆等於零。

電壓定律:在集總電路中,任何時刻,沿任一回路,所有支路電壓的代數和恆等於零。

2、描述反饋電路的概念,列舉他們的應用。

反饋,就是在電子系統中,把輸出回路中的電量輸入到輸入回路中去。

反饋的類型有:電壓串聯負反饋、電流串聯負反饋、電壓並聯負反饋、電流並聯負反饋。

負反饋的優點:降低放大器的增益靈敏度,改變輸入電阻和輸出電阻,改善放大器的線性和非線性失真,有效地擴展放大器的通頻帶,自動調節作用。

電壓負反饋的特點:電路的輸出電壓趨向於維持恆定。

電流負反饋的特點:電路的輸出電流趨向於維持恆定。

3、有源濾波器和無源濾波器的區別

無源濾波器:這種電路主要有無源元件R、L和C組成

有源濾波器:集成運放和R、C組成,具有不用電感、體積小、重量輕等優點。

集成運放的開環電壓增益和輸入阻抗均很高,輸出電阻小,構成有源濾波電路后還具有一定的電壓放大和緩沖作用。但集成運放帶寬有限,所以目前的有源濾波電路的工作頻率難以做得很高。

數字電路

1、同步電路和異步電路的區別是什么?

同步電路:存儲電路中所有觸發器的時鍾輸入端都接同一個時鍾脈沖源,因而所有觸發器的狀態的變化都與所加的時鍾脈沖信號同步。

異步電路:電路沒有統一的時鍾,有些觸發器的時鍾輸入端與時鍾脈沖源相連,這有這些觸發器的狀態變化與時鍾脈沖同步,而其他的觸發器的狀態變化不與時鍾脈沖同步。

2、什么是"線與"邏輯,要實現它,在硬件特性上有什么具體要求?

將兩個門電路的輸出端並聯以實現與邏輯的功能成為線與。

在硬件上,要用OC門來實現,同時在輸出端口加一個上拉電阻。

由於不用OC門可能使灌電流過大,而燒壞邏輯門。

3、解釋setuphold time violation,畫圖說明,並說明解決辦法。(威盛VIA2003.11.06上海筆試試題)

Setup/hold time是測試芯片對輸入信號和時鍾信號之間的時間要求。建立時間是指觸發器的時鍾信號上升沿到來以前,數據穩定不變的時間。輸入信號應提前時鍾上升沿(如上升沿有效)T時間到達芯片,這個T就是建立時間-Setup time.如不滿足setup time,這個數據就不能被這一時鍾打入觸發器,只有在下一個時鍾上升沿,數據才能被打入觸發器。

保持時間是指觸發器的時鍾信號上升沿到來以后,數據穩定不變的時間。如果hold time不夠,數據同樣不能被打入觸發器。

建立時間(Setup Time)和保持時間(Hold time)。建立時間是指在時鍾邊沿前,數據信號需要保持不變的時間。保持時間是指時鍾跳變邊沿后數據信號需要保持不變的時間。如果數據信號在時鍾沿觸發前后持續的時間均超過建立和保持時間,那么超過量就分別被稱為建立時間裕量和保持時間裕量。

 

4、什么是競爭與冒險現象?怎樣判斷?如何消除?(漢王筆試)

在組合邏輯中,由於門的輸入信號通路中經過了不同的延時,導致到達該門的時間不一致叫競爭。

產生毛刺叫冒險。如果布爾式中有相反的信號則可能產生競爭和冒險現象。

解決方法:一是添加布爾式的消去項,二是在芯片外部加電容。

5、名詞:SRAMSSRAMSDRAM

SRAM:靜態RAM

DRAM:動態RAM

SSRAM:Synchronous Static Random Access Memory同步靜態隨機訪問存儲器。它的一種類型的SRAM。SSRAM的所有訪問都在時鍾的上升/下降沿啟動。地址、數據輸入和其它控制信號均於時鍾信號相關。這一點與異步SRAM不同,異步SRAM的訪問獨立於時鍾,數據輸入和輸出都由地址的變化控制。

SDRAM:Synchronous DRAM同步動態隨機存儲器

6FPGAASIC的概念,他們的區別。(未知)

答案:FPGA是可編程ASIC。

ASIC:專用集成電路,它是面向專門用途的電路,專門為一個用戶設計和制造的。根據一個用戶的特定要求,能以低研制成本,短、交貨周期供貨的全定制,半定制集成電路。與門陣列等其它ASIC(Application Specific IC)相比,它們又具有設計開發周期短、設計制造成本低、開發工具先進、標准產品無需測試、質量穩定以及可實時在線檢驗等優點。

7、什么叫做OTP片、掩膜片,兩者的區別何在?

OTP means one time program,一次性編程

MTP means multi time program,多次性編程

OTP(One Time Program)是MCU的一種存儲器類型

MCU按其存儲器類型可分為MASK(掩模)ROM、OTP(一次性可編程)ROM、FLASHROM等類型。

MASKROM的MCU價格便宜,但程序在出廠時已經固化,適合程序固定不變的應用場合;

FALSHROM的MCU程序可以反復擦寫,靈活性很強,但價格較高,適合對價格不敏感的應用場合或做開發用途;

OTP ROM的MCU價格介於前兩者之間,同時又擁有一次性可編程能力,適合既要求一定靈活性,又要求低成本的應用場合,尤其是功能不斷翻新、需要迅速量產的電子產品。

8、單片機上電后沒有運轉,首先要檢查什么?

首先應該確認電源電壓是否正常。用電壓表測量接地引腳跟電源引腳之間的電壓,看是否是電源電壓,例如常用的5V。

接下來就是檢查復位引腳電壓是否正常。分別測量按下復位按鈕和放開復位按鈕的電壓值,看是否正確。

然后再檢查晶振是否起振了,一般用示波器來看晶振引腳的波形,注意應該使用示波器探頭的“X10”檔。另一個辦法是測量復位狀態下的IO口電平,按住復位鍵不放,然后測量IO口(沒接外部上拉的P0口除外)的電壓,看是否是高電平,如果不是高電平,則多半是因為晶振沒有起振。

另外還要注意的地方是,如果使用片內ROM的話(大部分情況下如此,現在已經很少有用外部擴ROM的了),一定要將EA引腳拉高,否則會出現程序亂跑的情況。有時用仿真器可以,而燒入片子不行,往往是因為EA引腳沒拉高的緣故(當然,晶振沒起振也是原因只一)。經過上面幾點的檢查,一般即可排除故障了。如果系統不穩定的話,有時是因為電源濾波不好導致的。在單片機的電源引腳跟地引腳之間接上一個0.1uF的電容會有所改善。如果電源沒有濾波電容的話,則需要再接一個更大濾波電容,例如220uF的。遇到系統不穩定時,就可以並上電容試試(越靠近芯片越好)。

10、你知道那些常用邏輯電平?TTL與COMS電平可以直接互連嗎?(漢王筆試) 常用邏輯電平:TTL、CMOS、LVTTL、LVCMOS、ECL(Emitter Coupled Logic)、PECL(Pseudo/Positive Emitter Coupled Logic)、LVDS(Low Voltage Differential Signaling)、GTL(Gunning Transceiver Logic)、BTL(Backplane Transceiver Logic)、ETL(enhanced transceiver logic)、GTLP(Gunning Transceiver Logic Plus);RS232、RS422、RS485(12V,5V,3.3V);TTL和CMOS不可以直接互連,由於TTL是在0.3-3.6V之間,而CMOS則是有在12V的有在5V的。CMOS輸出接到TTL是可以直接互連。TTL接到CMOS需要在輸出端口加一上拉電阻接到5V或者12V。 cmos的高低電平分別為:Vih>=0.7VDD,Vil<=0.3VDD;Voh>=0.9VDD,Vol<=0.1VDD. ttl的為:Vih>=2.0v,Vil<=0.8v;Voh>=2.4v,Vol<=0.4v. 用cmos可直接驅動ttl;加上拉電阻后,ttl可驅動cmos.

1、當TTL電路驅動COMS電路時,如果TTL電路輸出的高電平低於COMS電路的最低高電平(一般為3.5V),這時就需要在TTL的輸出端接上拉電阻,以提高輸出高電平的值。

2、OC門電路必須加上拉電阻,以提高輸出的搞電平值。

3、為加大輸出引腳的驅動能力,有的單片機管腳上也常使用上拉電阻。

4、在COMS芯片上,為了防止靜電造成損壞,不用的管腳不能懸空,一般接上拉電阻產生降低輸入阻抗,提供泄荷通路。

5、芯片的管腳加上拉電阻來提高輸出電平,從而提高芯片輸入信號的噪聲容限增強抗干擾能力。

6、提高總線的抗電磁干擾能力。管腳懸空就比較容易接受外界的電磁干擾。

7、長線傳輸中電阻不匹配容易引起反射波干擾,加上下拉電阻是電阻匹配,有效的抑制反射波干擾。

上拉電阻阻值的選擇原則包括:

1、從節約功耗及芯片的灌電流能力考慮應當足夠大;電阻大,電流小。

2、從確保足夠的驅動電流考慮應當足夠小;電阻小,電流大。

3、對於高速電路,過大的上拉電阻可能邊沿變平緩。綜合考慮 以上三點,通常在1k到10k之間選取。對下拉電阻也有類似道理 //OC門電路必須加上拉電阻,以提高輸出的搞電平值。 OC門電路要輸出“1”時才需要加上拉電阻 不加根本就沒有高電平 在有時我們用OC門作驅動(例如 控制一個 LED)灌電流工作時就可以不加上拉電阻 OC門可以實現“線與”運算 OC門就是 集電極 開路 輸出 總之加上拉電阻能夠提高驅動能力。

11、如何解決亞穩態。(飛利浦-大唐筆試)? 亞穩態是指觸發器無法在某個規定時間段內達到一個可確認的狀態。當一個觸發器進入亞穩態時,既無法預測該單元的輸出電平,也無法預測何時輸出才能穩定在某個正確的電平上。在這個穩定期間,觸發器輸出一些中間級電平,或者可能處於振盪狀態,並且這種無用的輸出電平可以沿信號通道上的各個觸發器級聯式傳播下去。

解決方法:

1 降低系統時鍾頻率

2 用反應更快的FF

3 引入同步機制,防止亞穩態傳播

4 改善時鍾質量,用邊沿變化快速的時鍾信號

關鍵是器件使用比較好的工藝和時鍾周期的裕量要大。亞穩態寄存用d只是一個辦法,有時候通過not,buf等都能達到信號過濾的效果

12IC設計中同步復位與異步復位的區別。(南山之橋)

同步復位在時鍾沿采復位信號,完成復位動作。異步復位不管時鍾,只要復位信號滿足條件,就完成復位動作。異步復位對復位信號要求比較高,不能有毛刺,如果其與時鍾關系不確定,也可能出現亞穩態。

13MOORE MEELEY狀態機的特征。(南山之橋)

Moore 狀態機的輸出僅與當前狀態值有關, 且只在時鍾邊沿到來時才會有狀態變化. Mealy 狀態機的輸出不僅與當前狀態值有關, 而且與當前輸入值有

14、多時域設計中,如何處理信號跨時域。(南山之橋)

不同的時鍾域之間信號通信時需要進行同步處理,這樣可以防止新時鍾域中第一級觸發器的亞穩態信號對下級邏輯造成影響,其中對於單個控制信號可以用兩級同步器,如電平、邊沿檢測和脈沖,對多位信號可以用FIFO,雙口RAM,握手信號等。 跨時域的信號要經過同步器同步,防止亞穩態傳播。例如:時鍾域1中的一個信號,要送到時鍾域2,那么在這個信號送到時鍾域2之前,要先經過時鍾域2的同步器同步后,才能進入時鍾域2。這個同步器就是兩級d觸發器,其時鍾為時鍾域2的時鍾。這樣做是怕時鍾域1中的這個信號,可能不滿足時鍾域2中觸發器的建立保持時間,而產生亞穩態,因為它們之間沒有必然關系,是異步的。這樣做只能防止亞穩態傳播,但不能保證采進來的數據的正確性。所以通常只同步很少位數的信號。比如控制信號,或地址。當同步的是地址時,一般該地址應采用格雷碼,因為格雷碼每次只變一位,相當於每次只有一個同步器在起作用,這樣可以降低出錯概率,象異步FIFO的設計中,比較讀寫地址的大小時,就是用這種方法。如果兩個時鍾域之間傳送大量的數據,可以用異步FIFO來解決問題。 我們可以在跨越Clock Domain 時加上一個低電平使能的Lockup Latch 以確保Timing能正確無誤。

 

 

華為公司面試題(硬件,筆試題)

一 選擇 13個題目,沒有全部抄下來,涉及的課程有電路,模擬電路,數字電路,信號與系統,微機原理,網絡,數字信號處理有關於1.微分電路2.CISC,RISC3.數據鏈路層

二 填空 10個題目,沒有全部抄下來,涉及的課程有電路,模擬電路,數字電路,信號與系統,微機原理,網絡,數字信號處理 有關於1.TIC6000 DSP2.二極管3.RISC4.IIR 三 簡答 1.x(t)的傅立葉變換為X(jw)=$(w) $(w-PI) $(w-5) h(t)=u(t)-u(t-2) 問: (1),x(t)是周期的嗎? (2),x(t)*h(t)是周期的嗎? (3),兩個非周期的信號卷積后可周期嗎? 2.簡述分組交換的特點和不足 四 分析設計 1.波形變換題目 從正弦波->方波->鋸齒波->方波,設計電路 2.74161計數器組成計數電路,分析幾進制的 3.用D觸發器構成2分頻電路 4.判斷MCS-51單片機的指令正確還是錯誤,並指出錯誤原因 (1) MUL R0,R1 (2) MOV A,@R7 (3) MOV A,#3000H (4) MOVC @A DPTR,A (5) LJMP #1000H () 5.MCS-51單片機中,采用12Mhz時鍾,定時器T0采用模式1(16位計數器),請問在下面程序中,p1.0的輸出頻率 MOV TMOD,#01H SETB TR0 LOOP:MOV TH0,#0B1H MOV TL0,#0E0H LOOP1:JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP

邁瑞硬件工程師筆試(北京,2007.11.3

宣講會說的三日上午短信、郵件通知,但短信下午兩點多才收到,上午收到郵件,好像是半夜3、4點發出的。 原來說的考一個半小時,但是估計題簡單,改為一個小時。 考官查證件什么的比較嚴,霸王考貌似有難度。

1、某存儲器地址線長度為行10和列8,每個單位32bit,存儲量是 __ Byte。

2、給出描述,判斷三極管的工作狀態。

3、摩爾定律是什么,對硬件開發有何影響。

4、八位二進制補碼表示范圍 __ 到 __ 。兩個補碼表示的數11110101和00001011積是多少 __ (十進制) __ (十六進制) __ (八進制)。

5、一個簡單的運放電路(放大倍數為有限值!)的輸出。

6、RLC振盪電路,關於電流i(t)的輸入方程和輸出方程(U=10 V,R=100 Ohm,L=0.1 H,C=1uF,初始狀態為0)。

7、英譯中:關於嵌入式系統。

8、智力題 有甲乙車站,之間有丙車站,甲乙均每隔10分鍾發車一次,但兩站發車時間不一定一致。某人下班后去丙站,哪趟車先到坐哪趟。100天中,大 約90天到達甲站,10天到達乙站。問丙站列車時刻表。

9、三選一,可多做

(一)已給出一個系統的對數幅頻特性折線圖(比較簡單),

問:

(1)f=1000Hz時,20lg|A|~=?fai=?

(2)引入負反饋1(對傳輸函數影響忽略),是否震盪?

(3)保證系統穩定,負反饋最大多少?

 

(二)用FSB(好像是這個)解碼什么的。。。

(三)Intel某個芯片的一些問題,三種工作狀態,各個狀態下的一些操作。。。 后面有個編程題,好像是屬於(三),不會做,沒有多看。

 

【開放問題】: 描述你做過的一個項目的結構框圖(硬件/軟件),簡要介紹之,性能要求都有什么,遇到什么問題如何解決的? btw:走的時候發現黑板上寫的:可以在最后一頁寫點建議什么的,說是給邁瑞一次機會,暗含是給答得不好的自己一次機會吧。 (盡量回憶,希望對各位有用)

 

硬件工程師

1.設計一個4輸入的7段LED驅動器,並寫出testbench

2.解釋什么叫phase noise和jitter,怎樣盡量減小jitter 解釋什么叫skew,怎樣盡量減小skew

3.選作其一 1)解釋什么是cpu的實模式,什么是保護模式 2)解釋什么是ADC的INL和DNL5a880faf6f©應屆生求職網YingJieSheng.COM©c350ade2a4 4.英文作文,你最喜歡什么課?你學到了什么?為什么?200 words以上

模擬工程師 1.比較理想運放和非理想運放的參數放大倍數,輸入阻抗,輸出阻抗,噪聲,帶寬 2.比較非理想有反饋運放和非理想無反饋運放的參數放大倍數,輸入阻抗,輸出阻抗,帶寬 3.如果要設計一個正弦波發生器的輸出級電路,正弦波峰峰值10V,頻率10MHz,負載100歐姆.可能會碰到哪些困難?如何解決? 4.英文作文,比較電子工程和其他如機械工程,生物工程的優勢

 

華為硬件筆試題 2006-09-30 13:01

一 選擇 13個題目,沒有全部抄下來,涉及的課程有電路,模擬電路,數字電路,信號與系統,微機原理,網絡,數字信號處理 有關於 1.微分電路 2.CISC,RISC 3.數據鏈路層 二 填空 10個題目,沒有全部抄下來,涉及的課程有電路,模擬電路,數字電路,信號與系統,微機原理,網絡,數字信號處理有關於 1.TIC6000 DSP 2.二極管 3.RISC 4.IIR 三 簡答 1.x(t)的傅立葉變換為X(jw)=$(w)+$(w-PI)+$(w-5) h(t)=u(t)-u(t-2) 問: (1),x(t)是周期的嗎? (2),x(t)*h(t)是周期的嗎? (3),兩個非周期的信號卷積后可周期嗎? 2.簡述分組交換的特點和不足 四 分析設計 1.波形變換題目從正弦波->方波->鋸齒波->方波,設計電路 2.74161計數器組成計數電路,分析幾進制的 3.用D觸發器構成2分頻電路 4.判斷MCS-51單片機的指令正確還是錯誤,並指出錯誤原因 (1) MUL R0,R1 (2) MOV A,@R7 (3) MOV A,#3000H (4) MOVC @A+DPTR,A (5) LJMP #1000H () 5.MCS-51單片機中,采用12Mhz時鍾,定時器T0采用模式1(16位計數器),請問在下面程序中,p1.0的輸出頻率 MOV TMOD,#01H SETB TR0 LOOP:MOV TH0,#0B1H MOV TL0,#0E0H LOOP1:JNB TF0,LOOP1 CLR TR0 CPL P1.0 SJMP LOOP 華為硬件面試題 2006-09-30 13:02   全都是幾本模電數電信號單片機題目    1.用與非門等設計全加法器    2.給出兩個門電路讓你分析異同    3.名詞:sram,ssram,sdram (SRAM是靜態隨機存儲器,DRAM是動態隨機存儲器!SDRAM是同步動態隨機存儲器,SSRAM就是同步靜態隨機存儲器!) 4.信號與系統:在時域與頻域關系 5.信號與系統:和4題差不多 6.晶體振盪器,好像是給出振盪頻率讓你求周期(應該是單片機的,12分之一周期.. ..) 7.串行通信與同步通信異同,特點,比較 8.RS232c高電平脈沖對應的TTL邏輯是?(負邏輯?) 9.延時問題,判錯 10.史密斯特電路,求回差電壓 11.VCO是什么,什么參數(壓控振盪器?) 12. 用D觸發器做個二分顰的電路.又問什么是狀態圖 13. 什么耐奎斯特定律,怎么由模擬信號轉為數字信號 14. 用D觸發器做個4進制的計數 15.那種排序方法最快?

 

華為C語言

1、局部變量能否和全局變量重名?

  答:能,局部會屏蔽全局。要用全局變量,需要使用"::"

  局部變量可以與全局變量同名,在函數內引用這個變量時,會用到同名的局部變量,而不會用到全局變量。對於有些編譯器而言,在同一個函數內可以定義多個同名的局部變量,比如在兩個循環體內都定義一個同名的局部變量,而那個局部變量的作用域就在那個循環體內。

  2、如何引用一個已經定義過的全局變量?

  答:extern

  可以用引用頭文件的方式,也可以用extern關鍵字,如果用引用頭文件方式來引用某個在頭文件中聲明的全局變理,假定你將那個變寫錯了,那么在編譯期間會報錯,如果你用extern方式引用時,假定你犯了同樣的錯誤,那么在編譯期間不會報錯,而在連接期間報錯。

  3、全局變量可不可以定義在可被多個.C文件包含的頭文件中?為什么?

  答:可以,在不同的C文件中以static形式來聲明同名全局變量。

  可以在不同的C文件中聲明同名的全局變量,前提是其中只能有一個C文件中對此變量賦初值,此時連接不會出錯

  4、語句for( ;1 ;)有什么問題?它是什么意思?

  答:和while(1)相同。

  5、do……while和while……do有什么區別?

  答:前一個循環一遍再判斷,后一個判斷以后再循環

  6、請寫出下列代碼的輸出內容

以下是引用片段:   #include   main()   

{   

int a,b,c,d;   

a=10;   

b=a++;   

c=++a;   

d=10*a++;   

printf("b,c,d:%d,%d,%d",b,c,d);   

return 0;   

}

  答:10,12,120

  7、static全局變量與普通的全局變量有什么區別?static局部變量和普通局部變量有什么區別?static函數與普通函數有什么區別?

  全局變量(外部變量)的說明之前再冠以static 就構成了靜態的全局變量。全局變量本身就是靜態存儲方式, 靜態全局變量當然也是靜態存儲方式。這兩者在存儲方式上並無不同。這兩者的區別雖在於非靜態全局變量的作用域是整個源程序,當一個源程序由多個源文件組成時,非靜態的全局變量在各個源文件中都是有效的。而靜態全局變量則限制了其作用域,即只在定義該變量的源文件內有效,在同一源程序的其它源文件中不能使用它。由於靜態全局變量的作用域局限於一個源文件內,只能為該源文件內的函數公用,因此可以避免在其它源文件中引起錯誤。

  從以上分析可以看出,把局部變量改變為靜態變量后是改變了它的存儲方式即改變了它的生存期。把全局變量改變為靜態變量后是改變了它的作用域,限制了它的使用范圍。

  static函數與普通函數作用域不同。僅在本文件。只在當前源文件中使用的函數應該說明為內部函數(static),內部函數應該在當前源文件中說明和定義。對於可在當前源文件以外使用的函數,應該在一個頭文件中說明,要使用這些函數的源文件要包含這個頭文件

  static全局變量與普通的全局變量有什么區別:static全局變量只初使化一次,防止在其他文件單元中被引用;

  static局部變量和普通局部變量有什么區別:static局部變量只被初始化一次,下一次依據上一次結果值;

  static函數與普通函數有什么區別:static函數在內存中只有一份,普通函數在每個被調用中維持一份拷貝

  8、程序的局部變量存在於(堆棧)中,全局變量存在於(靜態區 )中,動態申請數據存在於( 堆)中。

  9、設有以下說明和定義:

  typedef union {long i; int k[5]; char c;} DATE;

  struct data { int cat; DATE cow; double dog;} too;

  DATE max;

  則語句 printf("%d",sizeof(struct date)+sizeof(max));的執行結果是:___52____

  答:DATE是一個union, 變量公用空間. 里面最大的變量類型是int[5], 占用20個字節. 所以它的大小是20

  data是一個struct, 每個變量分開占用空間. 依次為int4 + DATE20 + double8 = 32.

  所以結果是 20 + 32 = 52.

  當然...在某些16位編輯器下, int可能是2字節,那么結果是 int2 + DATE10 + double8 = 20

  10、隊列和棧有什么區別?

  隊列先進先出,棧后進先出

  。。。后面還有更精彩的內容

  一步一步的看下來,發現這些題目都很變態,對C語言的初學者來說能答出幾題就非常意外了。但是以華為選拔人才的標准來看,去參加應聘的人就應該把自己放在一個高水平的起點,能答出這些題目說明已經對C語言有非常深入的理解了,除非是像我一樣已經看過這些題目的答案了=*_*=

  全部看完之后對於自身也是一個提高,里面有一些自己已經知道的,有一些比較模糊的看過答案后比以前更清楚了,還有一些以前不知道的看了也是一個補充,總之收獲頗豐。真正能夠把C語言的語法掌握透徹就看對這些題的理解了,但這只是C語言的基礎,憑這些在C語言編程上面基本上不會犯什么語法錯誤了。還有更深入的東西是需要自己去不斷鑽研的


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM