版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
计算计算机二级C语第PAGE第PAGE10共80义结构体类型D)若只处理“真”和“假”两种逻辑值,应使逻辑类(17)若a是数值类型,则逻辑表达式(a==1)||(a!=1) D)不知道a的值,不确{int(18)以下选项中与if(a==1)a=belsea++;语句功能不同的switchfor(;a<8;a++)句}}case}{case{intcase}}(19)有如下嵌套的if语if(a<if(a<else elseA)charB)charA)k=(a<C)charD)char(24)以下关于return语句的叙述中正确的C)k=(a<D)k=(a<C)定义成void类型的函数中可以有带返回值的return语用{inA)intB)intC)intint}D)#defineN}int}voidfun(char*c,intcharprintf("%d%d\n",{charA)5}B)10C)10D)5(27)若有定义int(*Pt)[3];#defineNB)定义了基类型为int的具有三个元素的指针数组voidfun(int*x,int{int(28)设有定义doublea[10],*s=a;,以下能够代表数组元素的}#include(stdio{intfor(i=0;i<5;i++)printf("%d\n",}intf(intt[],int{ints=f(a,4);}intf(intt[],int{if(n>0)returnt[n-1]+f(t,n-elsereturn}{intbfor(j=ij<=1;j++)}int{staticintx*2;return}{intfor(i=1;i<=2;i++)struct}{intnum;charname[20];char{intday;intmonth;intyear;}structworkers能给w中year成员赋1980#defineSUB(a)(a)-{int}{int}struct{intreal,unreal;}C)data2real=data1{FILE*fp;char{inta;charb[10];doublevoidf(structA}{structAf(a);B)}C)voidf(structA{t.a=1002;(1)一个队列的初始状态为空。现将元素程序运行后,当输入1463回车>时,输出结果是8序为1(2)设某循环队列的容量为50,如果头指针front=45(元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队中共有【2素{intfor(j=i;j<3;j++)printf(“%d%,a[i][j]);}93{int(4)4{式选课可定义为:选课(学号5)}(6)设x为int型变量,请写出一个关系表达式【6}判断x同时为3和710{int{intintfor(i=0;i<3;i++)if(c==3)for(i=0;i<3;i++)elseelseif(c!=3)}else11else}7voidfun(char{chartemp;int{int{while(m>n)m=m-} {char}scanf("%s",s);fun(s);程序运行后输入:abcdef<回车>,则输出结果是12以下程序的功能是:将值为三位正整数的变量x中的数值{intprintf("%d-%d-%d\n",【13}{chars[100]={"OurteacherteachClanguage!"};inti,j;if(s[is[j]=s[i];j++;}s[j]=【14】}{intfor(p=a;p-a<10;p++)scanf("%d",p);for(p=a,s=a;p-a<10;pif(*p>*s)s=【15;}2010年3C笔试试题答案1- 16-21- 26-31- 36- (12)12(14)142009年9月 —(20)170分A)循环队栈 空
C语言(考试时间90分钟,满分100分N-SPADE-R在E-R图中,用来表示实体联系的图形有三个关系R,S和T如下其中关系T由关系R和S投交并{intcase;floatprintf(“请输入2scanf(“%d%f”,&case,&pjrintF);printf(“%d%f\n”,case,printF);}定义语句无错,printf不能输出case的若有定义语句:intx=10;,则表达式x-=x+x{inta=1,b=0;}17)设有定义:inta=1,b=2,c=3;,以下语句中执行效果与其它三个A)if(a>b)c=a,a=b,b=c;B)if(a>b){c=a,a=b,b=c;}C)if(a>b)c=a;a=b;b=c;D)if(a>b){c=a;a=b;b=c;}{intfor(k=1;k<3;k++)switch(k){default:c+=kcase2:case4:}}
if((a>b)&&(b>c))k=1;elsek=0;B)if((a>b)||(b>c)k=1;elsek=0;if(a<=b)k=0;elseif(b<=c)k=1;D)if(a>b)k=1;elseif(b>c)k=1;elsek=0;{chars[]={“012xy”};inti,n=0;if(s[i]>=’a’&&s[i]<=’z’)n++;}{intn=2,k=0;printf(“%d}A)0B)1C)5D)1A)chara=’a’;B)chara=’\n’;C)chara=’aa’;D)chara=’\x2d’;{char}已知字母A的ASCII码为65,程序运行后的输出结果是voidfun(int{intp=d++;printf(“%d”,p);}{intfun(aprintf(“%d\n”,a);}以下函数findmax拟实现在数组中查找最大值并作为函数#defineMINintfindmax(intx[],int{inti,max;for(i=0;i<N;I++)<p=""/>{max=MIN;return}定义语句inti,max;中max未赋初赋值语句max=MIN;中,不应给max赋MIN语句赋值语句max=MIN;放错了位{intm=1,n=2,*p=&m,*q=&n,*r;}
若有定义语句:inta[4][10],*p,*q[4];0≤i<4,则错误的赋{charstr[][20]={“One*World”,}{inta[{case{case0:a[i]++;break;case1:a[i]--;case}}A)334B)205C)304D)030{char}下面是有关C语言字符数组的描述,其中错误的fun(char*a,char*while((*b=*a)!=’\0’a++,bA)将a所指字符串赋给b所指空间B)使指针b指向a所指字符串将a所指字符串和b所指字符串进行比检查a和bvoidfun(intn,char*s)A)void(*pf)();pf=fun;B)viod*pf();pf=fun;C)void*pf();*pf=fun;D)voidintf(intn);{inta=3,s;}intf(int{staticinta=1;return}#definef(x)x*x*x{inta=3,s,t;}
A)structord{intx;inty;intz;};structorda;B)structord{intx;inty;intz;}structorda;C)structord{intx;inty;intz;}a;D)struct{intx;inty;intz;}设有定义:char*c;,以下选项中能够使字符型指针c正确A)charstr[]=”string”;c=str;structA{inta;charb[10];doublec;};structAf(structAt);{structAa={1001,”ZhangDa”,1098.0};}structAf(structA(t.a=1002;strcpy(t.b,”ChangRong”);t.c=1202.0;returnt;intr=8;下列关于C二、填空题(230分某二叉树有5个度为2的结点以及31的结点,则该二叉树中共有【1】个结点。程序流程图中的菱形框表示的是2段,其中【3】阶段产生“软件需求规格说明书。或多对多的,那么“学生”和“可选课程”的联系为【4】。计算机二级C语其中可以作为主关键字的是【5】。若有定义语句:inta=5;,则表达式:a++6若有语句doublex=17;inty;,当执行y=(int)(x/5)%2;之后y的值为【7】。8{intx=20;printf(“%d”,0<X<20);<p=""/>9{inta=1,b=7;do{}while(b>1);{intf,f1,f2,i;printf(“%d{f=f1+f2;printf(“%d”,f);f1=f2;f2=f;}}10inta=5;voidfun(int{inta=10;}{intc=20;}11struct{intID;char请将scanf(“%d”,【12);语句补充完整,使其能够为结构变量p的成员ID正确读入数据{chara[20]=”Howare}程序运行时从键盘输入:Howareyou?<回车则输出结果为13typedef{intnum;doublevoidfun1(RECx){x{RECa={16,90.0}14fun(int{if(x/2>0)printf(“%d}{fun(6);printf(“\n”);152009年9月计算机等级考试二级C语言笔试参考答一、CBDBACCACBCAACDCABBADCDCA*DCACD1180计算计算机二级C语第PAGE第PAGE12共80(10)01(8)1号 结A)栈B)树C)D)二叉A)10B)8C)6 C)程序调试通常也称为Debug
有两个关系R,S如下RABCa32b01c21SABa3b0c2由关系R通过运算得到关系S,则所使用的运算为A)选择B)投影C)插入D)连接将E-R属性B)键C)关系D)A)1-1B)1—1C)-11D)1-若函数中有定义语句:intk;,则A)系统将自动给k赋初值0这时k中值无定义C)系统将自动给k赋初值-1D)这时k中无任何值A)o115B)0118C)1.5e1.5D)设有定义:intx=2;,以下表达式中,值不为6的是A)x*=x+1程序段:intdoubley=3.141593printf(“%d%8.6f”,x,y);的输出结果是若有定义语句:doublex,y,*px,*py,执行了px=&x,py=&y;之C)scanf(“%lf%le”,px,py);D)scanf(“%lf%lf”,x,y);以下是if语句的基本形式#include<stdio.h>{intx;if(x<=3);else}#include<stdioh>{inta=1,b=2,c=3,d=0;if(a==1&&b++==2)if(b!=2||c--!=3)elseprintf(“%d,%d,%d\n”,a,b,c);else}
*#include<stdioh>}注意,字母A的ASCII码值为65B)n=0;while(getchar()!=’\n’)n++;C)for(n=0;getchar()!=’\n’;n++);#include<stdioh>{inta1,a2;charc1,c2;}若想通过键盘输入,使得a1的值为12,a2的是为34,c1的值为字符 #include<stdioh>intf(intx,inty){inta=3,b=4,c=5,d;}#include<stdioh>voidfun(char{if(*s%2==0)}}{char}注意:字母a的ASCⅡ码值为97,程序运行后的输出结果是#includevoidfun(int*a,int{int*c;}{intx=3,y-}
#include<stdio.h>viodf(int*p,int*q);{int}voidf(int*p,intvoidfun(int*w,int{inti; }}B)if(i/8==0)continue;D)if(i%8==0)continue;int则对xA#include<stdio.h>{char*a[]={“abcd”,”ef”,”gh”,”ijk”};int}charcharchars[10];s=”BOOK!”;D)char*s;s=”BOOK!”;#include<stdio.h>intfun{intx,inty}{if(x==y)else}{int}设函数中有整型变量n,为保证其在未赋值的情况下初值 B)registerauto或#include
intintfun(int{b=*k+b;return(b);}{intfor(i=2;i<4;i++){b=fun(&a)+b;printf(“%d”,b);}}#include<stdio.h>#definePT3.5;#defineS(x)PT*x*x;{inta=1,b=2;#include<stdio.h>structord{intx,y;}{structord}IsDIV(k,n)((k%n==1)?1:0且变量m已正确定义并赋值,则宏调用:IsDIV(m,5)&&IsDIV(m,7)为真时所要表达的是A)判断m是否能被5或者7整除判断m是否能被5和7整除C)判断m被5或者7整除是否余1D)判断m被5和7整除是否余1#include<stdio.h>{intt=(a<<2|b);}#include<stdio.h>{EILE}若文本文件filea.txt中原有内容为: 件filea.txt中的内容为 栈的空间,栈底指针bottom指向栈底元素,栈顶指针top指向栈顶元素,如果bottom=49,top=30(数组下标),则栈中具有 是【4在E-R图中,图形包括矩形框、菱形框、椭圆框。其中表示
【5】框若变量x、y已定义为int类型且x的值为99,y的值为9,请将输出语句printf(【7】,x/y);补充完整,使其输出的计算结#includestdio.h>main(){charprintf(“&c,}。#include<stdio.h>main(){int}下列程序运行时,若输入labced12df<回车>输出结果为【10】#include<stdio.h>main(a=0,ch;}}#include<stdio.h>voidfun(int{intfor(i=2;i>=0;i--)for(i=0;i<10;i++)printf(“&d”,a);} #includestdio.h>;main({intx,y,(*p)();}Intmax(inta,int{return#include<stdio.h>main({FILEiffp=fopen(“test.txt”,”r”))==【13】))#include<stdio.h>#include<stringh>structA{inta;charb[10];doublef(struct{structAa=(1001,”ZhangDa”,1098,0);}voidf(struct}(15)以下程序把三个NODETYPE型的变量 表,并在while循环中输出链表结点数据域中的数据,请填空#include<stdio.h>
struct{intdata;structnode*next;};typedefstructnodeNODETYPE;{NODETYPEa,b,c,*h,*p;next=&b;b.next=&c;c}1~10:DACDCABABC11~20:CBDDACDBCB21~30:CDABABACBC31~40:ADBCCCBDAC填空题 (12)max(inta,int2008年9月二级C语言笔试 (考试时间:120100分(20)每题1分,70分C、D、E再依次出栈,则元素出栈的顺序是(5ABCDEB)EDCBA54321C)ABCDE12345D)下列叙述中正确的是(在长度为n的有序线性表中进行二分查找, 要比较的次数是(A)O(n)B)O(n2)C)O(log2n)下列叙述中正确的是( 结构不 链 空数据流图中带有箭头的线段表示的是(控制流 驱动C)模块调用D)数据在软件开发中,需求分析阶段可以使用的工具是(A)N-SB)DFDC)PADD)程序流程在面向对象方法中,不属于“对象”基本特点的是(B)分类性C)多态性D)(B)一对多C)多对一D)(人工管理阶段B)文件系统阶段C)D)三有三个关系R、S和T如下RS
ABBCABm113m1n23由关系R和S通过运算得到关系T,则所使用的运算为( 积B)交C)并D)自然连接以下叙述中正确的是(A)CB)C程序中的每一行只能写二级C2页(共9页简单CD)C计算机能直接执行的程序是(B)C)汇编程序D)以下选项中不能作为C语言合法常量的是(A)'cd'B)0.1e+6C)"\a"以下选项中正确的定义语句是(doublea;b;B)doublea=b=7;C)doublea=7,b=7;D)double,a,b;的C语言表达式是(A)2*a*b/c/dB)a*b/c/d*2C)a/c/d*b*2A)二B)八进制C)十进制D)十六进若有表达式(w)?(--x):(++y),则其中与w(A)w==lB)w==0C)w!=l执行以下程序段后,w的值为(intw='A',x=14,y=15;w=((x||A)-1B)NULLC)l若变量已正确定义为intscanf("%ddd&a,&b&c);给a赋1、给b赋值2、给c赋值3,以下输入形式中错误的是(ò一个空格符)(A)òòò1,2,3<回车>B)1ò2ò3<回车>C)1,òòò2,òòò3<回车D)1,2,3<回车>inta,b,a=10;b=50;if(a>b)a=b,b=c;printf("a=%db=%dc=%d\n”,a,b,程序的输出结果是(A)a=10b=50c=10B)a=10b=50c=30C)a=10b=30c=10a=50b=30(21)若有定义语句:intm[]={5,4,3,2,1},i=4;,则下面对m数组 (A)m[--i]B)m[2*2]C)m[m[0]]下面的函数调用语句中func函数的实参个数是(func(f2(v1,v2),(v3,v4,v5),(v6,max(v7,v8)));A)3B)4C)5D)8},错 x数组元素的(A)*pB)x[5]C)*(p+1)若有定义语句:chars[10]=" \0\0";,则strlen(s)的值A)7B)8C)9以下叙述中错误的是(用户定义的函数中可以没有return语用户定义的函数中可以有多个return语句,以便可以调用一用户定义的函数中若没有returnvoid类二级C3页(共9页函数的return语句中可以没有表达以下关于宏的叙述中正确的是(#include<stdioh>{inti,for(i=3;i>=l;i--{for(j=1;j<=2;j++)printf("%d",i+j);}}程序的运行结果是(A)234B)4334554C)23D)4343452#include<stdio.h>{intx=l,y=2,z=3;if(y<z)printf("%d",
elseprintf("%d",++y);printf("%d\n",x++);}程序的运行结果是(A)331B)41C)2#include<stdio.h>{inti=5;{if(i%3=1)if{printf("*%d",i);break;}}}二级C4页(共9页)程序的运行结果是(A)*7B)*3*5C)*5#include<stdio.h>intfun(inta,intb){if(b==0)return}printf("%d\nfun(4,2));}程序的运行结果是(A)1B)2C)3D)4#include<stdio.h>#include<stdlibh>intfun(intn){int*p;*p=n;return}{inta=fun(10);printf("%d\n",}程序的运行结果是(A)0B)10C)20D)出#include<stdio.h>voidfun(intaintb){intt=a;a=b;}{intc[10]={1,2,3,4,5,6,7,8,9,0),for(i=0;i<10;i+=2)fun(c[i],for(i=0;i<10;i++)printf("%d,",c[i]);}程序的运行结果是(A)l,2,3,4,5,6,7,8,9,0,B)2,l,4,3,6,5,8,7,0,9,#include<stdio.h>structst二级C5页(共9页{intx,y;)data[2]={l,10,2,20};{structstprintf("%d,",p->y);printf("%d\n",(++p)-}程序的运行结果是(A)10,1B)20,1C)10,2#include<stdio.h>voidfun(intaintn){inti,for(i=0;i<n/2;i++){t=a[i];a[i]=a[n-1-i];a[n-1-}{intk[10]={1,2,3,4,5,6,7,8,9,10},for(i=2;i<8;i++)printf("%d",k[i]);}程序的运行结果是(A)345678B)876543 #include<stdio.h>#defineN4voidfun(inta[][N],int{intfor(i=0;i<N;i++)}{intx[][N]={{1,2,3),{4),{5,6,7,8),{9,10}},y[N],for(i=0;i<N;i++)printf("%d,",y[i]);}
程序的运行结果是(A)l,2,3,4,B)1,0,7,0,C)1,4,5,9,#includeintfun(int(*s)[4],intn,int{intm,i;for(i=l;i<n;i++)if(s[i][k]>m)m=s[i][k];returnm;}二级C6页(共9页{intprintf("%d\n",}程序的运行结果是(A)4B)34C)31#include<stdio.h>{structSTU{charname[9];char ;doublescore[2];};structSTUa={"Zhao",'m',85.0,90.0),b={"Qian",'f',95.0,92.0); }程序的运行结果是(A)Qian,f,95,92B)Qian,m,85,90C)Zhao,f,95,92D)假定已建立以下链表结构,且指针p和q已指向如图所示headabcdatanext↑p则以下选项中可将q所指结点从链表中删除并释放该结点的语句组是(A)(*p)next=(*q) (p);B)p=q- (q);D)p->next=q- #include<stdio.h>{chara=4;printf("%d\n",a=a<<1);}程序的运行结果是(A)40B)16C)8#include<stdio.h>{FILEchar*s1=" }以上程序执行后abc.dat文件的内容是( ngC) BeijingD)Beijing二级C语言程序设计试卷第7页(共9页)二、填空题(每空2分,共30分)1BCDEFXY按照软件测试的一般步骤,集成测试应在23数据库设计包括概念设计、4计5设变量a和b已正确定义并赋初值。请写出与a-=a+b等价的赋值表达式【6】。若整型变量a和b中的值分别为7和9,要求按以下格式输出a和b的值:请完成输出语句:printf("【7",a,b);以下程序的输出结果是8#include<stdio.h>{inti,j,sum;{for(j=1;j<=i;j++)}}以下程序的输出结果是9#include<stdio.h>{intj,for(j=3;j;j--{{case
case2:printf("%d",*p++);break;case3:printf("%d",*(--p));}}}二级C8页(共9页10#include<stdio.h>#defineN5intfun(int*s,inta,int{int*s=a;j=n;returnj;}{ints[N+1];intfor(k=l;k<=N;k++)s[k]=k+l;}11#include<stdio.h>intfun(intx){staticintt=0;return(t+=x);}{intfor(i=l;i<=5;i++)s=fun(i);}以下程序按下面指定的数据给x数组的下三角置数,并按4326158#include<stdio.h>{intx[4][4],n=0,i,j;for(i=3;i>=j;【12n++;x[i][j]=【13{for(j=0;j<=i;j++)printf("%3d",x[i][j]);}}以下程序的功能是:通过函数func输入字符并统计输入字计算机计算机二级C语第PAGE第PAGE22共80#include<stdio.h>long【14二级C9页(共9页{longn=func();}long{longform=0getchar()!='@';【15);retumm;}2008年9月笔试卷参考答案(1)B)(2)D)(3)C)(4)A)(5)D)(7)A)(9)C)(10)D)(11)C)(12)D)(13)A)C)(17)D)(18)C)(19)B)(20)A)(21)C)一、选择题(共70分)
(22)A)(25)B)(26)C)(27)D)(28)D)(30)B)(33)C)(34)D)(35)B)(36)C)2008年4月二级C语言笔试及答15BCA)图元B)C)控制流D)A)多态性B)C)模块化D)A)低内B)高内聚低耦C)D)高内聚高耦A)可行性分析报告B)软件需求C)概要设计说明书D)集成测试计C)算法程序的长度是有限的D)算法只能被有限的用户使
RBCa0b1BCf3a0n2有关系R和S通过运算得到关系T,则所使用的运算A)并B)自然连接D) 10 10)设有表示学生选课的三张表,学生S(学号 (6)对长度为n的线性表排序, 情况下,比较次数不是n(n-A)快速排序B)冒泡排C)D)A)栈按B)C)只能在栈底插入数据D)不能删除数(8)在数据库设计中,将E-R图转换成关系数据模型的过程属于A)需求B)概念设计阶C)D)物理设计阶(9)有三个关系R、S和T如下
SC的关键字(键或码)A)课号,成绩B)学号,成C)学号,课号D)学号 D)用C语言编写的程序只能放在 A)printB)FORC)&aA)'C'B)"C"C)'\xCC0'A)x=y*5=x+zC)x=y+z+5,++yA)inta=b=0;B)charC)floata=1,*b=&a,*c=&b;D)doublecharch;intch='a';
{intfor(;x>0;x--{if(x%3){printf(“%d,”,x--);A)7,4,2C)9,7,6,4 是已知字符a的ASCll97,则执行上述程序段后输出结果A)n=0;是C)a,97,12k=12
do{++n;}while(n<=0);C)n=10;D)for(n=0,i=1;;i++)能(17)已知字母A的ASCⅡ代码值为65,若变量kk为char型,以下 能确判断出kk中的值为大写字母的表达式A)kk>='A'&&kk<='Z'(18)当变量c2、4、6时,值也为A)(c==2)‖(c==4)‖(c==6)intif(a>b)a=b;if(c!=a)A)程序段有语法错B)3,5,3C)3,5,5#include<stdio{int{case{case0:a++;case1:b++;case2:a++;b++;case3:a++;A)a=1,b=0C)a=1,b=1#include<stdio
#include<stdio{inta[--p;y=*p;A)y=0B)y=1C)y=2 A)intB)intC)intD)int chars[20]=则执行p=s;A)可以用*p表示B)s数组中元素的个数和p所指字符串长度相C)s和pD)数组s中的内容和指针变量p中的内容相 26 26)若有定义:inta[2][3];,以下选项中对a数组元素正 的A)a[2][!1]B)a[2][3]C)a[0][3]D)a[1>2][ 27)有定义语句:chars[10];,若要从终端给s输入5个字符,错误的输A)gets(&s[0]);C)gets(s); C)#defineMAX是合法的宏定义命令 A)typedefstructB)struct{intn;charc;}REC;{intn;charRECt1,t2;RECC)typedefstructREC;{intn=0;charc=’A’;}t1,t2;{intn;charc;}RECA)gets#include<stdio{intfor(i=1;i<5;i++)A)1234B)2344C)4332D)112#include<stdiovoidfun(int*s,intnl,int{inti=nl;{intfun(a,0,3);fun(a,4,9); #include<stdio#include<stringvoidfun(char*s[],int{char*t;int{charfun(ss,5);A)xy,aaaaccB)aaaacc,xyC)bcc,aabcc
#include<stdiointf(int{intifx==0||x==1)returnreturn{intz=f(3);A)0B)9C)6(35)#include<stdiovoidfun(char*a,charwhile(*b=*a){charfun(s,t);A)*****a*bB)a*bC)a*b****D)(36)有以程#include<stdio#includetypedefstruct{charname[9]; ;floatscore[2];}voidf(STU{STUb={“Zhao”,’m’,85.0,90.0};intstrcpy(aname,b for(i=0;i<2;i++){STUf(c); A)Qian,f,95,92B)C)Zhao,f,95,92D)(37)#include<stdio{FILE*fp;intA)12300B)123C)1D)
voidswap(int*a,int{intt=a;a=b;{intswap(p,q);printf(“%d据(38)变量a中的数据用二进制表示的形式是 ,变量b中的数 。若要求将a的高4位取反,低4位不变main()据A)a^bB)a|bC)a&b
{inta[5]={2,4,6,8,10},是(39)在C语言中,只有在使用时才占用内存单元的变量, 类是(39)在C语言中,只有在使用时才占用内存单元的变量, 类 A)auto和registerB)extern和registerCauto和staticDstatic和register}(40)设有定义语句int(*f)(int);,A)f是基类型为intBf是指向函数的指针变量,该函数具有一个intCf是指向int类型一维数组的指针变D)f是函数名,该函数的返回值是基类型为int类型的地二、填空题(每空2分,共30分
voidfun(int{if(x/2>0)printf(“%d请将每一个空的正确答案些在答题卡【1】至【15】序号的横线上,答
{fun(3); 13) 13)以下程序中函数fun的功能是:统 )为M的记录的个数,存入变量n中,并做为函数值一(3)设某循环队列的容量为50,头指针front=5(指向队头元素的前一素
#defineN控typedef控(5)在数据库管理系统提供的数据定义语言、数 语言和数据{intnum;charnam[10]; intint执(6)已有定义:charc=’‘;inta=1,b;(此处c的初值为空格字符 {int执b=!c&&a;后b的值为【6 for(i=0;i<N;i++)(7)设变量已正确定义为整型,则表达式n=i=2,++i,i++的值为【7if【14】==’M)for(k=2;k<6;k++,k++)
return内 内是【10{int{printf(“%d
n=fun(W);(14)以下程序从名为filea.dat的文本文件中逐个读入字符并显示在屏幕上请填空:{FILE*fp;char计算计算机二级C语第PAGE第PAGE33共80whlie(!feof(fp)){putchar(ch);putchar(‘\n’);fclose(fp);1-10:CABBA11-20:CCBCB21-30:DADCA31-40:CCACC2、3、6、7、9、10、24611、313、12007年9月二级C语言笔 (考试时间:120100分软件是A)程序B)算法加数据结构D)程序、数据和相关文档的集A)发现错误B)改正错改善软件的性能D)A)对B)对象的多态C)对象的封装D)对象的分A)程序的效率第一,清晰第二B)程序的可读性好C)程序中有必要的注释D)输入数据前要有提示信息
A)n(n+1)/2B)nlog2nC)n(n-1)/2A)219B)221C)229A).exeB).CC).obj(12)可在C程序中用做用户标识符的一组标识符andB)DateC)Hi_2007y-m-dDr.Tom(13)以下选项中,合法的一组CA)028B)12.C).177.5e-3OXa234c1.5-0xf4.5e0OabcC)C语言规定必须用main作为主函数名,程序将从此开始执若在定义语句:inta,b,c,*p=&c;之后,接着执行以下选项中C)scanf("%d",p);以下关于long、int和short类型数据占用内存大小的叙述中正均占4个字节B)根据数据的大小来决定所占内存的字节数C)由用户自己定义D)由C语言编译系统决定若变量均已正确定义并赋值,以下合法的CA)x=y==5;B)x=n%2.5;C)x+n=I;intj;floaty;charname[50];当执行上述程序段,从键盘上输入555667777abc后,y的值A)55566.0B)566.0C)7777.0doprintf("%d,",i);while(i++);A)0,0B)0,1C)1,1D)若程序前面已在命令中包含mathh文件,不能够正确计算上述公if(x>=0)y=sqrt(x);B)y=sqrt(x)elsey=sqrt(-x);if(x<0)y=sqrt(-x);C)if(x>=0)y=sqrt(x);D)y=sqrt(x>=0?x:-x);等价的{inty=9;for(y>0;y--)if(y%3==0)printf("%d",--}A)741B)963C)852(23)已有定义:charc;,程序前面已在命令行中包含ctypeh文件,不能用于判断c中的字符是否为大写字母的表达式是A)isupper(c)B)’A’<=c<=’Z’{inti,j,m=55;for(j=3;j<=i;j++)m=m%j;}A)0B)1C)2
A)函数的实参和其对应的形参共占同一单元B)形参只是形式上的存在,不占用具体单元C)同名的实参和形参占同一单元函数的形参和实参分别占用不同的单已知字符’A’的ASCⅡ代码值是65,字符变量c1的值A)A,BB)A,68C)65,66当在程序的开头包含文件stdioh时,可以给指针变量A)"\\\"B)’abc’C)OlympicGames(29)设有定义:charp[]={’1’,’2’,’3’},*q=p;以下不能计算出一个char型数据所占字节数的表达式是A)sizeof(p)B)sizeof(charCsizeof(*q)D)sizeof(p[0])intaaa(char{char*t=s;}以下关于aaa函数的功能叙述正确的是A)求字符串s的长度B)比较两个串的大小C)将串s 到串tD)求字符串s所占字节数(31)若有定义语句:inta[3][6];,按在内存中的存放顺序,a数A)a[0][4]B)a[1][3]C)a[0][3]voidfun(char{++p;printf("%s\n",*p);}{char*a[]={"Morning","Afternoon","Evening","Night"};}AfternoonB)fternoonC)Morning(33)若有定义语句:inta[2][3],*p[3];A)p=a;B)p[0]=a;C)p[0]=&a[1][2];voidfun(int*a,intn)/*fun函数的功能是将a所指数组元素从大到排序{intt,i,j;if(a}{intfor(i=0;i<10;i++)printf("%d,",c);}A)1,2,3,4,5,6,7,8,9,0,C)0,9,8,7,6,5,4,3,2,1,intfun(char{intwhile(*s<=’9’&&*s>=’0’){n=10*n+*s-’0’;s++;}}{char}A)9B)61490C)61A)scanf()B)getchar()C)gets()D)getc()A)C语言中有字符串类型的常量和变量voidfun(char*t,char{}{charss[10]=”acc”,aa[10]=”bbxxyy”;}
A)accxyy,bbxxyyB)acc,Caccxxyy,bbxxyyDaccbbxxyy,bbxxyyvoidfun(chars[][10],int{chart;inti,j;/**/}{charfun(ss,5);}A)xy,aaaaccB)C)xcc,aabccD)在一个C语言源程序文件中所定义的全局变量,其作用域所在文件的全部范围B)C)所在函数的全部范围D)由具体定义位置和extern说明来决inta=1;intf(intc){staticinta=2;return(a++)+c;}{intfor(i=0;i<2;i++){inta=3;k+=f(a);}}A)14B)C)16D)voidfun(intn,int{intf1,f2;if(n==1||n==2)*p=1;{fun(n-1,&f1);fun(n-}}{intfun(3,&s);}A)2B)3C)4若程序中有宏定义行:#defineN100则以下叙述中正确的N的值为整数在编译程序对C源程序进行预处理时用100替换标识符对C源程序进行编译时用100替换标识符ND)在运行时用100替换标识符N以下关于typedeftypedef可以增加新类typedef可以为各种类型说明一个新名,但不能用来为变量说struct{intx;structtt*y;}structtta[4]={20,a+1,15,a+2,30,a+3,17,a};{inti;for(i=1;i<=2;i++){printf("%d,",p->x);p=p-}A)20,30,B)30,17C)15,30,typedefstruct{charname[9];char ;floatscore[2];}STU;STUf(STUa){STUb={"Zhao",'m',85.0,90.0};intstrcpy(,b for(i=0;i<2;i++)a.score=b.score;returna;}{STU
A)Qian,f,95,92B)Qian,m,85,90C)Zhao,m,85,90uniondata{intd1;floatd2;变量demo与成员d2所占的内存字节数相变量demo中各成员的地址相变量demo和各成员的地址相若给demo.d1赋99后demo.d2中的值是99.0{inta=1,b=2,c=3,x;x=(a^b)&c;printf("%d\n",x);}0B)1C)2);,其中buffer代表的 {FILE*fp;intfor(i=0;i<10;i++)}A)1,2,3,0,0,0,0,0,0,0,C)123,0,0,0,0,123,0,0,0,0, 在两种基本测试方法中,_[2] }
F/\C/\AD//BH在E-R图中距形表示 {int}以下程序的功能是:输出a、b、c三个变量中的最小值.请填{int} {intwhile(n!=0){d=n%10;printf("%d",d);}for(s=1.0,k=1;k<=n;k++)s=s+1.0/(k*(k+1)); ){s=s+1.0/(k*(k+1));_[11] {intfor(i='a';i<'f';i++,i++)printf("%c",i-'a'+'A');} char*fun(char{char
}{char*str="abcdefgh";}viodf(intx[],int{intp0,p1,i,j,t,m;i=j=x[0];p0=p1=0;{if(x[m]>i){i=x[m];p0=m;}elseif(x[m]}t=x[p0];x[p0]=x[n-1];x[n-t=x[p1];x[p1]= ; }{intfor(u=0;u<10;u++)scanf("%d",&a);for(u=0;u<10;u++)printf("%d",a);}nm[中Anm[]B,用#.{intnum[26]={0},i;char if(isupper(c))num[c-‘A’]+=_[17] } {inti,n[4]={1};{n=n[i-1]*2+1;printf("%d",n);} #defineM#defineNM+M{intk=N*N*5;}函数main()的功能是:在 struct{intstructnodeintmin(structnode*first)/*指针first为链表头指针{strctnode*p;intp=first->next;m=p->data;p=p->next; returnm;} 计算机等级考试二级C语言参考答案1-56-1011-1516-2021-2526-3031-3536-3742-4546-504、5、实体6、128、9、10、
2007年4月 C分,共60分)A)、B)、C)、D)四个选项中,只有一个选 关 A 某二叉树中有n个度为2的结点,则该二叉树中的叶子结并(9)在E-R图中,用来表示实体之间联系的图形是A)矩形据A)计算机不能直接执行用CB)C程序经C编译程序编译后,生成后缀为.obj的文件是一后缀为.obj的文件,经连接程序生成后缀为.exe的文件是后缀为.obj和.exe(13)按照C语言规定的用户标识符命名规则,不能出现在(15)对于一个正常运行的C程序,以下叙述中正确的是(A)A)程序的执行总是从main函数开始,在main函数结束B)程序的执行总是从程序的第一个函数开始,在main函数结程序的执行总是从main函数开始,在程序的最后一个函scanf(“%d%c%d%c”,&a1,&c1,&a2,&c2);语句为变量a1a2赋数值10和20,为变量c1和c2赋字符X和Y。以下所示的输入形式中 (17)若有代数式(其中e仅代表自然对数的底数,不是变量),则以下能够正确表示该代数式的C语言表达式是(C)(18)设有定义:intk=0;,以下选项的四个表达式中与其他三个有以下程序,其中%u表示按无符号整数输出(B){unsignedintx=0xFFFF;/*x的初值为十六进制数*/}设变量x和y均已正确定义并赋值,以下if语句中,在if(x>y)x-if(y<0)else else以下选项中,当x为大于1的奇数时,值为0的表达式(D)A)break语句只能用于switch语句体continue语句的作用是:使程序的执行流程跳出包含它的所break语句只能用在循环体内和switchD)在循环体内使用break语句和continue{intk=5,n=0; case3n+=1;break;}}{inti,j;{for(j=i;j<4;j++)printf(“%d*%d=%d}} 1*1=11*2=21*3=3 B)1*1=11*2=21*3=32*1=22*2=4 2*2=42*3=6 C) D)1*2=2 2*1=21*3=32*3=6 3*1=33*2=626)在C语言中,函数返回值的类型最终取决于(A)(27)已知大写字母A的ASCII码是65,小写字母aASCIIintfun(char*s){char}计算s所指字符串占用内存字节的个计算s所指字符串的长将s所指字符串到字符串t(29)设已有定义:floatx;则以下对指针变量p进行定义且floatint*p=(floatfloatfloat{intprintf(“Inputn:”);scanf(“%d”,&p);printf(“outputn:”);printf(“%d\n”,p);}该程序试图通过指针p为变量n读入数据并输出,但程序有A)intn,*p=NULL;(31)以下程序中函数f的功能是:当flag为1时,进行有由小到大排序;当flag为0时,进行由大到小排序。voidf(intb[],intn,intfor(j=i+1;j}{intf(&a[2],5,0);}voidf(int{intfor(i=2;i<6;i++)}{intfor(i=0;i<10;i++)}typedefstruct{intvoidf(Ac)/*注意:c是结构变量名{intj;c.b+=1;c.p+=2;}{intA}{int序}{intfor(k=i+i;k<4;k++)if(a[i][i]}voidf(int*q){intfor(;}{int}{charp[20]={‘a’,’b’,’c’,’d’},q[]=”abc”,r[]=”strcpy(p+strlen(q),r);strcat(p,q);}2092011{charp[20]={‘a’,’b’,’c’,’d’},q[]=”abc”,r[]=”Printf(“%d\n”,sizeof(p));}voidf(charp[][10intn)/*字符串从小到大排序{chart[10]; inti,j;if(strcmp(p[i],p[j])>0){strcpy(t,p[i]);strcpy(p[i],p[j]);strcpy(p[i],t);}}{charp[5][10]={“abc”,”aabdfg”,”abbd”,”dcdbe”,”}A)B)C)D)voidf(intnint*r){int elseif(n%5==0) elsef(--n,&r1);}{int }A)B)D)main(intargc,char{intfor(i=1;in=n*10+*argv[i]-‘0’;}编译连接后生成可执行文件tt.exe,若运行时输入以下命令行tt12345678D)inta=4;intf(int{intt=0;staticinta=5;if(n%2){inta=6;t+=a++;}else{intreturn}{intfor(;i〈2;i++)s+=f(i);printf(“%d\n”,s);}(43)有一个名为init.txt的文件,内容如下 # #include{int}C)运行结果为y=0 (44)有以下程{charch[]=“uvwxyz”,*pc;Pc=ch;printf(“%c\n”,*(pc+5));}0字符y的地structS{intn;inta[20];};voidf(structS*P){inti,j,t;if(p->a[i]>p->a[j]){t=p->a[i];p->a[i]=p->a[j];p->a[j]=t;}{inti;structSfor(i=0;i}structS{intn;inta[20];};voidf(int*a,intn){intfor(i=0;i}{inti;structSf(s.a,sfor(i=0;i}typedefstructnode{intdata;structnode*next;}*NODE;NODEp;A)p是指向structnodeC)p是指向structnode结构变量的指D)p是structnode结构变{unsignedchara=2,b=4,c=5,d;d=a|b;d&=c;printf(“%d\n”,d);}{FILE intfprintf(fp,”%d%d\n”,a[0],a[1],a[2]);fprintf(fp,“%d%d%dfscanf(fp, }11123 main{FILE*fp;int针从文件头向后移动3个int型数据*/ }每空分,共分)题卡[至[2 等价类划分法属于黑箱(或黑盒)测试。 数据库管理系统。段、开发阶段和阶段。编码和测试属于开发 典对其中的图形元素进行确切解释执行以下程序后的输出结果是 {int } while循环体将执行0 {char} (8)以下程序的运行结果是m=4k=4i=5k=5 intk=0;voidfun(int{m+=k;k+=m;printf(“m=%d\nk=%d”,m,k++);}{intfun(i++);printf(“i=%d}(9)以下程序的运行结果是#& {inta=2,b=7,c=5;{case{case1:switch(“@”);Case2:printf(“!”);}case0:{case0:printf(“*”);break;case1:printf(“#”);break;case2:printf(“$”);break;}default:}}以下程序的输出结果是9#include{}已定义charch=”$”;inti=1,j;执行j=!ch&&i++以后,i的值(12)以下程序的输出结果是54#include{charprintf(“%d}(13)设有定义语句:inta[][3]={{0},{1},{2}};,则数组元素(14)以下程序的功能是:求出数组x中各相邻两个元素的和依次存放到a数组中,然后输出。请填空。{intfor(i=0;i<10;i++)for(i=1 ;i<10;i++)a[i-1]=x[i]+x[i-1] ;} intfun(int*x,intn)returnx[0];elsereturnx[0]+fun(x+1,n-}{int}以下程序的输出结果是35#include{char*s1,*s2,m;2006年9 C}structDATE{intyear;intmonth;int请写出一条定义语句,该语句定义d并同时为其成员year、month、day依次赋初 完整,以便可以向文本文件readme.txt的最后续写内容fw=fopen(“readme.txt”,"a" 1- 6-1011-1516- 21- 26-30 31-3536-4041-4546-50 1.4,开5 8,无答913,1315,X[i-小C)、一个算法的时间复杂度大,则其空间复杂度必定小D)、上述三种说法都不对
(8)在长为64的有序线性表中进行顺序查找 数表中的最后的若干个参数,FCEADBG则都可以省须省略 A)、问题对下列二叉树:进行中序遍历的结果 、内联函数必须通过关键字inline来定、内联函数体的最后一条语句必须是rennin语 时 A)、B)、
下列关于输入流类成员函数getline 、该函 、该函 、该函 下列符号中,正确的C++标识符是 、constintbuffer=256;B)、constdouble*point;C)、intconstbuffer=256;D)、double*constpoint;if语句的语法格式可描述为格式1:if(<条件>)<语句>、<条件>if语句,例如if(if(a=0)?)?B)、<条件>部分可以是一个if语句,例如inta则数值为9的表达式 、*p`、、*p9、p 计算机等级考试二级C语言笔试试题及答 则fun的实参个数 、、、、 员D)、保护成员 关于关键字class和typename,下列表述中正确的 、程序中的typename都可以替换为classB)、程序中的class都可以替换为、在模板形参表中只能用typename来参数的类、在模板形参表中只能用class或typename来参数类usingnamespacestd;intmain(){return} usingnamespacestd;classMyClass{MyClass(charcIntdeletep2;return} 、、usingnamespacestd;inti=1;classFun{staticinti;intvalue(){returni-intvalue()const{returnintFun;;i=2;intmain(){inti=3;FunconstFunfun2;return0;} usingnamespacestd;classObj{staticinti;intvoidf(){Obj Obj Obj*ob3=new Delete usingnamespace class Base(char classDerived;public Derived(charc){cout int Derived return class int MyBase(int intvalue()const{return
classMyDerived; int MyDerived(inti): intgetK()const{return intgutj()const{return 基类的私有成员变量 B)、在类MyDerived的定义中,基类名MyBase前缺少关键字public、protected或private D)、类MyDerived的构造的数没有对基数数据成员K进行 Doubleoperator+(inti,intk){return B)、两个int型参数的和应该是int型,而这里将+的返回类 为double 建立流对象f,并试图打开文件SALARY.DAT与f关联,而且 usingnamespace virtualVoidfuncl(){cout<< voidfune2(){cout<< classB:public voidfunc1(){cout<< voidfunc2(){cout<< Int A*p=new 二、填空题(230分)请将每一个空的正确答案写[1][2]的任务是诊断和改正程序中的错误一个关系表的行为[3][4][5]若有定义语句:int*a,b;,则变量b[6]已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为i-1的单元,其中1≤i<n。例如,当n=4,a中原有数据为1,2,3,4时,则移动后a中元素为For(inti=0;i(8)已知递归函数f的定义如下intf(int{
elsereturnn*f(n-2);//递归}则函数调用语句f(5)[8]结果是[9]。usingnamespaceclassFoo(intX){cout<<’A”}intFooreturn}习惯性在下列程序的输出结果是42,请将画线处缺失UsingnamespaceClassint10]value给Foo的数据成员value赋值Int{Foo}以指向派生类对象,但是只能从基数继承的成员,下列程序没有使用多态机制,其输出结果是[11]。usingnamespaceclassVoidprint(){cout<<‘B’;}};classDerived:publicBase{voidprint(){cout<<‘D’;}}intmain(){Derived*pd=newdelete
return} classBase{voidClassDerived:则Base类中的成员函数fun(),在Derived类中的 是[12](注意:要求填写private、protected或public中的一在MyClass类的定义中,对赋值运算符=进行重载。[13]MyClass::operator=(constMyClass{value=rhs.}出一个数据,插入到已排序序列中的正确位置,InsertSort类的成员函数sort()实现了插入排序算法,请将画线处缺失的部分补充完classInsertSort(int*a0,intn0):a(a0),n(n0){}//参数组首地址,n是数void{//此函数假设已排离序列初始化状态只包含a[0],未排序序列初始为a[1]?a[n-1]for(inti=1;iintfor([14]j>0;--int*a,n;//指针a用于存放数组首地址,n用于存放数组元素[15]usingnamespaceintvirtualvoidprint()constcharB(){b=voidvoid
int{return2006年9 计算机等级考试二级C语言笔试试题及答 一、01—05 06— 11—15 16— 21—25 26— 31—35 41—45 46— 7、10 (9)在E-R图中,用来表示实体的图形(10)数据库DB、数据库系统DBS、数据库管理系统DBMS之间A.DB包含DBS和DBMSB.DBMS包含DB和DBSC.DBS包含DB和18、162006年4 C下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的, {case1:printf("*\n");{casecase2+1:printf("**\n");}case(20)若各选项中所用变量已正确定义,函数fun中通过return语B.floatfun(intfloatfun(intB.{……}C.floatmain(){floatfun(inti,int{……x=fun(2,10);……}……x=fun(i,j);A.charfloatfun(intB.charB.{……}floatfun(intC.charD.char(21)在以下给出的表达式中,与while(E)中的(E)不等价的表达式A.intB.intC.intD.int(22)要求通过while循环不断读入字符,当读入字母NA.#include<stdiointfun(intB.#include<stdio{returnfunC.#include<stdioC.形参P中存放的D.include<stdioD.形参P(24)若有说明语句:double*p,a;则能通过scanf语句正确给输A.*p=&a;(19)若有定义:floatx=1.5;inta=1,b=3,c=2;确的B.*p=&a;C.p=&a;D.p=&a;(25)现有以下结构体说明和变量定义,如图所示,指针p、q、r{case1.0:printf("*\n");{casecase2.0:printf("**\n");}casestruct{charstructnode*next;现要将q和r所指结点交换前后位置,同时要保持链表的连续{int}B.y=-struct{intx;intD.whileintstructst{intif(a=1)A.*pt-elseB.pt-}(27)设fp程序输函数feof(fp)D.编译有int{int执行后,C的值}#include}{char}c5=getchar();}123<回车intfun1(doublea){return45678<回车intfun2(
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 安徽省铜陵、黄山、宣城(三市二模)2026届高三4月份质量检测地理(含答案)
- 2025忻州职业技术学院教师招聘考试题目及答案
- 2025江西中医药大学教师招聘考试题目及答案
- 2025德宏师范高等专科学校教师招聘考试题目及答案
- 2026年辽宁生理学单元测试高频考点及答案
- 临汾招教语文试题及答案
- 2026四川宜宾市屏山县审计局招聘编外聘用人员1人建设笔试备考题库及答案解析
- 2026年河北秦皇岛昌黎县第一中学专项选聘教师14名建设笔试参考题库及答案解析
- 2026年陕西中烟工业招聘岗位表(汉中卷烟厂招18人)建设考试参考试题及答案解析
- 2026中国疾病预防控制中心(中国预防医学科学院)后勤运营管理中心招聘1人建设考试备考试题及答案解析
- 2026年上海浦东公安分局文员招聘288人考试备考试题及答案解析
- 国家开放大学2026年春《形势与政策》形考大作业参考答案(三)
- 第11课《山地回忆》课件(内嵌音视频) 2025-2026学年统编版语文七年级下册
- (正式版)JBT 14581-2024 阀门用弹簧蓄能密封圈
- 金属与石材幕墙工程技术规范-JGJ133-2013含条文说
- 初中生物各章节概念知识框架图
- 空调维保质量保障体系及措施方案
- 城市轨道交通工程监测技术规范讲解课件
- 旅游学第四版李天元课后习题答案
- 花篮拉杆式悬挑盘扣脚手架施工工法
- 民航概论各章习题详解答案分解
评论
0/150
提交评论