交通学院213、214C++(上)总练习题C++练习题
第一、二章习题一、选择题1.下列符号串中不合法的C语言标识符是。AregisterBTurbo_CCauto_D_1232.A是一个整型变量,则执行下列输出语句后a的值是。cout<<(a=3*5,a*4,a+5);A65B0C15D103.若有整型变量a和c,c的当前值是5,则执行下列语句后a的值是。a=2+(c+=c++,c+8,++c);c+=c++后c值为11,再自增为12A13B14C15D164.若有整型变量x的当前值是3,则执行下列语句的结果是。docout<<(x-=2);while(!(-x));输出1,3变为1后,为逻辑真,取反为假,退出循环A输出值0B输出值1和-2C输出值3和0D陷入死循环5.从语法的角度来看,语句if(a<=b<=c)x++;是。用&&或||连接逻辑表达式A正确的B语法正确,但在编译是会有警告信息C语法上是错误的D编译系统不会进行相关检查6.设有定义enumcolor{red=3,yellow,blue=10,white,black};则black的值是。A7B15C12D14x2y27.数学式在C程序中对应正确的表达式为。x.yA.sqrt(x*x+y*y)/x*yB.SQRT(x*x+y*y)/x*yC.sqrt((x*x+y*y)/x/y)D.SQRT(x*x+y*y)/(x*y)8.设有变量说明:intx;则表达式(x=4*5,x*5),x+25的值为。A.20B.45C.100D.1259.设有说明:intx=1,z=1,y=1,k;执行语句:k=x++||++y&&++z;后,变量y的值为。优化原则,||前为真,则后面并不运算A.1B.2C.3D.410.在C语言中,下面符号串中,能用作变量名的标识符为。A.autoB.putsC.-1*numD.2-and11.下面四个用户定义的标识符中,只有一个是正确的。AcaseB_53Ca&bDab-c12.在16位系统中,对整型变量inti=32767;++i的值是。补码,有符号整数A-1B0C-32768D3276813.有枚举类型.enumdirection{UP,Down,LEFT=6,RIGHT};第1页共20页交通学院213、214C++(上)总练习题其枚举成员Down的值是。A1B2C5D714.已知整型变量a和b的当前值分别为13和20,a||b的值是。A0B1C4D2915.在32位系统中求表达式s=10!的值时,变量s的类型应当是。AintBunsignedClongD以上三种都可以16.下面的常量表示有一个是不正确的,不正确的是。A-0B0x203C’\\55’D’103’17.浮点型变量f当前存储的值是17.8,经(int)f类型强制后f存储的值是A17B18C不变D不可确定18.如果有下列变理定义:charc=97;则cout<c+d?a:bD.x*=y+2523.下面的常量表示中不正确的是A、‘0’B.0fdC.’\\n‘D..5e324.设有枚举类型定义:enumd(up,down=3,left,right);则枚举量right的值为A.5B.4C.3D.225.如果整型量a,b,c的值分别为5、4、3,则语句if(a>=b>=c)c++;执行后c的值是A,语法错误B.4C.2D.3有warnning,但if结果为假26.设标识符ch,a都被定义为字符型变量,以下赋值语句不正确的是__A.ch=a+’3’;B.ch=’ch’+’a’;C.ch=’c’+’h’;D.ch+=ch-a27.设有说明enumcolor{red,blue=100,yellow,black},括号中每个元素的实际值依次是__。A.0,100,101,102B.100,101,102,103C.0,1,2,3D.1,2,3,428.将变量a强制转换为具有b类型的数据,应表示为__。A.(b)aB.a(b)C.b(a)D.(a)b29.有整型变量x,y,其中y!=0,下列与x等价Ax/y*yBx%y*yCx/y*y+x%yD以上都不是第2页共20页交通学院213、214C++(上)总练习题30.已知整型变量a和b的当前值分别为13和16.a&b的值是A.0B.1C.29D.331.设有定义enumcolor{red,yellow=3,blue=10,white,black};则red的值是。A2B15C1D032.C++将数据分为若干类型,定义数据类型实际给出了两方面的信息:定义该类型数据。A有效数字位数和数值表示范围B占用多大存储空间和允许的运算C数值和字符的不同表示以及适用范围D适用范围和允许的运算33.以下给出的标识符中_可用作合法的变量名。AgotoB$priceCsumD9kilo34.设ima=l,b=2;那么执行表达式a++&&++b;后a和b的值分别是。A1和2B2和2C1和3D2和335.在32位系统中,定义变量并赋值shortintx=32767,则执行++X后X的值为。A32767B32768C-lD-3276836.设整型变量X的值是5,则表达式2>chBcin.get(ch)Ccin>>get(ch)Dch=get()39.设有变量定义imx=100,y=1,Z,若执行语句Z=y>0?++x:--x,变量z的值为。A99B100C10lD10240.表示程序流程的三种基本结构是A顺序、选择、循环B选择、循环、返回C函数、语句、数组D主函数、子函数、变量41.用#include命令包含的文件是A目标文件B可执行文件C源程序文件D二进制文件42.若有a=13,b=5,c=3则a%b*c的值为A6B9C7.8D843.在C++中,能用作变量名的标识符为AbreakBputsC-2*bD3-and44.若有宏定义和变量说明如下:#defineX1第3页共20页交通学院213、214C++(上)总练习题#defineYX+1#defineZY*X/2inta;a=Y;则执行以下语句后输出的结果是:cout<=9%5+6%5;cout<10?x+100:x-10的值是8.若整型变量w=1,x=2,y=3,z=4,则条件表达式w>x?w:z>y?z:x的值为____9.inta=5,b=6,c=1,x=2,y=3,z=4;c=(a=c>x)&&(b=y>z);问:执行上述程序后,b的值是____,c的值是____。10.程序voidmain(){intx,y,z;x=y=z=0;cout<<(x++&&++y||z++)<<'\\n';cout<=9%5+6%5;cout<一、选择题1.设整型变量x的当前值为3,执行以下循环语句后,输出的结果是docout<<(x-=2);while(!(--x))A.0B.1-2C.30D.死循环,输出许多值2.当前整型变量i的值是10,执行下列switch语句后i的值是。13switch(i){case9:i+=1;case10:i+=1;case11:i+=1;defaule:i+=1}3.对下面三条语句,正确的论断是。(1)if(a)s;elses2;(2)if(a==0)s2;elses1;(3)if(a!=0)s1;elses2;A.三者相互等价B.三者相互不等价C.只有(2)和(3)等价D.以上三咱说法都不正确4.下列关于break和switch语句的叙述中,正确的是。A.break是switch语句的一个成分B.在语句switch中可以根据需要使用或不使用break语句。第7页共20页交通学院213、214C++(上)总练习题C.在语句switch中必须使用break语句D.上述结论中两个正确的5.设有程序段intx=10;while(x=0)x=x-1;则下面描述中正确的是A.while循环执行10次B.循环是无限循环C.循环体语句一次也不执行D.循环体语句只执行一次6.退出一个循环语句(不终止函数的执行)的有效措施是:A、用break语句B、用continue语句C、用return语句D、用exit语句7.设整型变量x的当前值为3,执行以下循环语句后,输出的结果为:docout<<’\\t’<<x-=2;while(!(--x));A、0B、1-2C、30D、死循环,输出许多值8.对下面三条语句,正确的论断是__。(1)if(a)s1;elses2;(2)if(a==0)s2;elses1;(3)if(a!=0)s1;elses2;A、三者相互等价B、三者相互不等价C、只有(2)和(3)等价D、以上三咱说法都不正确9.以下关于switch语句和break语句的描述中,只有是正确的。A.在switch语句中必须使用break语句B.break语句只能用于switch语句C.在switch语句中,可以根据需要使用或不使用break语句D.break语句是switch语句的一部分10.C++语言中。A.不能使用do-while语句构成的循环B.do-whiIe语句构成的循环必须使用break语句才能退出C.do-while语句构成的循环,当while语句中的表达式值为非零时结束循环D.do-while语句构成的循环,当while语句中的表达式值为零时结束循环11.对于for(表达式1;;表达式3)可理解为。A.for(表达式1:0:表达式3)B.for(表达式1;1;表达式3)C.for(表达式1;表达式1;表达式3)D.for(表达式1;表达式3;表达式3)二填空题第8页共20页交通学院213、214C++(上)总练习题1.有整型变量a、b,则下列for循环中的输入语句最少可执行行__次for(a=0,b=0;b!=30&&a<3;a++)cin>>b;次,最多可执2.设整型变量I初值是1,则语句while(I++<5);执行后I的值是3.下面程序的执行结果输出,#definePR1(num)cou<0;y--)if(y%3==0)cout<<--y<<\;}5.下面程序的执行结果是。#includemain(){intx=1,i=1;for(;x<50;i++){if(x>10)break;if(x%2){x+=3;continue;}x=1;}cout<main(){unsignedi;intcount=1;i=~0;while((i>>=1)~=0)count++;cout<<“count=”<>=1)改为(i>>1)程序的结果是。不作上述修改,而将unsignedi;改为unsignedchari;;程序的输出结果是。7.[程序]main(){inti=1;while(i++<5);cout<=10)break;if(a%2==1){a+=5;continue;}a-=3;}问:执行上述程序段后,a的值是,b的值是9.voidmain(){intm,n,x,y;cin>>x>>y;m=1;n=1;if(x>0)m=m+1;第10页共20页交通学院213、214C++(上)总练习题if(x>y)n=n+m;elseif(x==y)n=5;elsen=2*m;cout<b)if(a>c)cout<#includemain(){doublex,y,t;intn=0;cout<<“Inputx:”cin>>xt=1;;while(fabs(t)>1e-6){n++;y+=(t=);}cout<<“y(“<>a>>b>>c:cout<<”a=:”<voidmainO{inti,j,k,count=0;for(i=1;i<=;i++)for(j=0;j<=;j++)if()continue;elsefor(k=0;k<=9;k++)if(){cout<<100*i+10*j+k<<’,’;count++;}cout<voidmain(){intn,s;s=n=O;while(){S+=n*n;}cout<<“n=“<一、选择题1.以知函数原型structtreef(int,int*,structtree,structtree*);其中tree是经说明的结构类型。且已有下列定义的变量structtreept,*p;inti;则是正确的函数调用语句。A&pt=f(10,&(i+2),pt,p)Bpt=f(i++,(int*)p,pt,&pt);Cp=f(i+1,&i,pt,p);D&p=f(10,&i,pt,p);2.判断两个字符串s1和s2是否相等,应当使用。A.if(s1==s2)B.if(s1=s2)C.if(strcmp(s1,s))D.if(!strcmp(s1,s2)3.C++语言中函数返回值的类型是由决定的。A.return语句中的表达式类型B.调用该函数的主调函数类型C.定义函数时所指定的函数类型D.传递给函数的实参类型4.下列论断正确的是:在C++语言的函数中,。A、可以定义和调用其他函数B、可以调用但不能定义其他函数C、不可以调用但能定义其他函数D、不可以调用也不能定义其他函数5.在一个源文件中定义的全局变量的作用域为A、文件的全部范围B、本程序的全部范围C、本函数的全部范围D、从定义该变量的位置开始至本文件的结束6.设函数声明语句中的参数表为(int&a,int&b,imC),函数体中a,b,C三个变量的值都发生变化;主函数中调用此函数的实参表为(X,Y,z),调用函数语句执行后,以下叙述正确的是__。A)变量X和Y的值发生变化B)变量X和Y的值不发生变化C)变量X、Y、Z的值都发生变化D)只有变量Z的值发生变化7.变量的有效范围与其定义的位置有关,,其作用域在整个源程序文件中都有效。A、在第一个函数中定义的变量B、在定义第一个函数之前所定义的变量C、在主函数中定义的变量D、在函数中定义的静态变量8.C++语言中函数返回值的类型是由决定的。A、return语句中的表达式类型B、调用该函数的主调函数类型第13页共20页交通学院213、214C++(上)总练习题C、定义函数时所指定的函数类型D、传递给函数的实参类型9.判断两个字符串s1和s2是否相等,应当使用A、if(s1==s2)B、if(s1=s2)C、if(strcmp(s1,s2))D、if(!strcmp(s1,s2))10.在程序执行过程中,该程序的某一个函数func()中说明的static型变量V有这样的特性:A、V存在于func()被调用期间且仅能被func()所用B、V存在于整个程序执行过程且仅能被func()所用C、V存在于func()被调用期间且可被所有函数所用D、V存在于整个程序执行过程且可被所有函数所用二、填空题1.执行下面程序共产生行输出,第一行输出和最后一行输出分别是及。#includevoidf(int);main(){f(3);}voidf(intn){staticints=5inta=5if(n!=0){s++;a++cout<intm=10;intf(intx,inty){intm=5;m+=x*y;returnm;}voidmain(){inta=6,b=7;cout<voidmain(){intk=4,m=1,p;p=fun1(k,m);cout<intfun(inti);main(){inti=1;switch(i){defaunlt:i++;break;case0:i++;fun(i);case1:i++;fun(i);case2:i++;fun(i);第17页共20页交通学院213、214C++(上)总练习题}cout<#include