计算机二级考试习题练习

2008年4月二级C语言笔试真题及答案
1题:程序流程图中指有箭头的线段表示的是()
A.图元关系 
B.数据流 
C.控制流 
D.调用关系

查看答案

2题: 算法的有穷性是指()
A.算法程序的运行时间是有限的
B.算法程序所处理的数据量是有限的
C.算法程序的长度是有限的
D.算法只能被有限的用户使用

查看答案

3题:对长度为n的线性表排序,在最坏情况下,比较次数不是n(n-1)/2的排序方法是()
A.快速排序&nBsp;
B.冒泡排序
C.直接插入排序&nBsp;
D.堆排序


查看答案

4题:在数据库设计中,将E-R图转换成关系数据模型的过程属于()
A.需求分析阶段
B.概念设计阶段
C.逻辑设计阶段
D.物理设计阶段
查看答案

5题:以下选项中不合法的标识符是()
A.print 
B.FOR 
C.&a 
D._00

查看答案

6题:以下选项中不属于字符常量的是()
A.'C' 
B."C" 
C.'\xCC0' 
D.'\072'

查看答案

7题:当变量c的值不为2、4、6时,值也为“真”的表达式是()
A.(c==2)‖(c==4)‖(c==6) 
B.(c>=2&&c<=6)‖(c!=3)‖(c!=5)
C.(c>=2&&c<=6)&&!(c%2) 
D.(c>=2&&c<=6)&&(c%2!=1)

查看答案

8题:有以下程序
#inCluDE&nBsp;
mAin()
{ int x=1,y=0,A=0,B=0;
switCh(x)
{ CAsE 1:
switCh(y)
{ CAsE 0: A++; BrEAk;
CAsE 1: B++; BrEAk;
}
CAsE 2: A++; B++; BrEAk;
CAsE 3: A++; B++;
}
printF(“A=%D,B=%D\n”,A,B);
}
程序的运行结果是()
A.A=1,B=0&nBsp;
B.A=2,B=2
C.A=1,B=1&nBsp;
D.A=2,B=1


查看答案

9题:以下不构成无限循环的语句或者语句组是()
A.n=0;&nBsp;
B.n=0;Do{++n;}whilE(n<=0); whilE(1){n++;}
C.n=10;&nBsp;
D.For(n=0,i=1; ;i++) n+=i;whilE(n);{n--;}


查看答案

10题:以下错误的定义语句是()
A.int x[][3]={{0},{1},{1,2,3}};
B.int x[4][3]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
C.int x[4][]={{1,2,3},{1,2,3},{1,2,3},{1,2,3}};
D.int x[][3]={1,2,3,4};

查看答案

11题:设有如下程序段
char s[20]= “Bejing”,*p;
p=s;
则执行p=s;语句后,以下叙述正确的是()
A.可以用*p表示s[0]
B.s数组中元素的个数和p所指字符串长度相等
C.s和p都是指针变量
D.数组s中的内容和指针变量p中的内容相等

查看答案

12题:若有定义:inta[2][3];,以下选项中对a数组元素正确引用的是()
A.a[2][!1]
B.a[2][3]
C.a[0][3]
D.a[1>2][!1]
查看答案

13题:有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输入语句是()
A.gets(&s[0]);
B.scanf(“%s”,s+1);
C.gets(s);
D.scanf(“%s”,s[1]);
查看答案

14题:以下结构体类型说明和变量定义中正确的是()
A.typedefstruct
B.structREC;{intn;charc;}REC;{intn;charc;};
RECt1,t2;RECt1,t2;
C.typedefstructREC;
D.struct{intn=0;charc=’A’;}t1,t2;{intn;charc;}RECt1,t2;
查看答案

15题:以下叙述中错误的是()
A.gets函数用于从终端读入字符串
B.getchar函数用于从磁盘文件读入字符
C.fputs函数用于把字符串输出到文件
D.fwrite函数用于以二进制形式输出数据到文件
查看答案

16题:有以下程序
#include
main()
{ints[12]={1,2,3,4,4,3,2,1,1,1,2,3},c[5]={0},i;
for(i=0;i<12;i++)c[s[i]]++;
for(i=1;i<5;i++)printf(“%d”,c[i]);
printf(“\n”);
}
程序的运行结果是()
A.1234
B.2344
C.4332
D.1123
查看答案

