2015年計算機二級《C語言》考試上機測試題(2)
21.以下程序的輸出結果是( )。
main()
{int a[3][3]={{1,2},{3,4),{5,6}},i,j,s=0;
for(i=1;i<3;i++)
for(j=0;j<=i;j++)s+=a[i][j];
printf("%d\n",s);
}
A.18
B.19
C.20
D.21
22.有下列程序:
main()
{ int k=5;
while(--k) printf("%d",k=1);
printf("/n");
)
執行后的輸出結果是( )。
A.1
B.2
C.4
D.死循環
23.若有定義:“int a[2][3];”,則對a數組的第i行第J列元素的正確引用為( )。
A.*(*(a+i)+j)
B.(a+i)[j]
C.*(a+i+j)
D.*(a+i)+j
24.下列能正確進行字符串賦值的是( )。
A.char s[5]={"ABCDE"};
B.char s[5]={’A’,’B’,’C’,’D’,’E’}; 、
C.char*S;S="ABCDE";
D.char*s;printf("%《",s);
25.現有以下結構體說明和變量定義,如圖所示,指針P、q、r分別指定一個鏈表中連續的3個結點。
struct node
{har data;
struct node*next;)*P,*q,*r;
現要將q和r所指結點交換前后位置,同時要保持鏈表的結構,下列不能完成此操作的語句是( )。
A.q-:>next=r->next;p--:>next=r;rm:>next=q;
B.q-:>next=r;q->next=r->next;r->next=q;
C.q-:>next=r->next;r->next=q;p->next=r;
D.q-:>next=q;p->next=r;q->next=r->next;
26.有下列程序:
main()
{int i,j,x=0;
for(i=0,i<2;i++)
{x++;
for(j=0;j<=3;j++)
{if(j%2)continue;
x++:
)
x++:
}
printf("x=%d\n"x);
}
程序執行后的輸出結果是( )。
A.x=4
B.x=8
C.x=6
D.x=12
27.有下列程序:
int funl(double a){return a*=a;} 、
int fun2(double x,double y)
{double a=0,b=0;
a=funl(x);b=funl(y);return(int)(a+b);
)
main()
{double w;w=fun2(1.1,2.0),……}
程序執行后變量w中的值是( )。 、
A.5.21 B.5 C.5.0 D.0.0
28.有下列程序:
main()
{int i,s=0,t[]={1,2,3,4,5,6,7,8,9};
for(i=0;i<9;i+=2)s+=*(t+i);
printf("%d\n",s);
}
程序執行后的輸出結果是( )。
A.45
B.20
C.25
D.36
29.有下列程序:
int fun(int n)
{if(n= =1))return l;
else
return(n+fun(n-1)):
}
main()
{ int x;
seanf("%d",&x);x=fun(x);printf("%d\n",x);
}
執行程序時,給變量x輸入l0,程序的輸出結果是( )。
A.55
B.54
C.65
D.45
30.有下列程序:
int fun(int x[],int n)
{ static int sum=0,i;
for(i=0;i return sum;
}
main()
{int a[3]={1,2,3,4,5),b[3]={6,7,8,9),s=0;
s=fun(a,5)+fun(b,4);printf("%d\n",s);
程序執行后的輸出結果是( )。 、
A.45
B.50
C.60
D.55
31.有下列程序:
main()
f char*P[]={"3697","2584");
int i,j;long num=0;
for(i=0;i<2;i++)
{j=0;
while(p[i][j]!=’\0’)
{if((p[i][j]-t\0’)%2)num=10*num+p[j][j]-’0’;
j+=2;
)
)
printf("%d\n",num);
)
程序執行后的輸出結果是( )。
A.35 B.37 C.39 D.3975
32.以下程序的輸出結果是( )。
main()
{ char st[20]="hell0\O\t\\\”;
printf("%d%d\n",strlen(st),sizeof(st));
}
A.9 9
B.5 20
C.13 20
D.20 20
33.若有下的定義:"int t[3][2];",能正確表示t數組元素地址的表達式是( )。
A.&t[3][2]
B.t[3]
C.t[l]
D.t[2][2]
34.函數fseek(pf,OL,SEEK_END)中的SEEK_END代表的起始點是( )。
A.文件開始
B.文件末尾
C.文件當前位置
D.以上都不對
35.下述程序的輸出結果是( )。
#include
main()
{int i;
for(i=1;i<=10;i++)
{if(i*i>=20)&&(i*i<=lOO))
break;
}
printf("%d\n",i*i);
)
A.49
B.36
C.25
D.64
36.若有定義“int b[8],*p=b;”,則p+6表示( )。
A.數組元素b[6]的值
B.數組元素b[6]的地址
C.數組元素b[7]的地址
D.數組元素b[0]的值加上6
37.設變量已正確定義,則以下能正確計算f=n!的程序是( )。
A.f=0; for(i=1;i<=n;i++)f*=i;
B.f=1;for(i=1;i C.f=1;for(i=n;i>1;i++)f*=i;
D.f=1;for(i=n;i>=2;i--)f*=i;
38.下述程序執行的輸出結果是( )。
#include
main()
{char a[2][4]; ,
strcpy(a。"are");strcpy(a[1],"you");
a[o][3]=’&’;
printf("%s\n",a);
)
A.are&you
B.you
C.are
D.&