一、C++基础、变量、常量部分试题:(一)单选题8.由C++语言编写的代码程序()A.可直接执行(.exe才可以直接执行)B.是一个源程序C.经过编译即可执行(经过编译链接才可以执行)D.经过编译解释才能执行9.按照C++语言规定的用户标识符命名规则,不能出现在标识符中的是()A.大写字母B.中划线C.数字字符D.下划线10.下列选项中,不能用作标识符的是()A._1234_B._1_2C.int_2_D.2_int11.以下选项中合法的用户标识符是()A.long(关键字)B._2TestC.3DmaxD.A.dat12.以下不能定义为用户标识符的是()A.MainB._0C._intD.sizeof(运算符)13.列定义变量的语句错误的是()A.int_int;B.doubleint_;C.charFor;D.floatUSA;14.在C++语言中,非法的字符常量是()A.‘\t’B.‘\017’C.\nD.‘\xaa’29.以下程序的输出结果是()voidmain(){intk=11;coutdeck=k“,”;coutoctk=k“,”;couthexk=kendl;}A.k=11,k=12,k=11B.k=11,k=13,k=13C.k=11,k=013,k=0xbD.k=11,k=13,k=b41.不属于C++语言关键字的是()。A.intB.breakC.whileD.character42.是C++语言提供的合法关键字的是()。A.FloatB.signedC.integerD.Char43.下列说法中,错误的是()。A.每个语句必须独占一行,语句的最后可以是一个分号,也可以是一个回车换行符号B.每个函数都有一个函数头和一个函数体,主函数也不例外C.主函数只能调用用户函数或系统函数,用户函数可以相互调用D.程序是由若干个函数组成的,但是必须有、而且只能有一个主函数(二)填空题1.一个C++源程序至少有并且只能有一个main(主)函数。2.以下程序运行后的输出结果是1012a。#includeiostream.h#includeiomanip.hintmain(){inta=10;coutdecaoctahexaendl;return0;}3.以下程序运行后的输出结果是(252137)。voidmain(){inta,b,c;a=25;b=025;c=0x25;coutabcendl;}4.以下程序运行后的输出结果是21。voidmain(){inta=1,b=2;a=a+b;b=a-b;a=a-b;coutab;}5.结构化设计中的三种基本结构是__顺序结构__、__选择结构__、__循环结构__。6.C++语言源程序文件的后缀是___.cpp___,经过编译后生成文件的后缀是__.obj__,经过链接后生成文件的后缀是__.exe__。7.一个函数由两部分组成,它们是__函数首部__、__函数体__。8.若x和y均为int型变量,则以下语句的功能是__交换变量x,y的值__。x+=y;y=x-y;x-=y;二、运算符部分试题:(一)单选题1.以下程序的输出结果是()voidmain(){inta=1,b=2,c=3,d=4;cout(ab?a:cd?a:d)endl;}A.4B.3C.2D.115.下列运算符中优先级最高的运算符是()A.=B.=C.%D.&&16.以下程序的输出结果是()main(){inta=3,b=4;cout(a=b)endl;}A.3B.4C.1D.017.在C++语言中,以下非法的表达式是()A.x++B.i=j==0C.(char)(65+3)D.x+1=x+118.在C++语言中,以下非法的赋值语句是()A.j++;B.++(i+1);C.x=j0;D.k=i==j;19.表达式3.6-5/2+1.2+5%2的值是()A.4.3B.4.8C.3.3D.3.820.设有语句:inta=3;则执行了语句a+=a-=a*a;变量a的值是()A.3B.0C.9D.-1221.设有语句:intx=10;则执行了语句x+=x-=x-x;变量x的值是()A.10B.20C.40D.3022.以下程序的输出结果是()voidmain(){inti=10,j=1;couti--“,”++jendl;}A.9,2B.10,2C.9,1D.10,123.以下程序的输出结果是()voidmain(){intx=100,y=200;cout(x,y)endl;}A.200B.100C.100200D.20010024.以下程序的输出结果是()voidmain(){intx=10,y=3,z;cout(z=(x%y,x/y))endl;}A.1B.0C.4D.325.intk=0;,以下选项的四个表达式中与其他三个表达式的值不相同的是()A.k++B.k+=1C.++kD.k+126.以下程序的输出结果是()voidmain(){intx,y,z;x=y=1;z=x++,y++,++y;coutx,y,zendl;}A.2,3,3B.2,3,2C.2,3,1D.2,2,127.设x、y、t均为int型变量,执行了以下程序后,变量y的值为()。voidmain(){intx,y,t;x=y=3;t=++x||++y;coutyendl;}A.1B.2C.3D.428.设intx=-1;执行表达式++x||++x||++x||++x,x的值是()A.0B.1C.2D.445.逻辑运算符两侧运算对象的数据类型()。A.只能是0或1B.只能是0或非0正数C.只能是整型或字符型数据D.可以是任何类型的数据46.以下关于运算符优先顺序的描述中正确的是()。A.关系运算符算术运算符赋值运算符逻辑与运算符B.逻辑与运算符关系运算符算术运算符赋值运算符C.赋值运算符逻辑与运算符关系运算符算术运算符D.算术运算符关系运算符赋值运算符逻辑与运算符48.判断char型变量s是否为小写字母的正确表达式是()。A.’a’=s=’z’B.(s=’a’)&(s=’z’)C.(s=’a’)&&(s=’z’)D.(’a’=s)and(’z’=s)49.若希望当x的值为奇数时,表达式的值为“真”,x的值为偶数时,表达式的值为“假”。则以下不能满足要求的表达式是()。A.x%2==1B.!(x%2==0)C.!(x%2)D.x%250.已知x=45,y=’a’,z=0;则表达式(x=z&&y’z’||!y)的值是()。A.0B.语法错C.1D.“假”51.执行以下语句后,y的值为()。intx,y,z;x=y=z=0;++x||++y&&++z;A.0B.1C.2D.不确定值55.则执行下面语句后的w值是()。voidmain(){inta=1,b=2,c=3,d=4,w;w=(ab)?a:b;w=(wc)?w:c;w=(wd)?w:d;coutwendl;}A.1B.2C.3D.4(二)填空题:1.以下程序运行后的输出结果是2007。main(){intx=2006,y=2007;cout(x,y);}2.以下程序运行后的输出结果是D。voidmain(){charch='B';ch+=2;coutchendl;}3.以下程序运行后的输出结果是98。voidmain(){intc;charch=97;c=ch+1;coutcendl;}4.以下程序运行后的输出结果是123.46。#includeiostream.hintmain(){floatx=123.4567f;cout(int)(x*100+0.5)/100.0endl;return0;}5.以下程序运行后的输出结果是14。#includeiostream.hvoidmain(){inta=10;a=(3*5,a+4);coutaendl;}6.以下程序运行后的输出结果是-10-10-7。#includeiostream.hvoidmain(){inta=0,b=0,c=0;c=(a+=a-=5),(a=b,b+3);coutabcendl;}7.以下程序运行后的输出结果是0。#includeiostream.hvoidmain(){inta=5,b=4,c=3,x;x=abc;coutxendl;}8.以下程序运行后的输出结果是30。#includeiostream.hvoidmain(){inta=3,b=2;b=a0&&a++3;coutabendl;}9.以下程序运行后的输出结果是1。#includeiostream.hvoidmain(){intx,a=1,b=2,c=3,d=4;x=(ab)?a:b;x=(xc)?x:c;coutxendl;}10.设intx=9,y=8;表达式x==y+1的结果是____1____。11.定义intx,y;执行y=(x=1,++x,x+2);后,y的值是____4____。12.定义intx=10,y,z;执行y=z=x;x=y==z;后,x的结果是____1____。三、流程控制语句部分试题:(一)单选题2.voidmain(){inti;for(i=0;i3;i++){switch(i){case0:couti;case1:couti;default:couti;}}}程序执行后的输出结果是()A.000112B.012C.012020D.1207.以下程序运行后的输出结果是4599。#includeiostream.hvoidmain(){inta=3,b=4,c=5,t=99;if(ba&&ac)t=a;a=c;c=t;if(ac&&bc)t=b;b=a;a=t;coutabcendl;}30.以下程序段的输出结果是()voidmain(){intx=5;if(x++5)coutxendl;elsecoutx--endl;}A.4B.5C.6D.731.有以下程序:voidmain(){intn=4;while(n--)cout--n;}程序执行后的输出结果是()A.20B.31C.321D.21032.有以下程序voidmain(){inty=10;while(y--);coutyendl;}程序执行后的输出结果是()A.y=0B.y=-1C.y=1D.while构成无限循环44.为了避免嵌套的if-else语句的二义性,C++语言规定else总是与()组成配对关系。A.缩排位置相同的ifB.在其之前未配对的ifC.在其之前未配对的最近的ifD.同一行上的if47.选择出合法的if语句(设intx,a,b,c;)()。A.if(a=b)c++;B.if(a=b)c++;C.if(ab)c++;D.if(a=b)c++;52.已知inta=1,b=2,c=3;以下语句执行后a,b,c的值是()。if(ab)c=a;a=b;b=c;A.a=1,b=2,c=3B.a=2,b=3,c=3C.a=2,b=3,c=1D.a=2,b=3,c=253.请阅读以下程序:该程序()。voidmain(){intx=-10,y=5,z=0;if(x=y+z)cout***\n;elsecout$$$\n;}A.有语法错不能通过编译B.可以通过编译但不能通过连接C.输出***D.输出$$$54.执行完下面一段程序后x的值是()。voidmain(){inta=1,b=2,c=4,d=3,x;if(ab)if(cd)x=1;elseif(ac)i