17题:有以下程序
#include 
#include 
void fun(char *s[ ],int n)
{ char *t; int i,j;
for(i=0;i for(j=i+1;j if(strlen(s[i])>strlen(s[j])) {t=s[i];s[i]=s[j];s[j]=t;}
}
main()
{char *ss[]={“bcc”,”bbcc”,”xy”,”aaaacc”,”aabcc”};
fun(ss,5); printf(“%s,%s\n”,ss[0],ss[4]);
}
程序的运行结果是()
A.xy,aaaacc 
B.aaaacc,xy 
C.bcc,aabcc 
D.aabcc,bcc
查看答案

18题:有以程序
#include 
#include 
typedef struct { char name[9]; char sex; float score[2]; } STU;
void f( STU a)
{ STU b={“Zhao” ,’m’,85.0,90.0} ; int i;
strcpy(a.name,b.name);
a.sex=b.sex;
for(i=0;i<2;i++) a.score[i]=b.score[i];
}
main()
{ STU c={“Qian”,’p’,95.0,92.0};
f(c); printf(“%s,%c,%2.0f,%2.0f\n”,c.name,c.sex,c.score[0],c.score[1]);
}
程序的运行结果是()
A.Qian,f,95,92 
B.Qian,m,85,90
C.Zhao,f,95,92 
D.Zhao,m,85,90

查看答案

19题:有以下程序
#include 
main()
{FILE *fp; int a[10]={1,2,3},i,n;
fp=fopen(“dl.dat”,”w”);
for(i=0;i<3;i++) fprintf(fp,”%d”,a[i]);
fprintf(fp,”\n”);
fclose(fp);
fp=fopen(“dl.dat”,”r”);
fscanf(fp,”%d”,&n);
fclose(fp);
printf(“%d\n”,n);
}
程序的运行结果是()
A.12300 
B. 123 
C. 1 
D. 321

查看答案

20题:变量a中的数据用二进制表示的形式是01011101,变量b中的数据用二进制表示的形式是11110000。若要求将a的高4位取反,低4位不变,所要执行的运算是()
A.a^b 
B.a|b 
C.a&b 
D.a<<4
查看答案

21题:在C语言中,只有在使用时才占用内存单元的变量,其存储类型是()
A.auto和register 
B.extern和register 
C.auto和static 
D.static和register

查看答案

22题:设有定义语句int(*f)(int);,则以下叙述正确的是()
A.f是基类型为int的指针变量
B. f是指向函数的指针变量,该函数具有一个int类型的形参
C. f是指向int类型一维数组的指针变量
D. f是函数名,该函数的返回值是基类型为int类型的地址

查看答案

23题:测试用例包括输入值集和【】值集。
查看答案

24题:深度为5的满二叉树有【】个叶子结点。
查看答案

25题:设某循环队列的容量为50,头指针front=5(指向队头元素的前一位置),尾指针rear=29(指向队尾元素),则该循环队列中共有【】个元素。
查看答案

26题:在关系数据库中,用来表示实体之间联系的是【】。
查看答案

27题:在数据库管理系统提供的数据定义语言、数据操纵语言和数据控制语言中,【】负责数据的模式定义与数据的物理存取构建。
查看答案

28题:已有定义:charc=’‘;inta=1,b;(此处c的初值为空格字符),执行b=!c&&a;后b的值为【】。
查看答案

29题:设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【】。
查看答案

30题:若有定义:intk;,以下程序段的输出结果是【】。
for(k=2;k<6;k++,k++)printf(“##%d”,k);
查看答案

31题:以下程序段的定义语句中,x[1]的初值是【】,程序运行后输出的内容是【】。
#include
main()
{intx[]={1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16},*p[4],i;
for(i=0;i<4;i++)
{p[i]=&x[2*i+1];
printf(“%d”,p[i][0]);
}
printf(“\n”);
}
查看答案

32题:以下程序的输出结果是【】。
#include
voidswap(int*a,int*b)
{int*t;
t=a;a=b;b=t;
}
main()
{inti=3,j=5,*p=&i,*q=&j;
swap(p,q);printf(“%d%d\n”,*p,*q);
查看答案

33题:以下程序的输出结果是【】。
#include
main()
{inta[5]={2,4,6,8,10},*p;
p=a;p++;
printf(“%d”,*p);
}
查看答案

34题:以下程序的输出结果是【】。
#include
voidfun(intx)
{if(x/2>0)fun(x/2);
printf(“%d”,x);
}
main()
{fun(3);printf(“\n”);}
查看答案

 

您正在结束答题

请确认是否提交试卷?

继续做题 确认提交