2017年計算機二級C語言模擬試題

學識都 人氣:5.4K

C語言是世界上最流行、使用最廣泛的高級程序設計語言之一。下面是關於計算機二級C語言模擬試題,歡迎參考!

2017年計算機二級C語言模擬試題

單選題

1.下列關於定義一個指向double型變量的指針,正確的是( B )。

a(5);double *pd=a; le d(2.5),*pd=&d;

le d(2.5),*pd=d; le a(2.5),pd=d;

2.下列關於創建一個int型變量的引用,正確的是( A )。

a(3),&ra=a; a(3),&ra=&a;

le d(3.1);int &rd=d; a(3),ra=a;

3.下列關於指針概念的描述中,錯誤的是( B )。

A.指針中存放的是某變量或對象的地址值

B.指針的類型是它所存放的數值的'類型

C.指針是變量,它也具有一個內存地址值

D.指針的值(非常量指針)是可以改變的

4.下列關於引用概念的描述中,錯誤的是( A )。

A.引用是變量,它具有值和地址值

B.引用不可以作數組元素

C.引用是變量的別名

D.創建引用時必須進行初始化

5.已知:int a[5],*p=a;則與++*p相同的是( D )。

A.*++p B.a[0]

C.*p++ D.++a[0]

6.已知:int a[ ]={1,2,3,4,5},*p=a;在下列數組元素地址的表示中,正確的是( C )。

A.&(a+1) B.&(p+1)

C.&p[2] D.*p++

7.已知:int a[3][4],(*p)[4];下列賦值表達式中,正確的是( A )。

A.p=a+2 B.p=a[1]

C.p=*a D.p=*a+2

8.已知:int b[3][5]={0};下列數組元素值的表示中,錯誤的是( D )。

A.**(b+1) B.(*(b+1))[2]

C.*(*(b+1)+1) D.*(b+2)

9.已知:int a=1,b=2,*p[2];下列表達式中正確的是( C )。

24

A.p=&a B.p=&b

C.p[0]=&a,p[1]=&b D.p[ ]={&a,&b};

10.已知:int a(5),&ra=a;下列描述中,錯誤的是( D )。

是變量a的引用,即爲變量的別名 的值爲5

的地址值爲&a D.改變ra的值爲10,變量a值仍爲5

判斷題

× 1.指針是變量,它具有的值是某個變量或對象的地址值,它還具有一個地址值,這兩個地址值是相等的。

√ 2.指針的類型是它所指向的變量或對象的類型。

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

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

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

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

√ 7.數組元素可以用下標表示,也可以用指針表示。

× 8.指向數組元素的指針只可指向數組的首元素。

√ 9.指向一維數組的指針是一個二級指針。

× 10.指針數組的元素可以是不同類型的指針。

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

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

√ 13.引用是某個變量的別名,引用是被綁定在被引用的變量上。

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

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

簡單回答下列問題

分程序是複合語句嗎?複合語句與分程序的區別是什麼?

答:分程序是複合語句。複合語句與分程序的區別在於含有說明語句的複合語句稱爲分程序。

if語句中,else子句的功能是什麼?

答:該子句的功能是當if子句和所有else if子句的條件都爲0時,則執行else子句。

在開關語句中,是否每個case子句後面的<語句序列>中都應該有break語句?

答:通常case子句後面的<語句序列>中都有break語句,根據需要也可以沒有break語句。

循環語句的循環體中出現的continue語句的作用是什麼?

答:結束本次循環,轉到循環頭判斷是否繼續循環。

文件包含命令的功能嗎?該命令一定要放在程序首部嗎?

答:該預處理命令是將指定的包含文件內容放在該命令出現的地方。通常放在程序開頭,便於後邊語句的使用。