2015年下半年計算機二級考試C語言模擬試題及答案(六)

來源:文萃谷 2.85W

  一、選擇題

2015年下半年計算機二級考試C語言模擬試題及答案(六)

1.已知函數的調用形式:fread(buffer,size,count,fp);其中buffer代表的是(B)。

A、一個存儲區,存放要讀的數據項

B、一個指針,指向要讀入數據的存放地址

C、一個文件指針,指向要讀的文件

D、一個整數,代表要讀入的數據項總數

2.結構體類型的定義允許嵌套是指(A)。

A、成員是已經或正在定義的結構體型

B、定義多個結構體型

C、成員可以重名

D、結構體型可以派生

3.對結構體類型的變量的成員的訪問,無論數據類型如何都可使用

的運算符是(B)。

A、&

B、.

C、*

D、->

4.若有以下的定義:int t[3][2];能正確表示t數組元素地址的表達式是(D)。

A、&t[1]

B、t[3]

C、&t[3][2]

D、t[2]

5.若有説明: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;*p=m;

6.若定義:int a=511,*b=&a;, 則printf("%dn",*b);的輸出結果為(D)。

A、無確定值

B、a的地址

C、512

D、511

7.下列説法中正確的是(B ).

A、函數調用不佔運行時間,只佔編譯時間.

B、宏替換不佔運行時間,只佔編譯時間.

C、有參數的宏定義,就是函數.

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

C語言程序中,若對函數類型未加聲明,則函數的類型系統默認為(C)。

A、void

B、double

C、int

D、char

8.若已定義的函數有返回值,則以下關於該函數調用的敍述中錯誤的是(A)。

A、函數調用可以作為一個函數的形參

B、函數調用可以作為一個函數的實參

C、函數調用可以作為獨立的語句存在

D、函數調用可以出現在表達式中

9.對於void類型函數,調用時不可作為(B)。

A、循環體裏的語句

B、表達式

C、if語句的成分語句

D、自定義函數體中的語句

10.C語言規定,函數返回值的類型是由(A)。

A、在定義該函數時所指定的函數類型所決定

B、return語句中的表達式類型所決定

C、調用該函數時系統臨時決定

D、調用該函數時的主調函數類型所決定

11.以下定義語句中,錯誤的是(A)。

A、int n=5,a[n];

B、int a[]={1,2};

C、char s[10]="test";

D、char *a[3];

12.以下不能對二維數組a進行正確初始化的語句是(A)。

A、int a[2][3]={{1,2},{3,4},{5,6}};

B、int a[][3]={{1,2},{0}};

C、int a[2][3]={0};

D、int a[][3]={1,2,3,4,5,6};

13.在C語言中,引用數組元素時,其數組下標的數據類型允許是(B)。

A、整型常量

B、整型常量或整型表達式

C、整型表達式

D、任何類型的表達式

a[10];合法的數組元素的最小下標值為(D)。

A、10

B、9

C、1

D、0

15.下列數組説明中,正確的是(B)。

A、int array[][];

B、int array[][4];

C、int array[3][];

D、int array[][][5];

16.以下正確的描述是(A ).

A、只能用continue語句來終止本次循環

B、switch語句中不能出現continue語句

C、在循環中break語句不能獨立出現

D、goto語句只能用於退出多層循環

17.針對for循環語句,for(表達式1;表達式2;表達式3),下列説法正確的是(B ).

A、break語句可以一次性跳出多層嵌套循環

B、break語句只能跳出最內層循環

C、continue語句可以一次性跳出多層嵌套循環

D、continue語句不能跳出最外層循環

18.下面程序正確的運行結果是(B ).(答案中用大寫字母U代表空格)

main()

{

int num=0;

while(num<=2)

{

num++;

printf("=",num);

}

}

A、UU1

B、UU1UU2UU3

C、UU1UU2UU3UU4

D、UU1UU2

