當前位置:學者齋 >

計算機 >C語言 >

C語言面試筆試題

C語言面試筆試題

在平時的學習、工作中,我們都不可避免地會接觸到試題,試題是考核某種技能水平的標準。什麼樣的試題才是科學規範的試題呢?以下是小編為大家收集的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。

標籤: 筆試 面試 語言
  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/cyuyan/0knxe5.html