1、C++语言程序设计复习题 一、单项选择题 1. 在定义函数的格式类型修饰符 函数名 (形式参数表)函数体;中,函数体能够是( )。 A、基本语句 B、复合语句 C、空语句 D、语句序列 2.A>B&&A<=B的值( )。 A、为true B、为false C、与A>B 的值相同 D、与A<=B的值相同 3.每一个实在参数就是一个( )。 A、体现式 B、常量 C、变量 D、函数调用 4. 假定AB为一个类,则该类的拷贝结构函数的申明语句为________。 A AB&(AB x); B
2、AB(AB x) C AB(AB &x); D AB(AB* x) 5. 对于结构中定义的组员,其隐含访问权限为________。 A public B protected C private D static 6.当使用fstream流类定义一个流对象并打开一个磁盘文献时,文献的隐含打开方 式为________。 A ios::in B ios::out C ios::in | ios::out D 没有 7.在PC机中运行的C++ 语言程序,char类型的数据
3、占 字节。 A、1 B、2 C、3 D、4 8.指出下列哪种基本类型是错误的 B 。 A、float B、integer C、char D、long 9.若a,b,c均为整型变量,则体现式a=2,b=a+2,c=0的值为 。 A、不定 B、2 C、4 D、0 10.设char t=’A’;则体现式5+0.6+t值的数据类型为 。 A、int B、float C、不确定 D、double 11.如下 为不正确的if语句。 A、
4、if (x>y); B、if (x= =y) x+y;
C、if (x! = y) cin>>x else cin>>y; D、if(x 5、ntinue语句的作用相同
C、 在循环语句中使用break语句是为了使流程跳出循环体,提前结束循环
D、 在循环语句中使用continue语句是为了结束本次循环,而不是终止整个循环的执行。
14.下列有关函数定义的说法,正确的是 。
A、函数定义时,能够嵌套 B、函数定义不能够嵌套,但能够嵌套调用
C、主函数main()内能够定义函数 D、函数定义能够嵌套,调用也能够嵌套。
15.若有如下阐明语句
int a[3][4]={2,3,4,5,3,4,5,6,4,5,6,7};
则正确对数组元素引用为 。
A、*(a+1) 6、 B、*(a[3]+2) C、a[1]+3 D、a[0][0]
16.若定义如下的共同体类型变量x,则x所占用的内存字节数为 (以IBM PC机为例)
union data
{ int i;
char ch;
double f;
}x;
A、7 B、11 C、8 D、10
二、填空题
1.应用程序TEST.CPP中只有一个函数,这个函数的名称是 main 。
2.5|6,5&6和5^6的值分别是 7 , 4 和 3 。
3.不借助于其他变量互换x和y两个变量的值,应次序 7、执行的三个赋值语句是 x=x+y , y=x-y 和 x=x-y 。
4.下面的语句显示输出8行8列数组h的主对角线上的所有元素,请补充完整:
for( i=0 ; i<8 ;i++)cout<< h[i][i] <<' ' ;
5.若一函数是以return;结束运行的,阐明该函数是 无参 函数。
6.若正常执行了如下语句:
int m[20],*p1=&m[5],*p2=m+17,n;
n=p2-p1;
则n的值为 12 。
7.已知' A'一'Z'的ASCII码为65—90,当执行"char ch=14*5+ 8、2;cout< 9、句之间必须用 ; 分隔。
14.在C++程序中, = 运算符优先级最低。
15.在C++语言中,在IBM PC机环境下,double型数据占 8 字节。
16.若k 为int型变量,则下列语句的输出为 16 。
k=017;
cout<<++k;
17.体现式 b*b-4*a*c>0 是判断一元二次方式ax2+bx+c=0有实根的体现式。
18.体现式(b=10)&&(c=0)的值为 0 。
19.已知a的ASCII的十进制代码为97,则体现式10+15.2-27*(‘a’-‘b’)的值为 52.2 10、 。
20.在C++语言中,& 作为双目运算符时表示的是 按位与 ,而作为单目运算时表示的是 引用 。
21.一个函数由函数 名 和函数 体 两部分组成。
22.C++在执行过程中不检查数组是否 越界 。
23.C++语言要求,调用一个函数时,实参数变量与形参数变量之间的数据传递是 。
24.指针变量的指针是 地址 。
25.结构体变量中的组员的引用一般形式:结构变量名.组员名 。
26.写出满足A>B则把A+B赋给M的if语句 if(A>B) M=A 11、B 。
27.写出指向int型变量的指针变量p的一个定义语句: int *p 。
三、给出下列程序运行后的输出成果
1.#include 12、 case 'C': case 'c':
cout<<"pass ! "; break;
default:
cout<<"bad! "; break;
}
cout< 13、
2.#include 14、ndl;
}
答案:86 72
3.#include 15、25 27
4. #include 16、
class A {
int a,b;
public:
A() {a=b=0;}
A(int aa, int bb) {
a=aa; b=bb;
cout<
v 17、oid main()
{int m=3,x=4,y=4,z=7;
m=(m 18、t;}
if(y>z)
{t=y;y=z;z=t;}
cout>>“x=”>>x>>’ ‘>>”y=”>>y>>’ ‘>>”z=”>>z;
}
void main()
{ int a,b,c;
cin>>a>>b>>c;
cout>>“a=”>>a>>’ ‘>>”b=”>>b>>’ ‘>>”c=”>>c;
sort(a,b,c);
cout>>“a=”>>a>>’ ‘>>”b=”>>b>>’ ‘>>”c=”>>c;
}
假设输入为:10 6 8 19、b=6 c=8
8. #include 20、果为:
答案: **form*****
四、写出下列每个函数的功效
1. int Count(double a[], int n) {
double m=0;
int i;
for(i=0;i 21、turn n*fact(n-1L);
}
答案:通过函数递归调用,计算并返回参数n的阶乘
3. #include 22、元素进行升序排序
4.#include 23、out<
int getno(in 24、t val)
{
int a[]={32,52,31,86,3,44,11,7,55,63};
for(int i=0;i<10;i++)
if(val==a[i]) return(i+1);
return(0);
}
void main()
{
int val;
cin>>val;
cout< 25、id main()
{
int i,eng=0,numb=0,blan=0,others=0;
char a[100];
cin.getline(a,100);
for(i=0;a[i];i++)
{
if(a[i]<57&&a[i]>48) numb++;
else if(a[i]==32) blan++;
else if((a[i]>65&&a[i]<90)||(a[i]>97&&a[i]<97+25)) eng++;
else others++;
}
cout<<"eng="< 26、






