第1个回答 2008-07-03
上面的回答真的很不错。
只是我觉得这几个题好像答错啦:
1. 设有int a[ ]={10,11,12},*p=&a[0];则执行完*p++;*p+=1;后a[0],a[1],a[2]的值为多少?
解:a[0] = 10,a[1] = 12,a[2] = 12
2. int b; b=(-1)||0; 则b的值为多少?
解:b = 1
5.下列描述错误的是:c
A)cout输出转义字符’\n’是使光标移到屏幕的下一行
B)所有变量都要先定义其数据类型后在使用
C)在C++语言中,变量position 和PoSitioN是相同的
D)变量声明可以在C++程序的任何地方
6. 假定一个二维数组的定义为“int a[4][5];”,则该数组所含元素的个数为多少?所占存储空间的字节数为多少?
解:所含元素是20个,所占存储空间的字节数为80(VC++里),40(turboc里及WinTC里)
9. 当一个函数无返回值时,定义时函数的类型应是什么?面向对象的语言具有哪些特性?类定义中,缺省的访问权限是什么?
解:无返回值是void,面向对象程序设计语言具有封装、继续、抽象、多态,类定义中,缺省的访问权限是private(即私有访问权限)
11.C++语言的跳转语句中,对于break和continue说法正确的是:
A)break语句只应用与循环体中
B)continue语句只应用与循环体中
C)break是无条件跳转语句,continue不是
D)break和continue的跳转范围不够明确,容易产生问题
解:这个题我选的是A,在多路分去switch(){case x:break;}语句当中也会遇到
13. 共用体是怎样定义的?
解:共用体定义用关键字union
例如:union
{
int i;
float j;
}
14. 下列程序计算1000以内能被3整除的自然数之和,完成空缺的语句。
解:
#include <iostream.h>
void main( )
{
int x=1, sum;
sum=(0 ); //填
while (true)
{
if (x>1000) break;
if (0 == x%3) sum+=x; //填
x++;
}
cout<<sum<<endl;
}
15、求个位数为7且能被3整除的6位数的个数,完成空缺的语句。
解:
#include <iostream.h>
void main()
{
long int i;
int count;
count= 0 ; //填
for(i=100007 ;i<999999;i+=10 ) //填
if(0 == i%3) count++; //填
cout<<count;
}
16. 写出下列程序的运行结果。
#include <iostream.h>
void main()
{
int x;int &p=x;
x=10;
p=x+10;
cout<<x<<”,”<<p<<endl;
}
解:20,20
#include <iostream.h>
void main()
{
for(int x=0;x<10;x++)
{
if(x%2==0)continue;
cout<<x<<”,”;
}
}
解:
1,3,5,7,9,
18. 求Fibnnaci数列的1,1,2,3,5,8,...的前40个数。
#include "stdafx.h"
#include <iostream.h>
int Fib(int i);
int main()
{
int i;
int fib[40] ;
for(i=0; i<40; i++)
{
fib[i] = Fib(i);
}
for(i=0; i<40; i++)
{
if(0 == i%5)
{
cout <<endl;
}
cout << fib[i] << "\t";
}
cout << endl;
return 0;
}
int Fib(int i)
{
if(0 == i || 1 == i)
{
return 1;
}else{
return Fib(i-1)+Fib(i-2);
}
}
19. 用冒泡法对数组长度为N的整形数组按升序进行排序。
解:
#include "stdafx.h"
#include <iostream.h>
const int N = 10;
void MaoPao();
int main()
{
MaoPao();
return 0;
}
void MaoPao()
{
int i,j,temp = 0;
int arr[N];
cout << "Please input numbers: " << endl;
for(i=0; i<N; i++)
{
cin >> arr[i];
}
for(i=N-1; i>0; i--) //控制N-1次循环
{
for(j=0; j<=i; j++) //进行泡行交换
{
if(arr[j]>arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
for(i=0; i<N; i++)
{
if(0 == i%5)
{
cout <<endl;
}
cout << arr[i] << '\t';
}
cout << endl;
}
20. 编写递归函数,求一个数的阶乘n!,在主函数中调用该函数,并输出结果
解:
#include "stdafx.h"
#include <iostream.h>
double Fun(double num);
int main(int argc, char* argv[])
{
double num,value = 0.0;
cout << "Please input a number: " << endl;
cin >> num;
while(num <0)
{
cout << "The number is error!" << endl;
cout << "Please input a number again: " << endl;
cin >> num;
}
value = Fun(num);
cout << "value = " << value << endl;
return 0;
}
double Fun(double num)
{
if(0 == num || 1 == num)
{
return 1;
}else{
return(num *Fun(num-1));
}
}
好啦,20题也就只是这样,楼上的做的很不错。在此,只是稍做修改并加了一些个人的意见,其它的题楼上的都已经完成啦的。在此,还要感谢楼又给了我学习的机会啦。
第2个回答 2008-07-05
1.10,12,12
2.1
3.16
4.89
5.C
6.含元素是20个,所占存储空间的字节数为80(VC++里),40(turboc里及WinTC里)
7.12,char ch,if(ch>='A'&&ch<='Z')
8.if(i>10&&i<20)或用while语句
9.void类型,面向对象程序设计语言具有封装、继承、抽象、多态,类定义中,缺省的访问权限是private私有访问权限
10.pa指向的是pa[]数组的第一个元素
11.B
12.900
13.共用体定义用关键字union
例:union
{
int a;
float b;
} 且所占字节为声明变量中的最大者,此例中为b,4字节
14.#include <iostream.h>
void main( )
{
int x=1, sum;
sum=(0 );
while (true)
{
if (x>1000) break;
if ( x%3==0) sum+=x;
x++;
}
cout<<sum<<endl;
}
15.#include <iostream.h>
int main()
{
int i;
int count;
count= 0 ;
for(i=100007 ;i<999999;i+=10 )
if( i%3==0) count++;
cout<<count<<endl;
}
16.20,20
1,3,5,7,9,
17.#include <iostream.h>
#include <math.h>
void main()
{
double a,b;int t;
cout<<"请输入商品的金额 !"<<endl;
cin>>a;
if(a>=5000)
t=4;
else if (a>=3000)
t=3;
else if (a>=2000)
t=2;
else if (a>=1000)
t=1;
switch(t)
{
case 1: b=a*0.95; break;
case 2: b=a*0.9; break;
case 3: b=a*0.85; break;
case 4: b=a*0.8; break;
}
cout<<"优惠的金额="<<a-b<<endl;
}
18.#include<iostream.h>
int fibonacci(int n)
{
if(n==1||n==0)
return 1;
else
return fibonacci(n-1)+fibonacci(n-2);
}
int main()
{
int i=0,a[40];
for(i=0;i<40;i++)
a[i]=fibonacci(i);
for(i=0;i<40;i++)
cout<<a[i]<<",";
}
19.#include <iostream.h>
const int N = 10;
void MaoPao();
int main()
{
MaoPao();
return 0;
}
void MaoPao()
{
int i,j,temp = 0;
int arr[N];
cout << "Please input numbers: " << endl;
for(i=0; i<N; i++)
{
cin >> arr[i];
}
for(i=N-1; i>0; i--)
{
for(j=0; j<=i; j++)
{
if(arr[j]>arr[j+1])
{
temp = arr[j+1];
arr[j+1] = arr[j];
arr[j] = temp;
}
}
}
for(i=0; i<N; i++)
cout << arr[i] << '\t';
cout << endl;
}
20.#include<iostream.h>
int factorial(int n)
{
if (n==0) return 1;
return n*factorial(n-1);
}
int main()
{
int m;
cout<<"输入一个自然数:"<<endl;
cin>>m;
factorial(m);
cout<<"结果是"<<factorial(m)<<endl;
}