您好,欢迎访问三七文档
当前位置:首页 > 建筑/环境 > 工程监理 > 2013c语言全真模拟题及答案
一、填空题第1题以下do-while语句中循环体的执行次数是【3】.a=10;b=0;do{b+=2;a-=2+b;}while(a=0);第2题设i,j,k均为int型变量,则执行完下面的for循环后,k的值为【10】.for(i=0,j=10;i=j;i++,j--)k=i+j;第3题定义inta[2][3];表示数组a中的元素个数是【6】个.第4题函数的【递归】调用是一个函数直接或间接地调用它自身.第5题设a=3,b=4,c=4,则表达式a+bc&&b==c&&a||b+c&&b==c的值为【1】.第6题intx=4,y=z=2;z=x==(y=z);则z的值为【4】.第7题intx=2,y=3,z=4;则表达式x+y&&z的值为【1】.第8题若有以下定义,则计算表达式y+=y-=m*=y后的y值是【—16】.intm=5,y=2;二、单项选择第1题为表示关系x≥y≥z,应使用C语言表达式A:(x=y)&&(y=z)B:(x=y)AND(y=z)C:(x=y=z)D:(x=z)&(y=z)第2题C语言函数内定义的局部变量的隐含存储类别是A:staticB:autoC:registerD:extern第3题若有说明inta[3][4];则对a数组元素的正确引用是()。A:a[2][4]B:a[1,3]C:a[1+1][0]D:a(2)(1)第4题从循环体内某一层跳出,继续执行循环外的语句是A:break语句B:return语句C:continue语句D:空语句第5题下列()表达式的值为真,其中a=5;b=8;c=10;d=0A:a*28+2B:a&&dC:(a*2-c)||dD:a-bc*d第6题以下程序的执行结果是________.main(){intw=1,x=2,y=3,z=4;w=(wx)?x:w;w=(wy)?y:w;w=(wz)?z:w;printf(%d,w);}A:1B:2C:3D:4第7题若变量已正确定义,执行语句scanf(%d,%d,%d,&k1,&k2,&k3);时,___是正确的输入A:2030,40B:203040C:20,3040D:20,30,40第8题在C语言中,一维数组的定义方式为:类型说明符数组名()。A:[常量表达式]B:[整型表达式]C:[整型常量]或[整型表达式]D:[整型常量]第9题以下不能正确进行字符串赋初值的语句是()。A:charstr[5]=good!;B:charstr[]=good!;C:char*str=good!;D:charstr[5]={'g','o','o','d',0};第10题C语言中,逻辑真等价于A:大于零的数B:非零的数C:大于零的整数D:非零的整数三、程序(程序填空、程序设计)第1题功能:统计一个字符串中的字母、数字、空格和其它字符的个数。#includestdio.hmain(){chars1[80];inta[4]={0};intk;/***********SPACE***********/voidfun(chars[],intb[]);gets(s1);/***********SPACE***********/fun(s1,a);puts(s1);for(k=0;k4;k++)printf(%4d,a[k]);}voidfun(chars[],intb[]){inti;for(i=0;s[i]!='\0';i++)if('a'=s[i]&&s[i]='z'||'A'=s[i]&&s[i]='Z')b[0]++;/***********SPACE***********/elseif('0'=s[i]&&s[i]='9')b[1]++;/***********SPACE***********/elseif(s[i]=='')b[2]++;elseb[3]++;}第2题功能:输入三个整数x,y,z,请把这三个数由小到大输出。#includestdio.hvoidmain(){intx,y,z,t;scanf(%d%d%d,&x,&y,&z);if(xy){t=x;x=y;y=t;}/*交换x,y的值*/if(xz){t=z;z=x;x=t;}/*交换x,z的值*/if(yz){t=y;y=z;z=t;}/*交换z,y的值*/printf(smalltobig:%d%d%d\n,x,y,z);}第3题功能:输出100到1000之间的各位数字之和能被15整除的所有数,输出时每10个一行。#includestdio.hvoidmain(){intm,n,k,i=0;for(m=100;m=1000;m++){【k=0】;n=m;do{k=k+n%10;n=n/10;}【while(n!=0)】;if(k%15==0){printf(%5d,m);i++;if(i%10==0)printf(\n);}}}第4题学生变量定义如下:structstudent{charnumber[6];charname[6];intscore[3];}stu[2];功能:输入学生成绩并显示。#includestdio.hstructstudent{charnumber[6];charname[6];intscore[3];}stu[2];voidoutput(structstudentstu[2]);voidmain(){inti,j;/***********SPACE***********/for(i=0;i2;________________){printf(请输入学生%d的成绩:\n,i+1);printf(学号:);/***********SPACE***********/scanf(%s,________________.number);printf(姓名:);scanf(%s,stu[i].name);for(j=0;j3;j++){printf(成绩%d.,j+1);/***********SPACE***********/scanf(%d,________________.score[j]);}printf(\n);}output(stu);}voidoutput(structstudentstu[2]){inti,j;printf(学号姓名成绩1成绩2成绩3\n);for(i=0;i2;i++){/***********SPACE***********/________________(%-6s%-6s,stu[i].number,stu[i].name);for(j=0;j3;j++)printf(%-8d,stu[i].score[j]);printf(\n);}}答案:【1】i++或++i或i=i+1【2】&stu[i]【3】&stu[i]【4】printf第5题功能:5个学生选修4门课程,计算个人与各科平均成绩及全班平均成绩,并在屏幕上显示出来。#defineM5/*定义符号常量人数为5*/#defineN4/*定义符号常量课程为4*/#includestdio.hmain(){inti,j;voidaver(floatsco[M+1][N+1]);staticfloatscore[M+1][N+1]={{78,85,83,65},{88,91,89,93},{72,65,54,75},{86,88,75,60},{69,60,50,72}};aver(score);clrscr();printf(学生编号课程1课程2课程3课程4个人平均\n);for(i=0;iM;i++){printf(学生%d\t,i+1);/***********SPACE***********/for(j=0;j________________;j++)printf(%6.1f\t,score[i][j]);printf(\n);}for(j=0;j8*(N+2);j++)printf(-);printf(\n课程平均);for(j=0;jN+1;j++)printf(%6.1f\t,score[i][j]);printf(\n);getch();}voidaver(floatsco[][N+1]){inti,j;/***********SPACE***********/for(i=0;i________________;i++){for(j=0;jN;j++){sco[i][N]+=sco[i][j];sco[M][j]+=sco[i][j];sco[M][N]+=sco[i][j];}/***********SPACE***********/sco[i][N]________________N;}for(j=0;jN;j++)/***********SPACE***********/sco[M][________________]/=M;sco[M][N]=sco[M][N]/M/N;}答案:【1】N+1或1+N或5【2】M或5【3】/=【4】j第6题功能:计算平均成绩并统计90分以上人数。#includestdio.hvoidmain(){intsum=0;intscore[10];intcount=0;inti=0;for(i=0;i10;i++){printf(请输入第%d个人的成绩,i+1);scanf(%d,&scors[i]);sum+=score[i];if(score[i]90){count++;}}printf(平均分%f,有%d个90分以上。,(sum*1.0)/10,count);}第7题功能:写一个函数,求一个字符串的长度,在main函数中输入字符串,并输出其长度。#includestdio.h#includestring.hvoidmain(){intf(charstr[]);intl;charstr[10];gets(str);l=f(str);printf(%d,l);}intf(charstr[]){intz;z=strlen(str);return(z);}第8题找出x,y,z三个数中的最大、最小值#includestdio.hintmain(){inti,n,max,min;for(i=0;i3;i++){scanf(%d,&n);if(i==0)//初始化max,minmax=min=n;if(maxn)//最大值max=n;if(minn)//最小值min=n;}printf(maxnumber%dminnumber%d\n,max,min);//输出最大最小值}第9题功能:删除一个字符串中的所有数字字符。#includestdio.hvoiddelnum(char*s){inti,j;/***********SPACE***********/for(i=0,j=0;【s[i]!=】'\0';i++)/***********SPACE***********/if(s[i]'0'【||】s[i]'9'){/***********SPACE***********/【s[j]=s[i]】;j++;}s[j]='\0';}main(){char*item;printf(\ninputastring:\n);item=;gets(item);/***********SPACE***********/【delnum(item)】;printf(\n%s,item);}第10题功能:从键盘为一维整型数组输入10个整数找出其中最小的数并输出。#includestdio.hintfun(intx[],intn){/**********Program**********/intmin;inti;min=x[0];for(i=0;in;i++){ifminx[i];min=x[i];}returnmin;/**********End**********/}main(){inta[10],i,min;for(i=0
本文标题:2013c语言全真模拟题及答案
链接地址:https://www.777doc.com/doc-2972916 .html