19.以下程序的執行結果是(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,

20.C語言中,switch後的括號內表達式的值可以是( C)。

A、只能為整型和字符型

B、只能為整型

C、任何類型

D、只能為整型,字符型,枚舉型

21.下列運算符中,不屬於關係運算符的是(C)。

A、>=

B、>

C、!

D、<

22.下面説法不正確的是:(C )。

A、a為真b為假,則a&&b為假

B、a為真b為假,!a&&b為假

C、a為真b為假,則a||b為假

D、a為真,!a-1為真

23.以下運算符中,優先級最高的運算符是(D)。

A、==

B、||

C、%

D、!

24.已知鍵盤輸入a=4,b=3,下面程序輸出的結果是( C).

main()

{ int a,b,s;

scanf("%d%d",&a,&b);

s=a;

if(a   s=s*s;

printf("%dn",s);

}

A、9

B、13

C、16

D、15

25.為表示關係x>=y>=z,應使用C語言表達式為:( A)

A、(x>=y)&&(y>=z)

B、(x>=y)&(y>=z)

C、(x>=y)AND(y>=z)

D、(x>=y>=z)

26.已定義float a; int i;選擇正確的輸入語句(C ).

A、scanf("%6.2f=", &a,&i);

B、scanf("%f%s", &a,&i);

C、scanf("o=",&a,&i);

D、scanf("%f%d", a,i);

27.根據下面的程序,正確的輸出形式是(A );

main()

{

int i=5,j=10;

printf ("i=%d,", i);

printf ("j=%d ", j);

}

A、i=5, j=10

B、10,5

C、5,10

D、i=5Uj=10

28.若有以下程序:

main()

{

int k=2,i=2,m;

m=(k+=i*=k);

printf("%d,%dn",m,i);

}

29執行後的輸出結果是(D )。

A、8,3

B、7,4

C、8,6

D、6,4

30下列字符序列中,不可用作C語言標識符的是(C)。

A、b70

B、a_1

C、#ab

D、symbol

31設C語言中,int類型數據佔2個字節,則unsigned類型數據佔(C)。

A、1個字節

B、8個字節

C、2個字節

D、4個字節

32已知f是float型的變量,對於語句f=(2.0,1.0,0.0),(3.0,4.0,5.0);的判斷中,正確的是(B ).

A、使 f 的值為5.000000

B、使 f 的值為0.000000

C、使 f 的值為2.000000

D、語法錯誤

33執行下列語句後變量x和y的值是(A)。

y=10;x=y++;

A、x=10,y=11

B、x=11,y=11

C、x=11,y=10

D、x=10,y=10

34設有説明:char c; int x; double z;則表達式c*x+z值的數據類型為( C)。

A、char

B、int

C、double

D、float

35以下數據中,不正確的數值或字符常量是(D)。

A、82.5

B、0xff00

C、10

D、8.9e1.2

36若int a=2,則執行完表達式a-=a+=a*a後,a的值是(C )。

A、-4

B、-8

C、0

D、-2

37以下運算符中,優先級最高的運算符是(C)。

A、!=

B、*(乘號)

C、( )

D、=

38下列數據中,為字符串常量的是(D)。

A、A

B、How do you do.

C、$abc

D、"house"

39以下標識符中,不能作為合法的C用户定義標識符的是(D)。

A、INT

B、_123

C、_double

D、putchar

40經下列語句定義後,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在

微機上的值分別為(D)。

char x=65;

float y=7.3;

int a=100;

double b=4.5;

A、1,2,2,4

B、2,4,2,8

C、2,2,2,4

D、1,4,2,8

41以下標識符中,不能作為合法的C用户定義標識符的是(B)。

A、a3_b3

B、void

C、_123

D、IF

42能將高級語言編寫的源程序轉換為目標程序的是(A)。

A、編譯程序

B、鏈接程序

C、解釋程序

D、編輯程序

43C語言的註釋定界符是(D)。

A、[ ]

B、{ }

C、* *

D、/* */

44C語言源程序的基本單位是(B)。

A、子程序

B、函數

C、標識符

D、過程

45在下列程序段中,枚舉變量c1,c2的值依次是(A)。

enum color {red,yellow,blue=4,green,white} c1,c2;

c1=yellow;c2=white;

printf("%d,%dn",c1,c2);

A、1,6

B、2,5

C、2,6

D、1,4

46定義int a[ ]={0,1,2,3,4,5,6,7,8,9},*p=a,i;,其中0≤i≤9,則對a數組元素的引用不正確的是____.C

A、p[i]

B、a[p-a]

C、*(*(a+i))

D、*(&a[i])

47執行下面程序段後,ch的值是:____D

char ch=’Z’;

ch=(ch>=’A’&&ch<=’Z’)?(ch+32):ch;

A、A

B、Z

C、a

D、z

48能正確進行字符串賦值操作的語句是_____ .A

A、char *s; scanf("%s",s);

B、char *s; s=’ABCDEF’;

C、char s[5]={"ABCDE"};

D、char s[5]={’A’,’B’,’C’,’D’,’E’};

49按照C語言規定,程序中各函數之間,以下敍述不正確的是______.B

A、主函數可以調用其它任何函數.

B、允許嵌套定義.

C、允許遞歸調用.

D、允許嵌套調用.

50.已經有prt( )函數的定義,假設以下各程序中對函數的'説明是正確的,

以下程序段中有語法錯誤的是( D ).

A、main() { int k; void prt( );…prt(’A’);…}

B、main() { int k; int prt( );…k=prt(’A’);…}

C、main() { int k; char prt( );…k=k+prt(65);…}

D、main(){ int k; void prt( );…k=prt(’A’);…}

熱門標籤