试卷一(参考答案在后面!)
1,有以下程序
#include
void f(int a[],int i,int j)
{ int t;
if(i<j)
{ t=a[i]; a[i]=a[j];a[j]=t;
f(a,i+1,j-1);
}
}
void main( )
{ int i,aa[5]={1,2,3,4,5};
f(aa,0,4);
for(i=0;i<5;i++) printf("%d,",aa[i]); printf("\n");
}
执行后输出结果是
A)5,4,3,2,1, B)5,2,3,4,1 C)1,2,3,4,5, D)1,2,3,4,5
2,下面程序的输出结果是 ( )
#include
void main( )
{ int x=2,y=1;
void f(int x,int y);
f(x,y);
printf(“%d,%d”,x,y);
}
void f(int x,int y)
{ y=x+y;
x=x-y;
}
A)3,1 B)2,1 C)1,3 D)1,2
3,以下程序的输出结果是。
# include <stdio.h>
void main()
{ int k=4,m=1,p;
p=func(k,m); printf("%d,",p);
p=func(k,m); printf("%d\n",p);
}
int a,b;
func(a,b)
{ static int m=0,i=2;
i+=m+1; m=i+a+b; return(m);
}
A) 8,17 B) 8,16 C) 8,20 D) 8,8
4,以下()是不正确的转义字符。
A.'\\'
B.'\'
C.'081'
D.'\0'
5,在C语言中,int,char,和short三种类型数据所占用的内存
A.均为2个字节
B.由用户自己定义
C.由所用机器的机器字长决定
D.是任意的
6,有以下程序
main( )
{
int x=102,y=012;
printf("%2d,%2d\n",x,y);
} 执行后输出结果是
A)10,012 B)102,12 C)102,10 D)0102,10
7,下列程序的输出结果是
main( )
{ double d=3.2;
int x,y;
x=1.2; y=(x+3.8)/5.0;
printf("%d\n", d*y);
}
A)3
B)3.2
C)0
D)3.07
8,已知 int a; 那么﹠a表示
(A)变量名(B)变量a的地址(C)变量a的值(D)其他
9,以下程序段中与语句k=a〉b?(b〉c?1:0):0;功能等价的是( )
A) if((a〉b) ﹠﹠(b〉c) ) k=1; else k=0; B) if((a〉b) ||(b〉c) ) k=1;else k=0;
C) if(a〈=b) k=0; else if(b〈=c) k=1; D) if(a〉b) k=1;else if(b〉c) k=1; else k=0;
10,当a=1,b=3,c=5,d=5时,执行下面一段程序后,x的值为
A) 1 B) 2 C) 3 D) 6
if(a〈b)
if(c〈d) x=1;
else
if(a〈c)
if(b〈d) x=2;
else x=3;
else x=6;
11,以下错误的if语句是。
A) if(x〉y) z=x;
B) if(x==y) z=0;
C) if(x!=y) printf("%d",x) else printf("%d",y);
D) if(x〈y) { x++;y--;}
12,有以下程序
main()
{ int i=10;
printf("%d\n",i++);
}
执行后输出结果是
A. 9
B. 10
C. 11
D. 8
13,若x,i,j和k都是int型变量,则计算表达式x=(i=14,j=16,k=j)后,x的值为
A. 14
B. 16
C. 30
D. 56
14,设有以下程序段
int x=0,s=0;
while(!x!=0)s+=++x;
printf("%d",s);
则
A. 运行程序段后输出0
B. 运行程序段后输出1
C. 程序段中的控制表达式是非法的
D. 程序段执行无限次
15,以下程序执行后输出结果是________。
int i;
for(i=0;i<3;i++)
switch(i)
{ case 1: printf("%d",i);
case 2: printf("%d",i);
default: printf("%d",i);
}
A) 011122 B) 012 C) 012020 D) 120
16,若变量已正确定义,要求程序段完成求5!的计算,不能完成此操作的程序段_________。
A)for(i=1,p=1;i<=5;i++) p*=i;
B)for(i=1;i<=5;i++){ p=1; p*=i;}
C)i=1;p=1;while(i<=5){p*=i; i++;}
D)i=1;p=1;do{p*=i; i++; }while(i<=5);