簡單的c語言練習題

2023-01-15 13:51:03 字數 4157 閱讀 5866

第一章c語言概述

一、選擇題:

1、乙個c程式的執行是從( a )。

a本程式的main函式開始,到main函式結束

b本程式檔案的第乙個函式開始,到本程式檔案的最後乙個函式結束

c本程式的main函式開始,到本程式檔案的最後乙個函式結束

d本程式檔案的第乙個函式開始,到本程式main函式結束

2、 在 c 語言中,每個語句必須以( d )結束。

a. 回車符 b. 冒號 c. 逗號 d. 分號

3、c 語言規定:在乙個源程式中,main函式的位置( c )。

a. 必須在最開始 b. 必須在系統呼叫的庫函式的後面

c. 可以任意 d. 必須在最後

4、乙個c 語言程式是由( b )。

a. 乙個主程式和若干子程式組成 b. 函式組成

c. 若干過程組成 d. 若干子程式組成

5、下列說法中錯誤的是( d )。

a. 主函式可以分為兩個部分:主函式說明部分和主函式體

b. 主函式可以呼叫任何非主函式的其他函式

c. 任何非主函式可以呼叫其他任何非主函式

d. 程式可以從任何非主函式開始執行

6、用 c 語言編寫的原始檔經過編譯,若沒有產生編譯錯誤,則系統將( c )。

a. 生成可執行目標檔案 b. 生成目標檔案

c. 輸出執行結果 d. 自動儲存原始檔

二、填空題:

1、c 語言只有 32 個關鍵字和 9 種控制語句。

2、每個源程式有且只有乙個 main 函式,系統總是從該函式開始執行c語言程式。

3、c 語言程式的注釋可以出現在程式中的任何地方,它總是以 \* 符號作為開始標記,以 */ 符號作為結束標記。

4、c 語言中,輸入操作是由庫函式 scanf 完成的,輸出操作是由庫函

數 printf 完成的。

5、系統預設的c 語言源程式檔案的副檔名是 .c ,經過編譯後生成的目標檔案的副檔名是 .obj ,經過連線後生成的可執行檔案的副檔名是 .exe 。

6、c 語言的識別符號只能由字母、數字和下劃線三種字元組成。

第三章資料型別、運算子和表示式

一、選擇題:

1、以下選項中,不正確的 c 語言浮點型常量是( c )。

a. 160. b. 0.12 c. 2e4.2 d. 0.0

2、以下選項中,( d )是不正確的 c 語言字元型常量。

a. 'a' b. '\x41' c. '\101' d. "a"

3、 在 c 語言中,字元型資料在計算機記憶體中,以字元的( c )形式儲存。

a. 原碼 b. 反碼 c. ascii 碼 d. bcd碼

4、若x、i、j和k都是int型變數,則計算下面表示式後,x的值是( c )。

x=(i=4,j=16,k=32)

a. 4 b. 16 c.32 d.52

5、算術運算子、賦值運算子和關係運算子的運算優先順序按從高到低依次為( b )。

a. 算術運算、賦值運算、關係運算 b. 算術運算、關係運算、賦值運算

c. 關係運算、賦值運算、算術運算 d. 關係運算、算術運算、賦值運算

6、若有代數式 ,則不正確的c語言表示式是( c )。

b. 3*a*e/b/c c.3*a*e/b*c d. a*e/c/b*3

7、表示式!x||a==b 等效於( d )。

a. !((x||a)==b) b. !(x||y)==b c. !(x||(a==b)) d. (!x)||(a==b)

8、設整型變數 m,n,a,b,c,d 均為1,執行 (m=a>b)&&(n=c>d)後, m,n 的值是( a)。

a. 0,0 b. 0,1 c. 1,0 d. 1,1

9、 設有語句 int a=3;,則執行了語句 a+=a-=a*=a;後,變數 a 的值是( b )。

a. 3 b. 0 c. 9 d. -12

10、在以下一組運算子中,優先順序最低的運算子是( d )。

a. * b. != c. + d. =

11、設整型變數 i 值為2,表示式(++i)+(++i)+(++i)的結果是( b )。

a. 6 b. 12 c. 15 d. 表示式出錯

12、若已定義 x 和 y為double 型別,則表示式 x=1,y=x+3/2 的值是( c )。

a. 1 b. 2 c. 2.0 d. 2.5

13、sizeof (double)的結果值是( a )。

a. 8 b. 4 c. 2 d. 出錯

14、設a=1,b=2,c=3,d=4,則表示式:aa. 4 b. 3 c. 2 d. 1

