C語言期末複習

2022-05-07 17:48:02 字數 4470 閱讀 8023

所有單選題

1、c語言中下列敘述正確的是______。

a:不能使用do-while語句構成的迴圈

b:do-while語句構成的迴圈,必須用break語句才能退出

c:do-while語句構成的迴圈,當while語句中的表示式值為非零時結束迴圈

d:do-while語句構成的迴圈,當while語句中的表示式值為零時結束迴圈

答案:d

評析: 本題的考查點是do-while語句。

選項a是錯誤的,c語言支援do-while語句;選項b是錯誤的,do-while構成的迴圈, 當while語句中的表示式值為零時結束迴圈,而不是非零;選項c也是錯誤的。

故本題答案為d。

知識點:知識點/迴圈結構程式設計/while和do while迴圈結構

2、以下選項中屬於c語言的資料型別是______。

a:複數型

b:邏輯型

c:雙精度型

d:集合型

答案:c

評析: 本題的考查點是c語言的資料型別。

c語言的資料型別分為基本型別,構造型別,指標型別,空型別四大類。其中,基本型別分為整型,字元型,實型三類。實型又稱浮點型,包括單精度型和雙精度型兩種型別。

故本題答案為c。

知識點:知識點/資料型別及其運算/c的資料型別及其定義方法

3、下列描述中不正確的是______。

a:字元型陣列中可以存放字串

b:可以對字元型陣列進行整體輸入、輸出

c:可以對整型陣列進行整體輸入、輸出

d:不能在賦值語句中通過賦值運算子"="對字元型陣列進行整體賦值

答案:c

評析: 本題的考查點是對陣列的理解。

c語言規定只能逐個引用陣列元素而不能一次引用整個陣列。字元陣列的輸入、輸出可以將整個字串一次輸入或輸出。所以,選項c的說法是不正確的。

故本題答案為c。

知識點:知識點/基本語句/資料的輸入與輸出,輸入輸出函式的呼叫

4、以下程式的輸出結果是______。

main()

a:10 1 9 2

b:9 8 7 6

c:10 9 9 0

d:10 10 9 1

答案:d

評析: 本題的考查點是for迴圈語句。

for語句的一般格式為:for(表示式1;表示式2;表示式3)語句執行中只要表示式2為真,則執行for語句中指定的內嵌語句。所以,本題在條件為真的情況下,先執行printf函式。

x--是先使用後運算。

故本題答案為d。

知識點:知識點/迴圈結構程式設計/for迴圈結構

5、以下程式的輸出結果是______。

main()

,*p;

int i ;

i=8;

p=a+i;

printf("%s\n",p-3);

} a:6

b:6789

c:'6'

d:789

答案:b

評析: 本題的考查點是通過指標引用陣列元素。

指標p指向陣列中第8個元素,即a[8]='9'。輸出時,輸出字串,且指標把a[8]作為初始位置往前指3個元素,也就是共有4個字元輸出。最後指向a[5]為'6',所以輸出為6789。

故本題答案為b。

知識點:知識點/指標/指標陣列,指向指標的指標,main函式的命令列引數

6、能正確表示a和b同時為正或同時為負的邏輯表示式是______。

a:(a>=0||b>=0)&&(a<0|| b<0)

b:(a>=0&&b>=0)&&(a<0&&b<0)

c:(a+b>0)&&(a+b<=0)

d:a*b>0

答案:d

評析: 本題的考查點是對邏輯表示式的判斷。

邏輯表示式是指用邏輯運算子將關係表示式或邏輯量連線起來。

選項a中,表示式表示的是a,b為異號;

選項b中,表示式表示的是0,因為沒有滿足條件的值;

選項c中,表示式表示的是0,因為沒有滿足條件的值;

選項d表示的是a和b為同號。

故本題答案為d。

知識點:知識點/基本語句/表示式語句,空語句,復合語句

7、以下程式的輸出結果是______。

main()

a:2 0

b:3 1

c:3 2 1

d:2 1 0

答案:a

評析: 本題的考查點是while語句的判斷。

n--是先使用後運算,--n是先運算後使用。n=4時,執行n--後,n變為3,執行--n後,n變為2,所以,第一次輸出時,n為2;同上過程,第二次輸出時,n為0。

故本題答案為a。

知識點:知識點/迴圈結構程式設計/while和do while迴圈結構

8、以下程式的輸出結果是______。

main()

a:17,021,0x11

b:17,17,17

c:17,0x11,021

d:17,21,11

答案:d

