C++题库+参考答案_第1页
C++题库+参考答案_第2页
C++题库+参考答案_第3页
C++题库+参考答案_第4页
C++题库+参考答案_第5页
已阅读5页,还剩54页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

PAGEPAGE59【C++题库】顺序分支结构BDDACDDCBCBABDABCCCBBCBBCBADA1.设ch是char型变量,其值为字符A,且有下面的表达式:ch=(ch>='A'&&ch<='Z')?(ch+32):ch上面表达式的值是A)AB)aC)ZD)z2.设a,b和c都是int型变量,且a=3,b=4,c=5,则下面的表达式中,值为0的表达式是A)'a'&&'b'B)a<=bC)a||b+c&&b-cD)!((a<b)&&!c||1)3.能正确表示a≥10或a≤0的关系表达式是A)a>=10ora<=0B)a>=10|a<=0C)a>=10||a<=0D)a>=10||a<=04.设a为整型变量,不能正确表达数学关系:10<a<15的C++语言表达式是A)10<a<15B)a==11||a==12||a==13||a=14C)a>10&&a<15D)!(a<=10)&&!(a>=15)说明:不能正确表达,看清楚题目,是不能!!a因为是整型变量,所以选项b

也是可以表达的5.设x、y、z、t均为int型变量,则执行以下语句后,t的值为x=y=z=1;t=++x||++y&&++z;A)不定值B)4C)1D)0说明:因为++x表达式的值为2,是真,所以||或后面的运算被跳过,=右边的表达式值为真,赋值给t,t的值为1.6.语句:cout<<(a=2)&&(b=-2);的输出结果是A)无输出B)结果不确定C)-1D)1说明:将cout<<后那个表达式的值输出出来.a=2先将2赋值给a,同时表达式的值为左边变量a的值2,同理b=-2表达式的值为-2,两个非0的值进行&&操作,结果为真,即值为17.能正确表示a和b同时为正或同时为负的逻辑表达式是A)(a>=0||b>=0)&&(a<0||b<0)B)(a>=0&&b>=0)&&(a<0&&b<0)C)(a+b>0&&a+b<=0)D)a*b>0说明:随便找两个具体的值代进去看看,答案就可以分辨出来了哎….选项b怎么可能对呢,任何情况下,选择b都是假的啊8.为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。缩排位置相同的ifB)在其之前未配对的ifC)在其之前未配对的最近的ifD)同一行上的if9.已知intx=10,y=20,z=30,则执行if(x>y)z=x;x=y;y=z;语句后,x、y、z的值是()。A)x=10,y=20,z=30B)x=20,y=30,z=30C)x=20,y=30,z=10D)x=20,y=30,z=20说明:if条件为真的时候,执行的语句体只是z=x;这一句,其它的x=y;和y=z;是if语句执行完了之后的语句。所以这里if条件不成立,认为if(x>y)z=x;这句话就执行结束了,接着执行下面的x=y;y=z;语句,不要把后面两句也看成是if条件为真的时候的语句体了。如果语句体包括多句话的时候,必须加{}10.执行下面程序的输出结果是()。main(){inta=5,b=0,c=0;if(a=a+b)cout<<“****\n”;elsecout<<“####\n”;}A)有语法错误不能编译B)能通过编译,但不能通过连接C)输出****D)输出####说明:if条件的逻辑是将a+b的值赋给a,然后判断表达式a=a+b的值(即被赋值后的a的值5)是否非011.运行下面程序后,输出是()。main(){intk=-3;if(k<=0)cout<<“****\n”;elsecout<<“####\n”;}A)####B)****C)####****D)有语法错误不能通过编译12.若运行下面程序时,给变量a输入15,则输出结果是()。main(){inta,b;cin>>a;b=a>15?a+10:a-10;cout<<b<<endl;}A)5B)25C)15D)1013.以下选项中,两个条件语句语义等价的是()。A)if(a=2)cout<<a;if(a==2)cout<<a;B)if(a-2)cout<<a;if(a!=2)cout<<a;C)if(a)cout<<a;if(a==0)cout<<a;D)if(a-2)cout<<a;if(a==2)cout<<a;14.在执行以下程序时,为了使输出结果为:t=4则给a和b输入的值应满足的条件是main(){ints,t,a,b;cin>>a>>b;s=1;t=1;if(a>0)s=s+1;if(a>b)t=s+t;elseif(a==b)t=5;elset=2*s;cout<<“t=“<<t<<endl;}A)a>bB)a<b<0C)0>a>bD)0<a<b15.下面程序的输出结果是main(){intx=100,a=10,b=20,ok1=5,ok2=0;if(a<b)if(b!=15)if(!ok1)x=1;elseif(ok2)x=10;x=-1;cout<<x;}A)-1B)0C)1D)不确定的值16.下面程序的输出结果是main(){inta=2,b=7,c=5;switch(a>0){case1:switch(b<0){case1:cout<<“@”;break;case0:cout<<“!”;break;}case0:switch(c==5){case0:cout<<“*”;break;case1:cout<<“#”;break;default:cout<<“%%”;break;}default:cout<<“&”;}cout<<endl;}A)&B)!#&C)%%D)@*&17.运行下面程序时,若从键盘输入数据为”123”,则输出结果是()。main(){intnum,i,j,k,place;cin>>num;if(num>99)place=3;elseif(num>9)place=2;elseplace=1;i=num/100;j=(num-i*100)/10;k=(num-i*100-j*10);switch(place){case3:cout<<k<<j<<i<<endl;break;case2:cout<<k<<j<<endl;break;case1:cout<<k;}}A)123B)1,2,3C)321D)3,2,118.运行下面程序时,若从键盘输入数据为”86”,则输出结果是()。main(){intt;cin>>t;if(t>=90)cout<<“A\n”;elseif(t>=80)cout<<“B\n”;elseif(t>=70)cout<<“C\n”;elseif(t>=60)cout<<“D\n”;elsecout<<“E\n”;cout<<“OK\n”;}A)BB)BOKC)BD)BOKCDEOK19.以下程序的运行结果是()。main(){inta=0,b=1,c=0,d=20,x;if(a)d=d-10;elseif(!b)if(!c)x=15;elsex=25;cout<<d;}A)15B)25C)20D)1020.运行下面程序时,从键盘输入”1605<CR>“,则输出结果是()。main(){intt,h,m;Cin>>t;h=(t/100)%12;if(h==0)h=12;cout<<h<<‘:’;m=t%100;if(m<10)cout<<’0’;cout<<m;if(t<1200||t==2400)cout<<“AM”;elsecout<<“PM”;}A)6:05PMB)4:05PMC)16:05AMD)12:05AM21、运行下面程序时,从键盘输入数据为”2135<CR>“,则输出结果是()。main(){inta,b,c;cin>>a>>b>>c;switch(a){case1:cout<<b+c<<endl;break;case2:cout<<b-c<<endl;break;case3:cout<<b*c<<endl;break;case4:{if(c!=0){cout<<b/c<<endl;break;}else{cout<<“error\n”;break;}}defualt:break;}}A)10B)8C)65D)error22、若k是int型变量,且有下面的程序片段:k=8;if(k<=0)if(k==0)cout<<“####”;elsecout<<“&&&&”;elsecout<<“****”;上面程序片段的输出结果是A)####B)&&&&C)****D)有语法错误,无输出结果23、若执行下面的程序从键盘上输入5,则输出结果是main(){intx;cin>>x;if(x++>5)cout<<x<<endl;elsecout<<x--;}A)7B)6C)5D)424、当a=1,b=3,c=5,d=4时,执行下面一段程序后,x的值为if(a<b)if(c<d)x=1;elseif(a<c)if(b<d)x=2;elsex=3;elsex=6;elsex=7;A)1B)2C)3D)625、下面的程序片段所表示的数学函数关系是┌-1(x<0)┌1(x<0)││A)y=┤0(x=0)B)y=┤-1(x=0)││└1(x>0)└0(x>0)┌0(x<0)┌-1(x<0)││C)y=┤-1(x=0)D)y=┤1(x=0)││└1(x>0)└0(x>0)y=-1;if(x!=0)if(x>0)y=1;elsey=0;26、假定所有变量均已正确说明,下列程序段运行后x的值是a=b=c=0;x=35;if(!a)x--;elseif(b);if(c)x=3;elsex=4;A)34B)4C)35D)3说明:这里注意第三行的if后面有个;说明if(b)条件为真时,其语句体为一条空语句;27、与y=(x>0?1:x<0?-1:0);的功能相同的if语句是A)if(x>0)y=1;B)if(x)elseif(x<0)y=-1;if(x>0)y=1;elsey=0;elseif(x<0)y=-1;elsey=0;C)y=-1;D)y=0;if(x)if(x>=0)if(x>0)y=1;if(x>0)y=1;elseif(x==0)y=0;elsey=-1elsey=-1;说明:答案b,这里总共只有一句话,当x为0时,第一行if条件不满足,整个代码就执行结束了,y的值不知道是多少。28、执行下列程序,输入为1的输出结果是()。main(){intk;cin>>k;switch(k){case1:cout<<k++<<endl;case2:cout<<k++<<endl;case3:cout<<k++<<endl;case4:cout<<k++<<endl;break;default:cout<<“Full!\n”;}}A)1B)2C)2D)132435429.执行下面程序时,若从键盘输入”2<CR>“,则程序的运行结果是()。main(){intj,k;charcp;cp=getchar();if(cp>='0'&&cp<='9')k=cp-'0';elseif(cp>='a'&&cp<='f')k=cp-'a'+10;elsek=cp-'A'+10;cout<<k<<endl;}A)2B)4C)1D)10循环结构1BABAACADCBCBBDBDBCBCDBCDC1、设i,j,k均为int型变量,则执行完下面的for循环后,k的值为for(i=0,j=10;i<=j;i++,j--)k=i+j;A)12B)10C)11D)92、当执行以下程序段时x=-1;do{x=x*x;}while(!x);A)循环体将执行一次B)循环体将执行两次C)循环体将执行无限次D)系统将提示有语法错误3、若输入字符串:abcde<回车>,则以下while循环体将执行多少次?while((ch=getchar())!='e')cout<<“*”;A)5B)4C)6D)1说明:getchar()每次获取一个字符,将获得的值赋给ch,整个表达式ch=getchar()的值就是等号左边的变量ch的值,判断其是否不等于字符’e’4、有以下程序段intk=0;while(k=1)k++;while循环执行的次数是A)无限次B)有语法错,不能执行C)一次也不执行D)执行一次说明:k=1是将1赋值给k,表达式k=1的值就是左边变量k的值,因此每次判断条件时,k都会重新被赋值为1,条件永远为真5、语句while(!e);中的条件!e等价于()。A)e==0B)e!=1C)e!=0D)~e说明:答案b没有考虑到如e的值为2时,!e为假,而答案b为真6、以下for循环是()。for(x=0,y=0;(y!=123)&&(x<4);x++)A)无限循环B)循环次数不定C)执行4次D)执行3次说明:for循环里的表达式1是x=0,y=0;这是一个逗号表达式7、C++语言中while和do-while循环的主要区别是()。A)do-while的循环体至少无条件执行一次B)while的循环控制条件比do-while的循环控制条件严格C)do-while允许从外部转到循环体内D)do-while的循环体不能是复合语句8、在下列选项中,没有构成死循环的程序段是A)inti=100;while(1){i=i%100+1;if(i>100)break;}B)for(;;);C)intk=0;do{++k;}while(k-->0);D)ints=36;while(s)--s;9、以下程序段的输出结果是()。intk,n,m;n=10;m=1;k=1;while(k<=n){m*=2;k+=4;}cout<<m;A)4B)16C)8D)3210、设有如下程序段:inti=0,sum=1;do{sum+=i++;}while(i<6);cout<<sum;上述程序段的输出结果是()。A)11B)16C)22D)1511、以下程序的输出结果是()。main(){intcount,i=0;for(count=1;count<=4;count++){i+=2;cout<<i;}}A)20B)246C)2468D)222212、下面程序的输出结果是()。main(){unsignedintnum,k;num=26;k=1;do{k*=num%10;num/=10;}while(num);cout<<k;}A)2B)12C)60D)18说明:此程序的功能是将num的每一位上的数字取出来相乘.13、阅读以下程序:main(){intx;for(x=5;x>0;x--)if(x--<5)cout<<x<<‘,’;elsecout<<x++<<‘,’;}程序运行后的输出结果是()。A)4,3,1B)4,3,1,C)5,4,2D)5,3,1,注意变量++,--之后的结果和表达式的结果14、以下程序的功能是:从键盘上输入若干个学生的成绩,统计并输出最高成绩和最低成绩,当输入负数时结束输入。请填空。main(){doublex,amax,amin;cin>>x;amax=x;amin=x;while(________){if(x>amax)amax=x;if(______)amin=x;cin>>x;}cout<<“最高成绩为”<<amax<<endl;cout<<“最低成绩为”<<amin<<endl;}A)x<=0B)x>0x>aminx<=aminC)x>0D)x>=0x>aminx<amin15、下面程序是计算n个数的平均值,请填空。main(){inti,n;floatx,avg=0.0;cin>>n;for(i=0;i<n;i++){cin>>x;avg=avg+______;}avg=________;cout<<“平均值为”<<avg;}A)iB)xavg/iavg/nC)xD)iavg/xavg/n16、下面程序的输出结果是()。main(){intx=10,y=10,i;for(i=0;x>8;y=++i)cout<<x--<<‘‘<<y<<‘‘;}A)10192B)9876C)10990D)10109117、有如下程序main(){intn=9;while(n>6){n--;cout<<n;}}该程序段的输出结果是A)987B)876C)8765D)987618、函数pi的功能是根据以下近似公式求π值:(π*π)/6=1+1/(2*2)+1/(3*3)+..+1/(n*n)请填空,完成求π的功能。#include<iostream>#include<cmath>usingnamespacestd;main(){doubles=0.0;longinti,n;cin>>n;for(i=1;i<=n;i++)s=s+_______;s=sqrt(6*s);cout<<“s=“<<s;}A)1/i*iB)1.0/i*iC)1.0/(i*i)D)1.0/(n*n)19、设有以下程序main(){intn1,n2;cin>>n2;while(n2!=0){n1=n2%10;n2=n2/10;cout<<n1;}}程序运行后,如果从键盘上输入1298,则输出结果为()。A)892B)8921C)89D)921该程序将n2的值的每一位依次从低位到高位求出,并输出20、以下函数的功能是:求x的y次方,请填空。main(){inti,x,y;doublez;cin>>x>>y;for(i=1,z=x;i<y;i++)z=z*______;cout<<“x的y次方=“<<z;}A)i++B)x++C)xD)i21、下面程序的运行结果是()。main(){inta,b;a=-1;b=0;do{++a;++a;b+=a;}while(a<9);cout<<b;}A)34B)24C)26D)2522、下面程序的运行结果是()。main(){ints=0,i=1;while(s<=10){s=s+i*i;i++;}cout<<--i;}A)4B)3C)5D)623、以下程序的输出结果是()。main(){intnum=0;while(num<=2){num++;cout<<num<<endl;}}A)1B)1C)122233424、下面程序的功能是:计算1到10之间奇数之和及偶数之和,请填空。main(){inta,b,c,i;a=c=0;for(i=0;i<=10;i+=2){a+=i;______;c+=b;} cout<<“偶数之和=“<<a<<endl;cout<<“奇数之和=“<<c-11<<endl;}A)i+=2B)i++C)b=b+1D)b=i+125、运行以下程序后,如果从键盘上输入46812-9582-1<回车>,则输出结果为()。main(){intx,i,m;docin>>x;while(x<0&&x!=-1);m=x;while(x!=-1){cin>>x;if(x>0&&x>m)m=x;}if(m!=-1)cout<<“m=“<<m;}A)m=-9B)m=2C)m=58D)m=-1循环结构2ABDDADACCCCCBCBCDACB1、若i,j已定义为int类型,则以下程序段中内循环体的总的执行次数是for(i=5;i;i--)for(j=0;j<4;j++){...}A)20B)25C)24D)302、以下叙述正确的是()。A)continue语句的作用是结束整个循环的执行B)只能在循环体内和switch语句体内使用break语句C)在循环体内使用break语句或continue语句的作用相同D)从多层循环嵌套中退出时,只能使用goto语句3、对下面程序段,描述正确的是()。for(t=1;t<=100;t++){cin>>x;if(x<0)continue;cout<<t;}A)当x<0时,整个循环结束B)当x>=0时,什么也不输出C)cout函数永远也不执行D)最多允许输出100个非负整数4、以下程序的输出结果是main(){inta,b;for(a=1,b=1;a<=100;a++){if(b>=10)break;if(b%5==1){b+=5;continue;}}cout<<a;}A)101B)6C)4D)35、以下程序的输出结果是()。main(){inti;for(i=1;i<=5;i++)if(i%2)cout<<“*”;elsecontinue;cout<<“#”;cout<<“$\n”;}A)***#$B)#*#*#*$C)*#*#*#$D)**#*$6、以下程序段的输出结果是()。intk,j,s;for(k=2;k<6;k++,k++){s=1;for(j=k;j<6;j++)s+=j;}cout<<s;A)1B)9C)11D)107、以下程序运行后的输出结果是()。main(){inti,j;for(i=4;i>=1;i--){cout<<“*”;for(j=1;j<=4-i;j++)cout<<“*”;cout<<endl;}}A)*B)****C)*D)****************************8、运行以下程序后,如果从键盘上输入china#<回车>,则输出结果为main(){intv1=0,v2=0;charch;while((ch=getchar())!=‘#’)switch(ch){case'a':case'h':default:v1++;case'o':v2++;}cout<<v1<<‘,’<<v2;}A)2,0B)5,0C)5,5D)2,5说明:这道题注意一下,如果ch的值是字符’o’,则从case‘o’进入,default只是所有的case都不匹配的时候才从default进入,然后顺序往下执行代码9、下列程序的输出结果是()。main(){inti,j,m=0,n=0;for(i=0;i<2;i++)for(j=0;j<2;j++)if(j>=i)m=1;n++;cout<<n;}A)4B)2C)1D)0说明:绿色的代码部分是个二层嵌套的循环,里面没有改过n的值,所以n++之后是1,这道题应该3秒钟之内就能看出结果10、下面程序的功能是:输出100以内能被3整除且个位数为6的所有整数,请填空。main(){inti,j;for(i=0;______;i++){j=i*10+6;if(_______)continue;cout<<j;}}A)i<=10B)i<10j%3!=0j/3C)i<10D)i<=9j%3!=0i%311、要输出下面的图形,请完善程序。122333444455555666666main(){inti,j,k;for(i=1;i<=6;i++){for(j=1;j<=20-2*i;j++)cout<<““;for(k=1;________;k++)cout<<““<<i;________________}}A)i<=kB)k<jcout<<““;cout<<endl;C)k<=iD)k<=icout<<endl;cout<<““;12、要输出下面的图形,请完善程序。1121123211234321123454321main(){inti,j,k;for(i=1;i<=5;i++){for(j=1;j<=20-3*i;j++)cout<<““;for(k=1;_________;k++)cout<<““<<k;for(__________;k>0;k--)cout<<““<<k;cout<<endl;}}A)k<=iB)k<ik=ik=i-1C)k<iD)k<=ik=ik=i-113、下列程序的输出结果是()。main(){inti,j,k;for(i=0;i<=2;i++){for(k=1;k<=i;k++)cout<<““;for(j=0;j<=3;j++)cout<<‘*’;cout<<endl;}}A)****B)********************C)****D)*****************14、运行以下程序后,如果从键盘上输入:6514<回车>,则输出结果为main(){intm,n;cout<<“请输入m,n:”;cin>>m>>n;while(m!=n){while(m>n)m-=n;while(n>m)n-=m;}cout<<“m=“<<m;}A)m=3B)m=2C)m=1D)m=015、在执行以下程序时,如果从键盘上输入:ABCdef<回车>,则输出为main(){charch;while((ch=getchar())!=‘\n'){if(ch>='A'&&ch<='Z')ch=ch+32;elseif(ch>='a'&&ch<'z')ch=ch-32;cout<<ch;}cout<<endl;}A)ABCdefB)abcDEFC)abcD)DEF16、下面程序的运行结果是()。main(){intm=7,n=5,i=1;do{if(i%m==0);if(i%n==0){cout<<i;break;}i++;}while(i!=0);}A)7B)6C)5D)417、以下程序运行后的输出结果是()。main(){ints=0,k;for(k=7;k>=0;k--){switch(k){case1:case4:case7:s++;break;case2:case3:case6:break;case0:case5:s+=2;break;}}cout<<“s=“<<s;}A)s=5B)s=1C)s=3D)s=718、有以下程序main(){intc;while((c=getchar())!=‘\n'){switch(c-'2'){case0:case1:putchar(c+4);case2:putchar(c+4);break;case3:putchar(c+3);default:putchar(c+2);break;}}}从第一列开始输入以下数据:2473<回车>程序的输出结果是()。A)668977B)668966C)66778777D)668876619、当从键盘上输入字符”12134211”下面程序的输出结果是()。main(){chars;intv1=0,v2=0,v3=0,v4=0,k;for(k=0;k<=7;k++){cin>>s;switch(s){default:v4++;case'1':v1++;case'3':v3++;case'2':v2++;}}cout<<“v1=“<<v1<<“,v2=“<<v2<<“,v3=“<<v3<<“,v4=“<<v4<<endl;}A)v1=4,v2=2,v3=1,v4=1B)v1=4,v2=9,v3=3,v4=1C)v1=5,v2=8,v3=6,v4=1D)v1=8,v2=8,v3=8,v4=820、运行以下程序后,如果从键盘上输入128<回车>,则输出结果为()。main(){inta,b,n1,n2,t;cin>>n1>>n2;if(n1>n2){t=n1;n1=n2;n2=t;}a=n1;b=n2;while(b!=0){t=a%b;a=b;b=t;}cout<<a<<‘‘<<n1*n2/a;}A)26B)424C)412D)896二:填空题说明:程序有两个空(1)、(2)需要补充完整。注意:不要随意改动程序,不得增行或删行,也不得改程序的结构!1.给定程序的功能是:计算正整数num的各位上的数字之积。例如,若输入:252,则输出应该是:20。若输入:202,则输出应该是:0。#include<iostream>usingnamespacestd;voidmain(){longintnum,k;/************found************/_____(1)_______/*答案k=1;*/cout<<“Pleaseenteranumber:”;cin>>num;do{k*=num%10;/************found************/_____(2)______/*答案num/=10;*/}while(num);cout<<endl<<k;}2.给定程序FILL1.C的功能是:计算1到100之间的奇数之和及偶数之和。请填空。#include<iostream>usingnamespacestd;voidmain(){inta,b,c,i;/**************found************/___(1)___;/*答案a=c=0*/for(i=0;i<=100;i+=2){a+=i;/**************found************/___(2)___;/*答案b=i+1*/c+=b;}cout<<“sumofevensis:”<<a<<endl;cout<<“sumofoddsis:”<<c-101<<endl;}3.给定程序的功能是:从键盘上输入两个正整数x,y,求它们的最大公约数。例如:如果从键盘上输入2436,程序的输出应为:maxis:12。#include<iostream>#include<cmath>usingnamespacestd;voidmain(){intx,y,t,i;cout<<“Pleaseentertwonumbers:”;cin>>x>>y;if(x<y){t=x;x=y;y=t;}t=x%y;while(t){x=y;/************found************/____(1)____;/*答案y=t*/t=x%y;}/************found************/cout<<“maxis:“<<____(2)____<<endl;/*答案y*/}三.改错题说明:程序中有两处错误,错误都在提示行:/***********found***********/的下面一行,请改正程序中的错误,使它能得出正确的结果。程序中的其它地方请不要随意改动。1.从低位开始取出长整型变量s中奇数位上的数,依次构成一个新数放在t中。例如,当s中的数为:7654321时,t中的数为:7531。#include<iostream>usingnamespacestd;voidmain(){longs,t,sl=10;cout<<“\nPleaseenters:”;cin>>s;/************found************/t=s/10;/*改成t=s%10;*/while(s>0){s=s/100;t=s%10*sl+t;/************found************/sl=sl*100;/*改成sl=sl*10;*/}cout<<“Theresultis:“<<t;}2.程序MODI1.C的功能是打印一个如下的九九乘法表的一部分:1*1=12*1=22*2=43*1=33*2=63*3=94*1=44*2=84*3=124*4=16#include<iostream>#include<cmath>usingnamespacestd;voidmain(){inti,j,k;for(i=1;i<=4;i++)/************found************/{for(j=1;j<=4;j++)/*改成{for(j=1;j<=i;j++)*/cout<<i<<”*“<<j<<‘=‘<<i*j;/************found************/cout<<’n’;/*改成cout<<‘\n’;*/}}3.学习优良奖的条件如下:所考5门课的总成绩在450分(含)以上;或者每门课都在88分(含)以上。输入某学生5门课的考试成绩,输出是否够学习优良奖的条件。#include<iostream>#include<cmath>usingnamespacestd;voidmain(){intscore,sum=0;inti,n=0;for(i=1;i<=5;i++){cin>>score;sum+=score;/************found************/n++;/*改成if(score>=88)n++;*/}/************found************/if(sum>=450&&n==5)/*改成if(sum>=450||n==5)*/cout<<“Thestudentisverygood!\n”;elsecout<<“Thestudentisnotverygood!\n”;}4.输出100~200之间既不能被3整除也不能被7整除的整数并统计这些整数的个数,要求每行输出8个数。#include<iostream>#include<cmath>usingnamespacestd;voidmain(){inti;/************found************/intn;/*改成intn=0;*/for(i=100;i<=200;i++){/************found************/if(i%3==0&&i%7==0)/*改成if((i%3)!=0&&(i%7)!=0)*/{if(n%8==0)cout<<endl;cout<<i;n++;}}cout<<“\nNumbersare:“<<n;}5.输入一个百分制成绩,打印出五级记分成绩。考试成绩在90分或90分以上为优秀,80~89分为良好,70~79为中等,60~69为及格,低于60分为不及格。#include<iostream>#include<cmath>usingnamespacestd;voidmain(){intscore,t;cout<<“Pleaseenterascore:”;docin>>score;while(score<0||score>100);t=score/10;/*************found**************/switch(score)/*改成switch(t)*/{case10:case9:cout<<“Excellent!\n”;break;case8:cout<<“Good!\n”;break;case7:cout<<“Middle!\n”;break;case6:cout<<“Pass!\n”;break;/*************found**************/else:cout<<“Fail!\n”;/*改成default:printf(“Fail!\n”);*/}}函数1ACDCCCACDDABCBAD1.有如下函数调用语句func(rec1,rec2+rec3,(rec4,rec5));该函数调用语句中,含有的实参个数是A)3B)4C)5D)有语法错误2.函数fun的功能是:根据以下公式计算并返回S,n通过形参传入,n的值大于等于0。划线处应填________。1111S=1-─+─-─+…───3572n-1floatfun(intn){floats=0.0,w,t,f=-1.0;inti;for(i=0;i<n;i++){f=-f;w=f/(2*i+1);s+=w;}____________;}A)return(f)B)return(S)C)return(s)D)return(w)3.有如下程序intfunc(inta,intb){return(a+b);}main(){intx=2,y=5,z=8,r;r=func(func(x,y),z);cout<<r;}该程序的输出结果是__________。A)12B)13C)14D)154.下列程序的输出结果是________。intt(intx,inty,intcp,intdp){cp=x*x+y*y;dp=x*x-y*y;}main(){inta=4,b=3,c=5,d=6;t(a,b,c,d);cout<<c<<““<<d;}A)169B)43C)56D)2595.以下所列的各函数首部中,正确的是________。A)voidplay(vara:Integer,varb:Integer)B)voidplay(inta,b)C)play(inta,intb)D)voidplay(aasinteger,basinteger)6.以下程序的输出结果是fun(intx,inty,intz){z=x*x+y*y;}main(){inta=31;fun(5,2,a);cout<<a;}A)0B)29C)31D)无定值7.以下程序输出的结果是________。longfun(intn){longs;if(n==1||n==2)s=2;elses=n-fun(n-1);returns;}main(){cout<<fun(3);}A)1B)2C)3D)48.设有如下的函数ggg(floatx){cout<<x*x;}则函数的类型________。A)与参数x的类型相同B)是voidC)是intD)无法确定9.以下函数fun形参的类型是________。fun(floatx){floaty;y=3*x-4;returny;}A)intB)不确定C)voidD)float10.C++语言中规定函数的返回值的类型是由________。A)return语句中的表达式类型所决定B)调用该函数时的主调用函数类型所决定C)调用该函数时系统临时决定D)在定义该函数时所指定的类型所决定11.以下程序的输出结果是________。func(intx){intp;if(x==0||x==1)return(3);p=x-func(x-2);returnp;}main(){cout<<func(9);}A)7B)2C)0D)312.阅读下面的程序:main(){intswap();inta,b;a=3;b=10;swap(a,b);cout<<“a=“<<a<<“b=“<<b;}swap(inta,intb){inttemp;temp=a;a=b;b=temp;}下面的说法中,正确的是________。A)在main()函数中调用swap()后,能使变量a和b的值交换B)在main()函数中输出的结果是:a=3b=10C)程序第2行的语句intswap();是对swap()函数进行调用D)swap()函数的类型是void13.C++语言中,若未说明函数的类型,则系统默认该函数的类型是________。A)float型B)long型C)int型D)double型14.以下程序是将输入的一个整数反序打印出来,例如,输入1234,则输出4321;输入-1234,则输出-4321,程序中划线处应分别填入________。voidprintopp(longintn){inti=0;if(n==0)return;elsewhile(n){if(n>0||i==0)cout<<n%10;elsecout<<________;i=1;________;}}main(){longintn;cin>>n;printopp(n);cout<<endl;}A)n%10和n=n/10B)-n%10和n=n/10C)-n/10和n=n%10D)n%10和n/=1015.以下程序的功能是:求正整数n的各位之积,在划线处应填入________。#include<iostream>usingnamespacestd;longfunc(longm){longk=1;do{k*=m%10;m/=10;}while(________);return(k);}main(){longn;cin>>n;cout<<func(n);}A)mB)m%10==0C)m==0D)m>=016.以下程序的功能是求任意两个整数a和b的最大公约数,并予以显示,程序的两划线处应分别填入________。#include<iostream>usingnamespacestd;longcod(longn1,longn2){longt;while(n2){________;n1=n2;n2=t;}return________;}main(){longa,b,x;cout<<“Pleaseinputtwonumbers:”;cin>>a>>b;x=cod(a,b);cout<<a<<b<<x;}A)t=n1和n1B)t=n2和n2C)t=n1%n2和n1D)t=n1%n2和n2函数2AADADCDB1.在C++语言中,全局变量的存储类别是:A)staticB)externC)voidD)register2.C++语言中,凡未指定存储类别的局部变量的隐含存储类别是:A)自动(auto)B)静态(static)C)外部(extern)D)寄存器(register)3.在一个C++源程序文件中,要定义一个允许本源文件中所有函数使用的全局变量,则该变量需要使用的存储类别是:________。A)externB)registerC)autoD)static4.以下程序的运行结果是()。main(){intk=4,m=1,p;p=func(k,m);cout<<p<<‘‘;p=func(k,m);cout<<p<<‘‘;}func(inta,intb){staticintm=0,i=2;i+=m+1;m=i+a+b;returnm;}A)817B)81C)88D)415.以下程序的输出结果是________。voidfun(){staticinta=0;a+=2;cout<<a;}main(){intcc;for(cc=1;cc<4;cc++)fun();cout<<endl;}A)2222B)2468C)222D)2466.以下程序的输出结果是________。intd=1;fun(intp){staticintd=5;d+=p;cout<<d;return(d);}main(){inta=3;cout<<fun(fun(d));}A)61111B)669C)61212D)66157.下列叙述中正确的是________。A)C++语言编译时不检查语法B)C++语言的子程序有过程和函数两种C)C++语言的函数可以嵌套定义D)C++语言所有的函数都是外部函数8.有以下程序main(){intk=4,m=1,p;p=func(k,m);cout<<p<<‘,’;p=func(k,m);cout<<p<<endl;}func(inta,intb){staticintm=0,i=2;i=m+1;m=i+a+b;return(m);}输出结果是________。A)6,6B)6,12C)6,8D)8,8数组1DDADBDABADACACAABDBABDAC1、以下对一维数组a进行正确初始化的是__________。A)inta[10]=(0,0,0,0,0);B)inta[10]={};C)inta[2]={0,0,0};D)inta[10]={10};2、以下一维数组a的正确定义是________。A)inta(10);B)intn=10,a[n];C)intn;D)#defineSIZE10cin>>n;inta[SIZE];inta[n];3、执行下面的程序段后,变量k中的值为__________。intk=3,s[2];s[0]=k;k=s[1]*10;A)不定值B)33C)30D)104、下列程序执行后的输出结果是__________。main(){inta,b[5];a=0;b[0]=3;cout<<b[0]<<‘,’<<b[1];}A)3,0B)30C)0,3D)3,不定值5、已知数组a的赋值情况如下所示,则执行语句a[2]++;后a[1]和a[2]的值分别是________。a[0]a[1]a[2]a[3]a[4]┌──┬──┬──┬──┬──┐│10│20│30│40│50│└──┴──┴──┴──┴──┘A)20和30B)20和31C)21和30D)21和316、以下程序输出a数组中的最小值及其下标,在划线处应填入的是________。main(){inti,p=0,a[10];for(i=0;i<10;i++)cin>>a[i];for(i=1;i<10;i++)if(a[i]<a[p])_______________;cout<<a[p]<<‘,’<<p;}A)i=pB)a[p]=a[i]C)p=jD)p=i7、以下程序的输出结果是________。main(){inti,p=0,a[10]={1,5,9,0,-3,8,7,0,1,2};for(i=1;i<10;i++)if(a[i]<a[p])p=i;cout<<a[p]<<‘,’<<p;}A)-3,4B)0,1C)9,2D)2,98、有如下说明:inta[10]={0,1,2,3,4,5,6,7,8,9};则数值不为9的表达式是________。A)a[10-1]B)a[8]C)a[9]-0D)a[9]-a[0]9、有如下程序main(){intn[5]={0,0,0},i,k=3;for(i=0;i<k;i++)n[i]=i+1;cout<<n[k]<<endl;}该程序的输出结果是________。A)不确定的值B)4C)2D)010、以下程序的输出结果是________。main(){inti,x[9]={9,8,7,6,5,4,3,2,1};for(i=0;i<4;i+=2)cout<<x[i]<<““;}A)52B)51C)53D)9711、以下程序的功能是:从键盘上输入若干个学生的成绩,统计计算出平均成绩,并输出低于平均分的学生成绩,当输入负数时结束。划线处应分别填入_________。main(){floatx[1000],sum=0.0,ave,a;intn=0,i;cout<<“Entermark:\n”;cin>>a;while(a>=0.0&&n<1000){sum+=______;x[n]=a;n++;cin>>a;}ave=________;cout<<

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论