C++练习.docx
- 文档编号:26545049
- 上传时间:2023-06-20
- 格式:DOCX
- 页数:26
- 大小:23.19KB
C++练习.docx
《C++练习.docx》由会员分享,可在线阅读,更多相关《C++练习.docx(26页珍藏版)》请在冰豆网上搜索。
C++练习
C++练习题
一、选择题
1,以下符号中不能作为标识符的是()
A,_256B,viodC,staticD,Struct
2,下面不能正确表示a*b/(c*d)的表达式是()
A,(a*b)/c*dB,a*b/(c*d)C,a/c/d*bD,a*b/c/d
3,下列运算符中,运算对象必须是整型的是()
A,/B,%=C,=D,&
4,若x,y,z均被定义为整数,则下列表达式终能正确表达代数式1/(x*y*z)的是()
A,1/x*y*zB,1.0/(x*y*z)C,1/x/y/zD,1/x/y/(float)z
5,已知a,b均被定义为double型,则表达式b=1,a=b+5/2的值为()
A,1B,3C,3.0D,3.5
6,如有inta=11;表达式(a++*1/3)的值是()
A,0B,3C,4D,12
7,在下列运算符中,优先级最低的是()
A,||B,!
=C, 8,表达式9! =10的值为() A,非零值B,trueC,0D,1 9,能正确表示x>=3或者x<1的关系表达式是() A,x>=3orx<1B,x>=3|x 10,下列运算符中优先级最高的是() A,! B,%C,-=D,&& 11,如果变量x,y已经正确定义,下列语句哪一项不能正确将x,y的值进行交换() A,x=x+y;y=x-y;x=x-y;B,t=x;x=y;y=t;C,t=y;y=x;x=t;D,x=t ;t=y ;y=x ; 12,如要求在if后一对括号中的表达式,表示a不等于0的时候的值为“真”,则能正确表示这一关系的表达式为() A,a<>0B, ! aC,a=0D,a 13,for(inti=0,j=10 ;i=j=10 ;i++,j--);这个循环的循环次数是() A,无限次B,语法错误,不能执行C,10D,1 14,以下哪个不是循环语句() A,while语句B,do-while语句C,for语句D,if-else语句 15,下列do-while循环的次数是() 已知: inti=5; do{ cout< i--; }while(i>0); A,0B,2C,3D,无限次 16,下列for循环的循环次数是() for(inti=0,x=0;! x&&i<=5;i++) A,5B,6C,1D,无限次 17,关于C++与C语言的关系的描述中,()是错误的。 A,C语言是C++的一个子集B,C语言与C++是兼容的 C,C++对C语言进行了一些必进D,C++和C语言都是面向对象的 18,类型修饰符unsigned修饰()类型是错误的。 A,charB,intC,longintD,float 19,下列double型常量表示中,()是错误的 A,E15B,.35C,3E5D,3E-5 20,下列字符常量表示中,()是错误的。 A,’\105’B,’*’C,’\4f’D,’\a’ 21,下列变量名中,()是合法的 A,CHINAB,byte-sizeC,doubleD,A+a 22,下列字符串常量表示中()是错误的 A,”a”B,’abcd’C,“abcd\n”D,”abcd\0” 23,在inta[5]={1,3,5};中,数组元素a[1]的值是() A,1B,0C,3D,5 24,在intb[][3]={{1},{3,2},{4,5,6},{0}};中,a[2][2]的值是() A,0B,5C,6D,2 25,下列给字符数组初始化中,()是正确的 A,chars[]=”abcd”B,chars[3]=”xyz” C,chars[][3]={‘a’,’b’,’c’}D,chars[4][3]={“xyz”,”mnp”} 26,下列关于指针的运算中,()是非法的 A,两个指针在一定条件下,可以进行相等或不等的运算 B,可以用一个空指针赋值给某个指针 C,一个指针可以加上两个整数之差 D,两个指针可以在一定条件下,可以相加 27,下列表示引用的方法中,()是正确的 已知: intm=10; A,int&x=mB,int&y=10 C,int&zD,float&t=&m 28,下列运算符中,()可以作用于浮点数 A,++B,%C,/D,三个都不 29,预处理命令在程序中都是以()开头的 A,*B,#C, : : D,// 30,下列while循环的次数是() while(inti=0)i-- ; A,0B,1C,5D,无限 31,下述关于循环体的描述中,()是错误的 A,循环体中可以出现break语句和continue语句 B,循环体中还可以出现循环语句 C,break语句可以退出一重循环,也可以退出二重循环 D,循环体中可以出现开关语句 32,下述关于break语句的描述中,()是不正确的 A,break语句可用于循环体内,它将退出该重循环 B,break语句可用于开关语句,它将退出开关语句 C,break语句可用于if体内,它将退出if语句 D,break在一个循环体内可以出现多次 33,当一个函数值无返回值时,定义它时函数的类型应是() A,voidB,任意C,intD,无 34,在函数说明时,下列()项是不必要的 A,函数的类型B,函数参数类型C,函数的名字D,函数形参的名字 35,在函数的确返回值类型与返回值表达式的类型的描述中,()是错误的 A,函数返回值的类型是在定义函数时确定,在函数调用时是不能改变的 B,函数返回值的类型就是函数类型 C,函数类型与函数返回值类型不同时,返回值类型应转换为函数类型 D,函数类型决定了函数返回值类型 35,在一个被调用函数中,关于return语句使用的描述,()是错误的 A,被调用函数中可以不用return语句 B,被调用函数中可以使用多个return语句 C,被调用函数中,如果有返回值,就一定要有return语句 D,被调用函数中,一个return语句可返回多个值给函数 36,下列的()是引用调用 A,形参是指针,实参是地址值 B,形参和实参都是变量 C,形参是数组名,实参是数组名 D,形参是引用,实参是变量 37,在传值调用中,要求() A,形参和实参类型任意,个数相等 B,实参和形参类型一致,个数相等 C,实参和形参对应的类型一致,个数相等 D,实参和形参对应的类型一致,个数任意 38,在C++中,关于下列设置参数默认值的描述中,()是正确的 A,不允许设置参数的默认值 B,设置参数默认值时,应该地先设置左边的再设置右边的 C,设置参数默认值时,应该地先设置右边的再设置左边的 D,设置参数默认值时,应该全部参数都设置 39,重载函数在调用时选择的依据中,()是错误的 A,参数个数 B,参数的类型 C,函数的名字 D,函数的类型 40,在一个函数中,要求通过函数来实现一种不太复杂的功能,并且要求加快执行速度,选用() A,内联函数 B,重载函数 C,递归函数 D,嵌套函数 41,将两个字符串连接起来组成一个字符串时,选用()函数 A,strlen() B,strcpy() C,strcat() D,strcmp() 42,在下列关键字中,用以说明类中公有成员的是() A,public B,private C,protected D,friend 43,作用域运算符的功能是() A,标识作用域的级别的 B,指出作用域的范围的 C,给定作用域的大小的 D,标识某个成员是属于哪个类的 44,()不是构造函数的特征 A,构造函数的函数名与类名相同 B,构造函数可以重载 C,构造函数可以设置缺省参数 D,构造函数必须指定类型说明 45,()是析构函数的特征 A,一个类中只能定义一个析构函数 B,析构函数名与类名不同 C,析构函数的定义只能在类体内 D,析构函数可以有一个或多个参数 46,关于成员函数特征的下列描述中,()是错误的 A,成员函数一定是内联函数 B,成员函数可以重载 C,成员函数可以设置参数的缺省值 D,成员函数可以是静态的 46,有如下说明 inta[10]={1,2,3,4,5,6,7,8,9,10},*p=a; 则数值为9的表达式是 A,*p+9B,*(p+8)C,*p+=9D,p+8 47,若有下面的函数调用: fun(a+b,3,max(n-1,b)) 则fun的实参个数是() A,3B,4C,5D,6 48,若有如下类声明 classMyClass{ public: MyClass(){cout<<1;} }; 执行下列语句 MyClassa,b[2],*p[2]: 以后,程序的输出结果是() A,11B,111C,1111D,11111 49,语句int*p=&k;定义了指针p,与这个语句等效的语句序列是() A,int*p;p=&k;B,int*p;p=k;C,int*p;*p=&k;D,int*p;*p=k 50,关于函数重载,下列叙述中错误的是 A,重载函数的函数名必须相同B,重载函数必须在参数个数或类型上有所不同 C,重载函数的返回值类型必须相同D,重载函数的函数体可以有所不同 51,有如下定义: inta[5]={1,3,5,7,9},*p=a; 下列表达式中不能得到数值5的是 A,a[2]B,a[3]C,*(p+2)D,*p+4 52,在下列原型所示的C++函数中,按“传值”方式传递参数的是() A,voidf1(intx);B,voidf2(int*x);C,voidf3(constint*x);D,voidf4(int&x); 53,在C++中,编译系统自动为一个类生成缺省构造函数的条件是() A,该类没有定义任何有参构造函数 B,该类没有定义任何无参构造函数 C,该类没有定义任何构造函数 D,该类没有定义任何成员函数 54,若已经声明了函数原型“voidfun(inta,doubleb=0.0);”,则下列重载函数声明中正确 的是()。 A,voidfun(inta=90,doubleb=0.0);B,intfun(inta,doubleB); C,voidfun(doublea,intB);D,boolfun(inta,doubleb=0.0); 55,有如下类定义: classPoint { intx_,y_; public: Point(): x_(0),y_(0){} Point(intx,inty=0): x_(x),y_(y){} }; 若执行语句 Pointa (2),b[3],*c[4]; 则Point类的构造函数被调用的次数是 A,2次B,3次C,4次D,5次 二、填空题 1,执行语句序列 inti=0;while(i<25)i+=3;cout< 输出结果是。 2,若a为double型的变量,表达式a=1,a+5,++a;的值为。 3,表达式7.5+1/2+45%10=。 4,与! (x>2)等价的表达式是。 5,x*=y+8等价于。 6,执行语句序列 inta=-1,b=4,k;k=(a++<=0)&&! (b--<=0);cout< 输出结果是。 7,执行语句序列 intx=10,y=20,z;z=(x++)+(++y);cout< 输出结果是。 8,执行语句序列 intx=l0,&r=x;cout< 输出结果为___________。 9,执行语句序列 inta=7,b=4;floatx,y=27.2,z=3.4;x=a/2+b*y/z+1/3;cout< 输出结果是。 10,已知: inta=5,b=3;则表达式a+=b%=a+b;的值。 11,已知: inta=1,b=2;则表达式a>b? ++a: ++b;的值。 12,已知: inta=5,b=3;则表达式! a&&b++;的值。 13,已知: inta=5,b=3;则表达式a||b+4&&a*b;的值。 14,程序中有如下语句 for(inti=0;i<5;i++)cout<<*(p+i)<<","; 能够依次输出int型一维数组DATA的前5个元素。 由此可知,变量p的定义及初始化语句是___________。 15,do-while语句与while语句的主要区别是___________。 16,执行语句序列后 intx=10,y=20,z=30;if(x>y){x=y;y=z;z=x;} x的值为___________,y的值为___________,z的值为___________。 17,break语句实现的功能是。 18,continue语句实现的功能是。 19,已知递归函数f的定义如下: intf(intn) {if(n<=1)return1;//递归结束情况 elsereturnn*f(n-2);//递归 } 则函数调用语句f(5)的返回值是___________。 20,已知数组a中的元素个数为n,下列语句的作用是将下标为i的元素移动到下标为i-1的单元,其中1≤i 例如,当n=4,a中原有数据为1,2,3,4时,则移动后a中元素变为2,3,4,4。 请将语句补充完整: for(inti=0;i 21,执行下列语句段后,for(inti=50;i>1;--i)cout<<'*'; 输出字符“*”的个数是___________。 22,有如下函数定义: voidfunc(inta,int&b){a++;b++;} 若执行代码段: intx=0,y=1; func(x,y); 则变量x和y的值分别是___________。 23,若要访问指针变量p所指向的数据,应使用表达式___________。 24,已知一个函数的原型是: intfn(doublea); 若要以5.27为实参调用该函数,应使用表达式___________。 25,执行下列语句后 intsum=0; for(inti=1;i<=3;i++) for(intj=1;j<=i;j++) sum++; 变量sum的值是___________。 26,已知有函数f的定义如下: intf(){ staticints=0; s+=2; returns; } 则在某程序中第2次执行函数调用语句f();时,函数f的返回值是___________。 27,已知函数f的原型是voidf(int*a,long&b);,变量v1、v2的定义是: intv1;longv2; 则调用语句是___________。 28,已知数组a中有n个元素,下列语句将数组a中从下标xl开始的k个元素移动到从下标x2开始的k个元素中,其中0<=xl for(inti=xl+k-1;i>=xl;i--) a[___________]=a[i]; 29,执行下列语句后,变量sum的值是___________。 intsum=0; for(inti=1;i<=3;i++) for(intj=1;j<=4;j++) sum++; 三、程序阅读 1,有如下程序: #include voidfun(int&x,inty){intt=x;x=y;y=t;} intmain() { inta[2]={23,42}; fun(a[1],a[0]); std: :
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- C+ 练习