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”);} |
查看答案 |