您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 计算机二级C语言试题库
计算机二级C语言试题库1有以下程序main(){inta=1,b=2,m=0,n=0,k;k=(n=ba)||(m=aprintf(%d,%d\n,k,m);}程序运行后的输出结果是A)0,0B)0,1C)1,0D)1,12在一个C程序中A)main函数必须出现在所有函数之前B)main函数可以在任何地方出现C)main函数必须出现在所有函数之后D)main函数必须出现在固定位置3有以下程序main(){inta=5,b=4,c=3,d=2;if(abc)printf(%d\n,d);elseif((c-1=d)==1)printf(%d\n,d+1);elseprintf(%d\n,d+2);}执行后输出结果是A)2B)3C)4D)编译时有错,无结果4有以下程序main(){inti;for(i=0;i3;i++)switch(i){case1:printf(%d,i);case2:printf(%d,i);default:printf(%d,i);}}执行后输出结果是A)011122B)012C)012020D)120来源:(){intk=4,n=0;for(;n{n++;if(n%3!=0)continue;k--;}printf(%d,%d\n,k,n);}程序运行后的输出结果是A)1,1B)2,2C)3,3D)4,46有以下程序fun(inta,intb){if(ab)return(a);elsereturn(b);}main(){intx=3,y=8,z=6,r;r=fun(fun(x,y),2*z);printf(%d\n,r);}程序运行后的输出结果是A)3B)6C)8D)127有以下程序int*f(int*x,int*y){if(*x*y)returnx;elsereturny;}main(){inta=7,b=8,*p,*q,*r;p=&a;q=&b;r=f(p,q);printf(%d,%d,%d\n,*p,*q,*r);}执行后输出结果是A)7,8,8B)7,8,7C)8,7,7D)8,7,88以下能正确地定义整型变量a,b和c并为其赋初值5的语句是A)inta=b=c=5;B)inta,b,c=5;C)a=5,b=5,c=5;D)a=c=b=5;9若二维数组a有m列,则在a[i][j]前的元素个数为A)j*m+iB)i*m+jC)i*m+j-1D)i*m+j+110下面程序段是输出两个字符串中对应相等的字符。请选择填空charx[]=”programming”;chary[]=”Fortran”;inti=0;while(x[i]!=’\0’&&y[i]!=’\0’)if(x[i]==y[i])printf(“%c”,[]);elsei++;A)x[i++]B)y[++i]C)x[i]D)y[i]11若使用一维数组名作函数实参,则以下正确的说法是A)必须在主调函数中说明次数组的大小B实参数组类型与形参数组类型可以不匹配C在被调函数中,不需要考虑形参数组的大小D实参数组名与形参数组名必须一致12以下程序的正确运行结果是#incluedmain(){intk=4,m=1,p;p=func(k,m);printf(“%d”,p);p=func(k,m);printf(“%d\n”,p);}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;return(m);}A)8,17B)8,16C)8,20D)8,813若有说明:int*p,m=5,n;以下正确的程序段是A)p=&n;scanf(“%d”,&p);B)p=&n;scanf(“%d”,*p);C)scanf(“%d”,&n);*p=n;D)p=&n;*p=m;14执行以下程序后,a和b的值为main(){inta,b,k=4,m=6,*p1=&k,*p2=&m;a=p1==&m;b=(-*p1)/(*p2)+7;printf(“a=%d\n”,a);printf(“b=%d\n”,b);}A)-1,5B)1,6C)0,7D)4,1015若要用fopen函数打开一个新的二进制文件,该文件要既能读也能写,则文件方式字符串应是A)”ab+”B)”wb+”C)”rb+”D”ab”16根据定义和数据的输入方式,输入语句的正确形式为已有定义:floatf1,f2;数据的输入方式:4.523.5A)scanf(“%f,%f”,&f1,&f2);B)scanf(“%f%f”,&f1,&f2);C)scanf(“%3.2f%2.1f”,&f1,&f2);D)scanf(“%3.2f%2.1f”,&f1,&f2);17分析以下程序运行结果#includeintfunc(intn){if(n==1)return1;elsereturn(n*func(n-1));}voidmain(){intx;x=func(5);printf(“%d\n”,x);}A)100B)5C)1D)12018分析以下程序运行结果#includevoidmain(){inty=2,a=1;while(y--!=-1){do{a*=y;a++;}while(y--);}printf(“%d,%d\n”,a,y);}A)1,-2B)2,1C)1,0D)2,-119下面程序段的运行结果是chara[7]=”abcdef”;charb[4]=”ABC”;strcpy(a,b);printf(“%c”,a[5]);A)空格B)\0C)eD)f20下面是对s的初始化,其中不正确的是A)chars[5]={“abc”};B)chars[5]={‘a’,’b’,’c’};C)chars[5]=””;D)chars[5]=”abcdef”;21执行语句for(i=1;i++4;);后变量i的值是A)3B)4C)5D)不定22以下程序段x=-1;do{x=x*x;}while(!x);A)是死循环B)循环执行二次C)循环执行一次D)有语法错误23若有以下定义和语句:iniondata{inti;charc;floatf;}a;intn;则以下语句正确的是A)a=5;B)a={2,’a’,1.2};C)printf(“%d\n”,a);D)n=a;24下面程序的运行结果是main(){structcmplx{intx;inty;}cnum[2]={1,3,2,7};printf(“%d\n”,cnum[0].y/cnum[0].x*cunm[1].x);}A)0B)1C)3D)625以下程序的运行结果是main(){intk=4,a=3,b=2,c=1;printf(“\n%d\n”,k}A)4B)3C)2D)1二填空1若有以下定义,则计算表达式y+=y-=m*=以后y的值是_____intm=5,y=2;2若有定义:intb=7;floata=2.5,c=4.7;:则下面表达式的值为_____a+(int)(b/3*(int)(a+c)/2)%43有inta=3,b=4,c=5;,则以下表达式的值为_____!(a+b)+c-1&&b+c/24条件”2或x-10”的c语言表达式是_____5以下程序的功能是判断输入的年份是否是闰年.请在[]内填入正确内容main(){inty,f;scanf(“%d”,&y);if(y%400==0)f=1;elseif([5])f=1;else[6];if(f)printf(“%dis”,y);elseprintf(“%disnot”,y);printf(“aleapyear\n”);}6下面程序的功能是计算100至1000之间有多少个数其各位数字之和是5。请填空#includemain(0{inti,s,k,count=0;for(i=100;i=1000;i++){s=0;k=i;while([7]){s=s+k%10;k=[8];}if(s!=5)[9];elsecount++;}printf(“%d”,count);}7下面程序将二维数组a的行和列元素呼唤后存到另一个二维数组b中。请填空main(){inta[2][3]={{1,2,3},{4,5,6}};intb[3][2],I,j;printf(“arraya:\n”);for(i=0;i=1;i++){for(j=0;[10];j++){printf(“%5d”,a[i][j]);[11];}printf(“\n”);}printf(“arrayb:\n”);for(i=0;[12];i++){for(j=0;j=1;j++)printf(“%5d”,b[i][j]);printf(“\n”);}}8以下search函数的功能是利用顺序查找法从数组a的10个元素中对关键字m进行查找。顺序查找法的思路是:从第一个元素开始,从前向后依次与关键字你叫,直到找到此元素或查找到数组尾部时结束。若找到,返回此元素的下标;若仍未找到,则返回值-1。请填空#includeintsearch(inta[10],intm){intI;for(i=0;i=9;i++)if([1])return(i);return(-1);}main(){inta[13],m,i,no;……no=search([14]);if([15])printf(“\nOKFOUND!%d”,no+1);elseprintf(“\nSorryNotFound!”);}9若有定义:inta[]={2,4,6,8,10,12},*p=a;则*(p+1)的值是[16],*(a+5)的值是[17]10将任意输入的一个偶数n分解为两个素数之和,并给出各种分解方法#includemain(){intn,i;intcheck(intx);do{scanf(“%d”,&n);}while(n%2!=0);for(i=3;i=n/2;i++)if(check(i)&&[18])printf(“%d=%d+%d\n”,n,i,n-i);}intcheck(intx){inti;for(i=2;iif([19])return(0);return(1);}11函数调用语句:fgets(buf,n,fp);从fp指向的文件中读入[20]个字符放到buf字符数组中。函数值为[21]12设数组a包括10个整型元素。下面程序的功能是求出a中各相邻元素的和,并将这些和存在数组b中,按每行3个元素的形式输出。请填空main(){inta[10],b[10],i;for(i=0;i10;i++)scanf(“%d”,&a[i]);for([22];i10;i++)[23]for(i=1;i10;i++){printf(“%3d”,b[i]);if([24]==0)printf(“\n”);}}13如果以下程序输入的是wearestudents,则输出的结果是[25]#include“stdio.h”voidmain(){chars[81],*p;printf(“Inputasentence:\n”);gets(s);for(p=s;*p;p++)if(*p==32)//空格键的ASCII值是32{if(*(p+1)!=32)printf(“\n”);}elseputchar(*p);}05年9月等级考试二级C语言考前密卷2选择题(1)~(10)每小题2分,(11)-(50)每小题1分,共60分)下列各题A)、B)、C)、D)四个选项中,只有一个选项是正确的,请将正确选项涂写在答题卡相应位置上,答在试卷上不得分。(1)算法分析的目的是________。A)找出数据结构的合理性B)找出算法中输入和输出之间的关系C)分析算法的易懂性和可靠性D)分析算法的效率以求改进答案:D评析:算法分析是指对一个算法的运行时间和占用空间做定量的分析,一般计算出相应的数掌级,常用时间复杂度和空间复杂度表示。分析算法的目的就是要降低算法的时间复杂度和空间复杂度,提高算法的执行效率。(2)n个
本文标题:计算机二级C语言试题库
链接地址:https://www.777doc.com/doc-1371341 .html