当前位置:文档之家› 中国计量学院2012-2013学年第一学期C++试卷B

中国计量学院2012-2013学年第一学期C++试卷B

中国计量学院2012~2013 学年第一学期《C++程序设计》课程试卷(B )第 2 页 共 6 页 while(fabs(x)>1e-8) { ___s+=s;_________ k += 2; sign *= -1; x = sign/double(_k__); } __s=4*s;___________ cout<<"The pi is"<

3、用迭代方法求a 。求平方根的迭代公式为)(21

1n

x a n n x x +=+,要求前后两次求出的x 的差的绝对值小于10-7. #include

#include <__cmath______ > void main() {

____double________x, a;

cout <<"please input a value:\n"; _cin>>a___________; x = a/2;

while(fabs((x-a/x)/2)>__1e-7_____) x=___(x+a/x)/2__________;

cout <

4、构造函数、拷贝构造函数和析构函数 class Student {

public:

Student(char* pName="no name",int ssId=0) {

strncpy(name,pName,40); name[39]=_’\0’_______; id =__ssId______;

cout <<"Constructing new student " <

Student(___Student& s________) //拷贝构造函数 {

cout <<"Constructing copy of " <

}

_____~Student__________() { cout <<"Destructing " <

char name[40];

int id;

};

二、读程序,回答问题(每个小问题3分,共36分)

1、int a=4;

int &f(int x)

{ a=a+x;

return a;

}

void main(void)

{ int t=5;

cout<

f(t)=20;

cout<

t=f(t);

cout<

}

1)第一个f(t)的值是多少?9

2)第二个f(t)的值是多少?25

3)第三个f(t)的值是多少?60

2、#include"iostream.h"

void main()

{

int a[10]={123,11,22,33,44,55,66,77,88,99},*p=a,i;

p=a+8;

p--;

p=p-2;

*p=a[3];

*++p=600;

*(a+3)=300;

for(i=0;i<10;i++)

cout<<"a["<

}

1)程序运行的结果是什么?

中国计量学院2012~2013 学年第一学期《C++程序设计》课程试卷(B )第3页共 6 页

a[0]=123 a[1]=11 a[2]=22 a[3]=300 a[4]=44 a[5]=33 a[6]=600 a[7]=77 a[8]=88 a[9]=99 2)执行完语句p—;后指针p指向数组中的哪个元素?a[7]

3)a和p有什么不同?a是数组首地址,p是int型指针

3、#include

inline bool isDigit(char);

int main( ){

for(char c; std::cin>>c && c!='\n'; )

if(isDigit(c))

std::cout<<"Digit.\n";

else

std::cout<<"NonDigit.\n";

}

bool isDigit(char ch){

return ch>='0' && ch<='9' ? 1 : 0;

}

1)函数isDigit的作用?判断字符是否是数字0~9

2)用if语句改写函数isDigit?

if(ch>=’0’&&ch<=’9’)return 1;

else return 0;

3)若去掉程序中所有的std::,需要加上一条什么语句?

using namespace std;

4、

void func();

int n=1;

void main()

{

static int a;

int b= -10;

中国计量学院2012~2013 学年第一学期《C++程序设计》课程试卷(B )第4页共 6 页

cout <<"a:" <

<<" b:" <

<<" n:" <

b+=4;

func();

cout <<"a:" <

<<" b:" <

<<" n:" <

n+=10;

func();

}

void func()

{

static int a=2;

int b=5;

a+=2;

n+=12;

b+=5;

cout <<"a:" <

<<" b:" <

<<" n:" <

}

1)什么是静态变量?上面程序中哪个变量是静态变量?

2)上面程序运行结果?

3)主函数中的a和func()中的a是否为同一个变量?

三、程序设计(每题6分,共24分)

1、一个数若其所有小于自身的约数和恰好等于这个数本身,则称之为完全数。如6=1+2+3是完全数,编程找出所有1000以内的完全数。

中国计量学院2012~2013 学年第一学期《C++程序设计》课程试卷(B )第5页共 6 页

2、编程找出所有1000以内能同时被

3、5、7整除的数。

3、编写程序计算1+3+5+ (99)

4、定义一个平面顶点类Point,其私有成员为坐标x,y,编写其构造函数、两点间距离函数。中国计量学院2012~2013 学年第一学期《C++程序设计》课程试卷(B )第6页共 6 页

相关主题
文本预览
相关文档 最新文档