計算機二級c語言題庫2016精選
1.以下所列的C語言常量中,錯誤的是( )。
A.0xFF
B.1.2e0.5
C.2L
D.‘72’
2.若變量a、i已正確定義,且i已正確賦值,合法的語句是( )。
A.a==l
B.++i
C.a=a++=5
D.a=int(i)
3.若a為int類型,且其值為3,則執行完表達式a+= a-=a*a後,a的值是( )。
A.一3
B.9
C.一12
D.6
4.若有定義“int a=5,b=7;”,則表達式a%一(b%2) 運算後,a的值為( )。
A.0
B.1
C.11
D.3
5.若執行以下程序時從鍵盤上輸入9,則輸出結果是( )。
main()
{ int n;
scanf(”%d”,&n);
if(n++<10)printf(”/%dn”,n);
else printf(”%dn”,n--);
}
A.11
B.10
C.9
D.8
6.設a、b、c、d、m、n均為int型變量,且a=5、b=6、c= 7、d=8、m=2、n=2,則邏輯表達式(m=a>b)&&(n—c> d)運算後,n的值是( )n
A.0
B.1
C.2
D.3
7.有如下程序:
main()
{ int x=23;
do
{printf(”%d”,x--);}
while(!x);
}
該程序的執行結果是( )。
A.321
B.23
C.不輸出任何內容
D.陷入死循環
8.下列程序的輸出結果是( )。
#include
main()
{ int a=2,b=3,P;
p=f(a,b);
printf(”%d”,p);
}
int f(a,b)
{ int c;
if(a>b)c=1;
else if(a==b)c=0;
else c=-l;
return(c);
}
A.-l
B.0
C.1
D.2
9.有下列程序:
fun(int x,int y)
{ static int m=0,i=2;
i+=m+1;m=i+x+y;return m;
}
main()
{ int j=1,m=1,k;
k=fun(j,m);print S(”%d,”,k);
k=fun(j,m);printf(”%dn”,k);
)
執行後的輸出結果是( )。
A.5,5
B.5,11
C.11,11
D.11,5
10.下列字符數組初始化語句中,不正確的是( )。
c[]=’900dmornin9’;
c[20]="900dmorning";
c[]={’a’,’b ’,’c ’,’d’);
c[]={"ffgoodmorning"};
11.下列程序的輸出結果是( )。
#include
void p(int*x)
{ printf("%d¨,++*x);
}
void main()
{ int y=3;
p(&y);
}
A.3
B.4
C.2
D.5
12.若變量e為char類型,能正確判斷出C為小寫字母的表達式是( )。
A.’a’<=c<=’2’
B.(c>=’a’)||(c<=’2’)
C.(’a’<=c)and(’z’>c)
D.(c>=’a’)&&(c<=’2’)
13.以下程序的輸出結果是( )。
main()
{ int Rum=0;
while(num<=2)
{ num++;
printf(”%dn”,num);
}
}
A.1
B.1
C.1
1
2
3
D.1
1 2
2
14.以下函數返回a所指數組中最小的值所在的下標值:
fun(int*a,int n)
{ int i,j=0,P;
p=j;
for(i=j;i if(a[i] }
在下劃線處應填入的是( )。
A.i=P
B.a[p]=a[i]
C.p=j
D.p=i
15.有如下程序段:
int a=14,b=15,x;
char c=’A’;
x=(a&&b)&&(c<’B’):
執行該程序後,x的值為( )。
e
C.0
D.1
16.以下程序的輸出結果是( )。
main()
{ int i,a[4] [4]一{{1,3,5),{2,4,6},{3,5,7}};
printf("%(1%d%d%dn".a[O][3],a[1][2],a[2]
[1],a[3][0];
}
A.0650
B.1470
C.5430
D.輸出值不定
17.下列程序中函數sort()的.功能是對數組a中的數據進行由大到小的排序。
#include
void sort(int a[],int ll)
{ int i,j,t;
for(i=0;i for(j=j+1+1;j if(a[i] {t=a[i];a[i]=a[j];a[j]=t;
}
}
main()
{ int a[10]一{1,2,3,4,5,6,7,8,9,10},i;
sort(&a[1],7);
for(i=0;i<10;i++)printf("%d,",a[i]);
}
程序運行後的輸出結果是( )。
A.1,2,3,4,5,6,7,8,9,10,
B.10,9,8,7,6,5,4,3,2,1,
C.1,8,7,6,5,4,3,2,9,10,
D.1,2,10,9,8,7,6,5,4,3,
18.下列判斷正確的是( )。
a="ABCD":等價於char*a;*a="ABCD":
str[10]={"ABCD"}:等價於char str[10];str []={"ABCD"};
*s="ABCD":等價於char s;*s="ABCD";
c[5]="ABCD",d[5]="ABCD":等價於char c [5]-d[5]="ABCD";
19.有如下程序:
main()
{ int n[5]={0,0,0},i,k=2;
for(i=0;i&printf("%dn",n[k]););
}
該程序的輸出結果是( )。
A.不確定的值
B.2
C.1
D.0
20.當執行下面的程序時,如果輸入ABC,則輸出結罘是( )。
#include
#include
main()
{ char ss[10]="1,2,3,4,5":
gets(ss);strcat(ss,"6789");printf("%sn",ss);
}
6789
67
C.12345ABC6
456789
21.以下程序的輸出結果是( )。
#define M(x,y,z)x*y+z
main()
{ int a=l,b=2,c=3;
printf("%dn",m(a+b.b+c,c+a));
}
A.19
B.1 7
C.15
D.12
22.有以下程序:
main()
{ int k=5,n=0;
do
{ switch(k)
{ case 1:
case 3:n+=l;k--;break;
defalut:n=0;k--;
case 2:
case 4:n+=2;k--;break:
}
printf("%d",n);
}while(k>0&&n<5);
}
程序運行後的輸出結果是( )。
A.235
B.0235
C.02356
D.2356
23.下面for語句的循環次數為( )。
for(x=1,y=0;(y!=19)&&(x<6);x++);
A.是無限循環
B.循環次數小定
C.最多執行6次
D.最多執行5次
24.對下述程序的判斷中,正確的是( )。
#include
main()
{ char*p,s[256];
p=s ;
while(strcmp(s,"the end"))
{ printf("Input the strin9:");
gets(s);
while(*p)
putchar(*p++);
}}
A.此程序循環接收字符串並輸出,直到接收到字符串“the end”為止
B.此程序循環接收字符串,接收到字符串“the end”則輸出,否則程序終止
C.此程序循環接收字符串並輸出,直到接收字符串“the end”為止,但因為代碼有錯誤,程序不能正常工作
D.此程序循環接收字符串並將其連接在一起,直到接收字符串“the end”為止,輸出連接在一起的字符串
25.下列程序的輸出結果是( )。
#include
main()
{ int i,S=0;
for(i=1;i<10;i++)
if(!(i%2)&&!(i%3))s+=i;
printf("%dn",s);
}
A.4
B.39
C.45
D.6
26.有以下程序:
void fun2(char a,char b) {printf(”%c%c”,a,b); }
char a=’A’,b=’B’;
void funl(){a=’C’;b=’D’;}
main()
{ funl();
printf("%c%c",a,b);
fun2(’E’,’F’);
}
程序的運行結果是( )。
27.有以下程序:
#include
main()
{ char cl=’1’,c2=’2’;
cl=getchar();c2=getchar();putchar(c1);putcha:
(c2);
}
當程序運行時輸入a<回車>後,下列敍述中正確的是( )。
A.變量c1被賦予字符a,c2被賦予回車符
B.程序將等待用户輸入第2個字符
c.變量c1被賦予字符a,c2中仍是原有字符2
D.變量c1被賦予字符a,c2中將無確定值
28.下述程序的輸出結果是( )。
#define N 20
void fun(int a[],int n,int m)
{ int i,j;
for(i=m;i>n;i--)a[i+1]=a[i];
}
main()
{ int i,a[N]={1,2,3,4,5,6,7,8,9,10};
fun(a,2,9);
for(i=0;i<5;i++)printf("%d",a[i]);
}
A.10234
B.12344
C.12334
D.12234
29.若要用函數fopen打開一個新的二進制文件,該文件要既能讀也能寫,則應以( )方式打開文件。
A."wb"
B."wb+"
C."rb+"
D."rb"
30.下列敍述中錯誤的是( )。
A.在C語言中,函數中的自動變量可以賦初值,每調用一次賦一次初值
B.在C語言中,在調用函數時,實參和對應形參在類型上只需賦值兼容
C.在C語言中,外部變量的隱含類型是自動存儲類別
D.在C語言中,函數形參的存儲類型是自動(auto)類型的變量