20103-20119全国C语言真题及答案

申明敬告: 本站不保证该用户上传的文档完整性,不预览、不比对内容而直接下载产生的反悔问题本站不予受理。

文档介绍

20103-20119全国C语言真题及答案

2010年3月全国计算机二级C语言考试真题一、选择题1、下列叙述中正确的是A)对长度为n的有序链表进行查找,最坏情况下需要的比较次数为nB)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(n/2)C)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)D)对长度为n的有序链表进行对分查找,最坏情况下需要的比较次数为(log2n)2、算法的时间复杂度是指A)算法的执行时间B)算法所处理的数据量C)算法程序中的语句或指令条数D)算法在执行过程中所需要的基本运算次数3、软件按功能可以分为:应用软件、系统软件和支撑软件(或工具软件)。下面属于系统软件的是A)编辑软件B)操作系统C)教务管理系统D)浏览器4、软件(程序)调试的任务是A)诊断和改正程序中的错误B)尽可能多地发现程序中的错误C)发现并改正程序中的所有错误D)确定程序中错误的性质5、数据流程图(DFD图)是A)软件概要设计的工具B)软件详细设计的工具C)结构化方法的需求分析工具D)面向对象方法的需求分析工具6、软件生命周期可分为定义阶段,开发阶段和维护阶段。详细设计属于A)定义阶段B)开发阶段C)维护阶段C)上述三个阶段7、数据库管理系统中负责数据模式定义的语言是A)数据定义语言B)数据管理语言C)数据操纵语言D)数据控制语言8、在学生管理的关系数据库中,存取一个学生信息的数据单位是A)文件B)数据库C)字段D)记录9、数据库设计中,用E-R图来描述信息结构但不涉及信息在计算机中的表示,它属于数据库设计的A)需求分析阶段B)逻辑设计阶段C)概念设计阶段D)物理设计阶段10、有两个关系R和T如下:RTABCa12b22c32d32ABCc32d32n则由关系R得到关系T的操作是A)选择B)投影C)交D)并11、以下叙述正确的是A)C语言程序是由过程和函数组成的B)C语言函数可以嵌套调用,例如:fun(fun(x))C)C语言函数不可以单独编译D)C语言中除了main函数,其他函数不可作为单独文件形式存在12、以下关于C语言的叙述中正确的是A)C语言中的注释不可以夹在变量名或关键字的中间B)C语言中的变量可以在使用之前的任何位置进行定义C)在C语言算术表达式的书写中,运算符两侧的运算数类型必须一致D)C语言的数值常量中夹带空格不影响常量值的正确表示13、以下C语言用户标识符中,不合法的是A)_1B)AaBcC)a_bD)a--b14、若有定义:doublea=22;inti=0,k=18;,则不符合C语言规定的赋值语句是A)a=a++,i++;B)i=(a+k)<=(i+k);C)i=a%11;D)i=!a;15、有以下程序#includemain(){chara,b,c,d;scanf(“%c%c”,&a,&b);c=getchar();d=getchar;printf(“%c%c%c%cn”,a,b,c,d);}当执行程序时,按下列方式输入数据(从第1列开始,<CR>代表回车,注意:回车也是一个字符)12<CR>34<CR>则输出结果是A)1234B)12C)12D)12  3  3416、以下关于C语言数据类型使用的叙述中错误的是A)若要准确无误差的表示自然数,应使用整数类型B)若要保存带有多位小数的数据,应使用双精度类型C)若要处理如“人员信息”等含有不同类型的相关数据,应自定义结构体类型D)若只处理“真”和“假”两种逻辑值,应使用逻辑类型17、若a是数值类型,则逻辑表达式(a==I)||(a!=1)的值是A)1B)0C)2D)不知道a的值,不能确定18、以下选项中与if(a==1)a=b;elsea++;语句功能不同的switch语句是A)switch(a){case1:a=b;break;ndefault:a++;}B)switch(a==1){case0:a=b;break;case1:a++;}C)switch(a){default:a++;break;case1:a=b;}D)switch(a==1){case1:a=b;break;case0:a++;}19、有如下嵌套的if语句if(amain(){inti,j,m=1;for(i=1;i<3;i++){for(j=3;j>0;j--){if(i+j>3)break;m*=i*j;}}printf(“m=%dn”,m);}程序运行后的输出结果是A)m=6B)m=2C)m=4D)m=521、有以下程序#includemain()n{inta=1,b=2;for(;a<8;a++){b+=a;a+=2;}printf(“%d,%dn”,a,b);}程序运行后的输出结果是A)9,18B)8,11C)7,11D)10,1422、有以下程序,其中k的初值为八进制数#includemain(){intk=011;printf(“%dn”,k++);}程序运行后的输出结果是A)12B)11C)10D)923、下列语句组中,正确的是A)char*s;s="Olympic";B)chars[7];s="Olympic";C)char*s;s={"Olympic"};D)chars[7];s={"Olympic"};24、以下关于return语句的叙述中正确的是A)一个自定义函数中必须有一条return语句B)一个自定义函数中可以根据不同情况设置多条return语句C)定义成void类型的函数中可以有带返回值的return语句D)没有return语句的自定义函数在执行结束时不能返同到调用处25、下列选项中,能正确定义数组的语句是A)intnum[0..2008];B)intnum[];C)intN=2008;D)#defineN2008  intnum[N];  intnum[N];26、有以下程序#includevoidfun(char*c,intd){*c=*c+1;d=d+1;printf(“%c,%c”,*c,d);}main(){charb=‘a’,a=‘A’;fun(&b,a);printf(“%c,%cn”,b,a);}程序运行后的输出结果是A)b,B,b,AB)b,B,B,AC)a,B,B,aD)a,B,a,B27、若有定义int(*pt)[3];,则下列说法正确的是A)定义了基类型为int的三个指针变量B)定义了基类型为int的具有三个元素的指针数组ptC)定义了一个名为*pt、具有三个元素的整型数组D)定义了一个名为pt的指针变量,它可以指向每行有三个整数元素的二维数组n28、设有定义doublea[10],*s=a;,以下能够代表数组元索a[3]的是A)(*s)[3]B)*(s+3)C)*s[3]D)*s+329、有以下程序#includemain(){inta[5]={1,2,3,4,5},b[5]={0,2,1,3,0},i,s=0;for(i=1;i<3;i++)s=s+a[b[i]];printf(“%dn”,s);}程序运行后的输出结果是A)6B)10C)11D)1530、有以下程序#includemain(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=1;i<3;i++)for(j=1;j<=1;j++)t+=b[i][b[j][i]];printf(“%dn”,t);}程序运行后的输出结果是A)1B)3C)4D)931、若有以下定义和语句chars1[10]="abcd!",s2="n123\";printf("%d%d\n",strlen(s1),strlen(s2));则输出结果是A)5 5B)10 5C)10 7D)5 832、有以下程序#include#defineN8voidfun(int*x,inti){*x=*x+i;}main(){inta[N]={1,2,3,4,5,6,7,8},i;fun(a,2);for(i=1;iintf(intt[],intn);main()n{inta[4]={1,2,3,4},s;s=f(a,4);printf(“%dn”,s);}intf(intt[],intn){if(n>0)returnt[n-1]+f(t,n-1);elsereturn0;}程序运行后的输出结果是A)4B)10C)14D)634、有以下程序#includeintfun(){staticintx=1;x*=2;returnx;}main(){inti,s=1;for(i=1;i<=2;i++)s=fun();printf(“%dn”,s);}程序运行后的输出结果是A)0B)1C)4D)835、有以下程序#include#defineSUB(a)(a)-(a)main(){inta=2,b=3,c=5,d;d=SUB(a+b)*c;printf(“%dn”,d);}程序运行后的输山结果是A)0B)-12C)-20D)1036、设有定义:structcomplex{intreal,unreal;}data1={1,8},data2;则以下赋值语句中错误的是A)data2=data1;B)data2=(2,6);C)data2.real=data1.real;D)data2.real=data1.unreal;37、有以下程序#include#includestructA{inta;charb[10];doublec;};voidf(structAt);main(){structAa={1001,“ZhangDa”,1098.0};f(a);nprintf(“%d,%s,%6.1fn”,a.a,a.b,a.c);}voidf(structAt){t.a=1002;strcpy(t.b,“ChangRong”);t.c=1202.0;}输出结果是A)1001,ZhangDa,1098.0B)1002,ChangRong,1202.0C)1001,ChangRong,10980D)1002,ZhangDa,1202.038、有以下定义和语句structworkers{intnum;charname[20];charc;struct{intday;intmonth;intyear;}s};structworkersw,*pw;pw=&w;能给w中year成员赋1980的语句是A)pw.year=1980;B)w.year=1980;C)pw->year=1980;D)w.s.year=1980;39、有以下程序#includemain(){inta=2,b=a,c=2;printf(“%dn”,a/b&c);}程序运行后的输出结果是A)0B)1C)2D)340、有以下程序#includemain(){FILE*fp;charstr[10];fp=open(“myfile.dat”,“w”);fputs(“abc”,pf);close(pf);fp=open(“myfile.dat”,“a+”);fprintf(pf,“%d”,28);rewind(pf);fscanf(pf,“%s”,str);puts(str);close(pf);}程序运行后的输出结果是A)abcB)28cC)abc28D)因类型不一致而出错二、填空题(每空2分,共30分)请将每空的正确答案写在答题卡【1】~【15】序号的横线上,答在试卷上不得分。n(1)一个队列的初始状态为空。现将元素A,B,C,D,E,F,5,4,3,2,1依次入队,然后再依次退队,则元素退队的顺序为 【1】 。(2)设某循环队列的容量为50,如果头指针front=45(指向队头元素的前一位置),尾指针rear=10(指向队尾元素),则该循环队列中共有 【2】 个元素。(3)设二叉树如下:ABCDFEGH对该二叉树进行后序遍历的结果为 【3】 。(4)软件是 【4】 数据和文档的集合。(5)有一个学生选课的关系,其中学生的关系模式为:学生(学号,姓名,班级,年龄),课程的关系模式为:课程(课号,课程名,学时),其中两个关系模式的键分别是学号和课号,则关系模式选课可定义为:选课(学号, 【5】 ,成绩)。(6)设x为int型变量,请写出一个关系表达式 【6】 ,用以判断x同时为3和7的倍数时,关系表达式的值为真。(7)有以下程序#includemain(){inta=1,b=2,c=3,d=0;if(a==1)if(b!=2)if(c==3)d=1;elsed=2;elseif(c!=3)d=3;elsed=4;elsed=5;printf(“%dn”,d);}程序远行后的输出结果是 【7】 。(8)有以下程序#includenmain(){intm,n;scanf(“%d%d”,&m,&n);while(m!=n){while(m>n)m=m-n;while(mmain(){inti,j,a[][3]={1,2,3,4,5,6,7,8,9};for(i=1;i<3;i++)for(j=1;j<3;i++)printf(“%d”,a[i][j]);printf(“n”);}程序运行后的输出结果是 【9】 (10)有以下程序#includemain(){inta[]={1,2,3,4,5,6},*k[3],i=0;while(i<3){k[i]=&a[2*i];printf(“%d”,*k[i]);i++;}}程序运行后的输出结果是 【10】 。(11)有以下程序#includemain(){inta[3][3]={{1,2,3},{4,5,6},{7,8,9}};intb[3]={0},i;for(i=1;i<3;i++)b[i]=a[i][2]+a[2][i];for(i=1;i<3;i++)printf(“%d”,b[i]);printf(“n”);}程序运行后的输出结果是 【11】 。(12)有以下程序#include#includevoidfun(char*str){chartemp;intn,i;nn=strlen(str);temp=str[n-1];for(i=n-1;i>0;i--)str[i]=str[i-1];str[0]=temp;}main(){chars[50];scanf(“%s”,s);fun(s);printf(“%sn”,s);}程序运行后输入:abcdef<回车>,则输出结果是 【12】 (13)以下程序的功能是:将值为三位正整数的变量x中的数值按照个位、十位、百位的顺序拆分并输出。请填空。#includemain(){intx=256;printf(“%d-%d-%dn”,【13】,x/10%10,x/100);}(14)以下程序用以删除字符串中所有的空格,请填空。#includemain(){char[100]={“Ourteacherteachclanguage!”};inti,j;for(i=j=0;s[i]!=‘’;i++)if(s[i]!=‘’){s[j]=s[i];j++;}s[j]=【14】;printf(“%sn”,s);}(15)以下程序的功能是:借助指针变量找出数组元素中的最大值及其元素的下标值。请填空。#includemain(){inta[10],*p,*s;for(p=a;p-a<10;p++)scanf(“%d”,p);for(p=a,s=a;p-a<10;p++)if(*p>*s)s=【15】;printf(“index=%dn”s-a);}参考答案:一、选择题:1.CDBAC6.BADCA11.BADCC16.DABCA21.DDABD26.ADBCC31.ACBCB36.BADAC二、填空题:(1)ABCDEF54321(2)15(3)EDBGHFCA(4)程序(5)课号(6)(x%3==0)&&(x%7==0)(7)4(8)7(9)123569(10)135(11)101418(12)fabcde(13)x%10(14)''(15)pn2010年9月全国计算机二级C语言笔试试题一、选择题(每小题2分,共70分)(1)下列叙述中正确的是  A)线性表的链式存储结构与顺序存储结构所需要的存储空间是相同的  B)线性表的链式存储结构所需要的存储空间一般要多于顺序存储结构  C)线性表的链式存储结构所需要的存储空间一般要少于顺序存储结构  D)上述三种说法都不对(2)下列叙述中正确的是  A)在栈中,栈中元素随栈底指针与栈顶指针的变化而动态变化  B)在栈中,栈顶指针不变,栈中元素随栈底指针的变化而动态变化  C)在栈中,栈底指针不变,栈中元素随栈顶指针的变化而动态变化  D)上述三种说法都不对(3)软件测试的目的是  A)评估软件可靠性B)发现并改正程序中的错误  C)改正程序中的错误D)发现程序中的错误(4)下面描述中,不属于软件危机表现的是  A)软件过程不规范B)软件开发生产率低  C)软件质量难以控制D)软件成本不断提高(5)软件生命周期是指 A)软件产品从提出、实现、使用维护到停止使用退役的过程  B)软件从需求分析、设计、实现到测试完成的过程  C)软件的开发过程  D)软件的运行维护过程(6)面向对象方法中,继承是指  A)一组对象所具有的相似性质  B)一个对象具有另一个对象的性质  C)各对象之间的共同性质  D)类之间共享属性和操作的机制(7)层次型、网状型和关系型数据库划分原则是  A)记录长度B)文件的大小  C)联系的复杂程度D)数据之间的联系方式(8)一个工作人员可以使用多台计算机,而一台计算机可被多个人使用,则实体工作人员、与实体计算机之间的联系是  A)一对一  B)一对多   C)多对多  D)多对一(9)数据库设计中反映用户对数据要求的模式是A)内模式  B)概念模式  C)外模式  D)设计模式(10)有三个关系R、S和T如下:n  则由关系R和S得到关系T的操作是  A)自然连接    B)交     C)投影     D)并(11)以下关于结构化程序设计的叙述中正确的是  A)一个结构化程序必须同时由顺序、分支、循环三种结构组成  B)结构化程序使用goto语句会很便捷  C)在C语言中,程序的模块化是利用函数实现的  D)由三种基本结构构成的程序只能解决小规模的问题(12)以下关于简单程序设计的步骤和顺序的说法中正确的是  A)确定算法后,整理并写出文档,最后进行编码和上机调试  B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档  C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档 D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构(13)以下叙述中错误的是  A)C程序在运行过程中所有计算都以二进制方式进行  B)C程序在运行过程中所有计算都以十进制方式进行  C)所有C程序都需要编译链接无误后才能运行  D)C程序中整型变量只能存放整数,实型变量只能存放浮点数(14)有以下定义:int a;long b;double x,y;则以下选项中正确的表达式是  A)a%(int)(x-y)  B)a=x!=y;  C)(a*y)%b  D)y=x+y=x(15)以下选项中能表示合法常量的是 A)整数:1,200 B)实数:1.5E2.0 C)字符斜杠:‘’D)字符串:"07"(16)表达式a+=a-=a=9的值是 A)9     B)_9     C)18     D)0(17)若变量已正确定义,在if(W)printf(“%dn,k”);中,以下不可替代W的是 A)a<>b+c  B)ch=getchar()  C)a==b+c  D)a++(18)有以下程序  #include  main()  {int a=1,b=0;  if(!a)b++;  else if(a==0)if(a)b+=2;  else b+=3;  printf(”%d\n”,b);  }  程序运行后的输出结果是  A)0      B)1      C)2     D)3(19)若有定义语句inta,b;doublex;则下列选项中没有错误的是  A)switch(x%2)              B)switch((int)x/2.0   {case0:a++;break;           {case0:a++;break;   case1:b++;break;            case1:b++;break;    default:a++;b++;            default:a++;b++;   }                              n}  C)switch((int)x%2)       D)switch((int)(x)%2)   {case0:a++;break;           {case0.0:a++;break;    case1:b++;break;             case1.0:b++;break;    default:a++;b++;             default:a++;b++;   }                               }(20)有以下程序  #include  main() {inta=1,b=2;  while(a<6){b+=a;a+=2;b%二10;}  printf(”%d,%d\n”,a,b);  }  程序运行后的输出结果是  A)5,11     B)7,1     C)7,11     D)6,1(21)有以下程序  #include<stdio.h>  main() {inty=10;  while(y--);  printf(”Y=%d\n”,Y); }  程序执行后的输出结果是  A)y=0     B)y=-1     C)y=1     D)while构成无限循环(22)有以下程序  #include<stdio.h>  main() {chars[」=”rstuv";  printf(”%c\n”,*s+2); }  程序运行后的输出结果是  A)tuv     B)字符t的ASCII码值     C)t     D)出错(23)有以下程序  #include<stdio.h>  #include<string.h>  main() {charx[]=”STRING”;  x[0」=0;x[1]=’\0’;x[2」=’0’;  printf(”%d %dn”,sizeof(x),strlen(x)); }  程序运行后的输出结果是  A)6 1     B)7 0     C)6 3     D)7 n1(24)有以下程序  #include<stdio.h>  int  f(int x);  main() {int n=1,m;  m=f(f(f(n)));printf(”%d\n”,m); }  int f(int x) {return x*2;}  程序运行后的输出结果是  A)1     B)2     C)4     D)8(25)以下程序段完全正确的是  A)int*p; scanf("%d",&p);  B)int*p; scanf(“%d”,p);  C)intk,*p=&k; scanf("%d",p);  D)intk,*p:; *p=&k;  scanf(“%d”,p);(26)有定义语句:int*p[4];以下选项中与此语句等价的是  A)int p[4];  B)int **p;   C)int *(p「4」); D)int(*p)「4」;(27)下列定义数组的语句中,正确的是  A)int N=10;         B)#defineN10  int x[N];               intx[N];  C)int x[0..10];       D)intx[];(28)若要定义一个具有5个元素的整型数组,以下错误的定义语句是  A)int a[5]=﹛0﹜;  B)int b[]={0,0,0,0,0};  C)int c[2+3];     D)int i=5,d[i];(29)有以下程序  #include<stdio.h>  void f(int*p);  main()  {int a[5]={1,2,3,4,5},*r=a;  f(r);printf(”%dn”;*r);  }  voidf(int*p)  {p=p+3;printf(”%d,”,*p);}  程序运行后的输出结果是  A)1,4     B)4,4     C)3,1     D)4,1(30)有以下程序(函数fun只对下标为偶数的元素进行操作)  #include<stdio.h>  voidfun(int*a;intn)  {inti、j、k、t;  forn(i=0;i<n一1;1+=2)  {k=i;‘  for(j=i;ja〔k])k=j;  t=a〔i];a〔i]=a[k];a〔k]=t;  }  }  main()  {intaa「10」={1、2、3、4、5、6、7},i;  fun(aa、7);  for(i=0,i<7;i++)printf(”%d,”,aa[i]));  printf(”\n”);  }  程序运行后的输出结果是  A)7,2,5,4,3,6,1     B)1,6,3,4,5,2,7  C)7,6,5,4,3,2,1     D)1,7,3,5,6;2,1(31)下列选项中,能够满足“若字符串s1等于字符串s2,则执行ST"要求的是  A)if(strcmp(s2,s1)==0)ST;       B)if(sl==s2)ST;  C)if(strcpy(sl,s2)==1)ST;     D)if(sl-s2==0)ST;(32)以下不能将s所指字符串正确复制到t所指存储空间的是  A)while(*t=*s){t++;s++;}  B)for(i=0;t[i]=s[i];i++);  C)do{*t++=*s++;}while(*s);  D)for(i=0,j=0;t[i++]=s[j++];);(33)有以下程序(strcat函数用以连接两个字符串)  #include<stdio.h>  #include<string.h>   main()  {chara[20]=”ABCD\OEFG\0”,b[]=”IJK”;   strcat(a,b);printf(”%sn”,a);  }  程序运行后的输出结果是  A)ABCDEOFGOIJK  B)ABCDIJK   C)IJK   D)EFGIJK(34)有以下程序,程序中库函数islower(ch)用以判断ch中的字母是否为小写字母  #include<stdio.h>  #include<ctype.h>  void fun(char*p) {int i=0;  while(p[i]) {if(p[i]==’’&&islower(p「i-1」))p[i-1]=p[i-1]-‘a’+‘A’;  i++;  }  }  main()  {chars1[100]=”abcdEFG!”;    fun(s1);printf(”%sn”,s1);  }  程序运行后的输出结果是 A)ab cd EFG! B)Ab Cd EFg!C)aBcDEFG!D)abcd EFg!n(35)有以下程序  #include<stdio.h>  void fun(intx)  {if(x/2>1)fun(x/2);  printf(”%d”,x);  }  main()  {fun(7);printf(”n”);}  程序运行后的输出结果是  A)137  B)731  C)73  D)37(36)有以下程序  #include<stdio.h>  intfun()  {staticintx=1;  x+=1;returnx;  }  main()  {inti;s=1;  for(i=1;i<=5;i++)s+=fun();  printf(”%d\n”,s);  }  程序运行后的输出结果是  A)11  B)21  C)6  D)120(37)有以下程序  #inctude<stdio.h>  #include<stdlib.h>  Main()  {int*a,*b,*c;  a=b=c=(int*)malloc(sizeof(int));  *a=1;*b=2,*c=3;  a=b;  printf(“%d,%d,%d\n”,*a,*b,*c);  }  程序运行后的输出结果是  A)3,3,3   B)2,2,3   C)1,2,3   D)1,1,3(38)有以下程序  #include<stdio.h>  main()  {ints,t,A=10;doublenB=6;  s=sizeof(A);t=sizeof(B);  printf(“%d,%d\n”,s,t);  }  在VC6平台上编译运行,程序运行后的输出结果是  A)2,4     B)4,4     C)4,8     D)10,6(39)若有以下语句   TypedefstructS  {intg;charh;}T;  以下叙述中正确的是  A)可用S定义结构体变量  B)可用T定义结构体变量  C)S是struct类型的变量  D)T是structS类型的变量(40)有以下程序   #include<stdio.h>   main()  {shortc=124;   c=c_______;   printf(“%d\n”、C);  }  若要使程序的运行结果为248,应在下划线处填入的是  A)>>2      B)|248    C)&0248   D)<<1二、填空题(每空2分,共30分)   (1)一个栈的初始状态为空。首先将元素5,4,3,2,1依次入栈,然后退栈一次,再将元素A,B,C,D依次入栈,之后将所有元素全部退栈,则所有元素退栈(包括中间退栈的元素)的顺序为【1】(2)在长度为n的线性表中,寻找最大项至少需要比较【2】次。(3)一棵二叉树有10个度为1的结点,7个度为2的结点,则该二叉树共有【3】个结点。(4)仅由顺序、选择(分支)和重复(循环)结构构成的程序是【4】程序。(5)数据库设计的四个阶段是:需求分析,概念设计,逻辑设计【5】。(6)以下程序运行后的输出结果是【6】。  #include<stdio.h>  main()  {inta=200,b=010;  printf(”%d%dn”,a,b);  }(7)有以下程序  #include<stdio.h>  main()  {int x,Y;  scanf(”%2d%ld”,&x,&y);printf(”%d\n”,x+y);  }  程序运行时输入:1234567程序的运行结果是【7】。(8)在C语言中,当表达式值为0时表示逻辑值“假”,当表达式值为【8】时表示逻辑值“真”。(9)有以下程序  #include<stdio.h>  main()  {intni,n[]={0,0,0,0,0};  for(i=1;i<=4;i++)  {n[i]=n[i-1]*3+1;printf(”%d",n[i]);}  }  程序运行后的输出结果是【9】。(10)以下fun函数的功能是:找出具有N个元素的一维数组中的最小值,并作为函数值返回。请填空。(设N已定义)  intfun(intx[N])  {inti,k=0;  for(i=0;i  if(x[i]  returnx[k];  } (11)有以下程序  #include<stdio.h>  int*f(int*p,int*q);  main()  {intm=1,n=2,*r=&m;  r=f(r,&n);printf(”%d\n”,*r);  }  int*f(int*p,int*q)  {return(*p>*q)?p:q;}  程序运行后的输出结果是【11】 (12)以下fun函数的功能是在N行M列的整形二维数组中,选出一个最大值作为函数值返回,请填空。(设M,.N已定义)  intfun(inta[N][M))  {inti,j,row=0,col=0;  for(i=0;i  for(j=0;j  if(a[i][j]>a[row][col]){row=i;col=j;}  return(【12】):  }(13)有以下程序  #include<stdio.h>  main()  {int n[2],i,j;  for(i=0;i<2;i++)n[i]=0;  for(i=0;i<2;i++)  for(j=0;j<2;j++)n[j]=n「i」+1;  printf(”%dn”,n[1]);  }  程序运行后的输出结果是【13】 (14)以下程序的功能是:借助指针变量找出数组元素中最大值所在的位置并输出该最大值。请在输出语句中填写代表最大值的输出项。  #include<stdio.h>  main()  {intna〔10],*p,*s;  for(p=a;p-a<10;p++)scanf(”%d”,p);  for(p=a,s=a;p-a<10;p++)if(*p>*s)S=P;  printf("max=%dn”,【14】);  } (15)以下程序打开新文件f.txt,并调用字符输出函数将a数组中的字符写入其中,请填空。  #include<stdio.h>  main()  {【15】*fp;  chara[5]={’1’,’2’,’3’,’4’,’5’},i;  fp=fopen(”f.txt”,”w”);选择题:BCCABDDBCACDBCC DACCDBDBDDDBADAACBCB BACBC 填空题  1:1DCAB2345   2:1 3:25 4:结构化 5:物理设计6:2008 7:3 8:非0 9:141340 10:i11:2  12:a[row][col]13:2 14:*s 15:FILE2011年3月全国计算机等级考试二级C语言笔试真题一、选择题(1)下列关于栈叙述正确的是  A)栈顶元素最先能被删除  B)栈顶元素最后才能被删除  C)栈底元素永远不能被删除D)以上三种说法都不对(2)下列叙述中正确的是  A)有一个以上根结点的数据结构不一定是非线性结构  B)只有一个根结点的数据结构不一定是线性结构  C)循环链表是非线性结构  D)双向链表是非线性结构(3)某二叉树共有7个结点,其中叶子结点只有1个,则该二叉树的深度为(假设根结点在第1层)  A)3B)4C)6D)7(4)在软件开发中,需求分析阶段产生的主要文档是  A)软件集成测试计划B)软件详细设计说明书C)用户手册D)软件需求规格说明书(5)结构化程序所要求的基本结构不包括  A)顺序结构B)GOTO跳转  C)选择(分支)结构D)重复(循环)结构(6)下面描述中错误的是  A)系统总体结构图支持软件系统的详细设计  B)软件设计是将软件需求转换为软件表示的过程  C)数据结构与数据库设计是软件设计的任务之一  D)PAD图是软件详细设计的表示工具n(7)负责数据库中查询操作的数据库语言是  A)数据定义语言  B)数据管理语言  C)数据操纵语言  D)数据控制语言(8)一个教师可讲授多门课程,一门课程可由多个教师讲授。则实体教师和课程间的联系是A)1:1联系B)1:m联系  C)m:1联系D)m:n联系(9)有三个关系R、S和T如下:则由关系R和S得到关系T的操作是  A)自然连接B)交C)除D)并(10)定义无符号整数类为UInt,下面可以作为类UInt实例化值的是  A)-369B)369C)0.369D)整数集合{1,2,3,4,5}(11)计算机高级语言程序的运行方法有编译执行和解释执行两种,以下叙述中正确的是  A)C语言程序仅可以编译执行  B)C语言程序仅可以解释执行  C)C语言程序既可以编译执行又可以解释执行  D)以上说法都不对(12)以下叙述中错误的是  A)C语言的可执行程序是由一系列机器指令构成的  B)用C语言编写的源程序不能直接在计算机上运行  C)通过编译得到的二进制目标程序需要连接才可以运行  D)在没有安装C语言集成开发环境的机器上不能运行C源程序生成的.exe文件(13)以下选项中不能用作C程序合法常量的是  A)1,234B)'123'  C)123D)"x7G"(14)以下选项中可用作C程序合法实数的是  A).1e0B)3.0e0.2  C)E9D)9.12E(15)若有定义语句:inta=3,b=2,c=1;,以下选项中错误的赋值表达式是  A)a=(b=4)=3;B)a=b=c+1;C)a=(b=4)+c;D)a=1+(b=c=4);(16)有以下程序段  charname[20];  intnum;  scanf("name=%snum=%d",name;&num);  当执行上述程序段,并从键盘输入:name=Lilinum=1001<回车>后,name的值为  A)Lili  B)name=Lili  C)Lilinum=  D)name=Lilinum=1001(17)if语句的基本形式是:if(表达式)语句,以下关于“表达式”值的叙述中正确的是  A)必须是逻辑值B)必须是整数值  C)必须是正数D)可以是任意合法的数值(18)有以下程序  #includen  main()  {intx=011;  printf("%dn",++x);  }  程序运行后的输出结果是  A)12B)11C)10D)9(19)有以下程序  #include  main()  {ints;  scanf("%d",&s);  while(s>0)  {switch(s)  {case1:printf("%d",s+5);  case2:printf("%d",s+4);break;  case3:printf("%d",s+3);  default:printf("%d",s+1);break;  }  scanf("%d",&s);  }  }  运行时,若输入123450<回车>,则输出结果是  A)6566456B)66656C)66666D)6666656(20)有以下程序段  inti,n;  for(i=0;i<8;i++)  {n=rand()%5;  switch(n)  {case1:  case3:printf("%dn",n);break;  case2:  case4:printf("%dn",n);continue;  case0:exit(0);  }  printf("%dn",n);  }  以下关于程序段执行情况的叙述,正确的是  A)for循环语句固定执行8次  B)当产生的随机数n为4时结束循环操作  C)当产生的随机数n为1和2时不做任何操作  D)当产生的随机数n为0时结束程序运行(21)有以下程序  #includen  main()  {chars[]="012xy8s34f4w2";  inti,n=0;  for(i=0;s[i]!=0;i++)  if(s[i]>='0'&&s[i]<='9')n++;  printf("%dn",n);  }  程序运行后的输出结果是  A)0B)3C)7D)8(22)若i和k都是int类型变量,有以下for语句  for(i=0,k=-1;k=1;k++)printf("*****n");  下面关于语句执行情况的叙述中正确的是  A)循环体执行两次  B)循环体执行一次  C)循环体一次也不执行  D)构成无限循环(23)有以下程序  #include  main()  {charb,c;inti;  b='a';c='A';  for(i=0;i<6;i++)  {if(i%2)putchar(i+b);  elseputchar(i+c);  }printf("n");  }  程序运行后的输出结果是  A)ABCDEFB)AbCdEfC)aBcDeFD)abcdef(24)设有定义:doublex[10],*p=x;,以下能给数组x下标为6的元素读入数据的正确语句是  A)scanf("%f",&x[6]);B)scanf("%lf",*(x+6));  C)scanf("%lf",p+6);D)scanf("%lf",p[6]);(25)有以下程序(说明:字母A的ASCII码值是65)  #include  voidfun(char*s)  {while(*s)  {if(*s%2)printf("%c",*s);  s++;  }  }  main()  {chara[]="BYTE";  fun(a);printf("n");  }n  程序运行后的输出结果是  A)BYB)BTC)YTD)YE(26)有以下程序段  #include  main()  {…  while(getchar()!='n');  …  }  以下叙述中正确的是  A)此while语句将无限循环  B)getchar()不可以出现在while语句的条件表达式中  C)当执行此while语句时,只有按回车键程序才能继续执行  D)当执行此while语句时,按任意键程序就能继续执行(27)有以下程序  #include  main()  {intx=1,y=0;  if(!x)y++;  elseif(x==0)  if(x)y+=2;  elsey+=3;  printf("%dn",y);  }  程序运行后的输出结果是  A)3B)2C)1D)0(28)若有定义语句:chars[3][10],(*k)[3],*p;,则以下赋值语句正确的是  A)p=s;B)p=k;C)p=s[0];D)k=s;(29)有以下程序  #include  voidfun(char*c)  {while(*c)  {if(*c>='a'&&*c<='z')*c=*c-('a'-'A');  c++;  }  }  main()  {chars[81];  gets(s);fun(s);puts(s);  }  当执行程序时从键盘上输入HelloBeijing<回车>,则程序的输出结果是A)hellobeijingB)HelloBeijingnC)HELLOBEIJINGD)hELLOBeijing(30)以下函数的功能是:通过键盘输入数据,为数组中的所有元素赋值。  #include  #defineN10  voidfun(intx[N])  {inti=0;  while(i  main()  {chara[30],b[30];  scanf("%s",a);  gets(b);  printf("%sn%sn",a,b);  }  程序运行时若输入:  howareyou?Iamfine<回车>  则输出结果是  A)howareyou?B)how  Iamfineareyou?Iamfine  C)howareyou?IamfineD)howareyou?(32)设有如下函数定义  intfun(intk)  {if(k<1)return0;  elseif(k==1)return1;  elsereturnfun(k-1)+1;  }  若执行调用语句:n=fun(3);,则函数fun总共被调用的次数是  A)2B)3C)4D)5(33)有以下程序  #include  intfun(intx,inty)  {if(x!=y)return((x+y)/2);  elsereturn(x);  }  main()  {inta=4,b=5,c=6;  printf("%dn",fun(2*a,fun(b,c)));  }  程序运行后的输出结果是  A)3B)6C)8D)12n(34)有以下程序  #include  intfun()  {staticintx=1;  x*=2;  returnx;  }  main()  {inti,s=1;  for(i=1;i<=3;i++)s*=fun();  printf("%dn",s);  }  程序运行后的输出结果是  A)0B)10C)30D)64(35)有以下程序  #include  #defineS(x)4*(x)*x+1  main()  {intk=5,j=2;  printf("%dn",S(k+j));  }  程序运行后的输出结果是  A)197B)143C)33D)28(36)设有定义:struct{charmark[12];intnum1;doublenum2;}t1,t2;,若变量均已正确赋初值,则以下语句中错误的是  A)t1=t2;B)t2.num1=t1.num1;  C)t2.mark=t1.mark;D)t2.num2=t1.num2;(37)有以下程序  #include  structord  {intx,y;}dt[2]={1,2,3,4};  main()  {  structord*p=dt;  printf("%d,",++(p->x));printf("%dn",++(p->y));  }  程序运行后的输出结果是  A)1,2B)4,1C)3,4D)2,3(38)有以下程序  #include  structS  {inta,b;}data[2]={10,100,20,200};  main()  {structSp=data[1];n  printf("%dn",++(p.a));  }  程序运行后的输出结果是  A)10B)11C)20D)21(39)有以下程序  #include  main()  {unsignedchara=8,c;  c=a>>3;  printf("%dn",c);  }  程序运行后的输出结果是  A)32B)16C)1D)0(40)设fp已定义,执行语句fp=fopen("file","w");后,以下针对文本文件file操作叙述的选项中正确的是  A)写操作结束后可以从头开始读B)只能写不能读C)可以在原有内容后追加写D)可以随意读和写二、填空题(1)有序线性表能进行二分查找的前提是该线性表必须是【1】存储的。(2)一棵二叉树的中序遍历结果为DBEAFC,前序遍历结果为ABDECF,则后序遍历结果为【2】。(3)对软件设计的最小单位(模块或程序单元)进行的测试通常称为【3】测试。(4)实体完整性约束要求关系数据库中元组的【4】属性值不能为空。(5)在关系A(S,SN,D)和关系B(D,CN,NM)中,A的主关键字是S,B的主关键字是D,则称【5】是关系A的外码。(6)以下程序运行后的输出结果是【6】。  #includemain()  {inta;  a=(int)((double)(3/2)+0.5+(int)1.99*2);  printf("%dn",a);}(7)有以下程序#include  main()  {intx;  scanf("%d",&x);  if(x>15)printf("%d",x-5);  if(x>10)printf("%d",x);  if(x>5)printf("%dn",x+5);  }  若程序运行时从键盘输入12<回车>,则输出结果为【7】。(8)有以下程序(说明:字符0的ASCII码值为48)  #includen  main()  {charc1,c2;  scanf("%d",&c1);c2=c1+9;  printf("%c%cn",c1,c2);  }  若程序运行时从键盘输入48<回车>,则输出结果为【8】。(9)有以下函数  voidprt(charch,intn)  {inti;  for(i=1;i<=n;i++)  printf(i%6!=0?"%c":"%cn",ch);  }  执行调用语句prt('*',24);后,函数共输出了【9】行*号。(10)以下程序运行后的输出结果是【10】。  #include  main()  {intx=10,y=20,t=0;  if(x==y)t=x;x=y;y=t;  printf("%d%dn",x,y);  }(11)己知a所指的数组中有N个元素。函数fun的功能是,将下标k(k>0)开始的后续元素全部向前移动一个位置。请填空。  voidfun(inta[N],intk)  {inti;  for(i=k;i  【12】;  main()  {doublex,y,(*p)();  scanf("%lf%lf",&x,&y);  p=avg;  printf("%fn",(*p)(x,y));  }  doubleavg(doublea,doubleb){return((a+b)/2);}(13)以下程序运行后的输出结果是【13】。  #include  main()  {inti,n[5]={0};  for(i=1;i<=4;i++)  {n[i]=n[i-1]*2+1;printf("%d",n[i]);}  printf("n");  }(14)以下程序运行后的输出结果是【14】。n  #include  #include  #include  main()  {char*p;inti;  p=(char*)malloc(sizeof(char)*20);  strcpy(p,"welcome");  for(i=6;i>=0;i--)putchar(*(p+i));  printf("n");free(p);  }(15)以下程序运行后的输出结果是【15】。  #include  main()  {FILE*fp;intx[6]={1,2,3,4,5,6},i;  fp=fopen("test.dat","wb");  fwrite(x,sizeof(int),3,fp);  rewind(fp);  fread(x,sizeof(int),3,fp);  for(i=0;i<6;i++)printf("%d",x[i]);  printf("n");  fclose(fp);ABDDBACDCBADAAAADCADBDBCDCDCCCBBBDBCDDCB【1】有序【2】DEBFCA【3】单元【4】主键【5】D【6】3【7】1217【8】09【9】4【10】200【11】i-1【12】doubleavg(double,double);或doubleavg(doublea,doubleb);【13】13715【14】emoclew【15】1234562011年9月全国计算机等级考试二级笔试试卷一、选择题(每小题2分,共70分)1.下列叙述中正确的是。A.算法就是程序B.设计算法时只需要考虑数据结构的设计C.设计算法时只需要考虑结果的可靠性D.以上三种说法都不对2.下列关于线性链表的叙述中,正确的是A.各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B.各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C.进行插入与删除时,不需要移动表中的元素D.以上三种说法都不对3.下列关于二叉树的叙述中,正确的是A.叶子结点总是比度为2的结点少一个B.叶子结点总是比度为2的结点多一个nC.叶子结点数是度为2的结点数的两倍D.度为2的结点数是度为1的结点数的两倍4.软件按功能可以分为应用软件、系统软件和支撑软件(或工具软件)。下面属于应用软件的是A.学生成绩管理系统B.C语言编译程序C.UNIX操作系统D.数据库管理系统5.某系统总体结构图如下图所示:该系统总体结构图的深度是A.7B.6C.3D.26.程序调试的任务是A.设计测试用例B.验证程序的正确性C.发现程序中的错误D.诊断和改正程序中的错误7.下列关于数据库设计的叙述中,正确的是A.在需求分析阶段建立数据字典B.在概念设计阶段建立数据字典C.在逻辑设计阶段建立数据字典D.在物理设计阶段建立数据字典8.数据库系统的三级模式不包括A.概念模式B.内模式C.外模式D.数据模式9.有三个关系R、S和T如下:RSTABCABCABCa12a12c31b21b21c31则由关系R和S得到关系T的操作是A.自然连接B.差C.交D.并10.下列选项中属于面向对象设计方法主要特征的是A.继承B.自顶向下C.模块化D.逐步求精11.以下叙述中错误的是A.C语言编写的函数源程序,其文件名后缀可以是CB.C语言编写的函数都可以作为一个独立的源程序文件C.C语言编写的每个函数都可以进行独立的编译并执行D.一个C语言程序只能有一个主函数12.以下选项中关于程序模块化得叙述错误的是nA.把程序分成若干相对独立的模块可便于编码和调试B.把程序分成若干相对独立,功能单一的模块,可便于重复使用这些模块C.可采用自底向上、逐步细化的设计方法把若干独立模块组装成所要求的程序D.可采用自顶向下、逐步细化的设计方法把若干独立模块组装成所要求的程序13.以下选项中关于C语言常量的叙述错误的是:A.所谓常量,是指在程序运行过程中,其值不能被改变的量B.常量分为整型常量、实型常量、字符常量和字符串常量C.常量可分为数值型常量和非数值型常量D.经常被使用的变量可定义成常量14.若有定义语句:inta=10;doubleb=3.14;,则表达式‘A’+a+b值得类型是A.charB.intC.doubleD.float15.如有定义语句:intx=12,y=8,z;,在其后执行语句z=0.9+x/y,则z的值为A.1.9B.1C.2D.2.416.若有定义:inta,b;,通过语句scanf(“%d;%d”,&a,&b);,能把整数3赋给变量a,5付给变量b的输入数据是A.35B.3,5C.3;5D.3517.若有定义语句:intk1=10,k2=20;,执行表达式(k1=k1>k2)&&(k2=k2>k1)后,k1和k2的值分别为A.0和1B.0和20C.10和1D.10和2018.有以下程序#includeMain(){inta=1,b=0;If(--a)b++;Elseif(a==0)b+=2;Elseb+=3;Printf(“%dn”,b);}程序运行后的输出结果是A.0B.1C.2D.319.下列条件语句中输出结果与其他语句不同的是A.if(a)printf(“%dn”,x);elseprintf(“%dn”,y);B.if(a==0)printf(“%dn”,y);elseprintf(“%dn”,x);C.if(a!=0)printf(“%dn”,x);elseprintf(“%dn”,y);D.if(a==0)printf(“%dn”,x);elseprintf(“%dn”,y);20.有以下程序:#includeMain(){inta=7;nWhile(a--);Printf(“%dn”,a);}程序运行后的输出结果是A.-1B.0C.1D.721.以下不能输出字符A的语句是(注:字符A的ASCII码值为65,字符a的ASCII码值为97)A.printf(“%cn”,’A’-32);B.printf(“%dn”,’A’);C.printf(“%cn”,65);D.printf(“%cn”,’B’-1);22.有以下程序(注:字符a的ASCII码值为97)#includeMain(){char*s={“abc”};Do{printf(“%d”,*s%10);++s;}While(*s);}程序运行后的输出结果是A.abcB.789C.7890D.97989823.若有定义语句:doublea,*p&a;以下叙述中错误的是A.定义语句中的*号是一个地址运算符B.定义语句中的*号只是一个说明符C.定义语句中的p只能存放double类型变量的地址D.定义语句中,*p=&a把变量a的地址作为初值赋给指针变量p24.有以下程序:#includeDoublef(doublex);Main(){doublea=0;intI;For(i=0;i<30;i+=10)a+=f((double)i);Printf(“%5.0fn”,a);}Doublef(doublex){returnx*x+1;}程序运行后的输出结果是A.503B.401C.500D.140425.若定义语句:intyear=2009,*p=&year;,以下不能使变量year中的值增至2010的语句是nA.*p+=1;B.(*p)++;C.++(*p);D.*p++;26.以下定义数组的语句中错误的是A.intnum[]={1,2,3,4,5,6};B.intnum[][3]={{1,2},3,4,5,6};C.intnum[2][4]={{1,2},{3,4},{5,6}};D.intnum[][4]={1,2,3,4,5,6};27.有以下程序#includeVoidfun(int*p){printf(“%dn”,p[5]);}Main(){inta[10]={1,2,3,4,5,6,7,8,9,10};Fun(&a[3]);}程序运行后的输出结果是A.5B.6C.8D.928.有以下程序#include#defineN4Voidfun(inta[][N],intb[]){inti;For(i=0;i:Main(){doublea[15],k;K=fun(a);:}则以下选项中错误的fun函数首部是A.doublefun(doublea[15])B.doublefun(double*a)C.doublefun(doublea[])D.doublefun(doublea)32.有以下程序:#include#includeMain(){chara[5][10]={“china”,”beijing”,”you”,”tiananmen”,”welcome”};IntI,j;chart[10];For(i=0;i<4;i++)For(j=i+1;j<5;j++)If(stremp(a[i],a[j])>0){strepy(t,a[i]);strepy(a[i],a[j]);strepy(a[i],t);}Puts(a[3]);}程序运行后的输出结果是A.beijingB.chinaC.welcomeD.tiananmen33.有以下程序:#includeIntf(intm){staticintn=0;nN+=m;Returnn;}Main(){intn=0;Printf(“%d,”,f(++n));Printf(“%dn”,f(n++));程序运行后的输出结果是A.1,2B.1,1C)2,3D)3,334.有以下程序#includeMain(){charch[3][5]={“AAAA”,”BBB”,”CC”}Printf(“%sn”,ch[1]);}程序运行后的输出的结果是A.AAAAB.CCC.BBBCCD.BBB35.有以下程序#include#includeVoidfun(char*u,intn){charx,*y1,*y2;Y1=u;y2=u+n-1;While(y1#includetypedefstruct{charname[];charsex;intscore[2]}STU;STUf(STUi){STUi={“Zhao”,”m”,85,90};IntI;nStrcpy(aname,bname);Asex=bsex;For(i=0;i<2;i++)ascore[i]=bscore[i];Returna;}Main()STUc={“Qian”,”f”,95,92},d;D=f(c);Printf(“%s,%c,%d,%d,”,d.name,d.sex,d.score[0],d.score[1]);Printf(“%s,%c,%d,%dn”,c.name,c.sex,c.score[0],c.score[1]);}程序运行后的输出结果是一、zhao,m,85,90,Qian,f,95,92一、zhao,m,85,90,zhao,m,85,90一、Qian,f,95,92,Qian,f,95,92一、Qian,f,95,92,zhao,m,85,9037.在以下程序#includeMain(){structnode{intn;structnode*next;}*p;Structnodex[3]={{2,x+1},{4,x+2},{6,NULL}};P=x;Printf(“%d,”,p>a);Printf(“%dn”,p>next>a);程序运行后的输出结果是A.2,3B.2,4C.3,4D.4,638.有以下程序#includeMain(){inta=2,b;B=a<<2;printf(“%dn”,b);}程序运行后的输出结果是A.2B.4C.6D.839.以下选项中叙述错误的是A.C程序函数中定义的赋有初始值的静态变量,每调用一次函数,赋一次初值B.在C程序的同一函数中,各复合语句内可以定义变量,其作用域仅限本复合语句内C.C程序函数中定义的自动变量,系统不能自动赋确定的初值D.C程序函数的形参不可以说明为static型变量40.有以下程序#includeMain()n{FILE*fp;Intk,n,I,a[6]={1,2,3,4,5,6};Fp=fopen(“d2.dat”,”w”);For(i=0;i<6;i++)fprintf(fp,”%dn”,a[i]);Fclose(fp);Fp=fopen(“d2.dat”,”r”);For(i=0;i<3;i++)fscanf(fp,”%d%d”,&k,&n);Fclose(fp);Printf(“%d,%dn”,k,n);}程序运行后的输出结果是A.1,2B.3,4C.5,6D.123,456二、填空题(每空2分,共30分)1.数据结构分为线性结构与非线性结构,带链的栈属于【1】2.在长度为n的顺序存储的线性表中插入一个元素,最坏情况下需要移动表中【2】3.常见的软件开发方法有结构化方法和面向对象方法,对某应用系统经过需求分析建立数据流图(DFD),则应采用【3】方法。4.数据库系统的核心是【4】。5.在进行关系数据库的逻辑设计时,E-R图中的属性常被转换为关系中的属性,联系通常被转换为【5】6.若程序中已给整型变量a和b赋值10和20,请写出按以下格式输出a,b值的语句【6】*****a=10,b=20*****7.以下程序运行后的输出结果是【7】#includeMain(){inta=37;A%=9;printf(“%dn”,a);}8.以下程序运行后的输出结果是【8】#includeMain()IntI,j;For(i=6;i>3;i--)j=I;Printf(“%d%dn”,I,j);}9.以下程序运行后的输出结果是【9】#includenMain(){intj,n[]={0,0,0,0,0};For(j=1;i<=2;i++){n[j]=n[i-1]*3+1;Printf(“%d”,n[i]);}Printf(“n”);}10.以下程序运行后的输出结果是【10】#includeMain(){chara;For(a=0;a<15;a+=5){putchar(“A”);}Printf(“a”);}11.以下程序运行后的输出结果是【11】#includeVoidfun(intx){if(x/5>0)fun(x/5);Printf(“%d”,x);}Main(){fun(11);printf(“n”);}12.有以下程序#includeMain(){intc[3]={0},k,I;While((k=getchar())!=’a’)C[k-‘A’]++;For(i=0;i<3;i++)Printf(“%d”,c[i]);Printf(“n”);}若程序运行时对从键盘输入ABCACC<回车>,则输出结果为【12】13.以下程序运行后的输出结果是【13】#includeMain(){intn[2],I,j;For(i=0;i<2;i++)n[i]=0;For(i=0;i<2;i++)For(j=0;j<2;j++)n[j]=n[i]+1;nPrintf(“%dn”,n[i]);}14.以下程序调用fun函数把x中的值插入到a数组下标为k的数组元素中。主函数中,n存放a数组中数据的值的填空。#includeVoidfun(ints[],int*n,intk,intx){intI;For(i=*n-1;i>=k;i--)s[【14】]=s[i];S[k]=x;*n=*n+【15】;}Main(){inta[20]={1,2,3,4,5,6,7,8,9,10,11},I,x=0,k=6,n=11;Fun(a,&n,k,x);For(i=0;i<6;i++)Printf(“%4d”,a[i]);Printf(“n”);}【参考答案】一、选择题答案  1.D2.C3.B4.A5.C  6.D7.C8.D9.B10.A  11.C12.C13.D14.C15.B  16.C17.B18.C19.D20.A  21.B22.B23.A24.A25.D  26.C27.D28.B29.B30.D  31.D32.C33.A34.D35.A  36.A37.B38.D39.A40.C二、填空题答案  (1)线性结构(2)n  (3)结构化(4)数据库管理系统  (5)关系(6)print('****a=%d,b=%d****')  (7)1(8)34  (9)14(10)AFK  (11)211(12)213(13)3(14)i+1(15)1
查看更多

相关文章

您可能关注的文档