C語言是世界上最流行、使用最廣泛的高階程式設計語言之一。下面是關於計算機二級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語句的作用是什麼?
答:結束本次迴圈,轉到迴圈頭判斷是否繼續迴圈。
檔案包含命令的功能嗎?該命令一定要放在程式首部嗎?
答:該預處理命令是將指定的包含檔案內容放在該命令出現的地方。通常放在程式開頭,便於後邊語句的使用。