評析: 本題的考查點是不同格式的資料輸出。

printf函式對不同型別的資料用不同的格式字元,"%d"是以帶符號的十進位制形式輸出整數(正數不輸出符號);"%o"以8進製無符號形式輸出整數(不包括前導符0);"%x"以16進製制無符號形式輸出整數(不包括前導符0x)。

本題答案為d。

知識點:知識點/資料型別及其運算/c的資料型別及其定義方法

9、若有說明:long *p,a;則不能通過scanf語句正確給輸入項讀入資料的程式段是______。

a:*p=&a;scanf("%ld",p);

b:p=(long *)malloc(8);scanf("%ld,p);

c:scanf("%ld",p=&a);

d:scanf("%ld",&a);

答案:a

評析: 本題的考查點是格式輸入函式scanf()的使用。

scanf函式輸入形式為:scanf(格式控制,位址表列);

選項b中,p=(long*)malloc(8)是分配8個位元組的long型儲存單元,所以能通過scanf語句正確給輸入項讀入資料;

選項c中,p=&a,求出變數a的記憶體位址並賦給p;

選項d中,能正確給輸入項讀入資料;

故本題答案為a。

知識點:知識點/基本語句/資料的輸入與輸出,輸入輸出函式的呼叫

10、以下選項中,能定義s為合法的結構體變數的是______。

a:typedef struct abc

s; b:struct

s; c:struct abc

abc s;

d:typedef abc

abc s;

答案:b

評析: 本題的考查點是結構體變數的定義。

定義乙個結構體型別的變數,可採用三種方法:

(1)先定義結構體型別再定義變數名;

(2)在定義型別的同時定義變數;

(3)直接定義結構型別變數,即不出現結構體名;

選項b符合第三種定義方法。

故本題答案為b。

知識點:知識點/結構體(即"結構")與共用體(即"聯合")/結構體和共用體型別資料的定義方法和引用方法

11、請讀程式:

#include <>

main()

b -= 5 ;

}printf("%d\n", a) ;

}上面程式的輸出結果是______。

a:7b:8

c:9d:10

答案:b

評析: 本題的考查點是break語句和continue語句。

"%"是求餘運算子,執行第一次迴圈時,條件(b%3 == 1)為真,b=4,繼續下一次迴圈,如此反覆,當b=22時,條件(b >= 20)為假,跳出迴圈,此時共迴圈8次,即a=8。

故本題答案為b。

知識點:知識點/選擇結構程式設計/用switch語句實現多分支選擇結構

12、請選出合法的c語言賦值語句______。

a:a=b=58

b:i++;

c:a=58,b=58

d:k=int(a+b);

答案:b

評析: 本題的考查點是賦值語句。

選項a和c沒有用分號表示語句結束,不合法;

選項d,函式名和c語言的關鍵字重名,不合法。

故本題答案為b。

知識點:知識點/基本語句/表示式語句,空語句,復合語句

13、請選出可用作c語言使用者識別符號的一組識別符號______。

① voida3_b3 ③ for ④ 2a

define123abc do

wordifcase sizeof

a:①b:②

c:③d:④

答案:b

評析: 本題的考查點是c語言的識別符號。

c語言規定識別符號只能由字母、數字和下劃線三種符號組成,而且第乙個字元必須是字母或下劃線。

C語言期末複習

第1章程式設計及c語言概述 一 單選題 1 乙個演算法應該具有 確定性 等5個特性,下面對另外4個特性的描述中錯誤的是 a 有零個或多個輸入 b 有零個或多個輸出 c 有窮性d 可行性 2 以下敘述中正確的是 a c語言的源程式不必通過編譯就可以直接執行 b c語言中的每條可執行語句最終都將被轉換成...

c語言期末複習內容

3 實驗指導書上面的顧客購物打折 4 輸入兩個數由小到大輸出 第五章 迴圈結構 1 do while語句與for while語句在執行順序上的區別 2 while語句 設有程式段 int k 10 while k 0 k k 1 迴圈體執行次數?例題 1 求n的階乘 2 從鍵盤輸入的一組字元中統計出...

C語言程式設計A期末複習指導

c語言程式設計a 模擬考核試題 一 選擇題 1.由c語言源程式檔案編譯而成的目標檔案的預設擴充套件名為 a.cpp b.exe c.obj d.c 2.c語言程式的基本模組為 a.表示式 b.識別符號 c.語句 d.函式 3.設x和y均為邏輯值,則x y為假的條件是 a.它們均為真b.其中乙個為真 ...