《C++语言程序设计》综合练习与期末复习题
说明:本综合练习题中的各数据类型长度均参照16位编译系统的相关规定。例如:整型(int)数据占用2个字节的存储单元。
一、语法选择题
1.由C++源程序文件编译而成的目标代码文件的缺省扩展名为( )。 A.cpp B.exe C.obj D.lik
2.设x和y均为bool类型,则x&&y为真的条件是( )。 A.它们均为真 B.其中一个为真 C.它们均为假 D.其中一个为假
3.设有int i;则表达式i=1,++i,++i||++i;i的值为 ( )。 A.1 B.2 C.3 D.4
4.设有int i;则表达式i=1,++i, i++&&++i; i的值为 ( )。 A.1 B.2 C.3 D.4
5.设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值依次是 ( )。
A.10,11,12 B.11,12,12 C.10,12,12 D.11,11,12 6.设有int i, j, k; 则表达式i=1,j=2,k=3, i&&j&k 的值为 ( )。 A.1 B.2 C.63 D.0
7.设有说明int s[2]={0,1},*p=s; 则下列错误的C++语句是( )。 A.s+=1; B.p+=1; C.*p++; D. (*P)++;
8.若有char a[3]= {?A?,?\\0?,?D?},*P=a,i=2,j=4;则下列表达式值不是1的有( )。
A.strlen (a); B.j‖j; C.* (P+1); D.- -ⅰ; 9.表达式4‖3‖2‖1的值为( )。 A.1 B.2 C.3 D.4 10.表达式1&3&5&7的值为( )。 A.1 B.3 C.5 D.7
11.设a、b和c都是int型变量,且a=3,b=4,c=5,则下列表达式中,值为0的表达式是( )。
A.'A'&&'B' B.a<=b
C.c>=b||b+c&&b-c         D. a<=b+c&&c>=a+b 12.若x和y都是int型变量,x=100,y=200,则下面程序片段cout<<(x,y)<   1  A.200            B.100  C.100 200         D.输出格式符不够,输出不确定的值  13.下面各语句中,能正确进行字符串赋值操作的语句行是(   )。 A.char  s[4][5]={\  B. char s[5]={'A','B','C','D','E'} C. Char *s;  s=\D. char *s;  cin>>s;  14.若有:int a[6]={4,5,6,9,5,7},*p=a, *q=p;  则对数组元素的错误引用是(   )。  A. a[4]     B. *(p+4)   C. *a++    D. *q++ 15.下列不正确的转义字符是(   )。 A.'\\\\'      B.'\\\    C.'074'     D.'\\0' 16.若有以下定义:   char a; int b;   float c; double d;    则表达式a*b+d-c*b值的类型为(   )。 A. float      B. int      C. char      D. double 17.表示关系x<=y<=z的C++语言表达式为(   )。 A. (x<=y)&&(y<=z)         B. (x<=y)AND(y<=z)  C. (x<=y<=z)               D. (x<=y)&(y<=z)  18.设x和y均为int型变量,则执行下面的循环后,y值为(   )。   for(y=1,x=1;y<=50;y++)   { if(x>=10)}break;    if (x%2==1)    { x+=5; continue;}   x-=3;   }  A.2       B. 4         C. 6         D. 8 19.给出以下定义:    char x[ ]=\   char y[ ]={'a','b','c','d','e','f','g'};   则正确的叙述为(   )。 A.数组X和数组Y等价   B.数组X和数组Y的长度相同  C.数组X的长度大于数组Y的长度 D.数组X的长度小于数组Y的长度 20.以下叙述中不正确的是(   )。  A.在不同的函数中可以使用相同名字的变量  2    B.函数中的形式参数是局部变量  C.在一个函数内定义的变量只在本函数范围内有效  D.在一个函数内的复合语句中定义的变量在本函数范围内有效 21.假定a和b为int型变量,则执行以下语句后b的值为(   )。   a=1; b=10;   do    { b-=a; a++; }   while (b--<0);  A. 9      B. –2       C. -1      D. 8  22.对于结构中定义的成员,其隐含访问权限为(   )。 A. public                    B. protected  C. private                    D. static  23.设P1和P2是指向同一个int型一维数组的指针变量,k为int型变量,则不能正确执行的语句是(   )。  A.k=*P1+*P2;               B.p2=k;  C.P1=P2;                   D.K=*P1 * (*P2); 24.设有如下定义:    int arr[]={6,7,8,9,10};   int * ptr;    则下列程序段的输出结果为(   )。    ptr=arr;    * (ptr+2)+=2;    cout<<*ptr<<*(ptr+2)< A.8,10     B.6,8     C.7,9     D.6,10 25.执行以下程序段后,m的值为(   )。   int a[2][3]={ {1,2,3},{4,5,6} };   int m,*p;   p=&a[0][0];    m=(*p)*(*(p+2))*(*(p+4));  A. 15       B. 14        C. 13        D. 12  26.当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的隐含打开方式为(    )。  A. ios::in                    B. ios::out  C. ios::in | ios::out             D.没有  27.设有定义 int (*ptr)();  则以下叙述中正确的是(   )。 A. ptr是指向一维数组的指针变量   B. ptr是指向int型数据的指针变量    C. ptr是指向函数的指针,该函数返回一个int型数据    3    D.ptr是一个函数名,该函数的返回值是指向int型数据的指针  28.设有以下说明和定义:   typedef union     { long i; int k[5]; char c; }DATE;   struct date     { int cat; DATE cow; double dog; } too;   DATE max;    则下列语句的执行结果是(   )。    cout<<(sizeof (struct date ) +sizeof(max))<   { char a[]=\, b[]=\  char *p1,*p2;    int i;    p1=a; p2=b;   for(i=0;i<7;i++)    if(*(p1+i)==*(p2+i))  cout<<*(p1+i);   }    输出结果是(   )。  A. gm      B. rg      C. or      D. ga 30.执行以下程序后的输出结果为(   )。   viod fun (int a,int b,int c)    { a=4; b=5; c=6;a=b+c;b=c+a;c=a+b;}   main()    { int x=10, y=20,z=30;   fun (x,y,z);    cout< A.30,20,10             B.10,20,30 C.11,17,28             D.4,5,6 31.执行以下程序后的输出结果为(   )。   int fun(int x,int y,int *cp,int *dp)   { *cp=x+y; *dp=x-y; }   main()    { int a, b, c, d;   a=30; b=50;    fun(a,b,&c,&d);   4      cout< A.50,30     B.30,50    C.80,-20     D.80,20  32.设x和y均为int型变量,则以下语句x+=y; y=x-y; x-=y; 的功能是(   )。  A.把x和y按从大到小排列 B.把x和y按从小到大排列  C.无确定结果  D.交换x和y中的值  33.以下程序的输出结果是(   )。  main()  { int a=12,b=12;   cout<<(--a)<<”   ”<<(++b)< A.10  10    B.12  12    C.11  10    D.11  13 34.以下程序运行后,输出结果是(   )。   main()    { char *s=\  s+=2;     cout< A.cde                 B.字符c的ASCII码值 C.字符c的地址        D.出错 35.当执行以下程序段时(   )。  x=-1;  do { x=x*x;} while( !x);  A.循环体将执行一次       B.循环体将执行两次  C.循环体将执行无限次     D.系统将提示有语法错误 36.执行以下程序后,输出的结果是(   )。  main() { int y=10;  do {y--;} while(--y); cout<<(y--)< A.-1       B.1     C.8    D.0  37.若有 int  a; 则表达式语句 a+=a -=a*a; 等价于下列哪组表达式语句(   )。  A. a+a;  a*a;           B.a=a+a;  a=a-a*a;     5  百度搜索“77cn”或“免费范文网”即可找到本站免费阅读全部范文。收藏本站方便下次阅读,免费范文网,提供经典小说综合文库《C++语言程序设计》综合练习与期末复习题在线全文阅读。
相关推荐: