當前位置:才華齋>IT認證>計算機等級>

2017年全國計算機等級考試C語言程式設計考試試題

計算機等級 閱讀(1.3W)

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.C++語言中,函式可以用原型說明,也可用簡單說明。

× 3.定義函式時,儲存類可以預設,資料型別也可以省略。

× 4.函式可以沒有引數,但是不能沒有返回值。

× 5.函式定義時必須給出函式體,函式體內至少有一條語句。

√ 6.沒有引數的兩個函式是不能過載的。

√ 7.函式呼叫方式有傳值呼叫和引用呼叫兩種,傳值呼叫中又分傳值和傳址兩種。

√ 8.函式的儲存類有外部的和靜態的兩種,它們的作用域分別是程式級的和檔案級的。

× 9.沒有返回值的函式不能設定為行內函數。

× 10.函式可以設定預設的引數值,預設引數值必須設定在函式定義時的形參上。

  三、分析下列程式的輸出結果

1.

#include

int fun(int n)

{

int p(1),s(0);

for(int i(1);i

{

p*=i;

s+=p;

}

return s;

}

void main()

{

int s=fun(4);

cout<

}

答: 9

2.

#include

void fun();

void main()

{

for(int i(0);i<4;i++)

fun();

}

void fun()

{

int a(0);

a++;

static int b;

b++;

cout<<"a="<