當前位置:學者齋 >

計算機 >計算機二級 >

2015下半年全國計算機二級考試C語言全真模擬試題

2015下半年全國計算機二級考試C語言全真模擬試題

點擊查看試題答案及解析
  一、選擇題

2015下半年全國計算機二級考試C語言全真模擬試題

1、以下選項中屬於C語言的數據類型是( )。

A. 複合型

B. 雙精度型

C. 邏輯型

D. 集合型

2、以下説法中正確的是( )。

A. C語言程序總是從第一個的函數開始執行

B. 在C語言程序中,要調用的函數必須在main()函數中定義

C. C語言程序總是從main()函數開始執行

D. C語言程序中的main()函數必須放在程序的開始部分

3、選出下列標識符中不是合法的標識符的是( )。

A. hot_do

B. cat1

C. _pri

D. 2ab

4、下列描述中不正確的是( )。

A、字符型數組中可能存放字符串。

B、可以對字符型數組進行整體輸入、輸出。

C、可以對整型數組進行整體輸入、輸出。

D、 不能在賦值語句中通過賦值運算符“=”對字符型數組進行整體賦值。

5、若已定義:int a[9], *p=a;並在以後的語句中未改變p的值,不能表示a[1]地址的表達式為( )。

A. p+1

B. a+1

C. a++

D. ++p

6、設有如下定義: int x=10,y=3,z;

則語句printf("%dn",z=(x%y,x/y)); 的輸出結果是( )。

A. 1

B. 0

C. 4

D. 3

7、定義如下變量和數組: int i, x[3][3]={1,2,3,4,5,6,7,8,9};則下面語句for(i=0;i<3;i++) printf("%d",x[i][2-i]); 的輸出結果是( )

A. 1 5 9

B. 1 4 7

C. 3 5 7

D. 3 6 9

8、讀出以下語句的`輸出結果是( )。

int x=10,y=10;

printf(“%d %dn”,x--,--y);

A. 10 10

B. 9 9

C. 9 10

D. 10 9

9、兩次運行下面的程序,如果從鍵盤上分別輸入6和3,則輸出結果是( )。

if(x++>5) printf("%d",x);

else printf("%dn",x - -);

A. 7和5

B. 6和3

C. 7和4

D. 6和4

10、設有如下定義:char *aa[2]={"abcd","ABCD"};則以下説法中正確的是( )。

A)aa數組成元素的值分別是"abcd"和ABCD"

B)aa是指針變量,它指向含有兩個數組元素的字符型一維數組

C)aa數組的兩個元素分別存放的是含有4個字符的一維字符數組的首地址

D)aa數組的兩個元素中各自存放了字符’a’和’A’的地址

11、以下語句的輸出結果是( )。

int a=-1,b=4,k;

k=(+ +a<0)&&!(b - -<=0);

printf("%d,%d,%dn",k,a,b);

A. 1,0,4

B. 1,0,3

C. 0,0,3

D. 0,0,4

12、下列程序的輸出結果是( )。

char *p1="abcd", *p2="ABCD", str[50]="xyz";

strcpy(str+2,strcat(p1+2,p2+1));

printf("%s",str);

A. xyabcAB

B. abcABz

C. ABabcz

D. xycdBCD

13、執行下面的程序後,a的值是( )。

#define SQR(X) X*X

main( )

{ int a=10,k=2,m=1;

a/=SQR(k+m)/SQR(k+m);

printf("%dn",a); }

A. 10

B. 1

C. 9

D. 0

14、設A為存放(短)整型的一維數組,如果A的首地址為P,那麼A中第i 個元素的地址為( )。

A.P+i*2

B. P+(i-1)*2

C. P+(i-1)

D. P+i

15、下列程序執行後輸出的結果是( )。

int d=1;

fun (int p)

{ int d=5;

d + =p + +;

printf("%d,",d); }

main( )

{ int a=3;

fun(a);

d + = a + +;

printf("%dn",d); }

A. 8, 4

B. 9, 6

C. 9, 4

D. 8, 5

16、表達式:10!=9的值是( )。

A. true

B. 非零值

C. 0

D. 1

17、若有説明: int i,j=7, *p=&i;, 則與i=j; 等價的語句是( )。

A. i= *p;

B. *p=*&j;

C. i=&j;

D. i=* *p;

18、不能把字符串:Hello!賦給數組b的語句是( )。

A. char b[10]={’H’,’e’,’l’,’l’,’o’,’!’};

B. char b[10]; b="Hello!";

C. char b[10]; strcpy(b,"Hello!");

b[10]="Hello!";

19、在C程序中有如下語句:char *func(int x,int y); 它是( )。

A. 對函數func的定義。

B. 對函數func的調用。

C.對函數func的原型説明。

D. 不合法的。

20、以下程序的輸出結果是( )。

char str[15]=”hello!”;

printf(“%dn”,strlen(str));

A. 15

B. 14

C. 7

D. 6

  二、閲讀程序題

1、int x=6, y=7;

printf(“%d,”,x++); printf(“%dn”,++y);

程序的輸出結果是__________。

2、float f=3.1415927;

printf(“%f,%5.4f,%3.3f”,f,f,f);

則程序的輸出結果是__________。

3、a=3;

a+=(a<1)?a:1; printf(“%d”,a);

結果是__________。

4、main( )

{ int a[5]={2,4,6,8,10},*P,* *k;

p=a; k=&p;

printf("%d,",*(p++));

printf("%dn",* *k); }

程序的輸出結果是__________。

5、 main()

{int a,b;

for (a=1,b=1;a<=100;a++)

{ if(b>=20) break;

if(b%3==1)

{b+=3; continue; }

b-=5; } }

程序的輸出結果a的值為__________。

  三、程序填空題

1、求主次對角線之和。

main()

{static int a[ ][3]={9,7,5,1,2,4,6,8};

int I,j,s1=0,s2=0;

for(I=0;I<3;I++)

for(j=0;j<3;j++)

{if(__________)

s1=s1+a[I][j];

if( __________ )

s2=s2+a[I][j];

}

printf(“%dn%dn”,s1,s2);

}

2、從鍵盤上輸入10個數,求其平均值。

main()

{int i;

float f,sum;

for(i=1,sum=0.0;i<11;i++)

{__________;

__________ ;

}

printf(“average=%fn”,sum/10);

}

3、以下程序是建立一個名為myfile的文件,並把從鍵盤輸入的字符存入該文件,當鍵盤上輸入結束時關閉該文件。

#include

main()

{

FILE *fp;

char c;

fp=__________;

do

{

c=getchar();

fputs(c,fp);

}while(c!=EOF);

__________; ;

}

  四、編程題

1、三個整數a、b、c,由鍵盤輸入,輸出其中最大的數。

2、從鍵盤輸入的10個整數中,找出第一個能被7整除的數。若找到,打印此數後退出循環;若未找到,打印“not exist”。

3、有一個一維數組,內放10個學生成績,寫一個函數,求出平均分。

4、有N個學生,每個學生的信息包括學號、性別、姓名、四門課的成績,從鍵盤上輸入N個學生的信息,要求輸出總平均成績最高的學生信息,包括學號、性別、姓名和平均成績。

  • 文章版權屬於文章作者所有,轉載請註明 https://xuezhezhai.com/zh-hk/jsj/erji/k91x5o.html