您好,欢迎访问三七文档
当前位置:首页 > 电子/通信 > 数据通信与网络 > 二级C语言上机考试复习资料
二级C语言上机考试复习资料,共有100套题目(前面为填空题题目,后面同序号依次为此套题的填空题、改错题、编程题答案)1、给定程序中,函数fun的功能是根据形参i的值返回某个函数的值。当调用正确时,程序输出:x1=5.000000,x2=3.000000,x1*x1+x1*x2=40.000000请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。1、(1)double(2)f1(3)f21、(1)char*fun(char*s,char*t)(2)ss++;(3)tt++;1、voidfun(char*w,intm){chara[N];inti;for(i=0;im;i++)a[i]=w[i];while(w[i]){w[i-m]=w[i];i++;}i--;m--;for(;m=0;m--,i--)w[i]=a[m];}2、程序通过定义学生结构体数组,存储了若干名学生的学号、姓名和3门课的成绩。函数fun的功能是将存放学生数据的结构体数组,按照姓名的字典序(从小到大)排序。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。2、(1)structstudent(2)n-1(3)a[i].name,a[j].name2、(1)q=p+i;(2)while(qp)2.intfun(STREC*a,STREC*b,intl,inth){inti,j=0;for(i=0;iN;i++){if(a[i].s=l&&a[i].s=h){b[j]=a[i];j++;}}returnj;}3、给定程序中,函数fun的功能是:计算形参x所指数组中N个数的平均值(规定所有数均为正数),作为函数值返回;并将大于平均值的数放在形参y所指数组中,在主函数中输出。例如,有10个正数:4630324061745154826,平均值为:30.500000主函数中输出:4632404548请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。3、(1)0(2)x[i]/N(3)j++3、(1)doublefun(intm)(2)for(i=100;i=m;i~1+=0)3.fun(STUa[],STU*s){inti;*s=a[0];for(i=1;iN;i++){if(a[i].ss-s){*s=a[i];}}}4、给定程序中,函数fun的功能是:将a所指4×3矩阵中第k行的元素与第0行元素交换。例如,有下列矩阵:1234567891011124、(1)k(2)N(3)a[k][i]4、(1)for(i=strlen(t)-1;i;i--)(2)if(t[j]t[j+1])4.voidfun(char*ss){inti=1;while(ss[i-1]&&ss[i]){if(ss[i]='a'&&ss[i]='z')ss[i]+='A'-'a';i+=2;}}5、给定程序中,函数fun的功能是将a和b所指的两个字符串转换成面值相同的整数,并进行相加作为函数值返回,规定字符串中只含9个以下数字字符。例如,主函数中输入字符串:32486和12345,在主函数中输出的函数值为:44831。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。5、(1)'0'(2)s++(3)ctod(a)+ctod(b)5、(1)voidfun(char*s,int*a,int*b)(2)++(*a);(3)++(*b);5.floatfun(floath){longi=h*1000;if(i%105)return(i/10)/100.0;elsereturn(i/10+1)/100.0;}6、给定程序中,函数fun的功能是:计算下式前n项的和作为函数值返回。例如,当形参n的值为10时,函数返回:9.612558。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。6、(1)0(2)n(3)(t*t)6、(1)for(i=0;str[i];i++)(2)if(substr[k+1]==0)6.doublefun(doubleeps){doublei=1,a=1,b=1,c=1,s=0;while(c=eps){s+=c;a*=i;b*=2*i+1;c=a/b;i++;}returns*2;}7、给定程序中,函数fun的功能是:在3×4的矩阵中找出在行上最大、在列上最小的那个元素,若没有符合条件的元素则输出相应信息。例如,有下列矩阵:12134781063597程序执行结果为:find:a[2][2]=9请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。7、(1)j(2)0(3)i++7、(1)for(i=2;i=m;i++)(2)y-=1.0/i/i;7.intfun(intscore[],intm,intbelow[]){inti,j=0,s=0;for(i=0;im;i++)s+=score[i];s/=m;for(i=0;im;i++){if(score[i]s){below[j]=score[i];j++;}}returnj;}8、给定程序中,函数fun的功能是:在形参ss所指字符串数组中,删除所有串长超过k的字符串,函数返回所剩字符串的个数。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。8、(1)N(2)k(3)ss[i]8、(1)intk=0;(2)while(*p||*q)8.voidfun(char*a){inti=0,j=0;while(a[i]){if(j==0&&a[i]!='*'){j=i+1;}elseif(a[i]!='*'){a[j]=a[i];j++;}i++;}a[j]=0;}9、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量中的数据赋给函数中的结构体变量b,并修改b中的学号和姓名,最后输出修改后的数据。例如:a所指变量中的学号、姓名、和三门课的成绩依次是:10001、ZhangSan、95、80、88,则修改后输出b中的数据应为:10002、LiSi、95、80、88。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。9、(1)a(2)b.name(3)score[i]9、(1)s[j++]=s[i];(2)s[j]=0;9.voidfun(char*a){inti=0,j=0;while(a[i]){if(a[i]!='*'){j=i;break;}i++;}while(a[i]){a[i-j]=a[i];i++;}i-=j;for(;j0;j--){a[i]='*';i++;}}10、给定程序中,函数fun的功能是:在形参ss所指字符串数组中,将所有串长超过k的字符串中右边的字符删除,只保留左边的k个字符。ss所指字符串数组中共有N个字符串,且串长小于M。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。10、(1)[M](2)N(3)010、(1)t=1;(2)return(2*s);10.voidfun(char*a,intn){inti=0,j=0;while(a[i]){if(a[i]!='*'){j=i;break;}i++;}if(jn){while(a[i]){a[i-j+n]=a[i];i++;}a[i-j+n]=0;}}11、给定程序中,函数fun的功能是:把形参s所指字符串中最右边的n个字符复制到形参t所指字符数组中,形成一个新串。若s所指字符串的长度小于n,则将整个字符串复制到形参t所指字符数组中。例如,形参s所指的字符串为:abcdefgh,n的值为5,程序执行后t所指字符数组中的字符串应为:defgh。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。11、(1)t,s(2)s[i](3)011、(1)if(i%k==0)(2)if(k=i)11.voidfun(intx,intpp[],int*n){inti;*n=0;for(i=1;i=x;i+=2){if(x%i==0){pp[*n]=i;(*n)++;}}}12、给定程序中,函数fun的功能是:将形参s所指字符串中的所有数字字符顺序前移,其他字符顺序后移,处理后新字符串的首地址作为函数值返回。例如,s所指字符串为:asd123fgh5##43df,处理后新字符串为:123543asdfgh##df。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。12、(1)j(2)k(3)p12、(1)while(ij)(2)if(*a)12.voidfun(char*s,chart[]){inti=0,j=0;while(s[i]){if(i%2!=0||s[i]%2==0){t[j]=s[i];j++;}i++;}t[j]=0;}13、给定程序中,函数fun的功能是:找出100~999之间(含100和999)所有整数中各位上数字之和为x(x为一正整数)的整数,然后输出;符合条件的整数个数作为函数值返回。例如,当x值为5时,100~999之间各位上数字之和为5的整数有:104、113、122、131、140、203、212、221、230、302、311、320、401、410、500。共有15个。当x值为27时,各位数字之和为27的整数是:999。只有1个。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。13、(1)999(2)t/10(3)x13、(1)voidfun(longs,long*t)(2)while(s0)13.voidfun(inta,intb,long*c){*c=a/10*100+a%10+b/10*10+b%10*1000;}14、给定程序中,函数fun的功能是:将形参s所指字符串中的数字字符转换成对应的数值,计算出这些数值的累加和作为函数值返回。퓴例如,形参s所指的字符串为:abs5def126jkm8,程序执行后的输出结果为:22。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。14、(1)48(2)s++(3)sum14、(1)if((k%13==0)||(k%17==0))(2)}14.doublefun(intn){inti;doubles=0;for(i=1;in;i++){if(i%3==0&&i%7==0)s+=i;}returnsqrt(s);}15、给定程序中,函数fun的功能是将带头节点的单向链表结点数据域中的数据从小到大排序。即若原链表结点数据域从头至尾的数据为:10、4、2、8、6,排序后链表结点数据域从头至尾的数据为:2、4、6、8、10。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。15、(1)h-next(2)p-next(3)=15、(1)p=h-next;(2)p=p-next;15.voidfun(int(*s)[10],int*b,int*n,intmm,intnn){inti,j;*n=0;for(i=0;imm;i++)for(j=0;jnn;j++){b[*n]=s[i][j];(*n)++;}}16、程序通过定义学生结构体变量,存储了学生的学号、姓名和3门课的成绩。函数fun的功能是将形参a所指结构体变量s中的数据进行修改,并把a中地址作为函数值返回主函数,在主函数中输出修改后的数据。例如:a所指变量s中的学号、姓名、和三门课的成绩依次是:10001、ZhangSan、95、80、88,修改后输出t中的数据应为:10002、LiSi、96、81、89。请在程序的下划线处填入正确的内容并把下划线删除,使程序得出正确的结果。16、(1)structstudent*(2)a-score[i](3)a16、(1)char*fun(char(
本文标题:二级C语言上机考试复习资料
链接地址:https://www.777doc.com/doc-2746121 .html