计算机等级考试2014年第二次考试安排在9月20号举行,离考试没有几天时间了,在紧张的备考阶段,小编整理了2014年全国计算机等级考试二级C语言上机考试冲刺练习试题,希望在这最后的紧要关头能帮助考生顺利通过考试,以下是主要内容。
一、选择题(每小题1分,共40分)
1、数据库DB、数据库系统DBS、数据库管理系统DBMS之间的关系是( )。
A.DB包含DBS和DBMS
B.DBMS包含DB和DBS
C.DBS包含DB和DBMS
D.没有任何关系
2、有下列程序:
fun(int x,int y){return(x+y);)
main()
(int a=1,b=2,c=3,sHm;
sum=fun((a++,b++,a+b),c++);
printf(”%d\n”,sum);
)
执行后的输出结果是( )。
A.6
B.7
C.8
D.9
3、 VC 6.0中int类型变量所占字节数是( )。
A.1
B.2
C.3
D.4
4、设有如图所示二叉树,对此二叉树前序遍历的结果为( )。
A.ZBTYCPXA
B.ATBZXCYP
C.TZBACYXP
D.ATBZXCPY
5、若fp是指向某文件的指针,且尚未读到文件末尾,则函数feof(fp)的返回值是( )。
A.EOF
B.-1
C.非零值
D.0
6、一个关系中属性个数为l时,称此关系为( )。
A.对应关系
B.单一关系
C.一元关系
D.二元关系
7、下述程序的输出结果是( )。
#include
main()
{int a[2][3]={{1,2,3),{4,5,6)),(*p)[3],i;
p=a;
for(i=0;i<3:i++)
{ if(i<2)
p[1]Ei]一p[1][i]-1:
else
p[1][i]=1;)
printf(”%d\n”,a[o][1]+a[1][1]4"a[1][2]);)
A.8
B.7
C.12
D.9
8、有下列程序:
main()
{ int k=5:
while(--k)printf(”%d”,k=1);
printf(”\n”);
}
执行后的输出结果是( )。
A.1
B.2
C.4
D.死循环
9、已知字符'A'的ASCll代码值是65,字符变量c1的
值是'A',c2的值是'D'。执行语句printf(”%d,%d”,el,c2—2);后,输出结果是( )。
A.A,B
B.A,68
C.65.66
D.65,68
10、若有以下程序段:
int a=0,b=0,c=0;
c=(a-=a-5),(a=b,b+3);
printf(”%d,%d,%a\n”,a,b,c);
执行后的输出结果是( )。
A.3,0,-10
B.0,0,5
C.-10,3,-10
D.3,0,3
11、若变量C为char类型,能正确判断出C为小写字母的表达式是( )。
A.'a'<=c<='2'
B.(c>='a')||(c<='z')
C.('a'<=c)and('z'>c)
D.(c>='a')&&(c<='Z')
12、以下只有在使用时才为该类型变量分配内存的存储类型说明是( )。
A.aut0和static
B.auto和register
C.register和static
D.extern和register
13、对两个数组a和b进行下列初始化:
char m[]=”1234567”;
char n[]={'1','2’,'3','4','5','6','7'};
则下列叙述正确的是( )。
A.数组in与数组n完全相同
B.数组m与数组n长度相同
C.数组m比数组n长1
D.数组m与数组n中都存放字符串
14、若变量a、i已正确定义,且i已正确赋值.合法的语句是( )。
A.a==1
B.++i
C.a=a++=5
D.a=int(i)
15、以下程序的输出结果是( )。
Inain()
{char W[][10]={”ABCD”,”EFGH“,”IJKL”,”
MNOP”),K;
for(k=1;k<3;k++,)printf(”%s\n”,w[k]);
}
A.ABCD
B.ABCD
FGH EFG
KL IJ
C.EFG
D.EFGH
JK 1jKL
()
16、以下程序的输出结果是( )。
main()
{ int a=3:
printf(”%d\n”.(a+a-=a*a));
A.-6
B.12
C.0
D.-12
17、函数ftell(fp)的作用是( )。
A.得到fp所指向文件的当前渎写位置
B.初始化流式文件的位置指针
C.移动流式文件的位置指针
D.以上答案均正确
18、下列数据结构中,能用二分法进行查找的是( )。
A.顺序存储的有序线性表
B.结性链表
C.二叉链表
D.有序线性链表
19、若a和b均是正整型变量,正确的switch语句是( )。
A.switch(pow(a,2)+pow(b,2))(注:调用求幂的数学函数)
{case 1:case 3:y=a+b;break;
ease 0:ease 5:y=a—b;
)
B.switch(a*a+b*b)。
{ ease 3:
ease 1:y—a+b;break
case 0:y=b-a;break
}
C.switch a
{default:x=a+b;
case 10:y=a-b;break;
case 11:x=a*d;break:
D.switch(a+b)
{ ease]0:x=a+b;break;
easell:y=a-b;break;
j
20、以下四个程序中不能对两个整型值进行交换的是( )。
A.#include
void swap(int。P,int+q)
( int*t,a;
t=&a;*t=*P;*p=*q;*q=*t;
)
main()
{ int a=10,b=20;
swap(&a,&b);printf(”%d%dkn”,a,b);
)
B.#include
void swap(int*p,int*q)
{ int t;
t=*P;*P=*q;*q=t;
}
main()
{ int a-10,b-20;
swap(&a,&b);printf(”%d%d\n”,a,b);
)
C.#included stdi*.h>
void swap(int*P,int*q)
{ int t;
t=*P;*P=*q;*q=t;
)
main()
{ int*a,*b;
*a=10,*b=20:
swap(a,b);printf(”%d%d\n”,*a,*b);
)
D.#include
void swap(int*P,int*q)
( int t;
t=*P;*P=*q;*q=t;
)
main()
{ int a=10'b=20,*x=&a,*y=&b;
swap(x,y);print{(”%d%d\n”,a,b);
)
21、有定义:“int a=2,b=3,c=4;”,则下列选项中值为0的表达式是( )。
A.(!a==l)&&(!b==0)
B.(aC.a&&b
D.a||(b+b)&&(c-a)
22、在位运算中,操作数每左移两位,其结果相当于( )。
A.操作数乘以2
B.操作数除以2
C.操作数除以4
D.操作数乘以4
23、以下能正确定义二维数组的是( )。
A.int a[][3];
B.int a[][3]={2*3);
C.int a[][3]={};
D.int a[2][3]={{1},{2},{3,4}};
24、 C语言中,下列不合法的字符串常量是( )。
A.”\121”
B.'y='
C.”\n\n”
D.”ABCD\x6d”
25、三种基本结构中,能简化大量程序代码的是( )。
A.顺序结构
B.分支结构
C.选择结构
D.重复结构
26、若已定义:
int a[4][3]=(1,2,3,4,5,6,7,8,9,10,1i,12),(*prt)
[3]=a,*p=a[o];
则能够正确表示数组元素a[1][2]的表达式是( )。
A.*((+prt+1)[2])
B.*(*(p+5))
C.(+prt+1)+2
D.*(*(a+1)+2)
27、著有下列定义,则( )是对a数组元素地址的正确引用。
int a[5],*p=a;
A.p+5
B.*a+1
C.&a+1
D.&a[o]
28、下列程序的输出结果是( )。
#include
main()
{ int a=3,b=2,c=1;
if(a if(b<0)c=0;
else c++:
printf(”%d\n”,c);
)
A.2
B.0
C.1
D.不确定的值
29、若希望下列的程序运行后输出25,程序空白处的正确选项是( )。
main()
{int id=50,a[]={7,4,10,5,8);
{or( )
j十=a[i];
print{(”%d”,j-40);
}
A.i=1;i<4;++i
B.i=1;i<3;++i
C.i=4;i>2;i--
D.i=2;i<4;++i
30、若有正确定义语句
douhle x=5.16894:
语句prinlf(”%f\n”.(inl)(x*1000+0.5)/(double)1000;的输出结果是( )。
A.输m格式说明与输出顶不匹配.输出无定值
B.5.170000
C.5.168000
D.5.1 69000
31、 #define能作简单的替代,用宏来替代计算多项式5*X*x 4-5*x+5的值的函数f,正确的宏定义语句为( )。
A.#define f(x) 5*x*x+5*X+5
B.#define f5*x*x+5*x+5
C.#define f(a) (5*a”a+5*a+5)
D.#define(5*x*x+5+x+5) f(x)
32、以下选项中正确的整型常量是( )。
A.12.
B.-20
C.1,000
D.456
33、执行语句“for(i—l;i++<4;);”后,变量i的值是( )。
A.3
B.4
C.5
D.不定
34、有下列程序段:
int n,t=1,s=0;
scanf("%d",&n);
do{s=s+t;t=t-2;)while(t!=n);
为使此程序段不陷入循环,从键盘输入的数据应该是( )。
A.任意正奇数
B.任意负偶数
C.任意正偶数
D.任意负奇数
35、下述程序的输出结果是( )。
#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,dEN3={1,2,3,4,4,5,6,7,8,9,10);
fun(a,2,9);
for(i=0;i<5;i++)printf(”%d”,a[i]);
)
A.1 0234
B.12344
C.12334
D.12234
36、有下列程序:
#include
main()
{ int X=0;
int y=0;
while(x<7&&++y)
{ y——;
x++;)
print{(”%d,%d”,y,x);
)
程序的输出结果是( )。
A.0.7
B.7.7
C.0,6
D.1,6
37、有以下函数
int aaa(char*s)
{ char*t=S:
while(*t++);
t——0
return(t-s):
}
以下关于aaa函数的功能叙述正确的是( )。
A.求字符串s的长度
B.比较两个串的大小
C.将串s复制到串t
D.求字符串S所占字节数
38、有以下程序:
void fun2(char a,char b){printf(”oAc%c”,a’b);}
char a='A',b='B';
void funl(){a='C'.b='D';)
main()
} funi();
printf(”%c%c”,a,b);
fun2('E','F');
}
程序的运行结果是( )。
A.CDEF
B.ABEF
C.ABCD
D.Cl3AB
39、下列描述错误的是( )。
A.继承分为多重继承和单继承
B.对象之间的通信靠传递消息来实现
C.在外面看不到对象的内部特征是基于对象的“模块独立性好”这个特征
D.类是具有共同属性、共同方法的对象的集合
40、语句int(*ptr)()的含义是( )。
A.ptr是一个返回值为int的函数
B.ptr是指向int型数据的指针变量
C.ptr是指向函数的指针,该函数返回一个int型数据
D.ptr是一个函数名,该函数的返回值是指向int型数据的指针
在计算机等级考试即将到来之时,在计算机培训栏目中我们整理了大量的辅导资料,包括网络工程师、软件工程师、电脑维修的基本常识、计算机等级考试培训等辅导材料,更多内容请点击我们的计算机培训栏目。