當前位置:才華齋>計算機>C語言>

C語言面試筆試題

C語言 閱讀(1.38W)

在平時的學習、工作中,我們都不可避免地會接觸到試題,試題是考核某種技能水平的標準。什麼樣的試題才是科學規範的試題呢?以下是小編為大家收集的C語言面試筆試題,供大家參考借鑑,希望可以幫助到有需要的朋友。

C語言面試筆試題

(1)演算法的時間複雜度是指_______。

A)執行演算法程式所需要的時間

B)演算法程式的長度

C)演算法執行過程中所需要的基本運算次數

D)演算法程式中的指令條數

答案:C

評析:所謂演算法的時間複雜度,是指執行演算法所需要的計算工作量。

(2)下列敘述中正確的是________。

A)線性表是線性結構 B)棧與佇列是非線性結構

C)線性連結串列是非線性結構 D)二叉樹是線性結構

答案:A

評析:一般將資料結構分為兩大型別:線性結構與非線性結構。線性表、棧與佇列、線性連結串列都是線性結構,而二叉樹是非線性結構。

(3)下面關於完全二叉樹的敘述中,錯誤的是_________。

A)除了最後一層外,每一層上的結點數均達到最大值

B)可能缺少若干個左右葉子結點

C)完全二叉樹一般不是滿二叉樹

D)具有結點的完全二叉樹的深度為[log2n]+1

答案:B

評析:滿二叉樹指除最後一層外每一層上所有結點都有兩個子結點的二叉樹。完全二叉樹指除最後一層外,每一層上的結點數均達到最大值,在最後一層上只缺少右邊的若干子結點(葉子結點)的二叉樹。

C語言筆試題答案篇

(1)結構化程式設計主要強調的是_________。

A)程式的規模 B)程式的易讀性

C)程式的執行效率 D)程式的可移植性

答案:B

評析:結構化程式設計主要強調的是結構化程式清晰易讀,可理解性好,程式設計師能夠進行逐步求精、程式證明和測試,以保證程式的正確性。

(2)在軟體生命週期中,能準確地確定軟體系統必須做什麼和必須具備哪些功能的階段是________。

A)概要設計 B)詳細設計 C)可行性分析 D)需求分析

答案:D

評析:需求分析是對待開發軟體提出的需求進行分析並給出詳細定義,即準確地確定軟體系統的功能。編寫軟體規格說明書及初步的使用者手冊,提交評審。

(3)資料流圖用於抽象描述一個軟體的邏輯模型,資料流圖由一些特定的圖符構成。下列 圖符名標識的圖符不屬於資料流圖合法圖符的是_________。

A)控制流 B)加工 C)資料儲存 D)源和潭

答案:A

評析:資料流圖從資料傳遞和加工的角度,來刻畫資料流從輸入到輸出的移動變換過程。資料流圖中的主要圖形元素有:加工(轉換)、資料流、儲存檔案(資料來源)、源和潭。

(4)軟體需求分析一般應確定的是使用者對軟體的__________。

A)功能需求 B)非功能需求 C)效能需求 D)功能需求和非功能需求

答案:D

評析:軟體需求分析中需要構造一個完全的系統邏輯模型,理解使用者提出的每一功能與效能要求,是使用者明確自己的任務。因此,需求分析應確定使用者對軟體的功能需求和非功能需求。

C語言筆試題答案篇

(1)下述關於資料庫系統的敘述中正確的是________。

A)資料庫系統減少了資料冗餘

B)資料庫系統避免了一切冗餘

C)資料庫系統中資料的'一致性是指資料型別的一致

D)資料庫系統比檔案系統能管理更多的資料

答案:A

評析:由資料的共享自身又可極大地減少資料冗餘性,不僅減少了不必要的儲存空間,更為重要的是可以避免資料的不一致性。所謂資料的一致性是指在系統中同一資料的不同出現應保持相同的值。

(2)關係表中的每一橫行稱為一個________。

A)元組 B)欄位 C)屬性 D)碼

答案:A

評析:在關係資料庫中,關係模型採用二維表來表示,簡稱“表”。二維表是由表框架及表元組組成。在表框架中,按行可以存放資料,每行資料稱為元組。

(3)資料庫設計包括兩個方面的設計內容,它們是________。

A)概念設計和邏輯設計 B)模式設計和內模式設計

C)內模式設計和物理設計 D)結構特性設計和行為特性設計

答案:A

