1、第一部分 C++程序设计 一、选择题 (每小题2分,共20分) 1. 下面能正确表示为C++常量的是 B 。 A) 3.14 B)0xabc C) 'AB' D) 2e1.25 E) E10 F) 0181 G) 12UL H) "\n\\\'A" A. ABCD B. ABGH C. ADGH D. ABCE 1.设整型变量x的值是10,则表达式2>x>5的编译运行结果是 C 。 A.值不确定 B.值为1 C.值为0 D.表达式非法
2、 2.a是一个整型变量,则执行下列输出语句后a的值是 C 。 cout<<(a=3+6,a+=5,a-4); A.9 B.10 C.14 D.18 3.设程序中定义int x=5,y=0;以下循环语句执行结束后,x和y的值分别是 B 。 while(x--) cout<<(++y)+x<<','; A.0,5 B.-1,5 C.1,4 D.最小和最大机器数 4.对下面三条语句,正确的论断是 C 。 (1)if(!a)s1;else s2; (2)if(a==0)s2;else s1; (
3、3)if(a!=0)s1;else s2; A.三者相互等价 B.三者相互不等价 C.只有(2)和(3)等价 D.以上三个说法都不正确 5.执行以下程序段的输出是: A for(int i=1;i<6;i++) { if(i%2==0) continue; cout<
4、数中局部变量 D.传递给函数的实参 7.设有函数声明 int fun(int a[],int b);,主函数有变量int x[10],m=10;下面的函数调用语句 D 是正确的。 A.fun(m,x) B.fun(5,6) C.fun(x-2,m) D.fun(x,m/2) 8.在一个函数内部,以下描述正确的是___D_______。 A.不可以调用但能定义其他函数 B.不可以调用也不能定义其他函数 C.可以定义和调用其他函数 D.可以调用但不能定义其他函数 9.若函数中有语句int a[8][8]; for(int i=0;
5、i++<8; ) a[i][6]= a[i][0];
循环结束后将使 C 。
(A)数组的第0行元素赋给第6行元素
(B)数组a的第6行元素赋给第0行元素
(C)数组的第0列元素赋给第6列元素
(D)数组a的第6列元素赋给第0列元素
10.在定义int a[3][4];之后,能够实现对a的元素正确访问的是 A 。
A.a[2][3] B.a[1,3] C.a[3][3] D.a(2)(0)
二、阅读理解 (6小题,共35分)
1. 阅读下列程序,写出执行时的输出结果(每空2分,共6分)
#include
6、 void main() {int i=0,j=0,k=0; char ch; cin>>ch; while(ch!='#') { switch(ch) { case 'a': i++; case 'A': i++; break; case 'b': case 'B': j++; break; case ' ': k++; break; default: ; } cin>>ch; } cout<<"i="<
7、<"j="<
8、<<"a="<
int b;
int f(int );
void main()
{
for (int i=1;i<=3;i++)
cout< 9、a;
c=c+1;
return (a+b+c);
}
程序的输出是 6
10
15
4. 阅读下列程序,回答问题(共7分)
#include 10、 ){
int x=2,m,n;
for(n=1;n<4;n+=2){
m=fun(n,x);
cout<<"fun("< 11、data[]={1,2,3,4,5,6,7,8};
int i;
for(i=7;i>=0;i-=2){
cout< 12、 (每数2分,共8分)
#include 13、j==M-1))cout<
#include 14、 _____________________________ ;
}
float area(float a,float b,float c){
float s=(a+b+c)/2;
return ;
}
void main()
{
cout<<"利用三角形的底和高求面积\n";
cout<<"请输入三角形的底和高\n";
float a,h;
cin>>a>>h;
cout<<"面积为:"<< _______ <<"\n";
cout<<"利用 15、三角形的三个边长求面积\n";
cout<<"请分别输入三角形的三个边长\n";
float b,c;
cin>>a>>b>>c;
cout<<"面积为:"<< _________ <<"\n";
}
2.如果一个数恰好等于它的因子之和,这个数就称为"完全数"。例如6=1+2+3,6是一个完全数。下面程序是找出50以内的所有完数,请完善该程序。
#include 16、
for(i=1; _________ ; i++)
if((j%i)==0)______ ;
if(s == _______ ){cout< 17、 ;
x[j]=t;
_________ ;
__________ ;
}
}
3.求f(x)=-x2/2!+x4/4!-x6/6+x8/8!……,要求精度为十万分之一。
#include 18、e-6)
{
n++;
________ +=(t=-t*x*x/((2*n-1)*2*n));
}
cout<<“y(“< 19、 ,10 );
cout<






