2009年3月二级C语言笔试真题及答案 |
第1题:某二叉树有5个度为2的结点,则该二叉树中的叶子结点数是() A.10&nBsp; B.8&nBsp; C.6&nBsp; D.4 |
【单选题】: |
第2题:下面叙述中错误的是() A.软件测试的目的是发现错误并改正错误 B.对被调试的程序进行“错误定位”是程序调试的必要步骤 C.程序调试通常也称为Debug D.软件测试应严格执行测试计划,排除测试的随意性 |
【单选题】: |
第3题:将E-R图转换为关系模式时,实体和联系都可以表示为() A.属性 B.键 C.关系 D.域 |
【单选题】: |
第4题:以下选项中合法的标识符是() A. 1-1 B.1—1 C.-11 D.1-- |
【单选题】: |
第5题:若函数中有定义语句:int k;,则() A.系统将自动给k赋初值0 B.这时k中值无定义 C.系统将自动给k赋初值-1 D.这时k中无任何值 |
【单选题】: |
第6题:以下选项中,能用作数据常量的是() A.o115 B. 0118 C.1.5e1.5 D. 115L |
【单选题】: |
第7题:设有定义:int x=2;,以下表达式中,值不为6的是() A. x*=x+1 B. x++,2*x C.x*=(1+x) D.2*x,x+=2 |
【单选题】: |
第8题:程序段:int x=12; DouBlE y=3.141593; printF(“%D%8.6F”,x,y);的输出结果是() A.123.141593 B.12 3.141593 C.12,3.141593 D.123.141593 |
【单选题】: |
第9题:若有定义语句:double x,y,*px,*py,执行了px=&x, py=&y;之后,正确的输入语句是() A.scanf(“%f%f”,x,y); B. scanf(“%f%f”,&x,&y); C. scanf(“%lf%le”,px,py); D. scanf(“%lf%lf”,x,y); |
【单选题】: |
第10题:以下是if语句的基本形式: if(表达式) 语句 其中“表达式”() A.必须是逻辑表达式 B.必须是关系表达式 C.必须是逻辑表达式或关系表达式 D.可以是任意合法的表达式 |
【单选题】: |
第11题:有以下程序 #inCluDE&nBsp; mAin() {int x; sCAnF(“%D”,&Amp;x); iF(x<=3); ElsE iF(x!=10) printF(“%D\n”,x); } 程序运行时,输入的值在哪个范围才会有输出结果() A.不等于10的整数 B.大于3且不等于10的整数 C.大于3或等于10的整数 D.小于3的整数 |
【单选题】: |
第12题:有以下程序 #include Main() { int a=1,b=2,c=3,d=0; if(a= =1 &&b++= =2) if(b!=2 || c--!=3) printf(“%d,%d,%d\n”,a,b,c); else printf(“%d,%d,%d\n”,a,b,c); else printf(“%d,%d,%d\n”,a,b,c); } 程序运行后的输出结果是() A.1,2,3 B.1,3,2 C.1,3,3 D.3,2,1 |
【单选题】: |
第13题:以下程序中的变量已正确定义 For(i=0;i<4;i++,i++ For(k=1;k<3;k++);printF(*”); 程序段的输出结果是() A.******** B.**** C.** D.* |
【单选题】: |
第14题:有以下程序 #include main() {char *s=(“ABC); do {printf(“%d”,*s%10);s++; }while(*s); } 注意,字母A的ASCII码值为65。程序运行后的输出结果是() A.5670 B.656667 C.567 D.ABC |
【单选题】: |
第15题:设变量已正确定义,以下不能统计出一行中输入字符个数(不包含回车符)的程序段是() A.n=0;while((ch=getchar())!=’\n’)n++; B. n=0;while(getchar()!=’\n’)n++; C.for(n=0; getchar()!=’\n’;n++); D.n=0;for(ch=getchar();ch!=’\n’;n++); |
【单选题】: |
第16题:有以下程序 #include void fun(char *s) {while(*s) { if(*s%2==0) printf(“%c”,*s); s++; } } main() { char a[]={“good”}; fun(a);printf(“\n”); } 注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是() A.d B.go C.god D.good |
【单选题】: |
第17题:以下函数按每行8个输出数组中的数据 void fun( int *w,int n) { int i; for(i=0;i) {_________________ printf(“%d”,w); } printf(“\n”); } 下划线处应填入的语句是() A.if(i/8==0)print(“\n”); B. if(i/8==0)continue; C. if(i%8==0)print(“\n”); D. if(i%8==0)continue; |
【单选题】: |
第18题:若有以下定义 int x[10],*pt=x; 则对x数组元素的正确应用是() A.*&x[10] B.*(x+3) C.*(pt+10) D.pt+3 |
【单选题】: |
第19题:设有定义:char s[81];int i=10;,以下不能将一行(不超过80个字符)带有空格的字符串真确读入的语句或语句组是() A.gets(s) B.while((s[i++]=getchar())!=”\n”;s=”\0”; C.scanf(“%s”,s); D.do{scanf(“%c”,&s);}while(s[i++]!=”\n”);s=”\0”; |
【单选题】: |
第20题:有以下程序 #include main() { char *a[ ]={“abcd”,”ef”,”gh”,”ijk”};int I; for(i=0;i<4;i++) printf(“%c”,*a); } 程序运行后输出的结果是() A.aegi B.dfhk C.abcd D.abcdefghijk |
【单选题】: |
第21题:以下选项中正确的语句组是() A.char s[];s=”BOOK!”; B. char *s;s={”BOOK!”}; C.char s[10];s=”BOOK!”; D. char *s;s=”BOOK!”; |
【单选题】: |
第22题:有以下程序 #include int fun{int x,int y} { if(x==y) return(x); else returen((x+y)/2) } main() { int a=4,b=5,c=6; printf(“%d\n”,fun(2*a,fun(b,c))) } 程序运行后的输出结果是() A.3 B.6 C.8 D.12 |
【单选题】: |
第23题:设函数中有整型变量n,为保证其在未赋值的情况下初值为0,应选择的存储类别是() A.auto B. register C.static D.auto或register |
【单选题】: |
第24题:设有宏定义:#include IsDIV(k,n) ((k%n==1)?1:0且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&& IsDIV(m,7)为真时所要表达的是() A.判断m是否能被5或者7整除 B.判断m是否能被5和7整除 C.判断m被5或者7整除是否余1 D.判断m被5和7整除是否余1 |
【单选题】: |
第25题:假设一个长度为50的数组(数组元素的下标从0到49)作为栈的存储空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有【 】个元素。 |
【填空题】: |
第26题:软件测试可分为白盒测试和黑盒测试。基本路径测试属于【】测试。 |
【填空题】: |
第27题:符合结构化原则的三种基本控制结构是:选择结构、循环结构和【】。 |
【填空题】: |
第28题:数据库系统的核心是【】 |
【填空题】: |
第29题:在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示实体联系的是【】框。 |
【填空题】: |
第30题:表达式(int)((double)(5/2>)>+2.5)的值是【】 |
【填空题】: |
第31题:若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【】,x/y);补充完整,使其输出的计算结果形式为:x/y=11 |
【填空题】: |
第32题:有以下程序 #inCluDE&nBsp; mAin( ) { ChAr C1,C2; sCAnF(“&Amp;C”,&Amp;C1); whilE(C1<65||C1>90) sCAnF(“&Amp;C”,&Amp;C1); C2=C1+32; printF(“&Amp;C, &Amp;C\n”,C1,C2); } 程序运行输入65回车后,能否输出结果、结束运行(请回答能或不能)【 】。 |
【填空题】: |
第33题:以下程序运行后的输出结果是【 】 #include main( ) {int k=1,s=0; do{ if{((k&2)!=0)continue; s+=k;k++; }while(k)10); printf(“s=&d/n”,s); } |
【填空题】: |
第34题:下列程序运行时,若输入labced12df<回车>输出结果为【 】 #include main( ) {char a =0,ch; while((ch=getchar())!=’\n’) {if(a&2!=0&&(ch>’a’&&ch<=’z’)) ch=ch-‘a’+’A’; a++;putchar(ch); } printf(“\n”); |
【填空题】: |
第35题:有以下程序,程序执行后,输出结果是【 】 #inCluDE&nBsp; voiD Fun (int *A) {A[0=A[1];]} mAin() {int A[10]={10,9,8,7,6,5,4,3,2,1},i; For(i=2;i>=0;i--) Fun{&Amp;A}; For(i=0;i<10;i++) printF(“&Amp;D”,A); printF(“\n”); } |
【填空题】: |
第36题:请将以下程序中的函数声明语句补充完整 #inCluDE&nBsp; int【 】 ; mAin( ) {int x,y,(*p)(); p=mAx; printF(“&Amp;D\n”,&Amp;x,&Amp;y); } int mAx(int A,int B) {rEturn (A>B/A:B);} |
【填空题】: |
第37题:以下程序用来判断指定文件是否能正常打开,请填空 #inCluDE&nBsp; mAin( ) {FilE *Fp; iF (((Fp=FopEn(“tEst.txt”,”r”))==【 】)) printF(“未能打开文件!\n”); ElsE printF(“文件打开成功!\n”); |
【填空题】: |
第38题:下列程序的运行结果为【 】 #inCluDE&nBsp; #inCluDE&nBsp; struCt A {int A;ChAr B[10];DouBlE C;}; voiD F (struCt A *t); mAin() {struCt A A=(1001,”zhAngDA”,1098,0); F(&Amp;A);printF(“&Amp;D,&Amp;s,&Amp;6,iF\n”,A.A,A.B,A.C); } voiD F(struCt A *t) {strCpy(t->B,”ChAngrong”); } |
【填空题】: |
第39题:以下程序把三个NODETYPE型的变量链接成一个简单的链表,并在while循环中输出链表结点数据域中的数据,请填空 #include struct node {int data; struct node *next;}; typedef struct node NODETYPE; main() {NODETYPE a,b,c,*h,*p; a. data=10;b.data=20;c.data=30;h=&a; b. next=&b;b.next=&c;c.next=’\0’; p=h; while(p){printf(“&d”,p->data);【 】;} } |
【填空题】: |