VC++习题
- 格式:pdf
- 大小:118.38 KB
- 文档页数:6
一、单选题1、以下数组定义中,错误的是()。
A.inta[3]={‰2,3,4};B.inta[]={l,2,3};C.inta[5]={l z2,3};D.inta[5],b;正确答案:A解析:A、数组长度为3,但赋了4个初值2、设有定义inta[10]={0};则说法正确的是()。
A.数组初始化错误,初值个数少于数组元素个数B.数组a有10个元素,各元素的值为0C.数组a有1个元素,其值为0D.数组a有10个元素,其中a[0]的值为0,其他元素的值不确定正确答案:B解析:B、当定义的同时,给数组赋了初值,但初值个数小于数组长度时,剩余的数组元素全赋为03、执行下面的初始化语句,()保存的不是字符串。
A.charstr[6]={,S, ,r,,,i√n,,,g,};B.charstr[]={'S';t','r,,,i,z,n∖,g,,0};C.charstr[10]={'S',,t',,r',,i√n∖,g,,,∖0,};D.charstr[10]="String";正确答案:A解析:A、Str数组长度为6,6个元素值都不是'0)没有成为字符串B›,∖0,的ASClI码是0,初始化为。
或'∖0'是一样的。
4、设有以下定义,则数组Sl和s2()ocharsl[]={'S'z,t','r'∕i√n','g');chars2[]="String";A.长度不同,但内容相同B.长度相同,内容也相同C.长度相同,但内容不同D.长度不同,内容也不同正确答案:D解析:D、s2比Sl多一个∖0T长度多15、设已定义charstr[6]={,a√b√∖O√c√d√∖O,};执行语句printf(("%s",str)后,输出结果为()。
《Visual C++ 程序设计基础》练习题第一部分面向过程程序设计南通大学计算机科学与技术学院2006年3月第一章VC++语言的基础知识和简单的语句1.C++语言程序由〖C〗组成。
A)子程序B)过程C)函数D)主程序和子程序2.以下各标识符中,合法的用户标识符组为〖D〗。
A)PAd,P#d,b-b,abc,_0123,ssipedB)cin,a10,CPP,float,del_word,signedC)void,max,hiy,<fr>,list,*jerD)a,temp,_isw,INT,keep,wind3.在VC++中,char类型数据占〖A〗个字节,int类型数据占〖C〗个字节,short类型数据占〖B〗个字节,long类型数据占〖C〗个字节,float类型数据占〖C〗个字节,double类型数据占〖D〗个字节。
A)1 B)2 C)4 D)84.以下语句〖B〗。
int a=-2L; cout << a << endl;A)赋值不合法B)输出值为-2 C)输出为不确定值D)输出值为25.在VC++中,以下语句的输出为〖D〗。
short int k=-1;cout << k << ',' << (unsigned short)k <<endl;A)-1,-1 B)-1,32767 C)-1,32768 D)-1,655356.若有以下说明语句,则该语句〖B〗。
char s='\092';A)使s的值包含1个字符B)说明不合法,s的值不确定C)使s的值包含4个字符D)使s的值包含3个字符7.若a,b均为int型变量,为了将10赋给a,将20赋给b,则对应以下cin语句的正确输入方式为〖B〗。
(<CR>代表回车换行,_代表空格)。
cin >> a >> b;A)1020<CR> B)10_20<CR> C)10,20<CR> D)20_10<CR>8.以下语句的输出为〖D〗。
练习题一、选择题1.设有int x=1,y=2,z=3;下列关于语句的描述中,是错误的。
A.if(x>3) if(y>5) else z=6 ;z=7;B.if(x>=3) z=6;else z=7; else z=8;C.if(x<3) for(z=6;z<9;z++) ;else z=7;D.if(x<3) switch(z){ case 1: z=6;} else z=7;2.设有int x,a,b,c;下列合法的if语句是。
A.if(a==b)x++; B.if(a=<b)x++;C.if(a<>b)x++; D.if(a=>b)x++;3.设int a=1,b=2,c=3,d=4;则条件表达式a<b?a:c<d?c:d的值为。
A.1 B.2 C.3 D.4 4.下列关于switch语句,说法不正确的是。
A.switch语句后的一对大括号不能省略B.每一个case的出现顺序不影响程序执行的结果C.switch语句中的default子句只能放在最后D.每个case后的常量表达式的值必须互不相同5.以下关于if语句的错误描述是。
A.条件表达式可以是任意的表达式B.条件表达式只能是关系表达式或逻辑表达式C.条件表达式的括号不可以省略D.与else配对的if语句是其之前最近未配对的if语句6.对于程序段:int a=1,b=2,c=3;if(a=0)cout<<b<<'\n';else cout<<c<<'\n';执行上述语句序列后,下列说法正确的是。
A.a的值为0,输出2 B.a的值为1,输出2C.a的值为0,输出3 D.a的值为1,输出37.执行下列程序段后,a的值为。
int a=0;if(a>0) a++;else if(a<4)if(a<3)a+=3;else a+=4;else a+=5;A.2 B.3 C.4 D.58.执行下列程序,若输入1,则输出的结果是。
综合习题一、单选题1、以下选项中不能用做用户自定义标识符的是()。
A. length_B. _lengthC. length.dD. For2、以下选项中能用做用户自定义标识符的是()。
A. voidB. if-elseC. NameD. a+bc3、下列字符串中,正确的C++标识符是()。
A. too-BB. 2bC. newD. _2564、以下选项中不能用做变量名的是()。
A. forB. _lengthC. lengthD. Else5、下列不正确的int型常数是()。
A. 32450B. 0C. 0387D. 0xA1L6、以下选项中不合法的常量是()。
A. ‘a’B. 058C. “a\0b”D. 12L7、下列的常量定义中,错误的是()。
A. const double dl;B. const char c=67;C. const int i=250;D. const long ld=0x326;8、整型变量a、b的值分别为3和4,执行语句“a=a && b++ ;”后,a和b的值分别是( )。
A. 3 4B. 1 5C. 1 4D. 0 59、设有变量说明: int a=3,b=4,c=5; 下列表达式中,值为0的表达式是()。
A. ‘a’&&‘b’B. a<=bC. a | | b+c&&b–cD. !(c<b | | a<b)10、下列哪个表达式结果不是逻辑类型(只能取0或1)()。
A. x<=y?x&y:x|yB. a>b&&cC. a>b||c<dD. ‘a’+’b’>’z’11、设有变量说明:“short int a=0,b=0;”,则表达式sizeof('a'+'b')的值为()。
A. 1B. 2C. 4D. 812、表示关系x<=y<=z的C++语言表达式为()。
程序设计基础(C语言版)习题第01章绪论一.选择题1.以下叙述中正确的是________。
A)程序设计的任务就是编写程序代码并上机调试B)程序设计的任务就是确定所用数据结构C)程序设计的任务就是确定所用算法D)以上三种说法都不完整【解析】程序设计通常分为问题建模、算法设计、编写代码和编译调试四个阶段。
所以选项A)、B)、C)说法都不完整。
2.以下关于简单程序设计的步骤和顺序的说法中正确的是。
A)确定算法后,整理并写出文档,最后进行编码和上机调试B)首先确定数据结构,然后确定算法,再编码,并上机调试,最后整理文档C)先编码和上机调试,在编码过程中确定算法和数据结构,最后整理文档D)先写好文档,再根据文档进行编码和上机调试,最后确定算法和数据结构【解析】设计一个能解决实际问题的计算机程序需要经过以下几个过程:①建立模型。
②算法设计:给出解决问题的步骤,即算法。
③算法表达:选择一种表达算法的工具,对算法进行清晰的表达。
④编写程序:选择一种程序设计语言,把以上算法程序化,这称为编写程序。
⑤程序调试:对编写好的程序进行调试,修改程序中的错误。
⑥程序文档编写与程序维护。
综上所述,B)选项是符合上述描述的,其他选项不恰当。
3,叙述中正确的是________。
A)C程序的基本组成单位是语句B)C程序中的每一行只能写一条语句C)简单C语句必须以分号结束D)C语句必须在一行内写完【解析】函数是C程序的基本组成单位;C语言书写风格很自由,不但一行可以写多个语句,还可以将一个语句写在多行中。
故本题答案为C)。
4.以下叙述中正确的是。
A)C程序中的注释只能出现在程序的开始位置和语句的后面B)C程序书写格式严格,要求一行内只能写一个语句C)C程序书写格式自由,一个语句可以写在多行上D)用C语言编写的程序只能放在一个程序文件中【解析】在C语言中,注释可以加在程序中的任何位置,选项A)错误。
C程序可以分模块写在不同的文件中,编译时再将其组合在一起,选项D)错误。
2-1CRect c;GetClientRect(c);pDC->SetMapMode(7);pDC->SetWindowExt(100,100);pDC->SetViewportExt(100,-100);pDC->SetWindowOrg(0,0);pDC->SetViewportOrg(c.right /2,c.bottom/2);POINT p1[4]={-240,0, 0,120, 240,0, -240,0};POINT p2[9]={-160,0, -160,40, -80,0, -80,80, 0,0, 80,80, 80,0, 160,40, 160,0};pDC->MoveTo(-240,0);pDC->Polyline(p1,4);pDC->MoveTo(-160,0);pDC->Polyline(p2,9);pDC->MoveTo(0,0);pDC->LineTo(0,120);2-2Cpen*pPen,*pOldPen;int i;int c[16]={RGB(0,0,0), RGB(0,0,128)RGB(0,128,0), RGB(128,0,128)RGB(128,0,0), RGB(128,128,128)RGB(128,128,0), RGB(0,128,128)RGB(255,0,0), RGB(0,0,255)RGB(0,255,0), RGB(255,255,0)RGB(255,0,255), RGB(0,255,255)RGB(255,255,255), RGB(255,255,128)for(i=15;i>=1;i--){pPen=new CPen(PS_SOLID,2,c[i]);pOldPen=pDC->SelectObject(pPen);CRect r=300-10*i,100,300+10*i,100+2*10*i);pDC->Ellipse(r);pDC-> SelectObject(pOldPen);delete pPen;}}2-3#include”math.h”CRect rc;GetClientRect(&rc);pDC->SetMapMode(MM_ISOTROPIC);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);int r1=100;double r2=38.2,pi=3.141592654/180;POINT p[11]={0,100,-r2*sin(36*pi),r2*cos(36*pi),-r1*sin(72*pi),r1*cos(72*pi),-r2*sin(36*3*pi),r2*cos(36*3*pi),-r1*sin(36*4*pi),r1*cos(36*4*pi),0,-r2,r1*sin(36*pi),-r1*cos(36*pi),r2*sin(36*3*pi),r2*cos(36*3*pi),r1*sin(72*pi),r1*cos(72*pi),r2*sin(36*pi),r2*cos(36*pi),0,100 };BYTE pt[11]={PT_MOVETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT _LINETO,PT_LINETO,PT_LINETO,PT_LINETO,PT_LINETO};pDC->PolyDraw(p,pt,11);2-4CRect rc;GetClientRect(&rc);pDC->SetMapMode(MM_LOMETRIC);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);pDC->MoveTo(85,0);pDC->LineTo(-85,0);pDC->MoveTo(-75,10);pDC->AngleArc(-75,0,10,-90,-90);pDC->MoveTo(-75,10);pDC->LineTo(-15,10);pDC->LineTo(-15,70);pDC->AngleArc(-5,70,10,-90,-90);pDC->Rectangle(-5,0,5,100);pDC->MoveTo(85,0);pDC->AngleArc(75,0,10,-90,90);pDC->MoveTo(75,10);pDC->LineTo(15,10);pDC->LineTo(15,70);pDC->AngleArc(5,70,10,-90,90);2-5#include "math.h"CRect rc;GetClientRect(&rc);pDC->SetMapMode(7);pDC->SetWindowOrg(0,0);pDC->SetViewpointOrg(rc.right/2,rc.bottom*3/4);pDC->SetWindowExt(100,100);pDC->SetViewpointExt(100,-100);CPen pen(PS_SOLID,3,RGB(0,0,0));pDC->SelectObject(&pen);POINT p1[5]={-60,20,-60,0,-280,0,-280,225,-sqrt(150*150-125*125),225};POINT p2[5]={-60,20,-60,0,280,0,280,225,sqrt(150*150-125*125),225};pDC->Polyline(p1,5);pDC->Polyline(p2,5);pDC->Arc(-100,200,100,0,60,20,-60,20);pDC->Arc(-150,250,150,-50,-sqrt(150*150-125*125),225, -sqrt(150*150-125*125),225);2-6#include "math.h"CRect rc;GetClientRect(&rc);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);pDC->MoveTo(70,0);pDC->AngleArc(0,0,70,0,180);int i;double p=3.1415926/180,x,y;pDC->MoveTo(140,0);for(i=0;i<360;i++){x=140*cos(p*i);y=50*sin(p*i);if(x*x+y*y<70*70&&y<0)pDC->SelectStockObject(NULL_PEN);elsepDC->SelectStockObject(BLACK_PEN);pDC->LineTo(x,y);}2-7#include"math.h"CRect rc;GetClientRect(&rc);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);int j;double p=3.141592654/180,x,y;double a,b;a=sqrt(150*150-50*j*50*j);b=50*j;pDC->MoveTo(-150,0);pDC->LineTo(150,0);pDC->SelectStockObject(NULL_BRUSH);for(j=0;j<4;j++){x=150*sin(30*j*p);pDC->Ellipse(x,150,-x,-150);}pDC->MoveTo(0,-150);pDC->LineTo(0,150);pDC->MoveTo(sqrt(150*150-50*50),-50);pDC->LineTo(-sqrt(150*150-50*50),-50);pDC->MoveTo(sqrt(150*150-50*2*50*2),100);pDC->LineTo(-sqrt(150*150-50*2*50*2),100);pDC->MoveTo(sqrt(150*150-50*50),50);pDC->LineTo(-sqrt(150*150-50*50),50);pDC->MoveTo(sqrt(150*150-50*2*50*2),-100);pDC->LineTo(-sqrt(150*150-50*2*50*2),-100);2-8#include"math.h"CRect rc;GetClientRect(&rc);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);int i;double x,y,r,p=3.141592654/180;for(i=0;i<3600;i++){ r=120*cos(1.5*i*p);x=cos(i*p)*r;y=sin(i*p)*r;pDC->LineTo(x,y);pDC->MoveTo(0,0);pDC->LineTo(x,y);}2-9#include"math.h"CRect rc;GetClientRect(rc);pDC->SetViewportOrg(rc.right/2,rc.bottom/2); pDC->Ellipse(-75,-75,75,75);pDC->Ellipse(-70,-70,70,70);int i;double x[14],y[14],x1[14],y1[14],x2[14],y2[14]; pDC->MoveTo(70,0);for(i=0;i<=6;i++){x1[i]=(sqrt(49*10*10-i*i*10*10));y1[i]=10*i;x1[13-i]=-x1[i];y1[13-i]=10*i;}for(i=0;i<=13;i++){ x[i]=x1[i]*cos(3.14/4)-y1[i]*sin(3.14/4);y[i]=y1[i]*cos(3.14/4)+x1[i]*sin(3.14/4);x2[i]=x1[i]*cos(3.14/4)+y1[i]*sin(3.14/4);y2[i]=-y1[i]*cos(3.14/4)+x1[i]*sin(3.14/4); }for(i=0;i<=6;i++){pDC->MoveTo(x[i],-y[i]);pDC->LineTo(x[13-i],-y[13-i]);pDC->MoveTo(x2[i],-y2[i]);pDC->LineTo(x2[13-i],-y2[13-i]);}2-10#include "math.h"CRect rc;GetClientRect(&rc);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);pDC->SetMapMode(MM_LOMETRIC);int i;int x[11],y[11];for(i=0;i<11;i++){x[i]=20*i;y[i]=10+10*pow(-1.0,double(i+1))+0.4*20*i;//x[i]=20*i;//y[i]=10+10*pow(-1.0,double(i+1));}pDC->MoveTo(x[0],y[0]+20);pDC->LineTo(x[10],y[10]+20);pDC->MoveTo(x[0],y[0]+85);pDC->LineTo(x[10],y[10]+85);for(i=0;i<11;i++){pDC->MoveTo(x[i],y[i]);pDC->LineTo(x[i],85+0.4*20*i);}2-11#include"math.h"CRect rc;GetClientRect(&rc);pDC->SetViewportOrg(rc.right/2,rc.bottom/2);int i,j;double x,y,p=3.141592654/180;pDC->MoveTo(100*cos(22.5*p),100*sin(22.5*p));for(j=1;j<9;j++){for(i=0;i<360;i++){x=100*cos(i*p)*cos(j*22.5*p)-40*sin(i*p)*sin(j*22.5*p);y=100*cos(i*p)*sin(j*22.5*p)+40*sin(i*p)*cos(j*22.5*p);pDC->LineTo(x,y);}pDC->MoveTo(100*cos((j+1)*22.5*p),100*sin((j+1)*22.5*p));}2-12#define fnx(x) (int)(xo+(x)*s*sl)#define fny(y) (int)(yo-(y)*sl)CRect rc;GetClientRect(rc);CString sa="欢迎参观指导";TEXTMETRIC tm;xo=rc.right/2;yo=rc.bottom/2+100;s=1;sl=0.5;draw();s=-s;draw();int a=xo-50,b=yo-150;pDC->SelectStockObject(ANSI_FIXED_FONT);pDC->TextOut(a,b,sa);void CGgView::draw(){int i;CClientDC dc(this);dc.MoveTo(fnx(0),fny(50));dc.LineTo(fnx(300),fny(50));dc.Rectangle(fnx(165),fny(50),fnx(215),fny(250));dc.Rectangle(fnx(155),fny(250),fnx(225),fny(260));dc.Arc(fnx(190-25),fny(260-25),fnx(190+25),fny(260+25),xo+300,fny(260), xo-300,fny(260));dc.MoveTo(fnx(215),fny(55));dc.LineTo(fnx(300),fny(55));dc.MoveTo(fnx(215),fny(190));dc.LineTo(fnx(300),fny(190));dc.MoveTo(fnx(215),fny(195));dc.LineTo(fnx(300),fny(195));for(i=1;i<=4;i++){dc.MoveTo(fnx(215+20*i),fny(55));dc.LineTo(fnx(215+20*i),fny(190));}}。
VC习题参考答案1.7指针和引用55.已知intd=5,某pd=&d,b=3;求下列表达式的值。
A.某pd某bB.++某pd-bC.某pd++D.++(某pd)答:15,3,5,656.选择填充。
(1)选择正确的说明语句为()。
A.intN['b'];B.intN[4,9];C.intN[][];D.int某N[10];答:B(2)若有定义:inta=100,某p=&a;则某p的值是()。
A.变量p的地址B.变量a的地址值C.变量a的值D.无意义答:C.(3)下述程序的输出结果是()。
#includevoidmain(){inta[5]={2,4,6,8,10};int某p=a,某某q=&p;cout<A.4,4B.2,2C.4,2D.4,5答:B(4)下述程序片段的输出是()。
inta[3][4]={{1,2,3,4},{5,6,7,8}};int某,某p=a[0];某=(某p)某(某p+2)某(某p+4);cout<A.15B.14C.16D.13答:A(5)若有以下定义,则下列对数组引用正确的是()。
int(某q)[3]=newint[2][3];A.q[2][3]B.某qC.某(某q+2)D.某(某(q+2)+3)答:C(6)若要用如下程序片段使指针变量p指向一个存储动态分配的存储单元:float某p;p=(float某)newfloat;则空白处应填入:A.float某B.某floatC省略;D.(float)(7)下列表示引用的方法中,()是正确的。
已知:intm=10;A.int&某=m;B.int&y=10;C.int&z;D.float&t=&m;答:A57.分析下列程序的结果。
#includeint&fun(intn,int[]){int&m=[n];returnm;}voidmain(){int[]={15,4,3,2,1,0};fun(3,)=10;cout<答:1058.用指针作为函数的参数,设计一个实现两个参数交换的函数。
第四章课后习题答案4.4解:方法1:使用if 语句的嵌套形式#include <stdio.h>void main(){int a,b,c;printf("please input the three numbre:");scanf("%d,%d,%d",&a,&b,&c);if(a<b)if(b<c) printf("max=%d\n",c);else printf("max=%d\n",b);elseif(a<c) printf("max=%d\n",c);else printf("max-%d\n",a);}方法2:使用条件表达式#include <stdio.h>void main(){int a,b,c,temp,max;printf(" please input a,b,c: ");scanf("%d,%d,%d",&a,&b,&c);printf("a=%d,b=%d,c=%d\n",a,b,c);temp=(a>b)?a:b;max=(temp>c)? temp:c;printf("The max number in A,B,C is %d",max);}4.6解:#include <stdio.h>void main(){int x,y;printf("please input the x:"); scanf("%d",&x);if(x<1){y=x;printf("X=%d,Y=X=%d\n",x,y);}else if(x<10){y=2*x-1;printf("X=%d,Y=2*X-1=%d\n",x,y);}else{y=3*x-11;printf("X=%d,Y=3*X-11=%d \n",x,y); }}4.8解:#include <stdio.h>void main(){float score;char grade;printf("please input the scores:"); scanf("%f",&score);while(score>100||score<0){printf("\n The input is wrong!please input again:");scanf("%f",&score);}switch((int)(score/10)){case 10:case 9:grade='A';break;case 8:grade='B';break;case 7:grade='C';break;case 6:grade='D';break;case 5:case 4:case 3:case 2:case 1:case 0:grade='E';}printf("The score is %5.1f,the grade is %c.\n",score,grade); }4.9解:#include <stdio.h>void main(){long int num;int indiv,ten,hundred,thousand,ten_thousand,place;printf("please input a number(0-99999):");scanf("%ld",&num);while(num>99999||num<0){printf("the input is wrong! please input again:");scanf("%ld",&num);}if(num>9999)place=5;else if(num>999)place=4;else if(num>99)place=3;else if(num>9)place=2;else place=1;printf("place=%d\n",place);printf("the per number :");ten_thousand=num/10000;thousand=num/1000%10;hundred=num/100%10;ten=num%100/10;indiv=num%10;switch(place){case5:printf("%d,%d,%d,%d,%d\n",ten_thousand,thousand,hundred,ten,indiv); printf("The number in reverse order:");printf("%d%d%d%d%d\n",indiv,ten,hundred,thousand,ten_thousand); break;case 4:printf("%d,%d,%d,%d\n",thousand,hundred,ten,indiv);printf("The number in reverse order:");printf("%d%d%d%d\n",indiv,ten,hundred,thousand);break;case 3:printf("%d,%d,%d\n",hundred,ten,indiv);printf("The number in reverse order:");printf("%d%d%d\n",indiv,ten,hundred); break;case 2:printf("%d,%d\n",ten,indiv); printf("The number in reverse order:"); printf("%d%d\n",indiv,ten);break;case 1:printf("%d\n",indiv);printf("The number in reverse order:"); printf("%d\n",indiv);break;}}。
1.C++源程序文件的缺省扩展名为(A)。
A.cpp B.exe C.obj D.lik2.有关函数重载的要求哪一个是正确的(D)。
A.必须保证参数类型和返回值类型均不同。
B.必须保证返回值类型不同。
C.必须保证参数的数量不同。
D.必须保证参数类型或数量不同。
3.下面关于类和对象的描述中,错误的是(A)A.类就是C语言中的结构体类型,对象则是结构体变量B.类和对象之间的关系是抽象和具体的关系C.对象是类的实例,一个对象必须属于一个已知的类D.类是具有共同行为的若干对象的统一描述体4.下面的哪个选项不能作为函数的返回类型?(C)A.void B.int C.new D.long5.对类的构造函数和析构函数描述正确的是(A)A.构造函数可以重载,析构函数不能重载B.构造函数不能重载,析构函数可以重载C.构造函数可以重载,析构函数也可以重载D.构造函数不能重载,析构函数也不能重载6.如果类A被说明成类B的友元,则(D)A.A的成员即B的成员B.B的成员即A的成员C.A的成员函数不得访问B的成员D.B不一定是A的友元7.存在定义int a[10],x,*pa;,若pa=&a[0],下列的哪个选项和其他3个选项不是等价的?(A)A.x=*pa;B.x=*(a+1);C.x=*(pa+1);D.x=a[1];8.下列关于构造函数说法不正确的是(C)A.构造函数必须与类同名B.构造函数可以省略不写C.构造函数必须有返回值D.构造函数中可以重载9.下列语句中,错误的是()。
A.int*p=new int(5);B.int*p=new int[5];C.int*p=new int[20](0);D.int*p=new int;10.在SDK编程中每个工程必须有且只有一个(D)函数。
A.main()B.MAIN()C.WINMAIN()D.WinMain()11、下列各种高级语言中,(C)是面向对象的程序设计语言.A.BASIC B.PASCAL C.C++D.Ada12、设有定义int x;float v;,则表达式10+x+v值的数据类型是(B).A.int B.double C.float D.不确定13、在int a[5]={1,3,5};中,数组元素a[1]的值是(C).A.1B.0C.3D.214、下列十六进制的整型常数表示中,(C)是错误的.A.Oxaf B.Oxlb C.2fx D.OxAE15、有一个int型变量,在程序中使用频度很高,最好定义它为(A). A.register B.auto C.extern D.static16、当一个函数无返回值时,该函数的类型应定义为(A).A.void B.任意C.int D.无17、下面说法正确的是(A)A.构造函数可以重载,析构函数不能重载。
B.构造函数不能重载,析构函数可以重载。
C.构造函数可以重载,析构函数也可以重载。
D.构造函数和析构函数都不可以重载。
18、下面关于类概念的描述中,(D)是错误的.A.类是抽象数据类型的实现B.类是具有共同行为的若干对象的统一描述体C.类是创建对象的样板D.类是C语言中的结构类型19、设有函数定义F(int&i),变量定义int n=10,则下面调用正确的是(D)。
A.F(20)B.F(10+n)C.F(n)D.F(&n)20、关于成员函数的描述中,(B)是错误的.A.类中可以说明一个或多个成员函数B.类中的成员函数只能定义在类体外C.定义在类体外的成员函数前加inline可以成为内联函数D.在类体外定义成员函数时,在函数名前除了加类型说明符外,还需用作用域符来限定该成员函数所属的类21下列哪个是c++语言的有效标识符?(A)A.N01B.No.1C.12345D.int22.决定C++语言中函数的返回值类型的是(D)A.return语句中的表达式类型B.调用该函数时系统随机产生的类型C.调用该函数时的主调用函数类型D.在定义该函数时所指定的数据类型23.对类成员访问权限的控制,是通过设置成员的访问属性来控制的,以下不是访问控制属性的是(D)A.公有类型B.私有类型C.保护类型D.友元类型24.下列关于内联函数的说法正确的是(B)A.运行时将该函数的目标代码插入每个调用该函数的地方B.编译时将该函数的目标代码插入每个调用该函数的地方C.必须在类体内定义D.必须在类体外通过加关键字inline定义25.如果类A被说明成类B的友元,则(D)A.类A的成员即类B的成员B.类B的成员即类A的成员C.类A的成员函数不得访问类B的成员D.类B不一定是类A的友元26.下列运算符中,在C++语言中不能重载的是(C)A.++B.>=C.::D./27.以下哪项创建了名为dog的Animal对象(B)。
A.Animal“dog”;B.Animal dog;C.dog“Animal”;D.dog Animal;28.执行语句int i=2.8*6后,i的值为(B)。
A.12B.16C.17D.1829.以下哪项表明displayBreed()函数是Animal类的成员函数(A)。
A.Animal::displayBreed()B.Animal.displayBreed() C.displayBreed()::Animal D.displayBreed()&&Animal30.若有定义:int x=0,*p=&x;,则语句:cout<<*p;的输出结果是(D)。
A.随机值B.p的地址C.x的地址D.031、在面向对象编程中,对象的抽象集合称为(C)。
A.对象B.集合C.类D.实例32、下列各运算符中,(C)运算的结合性从左到右。
A.三目B.赋值C.比较D.单目33、在int a[5]={1,3,5};中,数组元素a[2]的值是(B).A.1B.5C.3D.234、下面(A)是函数重载。
A.void play(int)和void play(float)B.play()和~play()C.void play(int)和int play(int)D.void play()和int play()35、有一个int型变量,在程序中使用频度很高,最好定义它为(A).A.register B.auto C.extern D.static36、设有int x,a,b,c;下列合法的if语句是(A)。
A.if(a==b)x++;B.if(a=<b)x++;C.if(a<>b)x++;D.if(a=>b)x++;37、下列语句的运行结果为(D)#include<iostream.h>struct COMPLEX{int x;int y;}cNum[2]={1,3,2,7};void main(){cout<<cNum[0].y*cNum[1].x<<endl;}A.3B.2C.21D.638、类CNum的缺省构造函数和析构函数是(A)A.CNum()和~CNum()B.CNum(int)和~CNum()C.CNum()和~CNum(delete)D.CNum()和int~CNum()39、对于类中定义的成员,其隐含访问权限为(B)A.protected B.private C.public D.static40、关于成员函数的描述中,(B)是错误的.A.类中可以说明一个或多个成员函数B.类中的成员函数只能定义在类体外C.定义在类体外的成员函数前加inline可以成为内联函数D.在类体外定义成员函数时,在函数名前除了加类型说明符外,还需用作用域符来限定该成员函数所属的类41、以下符号中,可作为C++标志符的是(A)。
A.Int B.2abc C.break D.var-name42、存储以下数据,占用存储字节最多的是(D)。
A.’\0’B.‘0’C.“0”D.0.043、变量的指针,其含义是指该变量的(B)。
A.值B.地址C.名D.一个标志44、如果一个函数作为表达式被调用,则该函数必须是(A)。
A.有返回值的函数B.无返回值的函数C.有参函数D.无参函数45、执行以下语句序列int j=0;while(j<25)j+=3;cout<<j<<endl;输出的结果是(D)。
A.24B.25C.28D.2746、设有int p=6,q=1;下列语句中不正确的是(C)。
A.p*=3;B.p/=q;C.p&&=q;D.p+=3;47、下列定义常量的语句中语法不正确的是(D)。
A.const int I=1;B.const char c=97;C.const long ld=1;D.const double d;48、为了避免嵌套的if-else语句的二义性,C++规定else总是与(A)组成配对关系。
A.在其之前最近的未配对的if B.在其之前未配对的ifC.缩排位置相同的if D.同一行上的if49、在类外定义类的成员函数时,应当使用(B)来标识该函数为特定类的成员。
A.:B.::C.->D..50、一个类的析构函数是在(C)时被自动调用。
A.使用该类对象前B.使用该类对象后C.该类对象撤消D.定义该类对象51、以下语句中,不存在语法错误的是(B)。
A.int10long;B.int_2int;C.float X3-Dmax;D.char break;52、若有定义:int a[9],*p=a;下面不能表示a中第二个元素地址的表达式是(C)。
A.p+1B.a+1C.a++D.++p53、若a,b均为int型变量,为了将10赋给a,将20赋给b,则对应输入语句cin>>a>> b的正确输入方式为(B)。
A.1020<CR>B.1020<CR>C.10,20<CR>D.2010<CR>54、以下叙述不正确的是(A)。
A.在C++程序中,注释只能位于一条语句的后面B.在C++程序中,严格区分大小写字母C.一个C++源程序有且仅有一个main函数D.一个C++程序总是从main函数开始执行55、执行以下语句序列int j=0;while(j<25)j+=3;cout<<j<<endl;输出的结果是(D)。
A.24B.25C.28D.2756、在面向对象编程中,对象的抽象集合称为(C)。
A.对象B.集合C.类D.实例57、下列定义变量和常量的语句中语法正确的是(C)。
A.float i,int k;B.const int i;C.const int k=1;D.#define PI=3.1458、类CPen的缺省构造函数和析构函数是(A)。