評析:資料庫設計可分為概念設計與邏輯設計。概念設計的目的是分析資料間內在語義關聯,在此基礎上建立一個數據的抽象模型。邏輯設計的主要工作是將ER圖轉換為指定的RDBMS中的關係模型。

(4)請讀程式:

#include

main

{

int a;float b,c;

scanf(“%2d%3P%4f’,&a,&b,&C);

printf(” a=%d,b=%ec。%f ”,a,b,C);

}

若執行時從鍵盤上輸入9876543210l,則上面程式的輸出結果是________。

A)a=98,b=765,c=432 1

B)a=1 0,b=432,c=8765

C)a=98,b=765.000000,c=432 1.000000

D)a=98,b=765.0,c=432 1.0

答案:C

評析:scanf把使用者從鍵盤錄入的數字的第1、2位存入整型變數a;把第3、4、5位存入單精度實型變數b,把第6、7、8、9位存入單精度實型變數c,使用者錄入的第10位被scanf遺棄。這時變數a、b、c的值分別為:98、765.000000、4321.000000。

(5)一個良好的演算法由下面的基本結構組成,但不包括__________。

A)順序結構 B)選擇結構 C)迴圈結構 D)跳轉結構

答案:D

評析:1966年,Bohra和Jacopini提出了以下三種基本結構,用這三種基本結構作為表示一個良好演算法的基本單元:1、順序結構;2、選擇結構;3、迴圈結構。

(6)請選出以下程式的輸出結果________。

#include

sub(x,y,z)

int x,y,星符號z:

{星符號z=y-x;}

main{

int a,b,c;

sub(10,5,&a);sub(7,a,&b);sub(a,b,&C);

printf(”%d,%d,%d ”,a,b,C);

}

A)5,2,3 B)-5,-12,-7 C)-5,-12,-17 D)5,-2,-7

答案:B

評析:sub函式的作用是將形參y和x的差賦給了z指向的那個記憶體地址,所以在sub(10,5,&a/I,10和5屬於值傳遞,a是屬於地址傳遞,也就是a與z指向了同一個儲存單元,在執行函式後,a的值隨星符號z變化,所以此次函式被呼叫後,a的值為y-x=-5,同理可知,在sub(7,a,&b)後,b的值發生變化,其值為-5-7=-12,在sub(a,b,&C)後,c的值發生變化,其值為-12-(-5)=-7。

(7)下面程式在螢幕上的輸出是________。

main

{

printf(”ab c”);

}

A)ab c B)a c C)abc D)ab c

答案:B

評析:c語言中允許使用一種特殊形式的字元常量,、就是以一個“”開頭的字元序列,這樣的字元稱為“轉義字元”。常用的轉義字元有:,換行; ,水平製表;,退格;,回車。

(8)若x是整型變數,pb是基型別為整型的指標變數,則正確的賦值表示式是_______。

A)pb=&x; B)pb=x; C)星符號pb=&x; D)星符號pb=星符號x

答案:A

評析:選項A將變數x的地址賦給指標變數pb,使pb指向x‘選項B是將x的值當作地址賦給指標pb,Db指向一個地址等於x值的記憶體單元;選項c將x的地址賦給指標pb指向的地址等於x的記憶體單元。

(9)設整型數i=5,則printf(“%d”,i+++++i);的輸出為________。

A)10 B)1l C)12 D)語法錯誤

答案:D

評析:c語言中有基本的算術運算子(+、-、星符號、/)還包括自增自減運算子(++、–),在c語言解析表示式時,它總是進行貪婪咀嚼,這樣,該表示式就被解析為i++ ++ +i,顯然該表示式不合c語言語法。

(10)若要用下面的程式片段使指標變數p指向一個儲存整型變數的動態儲存單元

int 星符號p;

p=___________malloc(sizeof(im));

則應填入__________。

A)int B)int C)(星符號int) D)(int星符號)

答案:D

評析:不論p是指向什麼型別的指標變數,都可以通過強制型別轉換的方法使之型別一致,強制型別轉換的格式為(資料型別+)。

(11)下面程式輸出的結果是__________。

main

{

int i=5,J=9,x;

x=(I==j?i:(j=7));

printf(” %d,%d”,I,J);

}

A)5,7 B)5,5 C)語法錯誤 D)7,5

答案:A

評析:條件表示式的一般形式為:表示式I?表示式2:表示式3;先求解表示式1,若為真則求解表示式2;若表示式l的值為假,則求解表示式3。本題中先判斷i==j,不等,執行j=7;然後執行x=7。故本題為A。