15、設a 為整型變數,不能正確表達數學關係:10a. 10c. a>10 && a<15 d. !(a<=10) && !(a>=15)

16、設 f是實型變數,下列表示式中不是逗號表示式的是( d )。

a. f= 3.2, 1.0 b. f>0, f<10 c. f=2.0, f>0 d. f=(3.2, 1.0)

17、 表示式18/4*sqrt(4.0)/8值的資料型別是( c )。

a. int b. float c. double d. 不確定

18、已知字母a的ascii碼為十進位制數65,且c2為字元型,則執行語句

c2=』a』+』6』-『3』;後c2中的值是( a )。

a. d b. 68 c. 不確定的值 d. c

19、以下使用者識別符號中,合法的是( b )。

a. int b. nit c. 123 d. a+b

20、c 語言中,要求運算物件只能為整數的運算子是( a )。

a. % b. / c. > d. *

21、若有說明語句:char c='\72';則變數c在記憶體占用的位元組數是( a )。

a. 1 b. 2 c. 3 d. 4

22、字串"abc"在記憶體占用的位元組數是( b )。

a. 3 b. 4 c. 6 d. 8

23、要為字元型變數 a賦初值,下列語句中哪乙個是正確的( b )。

a. char a="3"; b. char a=』3』; c. char a=%; d. char a=*;

24、下列不正確的轉義字元是( c )。

a. \\ b. \' c. 074 d. \0

二、填空題:

1、c 語言中的邏輯值「真」是用 1 表示的,邏輯值「假」是用 0 表示的。

2、若x和n都是int型變數,且x的初值為12,n的初值為5,則計算表示式x%=(n%=2)後x的值為 0 。

3、設 c='w',a=1,b=2,d=-5, 則表示式 'x'+1>c, 'y'!=c+2, -a-5*b<=d+1, b==a=2的值分別為 1 、 0 、 1 、 1 。

4、設 float x=2.5,y=4.7; int a=7;,表示式 x+a%3*(int)(x+y)%2/4的值為 2.5 。

5、判斷變數 a、b 的值均不為 0 的邏輯表示式為a!=0&&b!=0 。

6、求解賦值表示式 a=(b=10)%(c=6),表示式值、a、b、c 的值依次為 4,4,10,6 。

7、求解逗號表示式 x=a=3,6*a 後,表示式值、x、a 的值依次為18,3,3 。

8、數學式a/(b*c)的 c 語言表示式 a/b/c 。

第7章陣列習題

a卷1. 單項選擇題

(1) int a[4]=;其中 a[3]的值為( )。d

a. 5 b. 3 c. 8 d. 9

(2) 以下 4 個字串函式中,( )所在的標頭檔案與其他 3 個不同。a

a. gets b. strcpy c. strlen d. strcmp

(3) 以下 4 個陣列定義中,( )是錯誤的。 d

a. int a[7]; b. #define n 5 long b[n]; c. char c[5]; d. int n,d[n];

(4) 對字元陣列進行初始化,( )形式是錯誤。 b

a. char c1[ ]=; b. char c2[ ]=123; c. char c3[ ]=; d. char c4[ ]="123";

(5) 在陣列中,陣列名表示( )。 a

a. 陣列第 1 個元素的首位址 b.陣列第 2 個元素的首位址

c. 陣列所有元素的首位址 d.陣列最後 1 個元素的首位址

(6) 若有以下陣列說明,則數值最小的和最大的元素下標分別是( )。 b

int a[12] =;

c語言練習題

下列敘述中不正確的是 c a 函式可以帶引數 也可以不帶引數。b main函式在c程式中必須有惟一乙個 c c程式的執行從main函式開始,所以main函式必須放在程式最前面 d 每個函式執行時,按函式體中語句的先後次序,依次執行每條語句 以下四個程式中,完全正確的是 d a include mai...

C語言練習題

1.兔子繁殖問題 設有一對新生兔子,從第三個月開始它們每個月都生一對兔子。按此規律,並假設沒有兔子死亡,一年後共有多少對兔子?答 include int main void 執行後結果 一年後的兔子數為 144 1 fib1 1 2 fib2 1 3 fib3 2 4 fib4 3 5 fib5 5...

C語言迴圈結構練習題

while語句的使用格式和注意事項 do while語句的使用格式和注意事項 for語句的使用格式和注意事項 break和continue語句在迴圈語句中的應用 迴圈結構的巢狀 使用goto語句實現迴圈結構 窮舉法程式設計方法 迭代程式設計方法 1 語句while e 中的條件 e等價於 a.e 0...