cpplu.docx
- 文档编号:24904172
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:16
- 大小:22.28KB
cpplu.docx
《cpplu.docx》由会员分享,可在线阅读,更多相关《cpplu.docx(16页珍藏版)》请在冰豆网上搜索。
cpplu
一.选择题,每题选择一个正确的答案。
(40)
1假设所有变量均为整型,则表达式(a=2,b=5,b+=2,b/a*a)的值是c。
A)7B)8C)6D)5
2sizeof(float)是b。
A)一个双精度型B)一个整型表达式C)一种函数调用D)一个不合法的表达式
3下列程序段的运行结果是D。
#include
main()
{inty=10;
do{y--;}while(--y);
cout< } A)-1B)1C)8D)0 4判断char型变量c1是否为小写字母的正确表达式d。 A)’a’<=c1<=’z’B)(c1>=a)&&(c1<=z) C)(‘a’>=c1)||(‘z’<=c1)D)(c1>=’a’)&&(c1<=’z’) 5若有说明int(*ptr)()的含义是c。 A)ptr是指向一维数组的指针变量。 B)ptr是指向int型数据的指针变量。 C)ptr是指向函数的指针,该函数返一个int型数据。 D)ptr是一个函数名,该函数的返回值是指向int型数据的指针。 6设有: inta=2,b=1,c=3,d=4,m=2,n=2; 执行(m=a>b)||(n=c>d)后n的值为b。 A)1B)2C)3D)4 7下面程序的执行结果是a #include intt() { staticinti=1; i+=2;returni; } intt1() { intj=1; j+=2;returnj; } voidmain(void) { intj=2; t();cout<<"I="< t1();cout<<"J="< } A)I=5J=3B)I=5J=5C)I=3J=5D)I=3J=-3 8若有语句: chars1[]=”string1”,s2[8],*s3,*s4=”string2”;则对库函数strcpy的错误调用是c。 A)strcpy(s1,”string2”);B)strcpy(s4,”string1”);C)strcpy(s3,”string1”);D)strcpy(s2,s1); 9执行下面的程序后,最终的b是b。 #include intb=3;intfun(int*k); main() { intaa[]={11,12,13,14,15,16}; b=fun(&aa[1])*b; cout<<"\nbis"< } intfun(int*k) { intb=2; returnb=*(k++)*b; } A)48B)72C)78D)117 10以下程序的结果是b。 main() {inta=5,b=0,c=0; if(a=b+c)cout>>“***\n”; elsecout<<“$$$\n”; } A)有语法错不能通过编译B)输出$$$ C)输出***D)可以通过编译但不能通过连接 11关于for,while以及do…while这三个循环语句,下述描述正确的是c。 A)这三个语句的循环体都至少要执行一次。 B)这三个语句的循环体可能一次也不执行。 C)for和while语句的循环体可能一次也不执行,但do…while语句的循环体至少执行一次。 D)for和while语句的循环体至少执行一次,但do…while语句的循环体可能一次也不执行。 12若有说明: char*language[]={“1234”,“5678”,”9012”,”3456”,”7890”};则表达式*language[1]>*language[3]比较的是c。 A)”1234”和”9012”B)5和3 C)‘5’和‘3’D)“5678“和”3456“. 13设有以下语句: structst {intn;structst*next}; staticstructsta[3]={5,&a[1],7,&a[2],9,‘\0’},*p; p=&a[0]; 则以下表达式的值为6的是d。 A)p++->nB)p->n++C)(*p).n++D)++p->n 14以下能正确计算1*2*3*…*10的程序段是c。 A)do{I=1;s=1;s=s*I;I++;}while(I<=10); B)do{I=1;s=0;s=s*I;I++;}while(I<=10); C)I=1;s=1;do{s=s*I;I++;}while(I<=10); D)I=1;s=0;do{s=s*I;I++;}while(I<=10); 15下面程序的运行结果是a。 #defineAA10 #defineDOUBLE(r)r*r; #include main() { intx=1,y=2,t; t=DOUBLE(x+y)*AA; cout< } A)t的表达式有错B)50C)30D)第二个宏定义有错 16charstr1[]="AbDeG",str2[]="AbdEg"; str1+=2;str2+=2;cout< 上述程序的执行结果是: A)正数B)负数C)0D)编译出错 17阅读以下程序段 classA{intx,y; public: A(void){x=y=0;} A(inta,intb){x=a,y=b;} voidprint(){cout<<”xis“<<”yis“< }; 且有下列用法 1)Aa1={10,20};2)Aa1;cout< 3)Aa1();4)Aa1(10,20),b1;b1=a1; 在上述用法中,正确的是b A)1)和2)B)3)和4)C)4)D)1),3)和4) 18classTest{ intx,y; public: Test(inta,intb) {x=a;y=b;cout<<"调用了构造函数! \n";} voidShow() {cout<<"x="< }; voidmain(void) { Testt1(10,10);//A Testt2=t1;//B Testt3(t1);//C } 上述程序中,哪几行语句是调用了完成拷贝功能的构造函数b A)A,B,C三行都是B)B行和C行C)C行D)A行和C行 19有以下叙述: 1)构造函数和析构函数都可以定义为虚函数。 2)包含有纯虚函数的类不可以说明对象。 3)重载的运算符都可以被继承。 4)静态成员函数不包含对象地址的this指针。 叙述正确的是a A)2)、4)B)1)、4)C)1)、2)、4)D)2)、3) 20已知 inta[3][4]={{5,6,7,8},{9,10,11,12},{13,14,15,16}}; int(*p)[4],*pi=&a[0][0]; 下面哪一对指针表示的是同一个元素的地址d A)pi+5和(p+1)+2B)pi+5和*(p+1)+2 C)pi+5和(p+1)+1D)pi+5和*(p+1)+1 二填空(30) 1.已知inta=1,b=2,那么(a&b)=0(2分) 2.假设m是一个三位数,从左到右用a,b,c表示各位的数字,例如123,则a、b、c分别为1、2、3,那么请用m表示从左到右各个数字是bca的三位数的表达式是= m/10%10*100+m/100*10+m%10(2分) 3数学公式 的c++表达式为: sqrt(2*sin(x+y)/(a+b))(2分) 4#include main() { char*s="wbckaaakckb";inta=0,b=0,c=0,x=0; for(;*s;s++) switch(*s) { case'c': c++; case'b': b++; case'a': x++; default: a++; }
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- cpplu