計算機等級

當前位置 /首頁/IT認證/計算機等級/列表

2017二級c語言題庫

C語言提供多種運算子和表示式值的方法,對問題的表達可通過多種途徑獲得,其程式設計更主動、靈活。下面是小編收集的2017二級c語言題庫,希望大家認真練習!

2017二級c語言題庫

  判斷題

× 1.指標是變數,它具有的值是某個變數或物件的地址值,它還具有一個地址值,這兩個地址值是相等的。

√ 2.指標的型別是它所指向的變數或物件的型別。

× 3.定義指標時不可以賦初值。

√ 4.指標可以賦值,給指標賦值時一定要型別相同,級別一致。

× 5.指標可以加上或減去一個int型數,也可以加上一個指標。

√ 6.兩個指標在任何情況下相減都是有意義的。

√ 7.陣列元素可以用下標表示,也可以用指標表示。

× 8.指向陣列元素的指標只可指向陣列的首元素。

√ 9.指向一維陣列的指標是一個二級指標。

× 10.指標陣列的元素可以是不同型別的指標。

√ 11.字元指標是指向字串的指標,可以用字串常量給字元指標賦值。

× 12.引用是一種變數,它也有值和地址值。

√ 13.引用是某個變數的別名,引用是被繫結在被引用的變數上。

√ 14.建立引用時要用一個同類型的變數進行初始化。

√ 15.指標是變數,它可以有引用,而引用不能有引用。

  單項選擇

1 下列資料中,為字串常量的是()。 D

A、'A'

B、How do you do.

C、$abc

D、"house"

2 以下所列的C語言常量中,錯誤的是( )。 B

A、0xFF

B、1.2e0.5

C、2L

D、'72'

3 以下程式的輸出結果是()。 D

main()

{float x=3.6;

int i;

i=(int)x;

printf("x=%f,i=%dn",x,i);

}

A、x=3.600000,i=4

B、x=3 i=3.600000

C、x=3,i=3

D、x=3.600000,i=3

4 若k是整型,則以下程式段的執行結果是:( ) B

k=-3;

if(k<=0) printf("####")

else printf("&&&&");

A、####

B、有語法錯誤,無結果

C、&&&&

D、####&&&&

5 若x=2,y=3則x||y的結果是( )。 C

A、3

B、0

C、1

D、2

6 針對下列程式段回答問題( B ).

for(t=1;t<=100;t++)

{

scanf("%d",&x);

if(x<0) continue;

printf("=",t);

}

A、x>=0時什麼也不輸出

B、最多允許輸出100個非負整數

C、printf函式永遠也不執行

D、當x<0時整個迴圈結束

7 以下程式的執行結果是( )。 B

main()

{ int num = 0;

while( num <= 2 ) { num++; printf( "%d,",num ); } }

A、0,1,2

B、1,2,3,

C、1,2,3,4,

D、1,2,

8 選擇正確的輸入語句( D )。:(其中:char string[20];)使得string的內容為"I am student".

A、scanf("%s", string);

B、scanf("%c", &string);

C、scanf("%s", &string);

D、gets(string);

9 對以下說明語句 int a[10]={6,7,8,9,10}; 的正確理解是()。 B

A、將5個初值依次賦給a[6]至a[10]

B、將5個初值依次賦給a[0]至a[4]

C、因為陣列長度與初值的個數不相同,所以此語句不正確

D、將5個初值依次賦給a[1]至a[5]

10 以下識別符號中可以作為使用者函式名的'是( ). D

A、struct

B、int

C、union

D、go_to

11 以下敘述錯誤的是( ). B

A、函式呼叫可以出現在一個表示式中

B、函式呼叫可以作為一個函式的形參

C、函式呼叫可以作為一個函式的實參

D、函式允許遞迴呼叫

12 若用陣列名作為函式的實參,傳遞給形參的是()。 B

A、陣列第一個元素的值

B、陣列的首地址

C、陣列元素的個數

D、陣列中全部元素的值

13 在C語言程式中()。 B

A、函式的定義可以巢狀,但函式的呼叫不可以巢狀

B、函式的定義不可以巢狀,但函式的呼叫可以巢狀

C、函式的定義和函式呼叫不可以巢狀

D、函式的定義和函式呼叫均可以巢狀

14 下列說法中正確的是( ). B

A、函式呼叫不佔執行時間,只佔編譯時間.

B、巨集替換不佔執行時間,只佔編譯時間.

C、有引數的巨集定義,就是函式.

D、在定義巨集時,巨集名與帶引數的括弧之間可以加空格.

15 若有說明:int *p,m=5,n;以下正確的程式段是()。D

A、scanf("%d",&n);*p=n;

B、p=&n;scanf("%d",*p)

C、p=&n;scanf("%d",&p);

D、p=&n;scanf("%d",p);

16 對於下述定義,不正確的敘述是( ). B

union data

{int i;

char c;

float f;

}a,b;

A、變數a的地址和它的各成員地址都是相同的

B、可以在定義型別的同時定義變數a,並對a的任意成員初始化

C、變數a所佔記憶體的長度等於成員f的長度

D、如果有定義語句 union data a={6};則對變數a的初始化是正確的

TAG標籤:二級 語言 題庫 #