第1页共27页C++练习题(一)1.C++的合法注释是()。A./*ThisisaCprogram/*B.//ThisisaCprogramC.“ThisisaCprogram”D.//ThisisaCprogram//2.下面标识符中正确的是()。A._abcB.3abC.intD.+ab3.分析下列该程序,输入数据格式为:2,5(回车),指出其中的三个错误。main(){intsum=0;inta,b;coutinputa,b:;cinab;sum=a+b;coutsumendl;}(1)没有使用编译预处理命令:#include。iostream是系统定义的一个头文件(h-head),设置了C++的I/O环境。cin、cout为基本输入、输出设备,定义在iostream.h头文件中。(2)没有main()函数的返回类型,系统提示警告。一般main函数返回整型(3)输入数据时没有使用空格分隔。输入运算符“”要求输入的多个数据用空格分隔。4.下列标识符中,()是合法的。A.gotoB.StudentC.123D.kld5.C++语言中语句的结束符是()。A.,B.;C.。D.、6.给出下列程序的运行结果。#includeiostreamusingnamespacestd;intmain(){inta(2),b(3),c(4);coutc1=cendl;c=a+b;coutc2=cendl;第2页共27页}7.已知a=4,b=6,c=8,d=9,则“(a++,ba++&&cd)?++d:ab”值为()。A.9B.6C.8D.08.已知x=43,ch=‘A’,y=0;则表达式(x=y&&ch’B’&&!y)的值是()。A.0B.语法错C.1D.“假”9.例题10:设所有变量均为整型,则表达式(e=2,f=5,e++,f++,e+f)的值为_9___。10.已知字母a的ASCII码为十进制数97,且设ch为字符型变量,则表达式ch=’a’+’8’-‘4’的值为__e__。11.下列数据类型不是C++语言基本数据类型的是()。A.字符型B.整型C.实型D.数组12.下列字符列中,可作为C++语言程序自定义标识符是()。A.switchB.fileC.breakD.do13.下列字符列中,可以作为“字符串常量”的是()。A.ABCB.″xyz″C.′uvw′D.′a′14.设变量m,n,a,b,c,d均为0,执行(m=a==b)||(n=c==d)后,m,n的值是()。A.0,0B.0,1C.1,0D.1,115.在C++语言中,自定义的标识符()。A.能使用关键字并且不区分大小写B.不能使用关键字并且不区分大小写C.能使用关键字并且区分大小写D.不能使用关键字并且区分大小写16.设有代码“inta=5;”,则执行了语句“a+=a-=a*a;”后,变量a的值是()。A.3B.0C.-40D.–1217.设a为5,执行下列代码后,b的值不为2的是()。A.b=a/2B.b=6-(--a)C.b=a%2D.b=a3?3:218.C++语言中的标识符只能右字母、数字和下划线三种字符组成,且第一个字符第3页共27页()。A.必须为字母B.必须为下划线C.必须为字母或下划线D.可以是字母、数字和下划线中任一中字符19.下面正确的字符常量是()。A.“C”B.‘\\’’C.‘W’D.‘’20.(5)关于逻辑运算符的说法正确的是()。A.它们都是双目运算符,优先级相同B.语句“inta=0,c=1,b;b=a&&c++;”执行后,c的值为2C.语句“inta=0,c=1,b;b=a||c++;”执行后,c的值为2D.语句“inta=1,c=1,b;b=a&&c++;”执行后,c的值为221.有如下程序段:注意x的类型为intinta=14,b=15,x;charc=’A’;x=(a&&b)&&(c’B’);执行该程序后,x的值为()。A.tureB.flaseC.0D.122.以下叙述中不正确的是(D)。A.在C++程序中,name和NAME是两个不同的变量B.在C++程序中,逗号运算符的优先级最低C.若变量m,n为int型,则m=n后,n中的值不变D.当从键盘输入数据时,对于整型变量只能输入整型数值,对于实型变量只能输入实型数值。23.sizeof(float)是()。A.一个双精度型表达式B.一个整型表达式C.一种函数调用D.一个不合法的表达式24.下面不正确的字符串常量是()。A.‘rst’B.“14‘14”C.“0”D.“”25.设a是整型变量,则表达式(a=4*5,a*2),a+6的值是()。A.20B.26C.40D.4626.设有:inta=1,b=2,c=3,d=4,m=2,n=2;执行(m=ab)&&(n=cd)第4页共27页后n的值为()。A.1B.2C.3D.427.用C++的语言表达式表示|x3+log10x|的正确是()。A.fabs(x*3+log(x))B.abs(pow(x,3)+log(x))C.fabs(pow(x,3.0)+log(x))D.abs(pow(x,3.0)+log(x))28.设intk=7,x=12;则能使值为3的表达式是_____。A.x%=(k%=5)B.x%=(k-k%5)C.x%=k-k%5D.(x%=k)-(k%=5)29.设有语句intx=3,y=4,z=5;则下面表达式中值为0的是()。A.’x’&&’y’B.x=yC.x||y+z&&y-zD.!((xy)&&!z||1)30.判断char型变量n是否为小写字母的正确表达式为()。A.’a’=n=’z’B.(n=a)&&(n=z)C.(’a’=n)||(’z’=n)D.(n=’a’)&&(n=’z’)31.以下不正确的语句是()。A.if(xy);B.if(x=y)&&(x!=0)x+=y;C.if(x!=y)cinx;elseciny;D.if(xy){x++;y++;}32.下面程序的输出结果是()。#includeiostreamusingnamespacestd;intmain(){inta=6,b=6;if(a5)a-=1;b+=1;elsea+=1;b-=1;cout”a=”aendl;第5页共27页cout”b=”b;}A.5B.a=5C.a=5D.编译时出错7b=7b=633.对while、do…while循环结构,下面说法正确的是()。A.只是表达形式不同B.do…while结构中的语句至少执行一次C.while结构中的语句至少执行一次D.条件成立时,它们有可能一次也不执行34.以下不正确的是()。A.语句for(i=0;;i++)表示无限循环B.for(;;)表示无限循环C.for()也表示无限循环D.while(1)表示无限循环35.下面循环体的执行次数为()。#includeiostreamusingnamespacestd;intmain(){inta,b;for(a=0,b=5;a=b+1;a+=2,b--)coutaendl;}A.3B.2C.1D.036.对中断语句的说法下面不正确的是()。A.用户可以指定中断的位置B.用户可以指定转移的位置C.break语句可以跳出本循环D.continue语句可以结束本次37.下列程序的功能是()。#includeiostreamusingnamespacestd;intmain(){chara;inti;cina;for(i=1;i=10;i++){if((a=’a’)&&(a=’z’))a=a-i;couta;}}第6页共27页A.把a中的小写字母变成大写字母B.把a中的小写字母变成大写字母C.把a中的所有字母变成小写字母D.把a中的字母变成它前面i个的字母38.下面的程序实现输出x,y,z三个数中的最大值,请填入正确的内容。#includeiostreamusingnamespacestd;intmain(){intx=5,y=8,z=9,u,v;if((1))u=x;elseu=y;if((2))v=u;elsev=z;cout”v=”vendl;}答案:(1)xy(2)uz39.有以下程序段:intn=0;while(n=1)n++;while循环执行次数是_____。答案:为无限次。40.计算1~20之间偶数之和,请填充:#includeiostreamusingnamespacestd;intmain(){inta,b,i;a=0;b=0;for(i=0;(1);i+=2){a+=i;(2);(3);cout”偶数之和为:”aendl;}答案:(1)i=20或i21(2)b+=i+1(3)}41.下面程序运行结束后,k的值为_____。#includeiostream第7页共27页usingnamespacestd;intmain(){inti,j,k;for(i=0,j=10;i=j;i++,j--)k=i+j;countk;}答案:10。42.下面程序是输出100以内能被7整除且个位数是4的所有整数,请填空:#includeiostreamusingnamespacestd;intmain(){inti,j;for(i=0;(1);i++){j=i*10+4;if((2))continue;(3)coutjendl;}}答案:(1)i=9或i10(2)j%7!=0(3)else看程序写结果43.#includeiostreamusingnamespacestd;intmain(){inta,b,c,d,x;a=c=0;b=1;d=20;if(a)d=d-10;elseif(!b)if(!c);elsex=25;cout”d=”dendl;cout”x=”xendl;}运行结果:d=20第8页共27页x=2544.#includeiostreamusingnamespacestd;intmain(){intx=6,y=8;if(x++6)cout++yendl;if(x6)cout--yendl;elsecouty++endl;}运行结果是:745.#includeiostreamusingnamespacestd;intmain(){inta;cout”pleaseinputanumber:”;cina;switch(a%2){case0:cout”a是偶数”endl;default:cout”a是奇数”endl;}}如果输入数为6,则输出结果为什么?运行结果:a是偶数a是奇数46.写出下列程序运行结果:#includeiostreamusingnamespacestd;intmain(){inti,j,m=0,n=0;第9页共27页for(i=0;i2;i++)for(j=0;j2;j++)if(j=i)m=1;n++;coutmendl;coutn;}结果:1147.写出下列程序运行结果:#includeiostreamusingnamespacestd;intmain(){inta,b;for(a=1,b=1;a=100;a++){if(b=10)break;if(b%3==1){b+=3;continue;}}coutaendl;coutb;}运行结果:41048.写出下列程序运行结果:#includeiostreamusingnamespacestd;intmain(){inty,a;y=2;a=-1;while(y--!=-1){do{a*=y;a++;}while(y--);}couta=ay=y;}运行结果:a=1y=-2第10页共27页编写程