C++练习题(附答案)

C++练习题(附答案)
C++练习题(附答案)

5.9

(11)下列关于C++函数的叙述中,正确的是

A)每个函数至少要具有一个参数B)每个函数都必须返回一个值

C)函数在被调用之前必须先声明D)函数不能自己调用自己

(12)下列关于类和对象的叙述中,错误的是

A)一个类只能有一个对象

B)对象是类的具体实例

C)类是对某一类对象的抽象

D)类和对象的关系是一种数据类型与变量的关系

(13)在C++中,用于实现运行时多态性的是

A)内联函数B)重载函数

C)模板函数D)虚函数

(14)下列关于运算符重载的叙述中,正确的是

A)通过运算符重载,可以定义新的运算符

B)有的运算符只能作为成员函数重载

C)若重载运算符+,则相应的运算符函数名是+

D)重载一个二元运算符时,必须声明两个形参

(15)下列关于模板的叙述中,错误的是

A)模板声明中的第一个符号总是关键字template

B)在模板声明中用<和>括起来的部分是模板的形参表

C)类模板不能有数据成员

D)在一定条件下函数模板的实参可以省略

(16)对于语句cout<

B)"endl"的作用是输出回车换行

C)"x"是一个变量

D)"<<"称作提取运算符

(17)下列字符串中,正确的C++标识符是

A)foo-1 B)2b

C)new D)_256

(18)已知枚举类型定义语句为:

enum Token{NAME,NUMBER,PLUS=5,MINUS,PRINT=10};

则下列叙述中错误的是

A)枚举常量NAME 的值为1 B)枚举常量NUMBER 的值为1

C)枚举常量MINUS 的值为6 D)枚举常量PRINT 的值为10

(19)执行语句序列

int i=0;while(i<25)i+=3;cout<

输出结果是

A)24 B)25

C)27 D)28

(20)要定义一个具有 5 个元素的一维数组vect,并使其各元素的初值依次是30,50,-88,0 和0,则下列定义语句

中错误的是

A)int vect[]={30,50,-88}; B)int vect[]={30,50,-88,0,0};

C)int vect[5]={30,50,-88}; D)int vect[5]={30,50,-88,0,0};

(21)有如下程序:

#include

void fun(int& x,int y){int t=x;x=y;y=t;}

int main()

{

int a[2]={23,42};

fun(a[1],a[0]);

std::cout<

return 0;

}

执行后的输出结果是

A)42,42 B)23,23

C)23,42 D)42,23

(22)有如下类声明:

class Foo { int bar; };

则Foo 类的成员bar 是

A)公有数据成员B)公有成员函数

C)私有数据成员D)私有成员函数

(23)有如下类声明:

class MyBASE

{

int k;

public:

void set(int n){k=n;}

int get()const{return k;}

};

class MyDERIVED:protected MyBASE

{

protected:

int j;

public:

void set(int m,int n){MyBASE::set(m);j=n;}

int get()const{return MyBASE::get()+j;}

};

则类MyDERIVED 中保护的数据成员和成员函数的个数是

A)4 B)3

C)2 D)1

(24)已知在一个类体中包含如下函数原型:VOLUME operator-(VOLUME)const;,下列关于这个函数的叙述中,错误

的是

A)这是运算符-的重载运算符函数

B)这个函数所重载的运算符是一个一元运算符

C)这是一个成员函数

D)这个函数不改变类的任何数据成员的值

(25)有如下函数模板定义:

template

T func(T x,T y){ return x*x+y*y;}

在下列对func 的调用中,错误的是

A)func(3,5); B)func(3.0,5.5);

C)func(3,5.5); D)func(3,5.5);

(27)在下列函数原型中,可以作为类AA 构造函数的是A)void AA(int);

B)int AA();

C)AA(int)const;

D)AA(int);

(28)下列关于this 指针的叙述中,正确的是

A)任何与类相关的函数都有this 指针

B)类的成员函数都有this 指针

C)类的友元函数都有this 指针

D)类的非静态成员函数才有this 指针

(29)有如下程序:

#include

using namespace std;

class Test

{

public:

Test() {n+=2; }

~Test() {n-=3; }

static int getNum() {return n; }

private:

static int n;

};

int Test::n=1;

int main()

{

Test* p=new Test;

delete p;

cout<<"n="<

return 0;

}

执行后的输出结果是

A)n=0 B)n=l

C)n=2 D)n=3

(30)有如下程序:

#include

using namespace std;

class A {

public:

A(){cout<<"A";}

};

classB{public:B(){cout<<"B";}}

classC:public A{

B b;

public:

C(){cout<<"C";}

};

int main(){ C obj; return 0;}

执行后的输出结果是

A)CBA B)BAC

C)ACB D)ABC

(31)有如下类声明:

class XA{

int x;

public:

XA(int n){x=n;}

};

class XB:public XA{

int y;

public:

XB(int a,int b);

};

在构造函数XB 的下列定义中,正确的是

A)XB::XB(int a,int b):x(a),y(b){} B)XB::XB(int a,int b):XA(a),y(b){}

C)XB::XB(int a,int b):x(a),XB(b){} D)XB::XB(int a,int b):XA(a),XB(b){}

(32)有如下程序:

#include

using namespace std;

class BASE{

public:

~BASE(){cout<<"BASE";}

};

class DERIVED:public BASE{

public:

~DERIVED(){cout<<"DERIVED";}

};

int main(){DERIVED x;return 0;}

执行后的输出结果是

A)BASE B)DERIVED

C)BASEDERIVED D)DERIVEDBASE

(33)在表达式x+y*z 中,+是作为成员函数重载的运算符,*是作为非成员函数重载的运算符。下列叙述中正确的

A)operator+有两个参数,operator*有两个参数

B)operator+有两个参数,operator*有一个参数

C)operator+有一个参数,operator*有两个参数

D)operator+有一个参数,operator*有一个参数

(34)下面关于C++流的叙述中,正确的是

A)cin 是一个输入流对象

B)可以用ifstream 定义一个输出流对象

C)执行语句序列char *y="PQMN"; cout<

Happy new year

则x 中的字符串是"Happy"

(35)有如下程序:

#include

using namespace std;

class AA{

int n;

public:

AA(int k):n(k){}

int get(){return n;}

int get()const{return n+1;}

};

int main()

{

AA a(5);

const AA b(6);

cout<

return 0;

}

执行后的输出结果是

A)55 B)57

C)75 D)77

(6)下列函数的功能是判断字符串str 是否对称,对称则返回true,否则返回false。请在横线处填上适当内容,实现该函数。

bool fun(char *str)

{

int i=0,j=0;

while(str[j]) ___________;

for(j--;i

return i ___________ j;

}

(7)执行语句序列

int x=l0,&r=x;

cout<

输出结果为___________。

(8)下列程序的输出结果为

Object id=0

Object id=l

请将程序补充完整。

#include

using namespace std;

class Point

{

public:

Point(int xx=0,int yy=0) {X=xx;Y=yy;countP++;}

~Point(){countP--;}

int GetX(){return X;}

int GetY(){return Y;}

static void GetC(){cout<<"Object id="<

private:

int X,Y;

static int countP;

};

___________ //静态数据成员的初始化

int main()

{

Point::GetC();

Point A(4,5);

A.GetC();

return 0;

}

}

(9)非成员函数应声明为类的___________函数才能访问这个类的private 成员。(10)派生类中的成员不能直接访问基类中的___________成员。

(11)下列程序的输出结果为2,请将程序补充完整。

#include

using namespace std;

class Base

{

public:

___________void fun(){cout<<1;}

};

class Derived:public Base

{

public:

void fun(){cout<<2;}

};

int main()

{

Base*p=new Derived;

p->fun();

delete p;

return 0;

}

(12)请将下列类定义补充完整。

class Base{public: void fun(){cout<<"Base::fun"<

class Derived:public Base

{

public:

void fun(){

___________ //显式调用基类的fun 函数

cout<<"Derived::fun"<

}

};

一、选择题

(11)C)(12)A)(13)D)(14)B)(15)C)

(16)D)(17)D)(18)A)(19)C)(20)A)

(21)B)(22)C)(23)B)(24)B)(25)C)

(27)D)(28)D)(29)A)(30)D)

(31)B)(32)D)(33)C)(34)A)(35)B)

二、填空题

(6)j++ >=

(8)int Point::countP=0;

(9)友元

(10)私有或private

(11)virtual

(12)Base::fun( );

6.4

(11)下列关于C++函数的说明中,正确的是

A)内联函数就是定义在另一个函数体内部的函数

B)函数体的最后一条语句必须是return 语句

C)标准C++要求在调用一个函数之前,必须先声明其原型

D)编译器会根据函数的返回值类型和参数表来区分函数的不同重载形式(13)下列关于虚函数的说明中,正确的是

A)从虚基类继承的函数都是虚函数

B)虚函数不得是静态成员函数

C)只能通过指针或引用调用虚函数

D)抽象类中的成员函数都是虚函数

(14)运算符重载是对已有的运算符赋予多重含义,因此

A)可以对基本类型(如int 类型)的数据,重新定义“+”运算符的含义B)可以改变一个已有运算符的优先级和操作数个数

C)只能重载C++中已经有的运算符,不能定义新运算符

D)C++中已经有的所有运算符都可以重载

(15)模板对类型的参数化提供了很好的支持,因此

A)类模板的主要作用是生成抽象类

B)类模板实例化时,编译器将根据给出的模板实参生成一个类C)在类模板中的数据成员都具有同样类型

D)类模板中的成员函数都没有返回值

(18)下列语句中,错误的是

A)const int buffer=256; B)const int temp;

C)const double *point; D)const double *rt=new double(5.5); (20)有如下程序:

#include

using namespace std;

int main()

{

int *p;

*p = 9;

cout << "The value at p: " << *p;

return 0;

}

编译运行程序将出现的情况是

A)编译时出现语法错误,不能生成可执行文件

B)运行时一定输出:The value at p:9

C)运行时一定输出:The value at p:*9

D)运行时有可能出错

(21)有如下程序:

#include

using namespace std;

int main()

{

void function(double val);

double val;

function(val);

cout<

return 0;

}

void function(double val)

{

val = 3;

}

编译运行这个程序将出现的情况是

A)编译出错,无法运行B)输出:3

C)输出:3.0 D)输出一个不确定的数

(22)有如下类定义:

class AA

{

int a;

public:

int getRef()const{ return &a; } //①

int getValue()const{ return a; } //②

void set(int n)const{ a=n; } //③

friend void show(AA aa)const{ cout<

};

其中的四个函数定义中正确的是

A)①B)②

C)③D)④

(23)有如下程序:

#include

using namespace std;

class Base

{

public:

void fun() { cout<<"Base::fun"<

};

class Derived : public Base

{

public:

void fun()

{

___________

cout<<"Derived::fun"<

}

};

int main()

{

Derived d;

d.fun();

return 0;

}

已知其执行后的输出结果为:

Base::fun

Derived::fun

则程序中下划线处应填入的语句是

A)Base.fun(); B)Base::fun();

C)Base->fun(); D)fun();

(24)下面是重载为非成员函数的运算符函数原型,其中错误的是

A)Fraction operator + (Fraction, Fraction); B)Fraction operator - (Fraction);

C)Fraction& operator = (Fraction&, Fraction); D)Fraction& operator += (Fraction&, Fraction); (25)有如下函数模板:

template

T cast(U u) { return u; }

其功能是将U 类型数据转换为T 类型数据。已知i 为int 型变量,下列对模板函数cast 的调用中正确的是

A)cast(i); B)cast<>(i);

C)cast(i); D)cast(i);

(26)若磁盘上已存在某个文本文件,其全路径文件名为d:\ncre\test.txt,下列语句中不能打开该文件的是

A)ifstream file("d:\ncre\test.txt"); B)ifstream file("d:\\ncre\\test.txt");

C)ifstream file; file.open("d:\\ncre\\test.txt"); D)ifstream* pFile = new ifstream("d:\\ncre\\test.txt");

(27)有如下类定义:

class Foo

{

public:

Foo(int v) : value(v) { } // ①

~Foo() { } // ②

private:

Foo() { } // ③

int value = 0; // ④

};

其中存在语法错误的行是

A)①B)②

C)③D)④

(28)有如下类定义:

class Point

{

int x_, y_;

public:

Point(): x_(0), y_(0) { }

Point(int x, int y =0): x_(x), y_(y) { }

};

若执行语句

Point a(2), b[3], *c[4];

则Point 类的构造函数被调用的次数是

A)2 次B)3 次

C)4 次D)5 次

(29)有如下类定义:

class Test

{

public:

Test() { a = 0; c = 0; } // ①

int f(int a) const { this->a = a; } // ②

static int g () { return a; } // ③

void h(int b) { Test::b = b; }; // ④private:

int a;

static int b;

const int c;

};

int Test::b = 0;

在标注号码的行中,能被正确编译的是

A)①B)②

C)③D)④

(30)有如下程序:

#include

using namespace std;

class A

{

public:

A() { cout << "A"; }

~A() { cout << "~A"; }

};

class B : public A

{

A* p;

public:

B() { cout << "B"; p = new A(); } ~B() { cout << "~B"; delete p; }

};

int main()

{

B obj;

return 0;

}

执行这个程序的输出结果是

A)BAA~A~B~A B)ABA~B~A~A

C)BAA~B~A~A D)ABA ~A~B~A

(32)有如下程序:

#include

using namespace std;

class Base

{

public:

void fun1() { cout << "Base\n"; }

virtual void fun2() { cout << "Base\n"; } };

class Derived : public Base

{

public:

void fun1() { cout << "Derived\n"; }

void fun2() { cout << "Derived\n"; }

};

void f(Base& b) { b.fun1(); b.fun2(); }

int main()

{

Derived obj;

f(obj);

return 0;

}

执行这个程序的输出结果是

A)B)

Base Base

Base Derived

C)D)

Derived Derived

Base Derived

(33)有如下程序:

#include

using namespace std;

class Complex

{

double re, im;

public:

Complex(double r, double i) : re(r), im(i) { }

double real() const { return re; }

double image() const { return im; }

Complex& operator += (Complex a)

{

re += a.re;

im += a.im;

return *this;

}

};

ostream& operator << (ostream& s, const Complex& z) {

return s<<'('<

}

int main()

{

Complex x(1,-2), y(2,3);

cout << (x+=y) << endl;

return 0;

}

执行这个程序的输出结果是

A)(1,-2) B)(2,3)

C)(3,5) D)(3,1)

(35)有如下类声明:

class SAMPLE

{

int n;

public:

SAMPLE(int i=0):n(i){}

void setValue(int n0);

};

下列关于getValue 成员函数的实现中,正确的是

A)SAMPLE::setValue(int n0){ n=n0;}

B)void SAMPLE::setValue(int n0){ n=n0;}

C)void setValue(int n0){ n=n0;}

D)(int n0){ n=n0;}

(6)有一种只在循环语句或switch 语句中使用的流程控制语句,表示该语句的关键字是___________。

(7)程序中有如下语句

for(int i=0; i<5; i++) cout<<*(p+i)<<",";

能够依次输出int 型一维数组DATA 的前 5 个元素。由此可知,变量p 的定义及初始化语句是___________。

(8)若下面程序运行时输出结果为

1,A,10.1

2,B,3.5

请将程序补充完整。

#include

using namespace std;

int main()

{

void test(int, char, double ___________ );

test(1, 'A', 10.1 );

test(2, 'B');

return 0;

}

void test(int a, char b, double c)

{

cout<

}

(9)有如下类声明:

class MyClass

{

int i;

private: int j;

protected: int k;

public: int m, n;

};

其中,私有成员的数量为___________。(10)有如下程序:

#include

using namespace std;

class Con

{

char ID;

public:

Con(): ID('A'){ cout<<1; }

Con(char ID): ID(ID){ cout<<2;}

Con(Con& c): ID(c.getID()){ cout<<3;}

char getID()const{ return ID;}

};

void show(Con c){ cout<

int main()

{

Con c1;

show(c1);

Con c2('B');

show(c2);

return 0;

}

执行上面程序的输出是___________。(11)有如下程序:

#include

using namespace std;

class ONE

{

public:

virtual void f() { cout << "1"; } };

class TWO : public ONE

public:

TWO() { cout << "2"; }

};

class THREE : public TWO

{

public:

virtual void f() { TWO::f(); cout << "3"; }

};

int main()

{

ONE aa, *p;

TWO bb;

THREE cc;

p = &cc;

p->f();

return 0;

}

执行上面程序的输出是___________。

(12)有如下程序:

#include

using namespace std;

class PARENT

{

public:

PARENT() { cout << "PARENT"; }

};

class SON : public PARENT

{

public:

SON() { cout << "SON"; }

};

int main()

{

SON son;

PARENT *p;

p = &son;

return 0;

}

执行上面程序的输出是___________。

(14)下面是复数类complex 的定义,其中重载的运算符“+”的功能是返回一个新的复数对象,其实部等于两个操作

对象实部之和,其虚部等于两个操作对象虚部之和;请补充完整:

class complex

double real; //实部

double imag; //虚部

public:

complex( double r, double i):real(r),imag(i){}

complex operator + (complex a)

{

return complex(___________ );

}

};

(15)已知一个函数模板定义为

template

T1 FUN(T2 n){ return n*5.0;}

若要求以int 型数据7 为函数实参调用该模板函数,并返回一个double 型数据,则该调用应表示为_________。

一、选择题

(11)C)(13)B)(14)C)(15)B)

(18)B)(20)D)

(21)D)(22)B)(23)B)(24)C)(25)D)

(26)A)(27)D)(28)C)(29)D)(30)B)

(32)B)(33)D)(35)B)

二、填空题

(6)break

(7)int *p=DATA

(8)=3.5

(9)2

(10)13A23B

(11)2213

(12)PARENTSON

(14)【14】real+a.real,imag+a.imag

(15)【15】FUN(7) 或FUN(7)

三、完善程序

1. 用指针和数组来显示Fibonacci数列。

#include

using namespace std;

int main()

{

int i,fibon[10]={0,1,1,2,3,5,8,12,21,34},*pfib1,*pfib2;

pfib1=pfib2=__________;

cout<<"使用数组显示Fibonacci数列"<

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

cout<

cout<<"使用指针显示Fibonacci数列"<

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

cout<<*(fibon+i)<<'\t'<<_____________<

cout<<"显示指针相减,应为数组长度:";

cout<

return 0;

}

2.定义一个矩形类Rectangle,数据成员有:长a,宽b,均为整型,私有访问权限。对其操作有:输入操作、计算周长perimeter、计算面积和输出操作。

class Rectangle

{

int a,b;

public:

void input();

void perimeter();

void area();

void output();

}s1;

______________ input() //成员函数中访问类中的数据成员

{

cout<<"请输入矩形的长和宽:";

cin>>a>>b;

}

void Rectangle::perimeter()//注意类名不可省

{

cout<<"其周长为:"<<(a+b)*2<

}

void Rectangle::area()

{

cout<<"其面积为:"<

}

void Rectangle::output()

{

perimeter();//在成员函数中可以调用其他成员函数

_____________

}

void main()

{

s1.input();

s1.output();

}

3.用有参构造函数来完成学生类的编写。

#include

using namespace std;

class student

{

private:

char m_num[5];

float m_score;

public:

student(char num[5], float score);

void output();

};

student::student(char num[5], float score)

{

_______________________

m_score=score;

}

void student::output()

{

cout<

}

void main()

{

_________________________ //创建类对象,学号330105002,分数80 s1.output();

}

4.完成商品类对象的应用实例。

#include

#include

using namespace std;

class CGoods

{

private:

char Name[21];

int Amount;

float Price;

float Total_value;

public:

CGoods();//无参构造函数

CGoods(char [],int,float);/*有参构造函数,参数个数为3*/

void CountTotal(void);/*函数声明时,形参中可以只有返回类型*/ float GetTotal_value(void);

};

CGoods::CGoods()

{

Name[0]='\0';Price=0.0;

Amount=0;Total_value=0.0;

}

CGoods::CGoods(char name[],int amount,float price)

{

_______________

Price=price;

Amount=amount;

Total_value=price*amount;

}

void CGoods::CountTotal()

{

Total_value=___________________;

}

float CGoods::GetTotal_value()

{

__________________________

}

int main()

CGoods Car1("夏利",30,98000.0);

cout<

return 0;

}

5.打印杨辉三角形,要求使用类及多文件结构实现。

/*头文件:yang.h*/

class yang

{

int a[20][20];

int n;

public:

yang(int l=10);

void show();

};

/*源文件:yang.cpp*/

#include

#include

_____________________

using namespace std;

yang::yang(int l)

{

int i,j;

n=l<=10?l:10;

for(i=0;i

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

{

if(__________________)

a[i][j]=1;

else

_______________________________________

}

}

void yang::show()

{

int i,j,k;

for(i=0;i

第三章作业和思考题答案

第三章作业与思考题答案 3-1 简述传感器的定义,由哪几部分组成 答:传感器是一种能把特定的被测信号,按一定规律转换成某种“可用信号”输出的器件或者装置,以满足信息的传输、处理、记录、显示和控制等要求。 传感器的组成如图1所示。 图1 传感器的组成 能够完成预变换的单元称为敏感元件,而转换元件是能够将感应到的被测非电量转换为电学物理量,电信号经测量电路放大、整形、转换后送显示器显示,或记录,或处理,辅助电源负责传感器的电源供给。但是并不是所有传感器都包括敏感元件和转换元件,有一部分传感器不需要起预变换作用的敏感元件,如热敏电阻、光敏器件等。 3-2 简述传感器的作用,传感器有哪几种分类 答:传感器处于研究对象与检测系统的接口位置,是感知、获取与检测信息的窗口。它提供物联网系统赖以进行决策和处理所需要的原始

数据。 传感器有多种分类方法,常用的有如下三种: 传感器按输入信号(被测量)分类可分为物理量传感器、化学量传感器和生物量传感器三大类; 按输出信号分类分模拟式传感器、数字式传感器、膺数字传感器、开关量传感器四大类; 按工作原理可分为应变式传感器、电容式传感器、压电式传感器、热电式传感器等若干类。 3-3 什么是智能传感器 答:智能传感器是具有信息处理功能的传感器。智能传感器带有微处理机,具有采集、处理、交换信息的能力,是传感器集成化与微处理机相结合的产物。智能传感器的组成如图2所示。 图2 智能传感器的组成 智能传感器具有如下功能: ⑴自补偿和计算,例如,温漂补偿; ⑵自诊断功能,例如,故障自诊断; ⑶复合敏感功能,单个传感器可测量多个参数,并可进行信息融

C经典习题答案

1.在类作用域中能够通过直接使用该类的()成员名进行访问。 A. 私有 B. 公用 C. 保护 D. 任何 答案:D 2.小数类型和浮点类型都可以表示小数,正确说法:( ) A. 两者没有任何区别 B. 小数类型比浮点类型取值范围大 C.小数类型比浮点类型精度高 D. 小数类型比浮点类型精度低 答案:C 3.能作为C#程序的基本单位是( )。 A. 字符 B. 语句 C. 函数 D. 源程序文件 答案:B 4. 可用作C#程序用户标识符的一组标识符是( )。 A. void define +WORD B. a3_b3 _123 YN C. for -abc Case D. 2a DO sizeof 答案:B 5.引用类型主要有4种:类类型、数组类型、接口类型和()。 A.对象类型 B.字符串类型 C.委托类型 D.整数类型 答案:C 6.使用Dirctory类的下列方法,可以获取指定文件夹中的文件的是(). A.Exists() B.GetFiles() C.GetDirectories() D.CreateDirectory() 答案:B 7.加载窗体时触发的事件是( )。 A. Click B.Load C.GotFoucs D.DoubleClick

答案:B 8.改变窗体的标题,需修改的窗体属性是( )。 A. Text B. Name C.Title D. Index 答案:A 9.在接口的成员中,不能包含( ). A.属性 B.方法 C.事件 D.常量 答案:D 10.在C#中定义接口时,使用的关键字是( )。 A.interface B.: C.class D.overrides 答案:A 1.当在程序中执行到语句时,将结束所在循环语句中循环体的一次执行。 答案:continue 2.元素类型为double的2行5列的二维数组共占用字节的存储空间。 答案:80 3.C#数组类型是一种引用类型,所有的数组都是从System命名空间的类继承而来的引用对象。 答案:object 4.枚举是从System. 类继承而来的类型。 答案:Enum 5.一般将类的构造方法声明为访问权限。如果声明为private,就不能创建该类的对象。 答案:public或公有 6.类中声明的属性往往具有get()和两个函数。 答案:set() 7.对于方法,参数传递分为值传递和两种。

C语言经典例题和答案

一、求一个任意边长的矩形面积。 #include void main() {int w,h,sum; scanf("%d%d",&w,&h); sum=w*h; printf("area=%d\n",sum); } 二、求一个任意半径的圆的面积及周长。 #define PI 3.14159 #include void main() {float r,area,c; scanf("%f",&r); area=PI*r*r; c=2*PI*r; printf("area=%f\ncircle=%f\n",area,c); } 三、已知:w=5, y=4, z=2, 求表达式:w*y/z的值,并输出。 ##include void main() { int w,y,z,r; w=5; y=4; z=2; r=w*y/z; printf("%5d",r); } 一、从键盘上输入三个数,求出其中的最大值,并输出。 #include void main() {int a,b,c,max; scanf("%d%d%d",&a,&b,&c); max=a; if(max

#include #define PI 3.14159 #include void main() {float a,b,sum; a=30*PI/180; b=60*PI/180; sum=sin(a)+sin(b)+cos(a)+cos(60); printf("total=%f\n",sum); } 三、比较两个数的大小。如果x大于y,则输出:x>y,否则输出:x void main() {int x,y; scanf("%d,%d",&x,&y); if(x>y) printf("x>y\n"); else printf("x void main() {int a,b,c,t; scanf("%d%d%d",&a,&b,&c); if(a>b) { t=b; b=a; a=t; } if(a>c) {t=a; a=c; c=t; } if(b>c) {t=b;b=c;c=t;} printf("%3d%3d%3d\n",a,b,c); }. 二、求自然数1~10之和。。 #include void main()

c和c++经典笔试题及答案

C++/C经典笔试题及答案 C++/C试题 本试题仅用于考查C++/C程序员的基本编程技能。内容限于C++/C常用语法,不涉及数据结构、算法以及深奥的语法。考试成绩能反映出考生的编程质量以及对C++/C的理解程度,但不能反映考生的智力和软件开发能力。 笔试时间90分钟。请考生认真答题,切勿轻视。 一、请填写BOOL , float, 指针变量与“零值”比较的 if 语句。(10分)提示:这里“零值”可以是0, 0.0 , FALSE或者“空指针”。例如 int 变量 n 与“零值”比较的 if 语句为: if ( n == 0 ) if ( n != 0 ) 请写出BOOL flag 与“零值”比较的if 语句: 请写出float x 与“零值”比较的if 语句: 请写出char *p 与“零值”比较的if 语句: char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = sizeof ( p ) = sizeof ( n ) =void Func ( char str[100]) { 请计算 sizeof( str ) = } void *p = malloc( 100 );请计算 sizeof ( p ) = 1、头文件中的 ifndef/define/endif 干什么用? 2、#include 和#include “filename.h” 有什么区别? 3、const 有什么用途?(请至少说明两种) 4、在C++ 程序中调用被 C编译器编译后的函数,为什么要加extern “C”声明? 5 // 第一个 for (i=0; i

C语言练习题(带答案)-绝对经典题目不看后悔

1单选题 1.(A)是构成C语言程序的基本单位。 A、函数 B、过程 C、子程序 D、子例程 2.C语言程序从C开始执行。 A) 程序中第一条可执行语句B) 程序中第一个函数 C) 程序中的main函数D) 包含文件中的第一个函数 3、以下说法中正确的是(C)。 A、C语言程序总是从第一个定义的函数开始执行 B、在C语言程序中,要调用的函数必须在main( )函数中定义 C、C语言程序总是从main( )函数开始执行 D、C语言程序中的main( )函数必须放在程序的开始部分 4.下列关于C语言的说法错误的是(B)。 A) C程序的工作过程是编辑、编译、连接、运行 B) C语言不区分大小写。 C) C程序的三种基本结构是顺序、选择、循环 D) C程序从main函数开始执行 5.下列正确的标识符是(C)。 A.-a1 B.a[i] C.a2_i D.int t 5~8题为相同类型题 考点:标识符的命名规则 (1)只能由字母、数字、下划线构成 (2)数字不能作为标识符的开头 (3)关键字不能作为标识符 选项A中的“-” ,选项B中“[”与“]”不满足(1);选项D中的int为关键字,不满足(3) 6.下列C语言用户标识符中合法的是(B)。 A)3ax B)x C)case D)-e2 E)union 选项A中的标识符以数字开头不满足(2);选项C,E均为为关键字,不满足(3);选项D中的“-”不满足(1); 7.下列四组选项中,正确的C语言标识符是(C)。 A)%x B)a+b C)a123 D)123 选项A中的“%” ,选项B中“+”不满足(1);选项D中的标识符以数字开头不满足(2) 8、下列四组字符串中都可以用作C语言程序中的标识符的是(A)。 A、print _3d db8 aBc B、I\am one_half start$it 3pai C、str_1 Cpp pow while D、Pxq My->book line# His.age 选项B中的“\”,”$” ,选项D中“>”,”#”,”.”,”-”不满足(1);选项C中的while为关键

最新版c语言经典习题100例(最全面)

C 语言习题100 例(最新整理版) 习题目录:(按住Ctrl 点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4 个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元 时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%; 40万到60万之间时高于40万元的部分,可提成3%; 60万到100万之间时,高于60万元的部分,可提成1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100 后是一个完全平方数,再加上168 又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目输入三个整数x,y,z请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在C环境中运行,看一看,VeryBeautifuI! (9) 【程序8】 (9) 题目:输出9*9 口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3 个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200 之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1 的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5 。 (12) 【程序15】 (13) 题目利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用 C 表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n ,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。14【程序18】 (14)

作业复习与思考题答案

计算机安全与保密练习册答案 练习一答案: 1、计算机网络中采用分层协议的两条理由如下: 1)把网络操作分成复杂性较低的单元,结构清晰,易于实现和维护 2)定义并提供了具有兼容性的标准接口 3)使设计人员能专心设计和开发所关心的功能模块 4)独立性强——上层只需了解下层通过层间接口提供什么服务—黑箱方法 5)适应性强——只要服务和接口不变,层内实现方法可任意改变 6)一个区域网络的变化不会影响另外一个区域的网络,因此每个区域的网络可单 独升级或改造 2、为进行网络中的数据交换(通信)而建立的规则、标准或约定。(网络协议=语义+语法+规则) 3、OSI七层: 1)物理层:主要是利用物理传输介质为数据链路层提供物理连接,以便透明的传 递比特流。 2)数据链路层。在通信实体之间建立数据链路连接,传送以帧为单位的数据,采 用差错控制,流量控制方法。 3)网络层:通过路由算法,为分组通过通信子网选择最适当的路径。 4)传输层:是向用户提供可靠的端到端服务,透明的传送报文。 5)会话层:组织两个会话进程之间的通信,并管理数据的交换。 6)表示层:处理在两个通信系统中交换信息的表示方式。 7)应用层:应用层是OSI参考模型中的最高层。确定进程之间通信的性质,以满

足用户的需要。 4、TCP协议是面向连接的可靠的协议。UDP协议是无连接的不可靠协议。 5、路由器实现网络互联是发生在网络层。主要功能有路由选择,多路重发以及出错检 测等。 6、因特网提供的基本服务主要有: 1)电子邮件E-MAIL. 2)远程登陆Telnet 3)文件传输FTP. 4)WWW服务 5)电子邮件服务 7、一台微机、调制解调器和电话线。选择一个为用户提供因特网接入服务ISP。 练习二答案: 1、主要包括: 1)可靠性高。 2)极强的伸缩性。 3)网络功能强。 4)强大的数据库支持功能。 5)开放性好。 UNIX系统一开始就作为开放系统,UNIX操作系统的源程序一开始 就向学术界开放。 6)通用。UNIX系统在设计过程中考虑了通用性,使之适合于不同类型(分时和批 处理)用户的需要。 2、主要包括:

数据结构(C语言)【经典题库】含参考答案

《数据结构与算法》复习题 选择题 1.在数据结构中,从逻辑上可以把数据结构分为 C 。 A.动态结构和静态结构 B.紧凑结构和非紧凑结构 C.线性结构和非线性结构 D.内部结构和外部结构 2.数据结构在计算机内存中的表示是指 A 。 A.数据的存储结构 B.数据结构 C 3 A 。 7.算法分析的目的是 C ,算法分析的两个主要方面是 A 。 (1)A.找出数据结构的合理性 B.研究算法中的输入和输出的关系 C.分析算法的效率以求改进 C.分析算法的易读性和文档性 (2)A.空间复杂度和时间复杂度 B.正确性和简明性 C.可读性和文档性 D.数据复杂性和程序复杂性 8.下面程序段的时间复杂度是 O(n2) 。 s =0;

for( I =0; inext ==NULL C.head->next ==head D head!=NULL

15.带头结点的单链表head为空的判定条件是 B 。 A.head == NULL B head->next ==NULL C.head->next ==head D head!=NULL 16.若某表最常用的操作是在最后一个结点之后插入一个结点或删除最后一个结点,则采用 D 存储方式最节省运算时间。 A.单链表 B.给出表头指针的单循环链表 C.双链表 D.带头结点的双循环链表17.需要分配较大空间,插入和删除不需要移动元素的线性表,其存储结构是 B 。 20 21 B 。 22 A.删除单链表中的第一个元素 B.删除单链表中的最后一个元素 C.在单链表第一个元素前插入一个新元素 D.在单链表最后一个元素后插入一个新元素 23.与单链表相比,双链表的优点之一是 D 。 A.插入、删除操作更简单

医学伦理学与医师职业道德修养作业思考题及答案

医学伦理学与医师职业道德修养作业思考题及答案 1.试述我国医德基本原则、准则的主要内容? 答:1.我国当代医德原则内容为:“防病治病,救死扶伤,实行社会主义人道主义,全心全意为人民身心健康服务。” (1)防病治病从宏观层面指明了医学服务必须承担完整的医德责任,即无论医务人员身在哪一个工作岗位,无论医疗卫生单位属于何种性质,都必须肩负起防病治病的使命。这就要求医务人员克服狭隘的传统义务论,树立和形成由传统义务论与现代公益论整合而成的全新的医德义务观,正确认识和处理对病人个人、对健康人群、对生态环境、对每个人全面健康需求等多重义务之间的关系,彻底实现医学目的。医德基本原则把全面的医德责任作为其首要内容,这是社会主义制度和现代医学发展等多因素综合作用的必然要求。 (2)救死扶伤是临床医疗服务的首要道德职责,即所有临床医务人员都应把病人的生命和健康放在第一位,为病人谋利益。“救死扶伤是临床医务人员的天职”这一医德思想,是古今中外先进医家的共识。我国医界从“医乃活人之术”出发,以“医之使之生”的涵义来命名医生,一代又一代的先进医家,以实践奠定和丰富了“仁爱救人”的优良传统。 (3)实行社会主义人道主义。实行社会主义人道主义是这个原则中处理好医学人际关系必须遵循的最普遍、最现实的底线要求。社会主义医学人道主义集古今中外医学人道精神之大成,也是对革命人道主义传统的继承和发扬。它要求对人的生命加以敬畏和珍爱,对人的尊严予以理解和维护,对病人的权利给以尊重和保护,对病人的身心健康投以同情和关爱。 (4)全心全意为人民身心健康服务。全心全意为人民身心健康服务是社会主义医德基本原则的最高要求,也是社会主义医学道德的核心内容。首先,为人民健康服务应该是全方位的。医学服务既要认真看病,更要真诚关心病人;既要给以生物学方面的救助,更要给以心理学、社会学方面的照顾,从而满足人民大众不断增长的健康需求,使他们保

马克思第一章思考题作业及答案

第一章思考题 1.如何理解马克思主义物质观及其现代意义? 答:一、如何理解物质观: 1、马克思主义认为,物质是标志着客观实在的哲学范畴,它的唯一特性是客观实在性。它不依赖于人的感觉而存在,通过人的感觉为人所感知、复写、摄影和反映。 2、物质是世界唯一的本源,物质第一性,意识第二性,意识是物质的产物,是物质世界的主观映象。 3、物质世界是联系的,发展的,发展的根本原因在于事物的内部矛盾。 4、时间与空间是物质运动的存在形式。 5、不仅自然界是物质的,人类社会也具有物质性,世界的真正统一性在于它的物质性。 二、马克思主义物质观至今都具有丰富而深刻的理论指导意义。 它坚持了物质的客观实在性原则和唯物主义一元论,同唯心主义一元论和二元论划清了界限;坚持了能动的反映论和可知论,有力地批判了不可知论;体现了唯物论和辩证法的统一、唯物主义自然观与唯物主义历史观的统一,为彻底的唯物主义奠定了理论基础。世界的物质统一性是马克思主义哲学的基石。我们通过实践改造客观物质世界,就要充分认识是物质是世界的本原,人的实践活动依赖于客观物质世界,而客观世界的规律性更制约着人的实践活动。就要在马克思主义物质观指导下,正确认识和利用客观实际的发展规律,一切从实际出发,更好地认识和改造客观物质世界,以取得社会主义实践和各项事业的胜利。 2、如何理解“社会生活本质上是实践的?”试运用这一观点,说明中国特色社会主义道路,中国特色社会主义理论体系,中国特色社会主义制度三者是如何统一于中国特色社会主义伟大实践。 社会生活的实践性主要体现为三个方面: (一) 实践是社会关系形成的基础。实践首先是物质生产实践,是人以自身的活动调整和控 制人与自然之间物质变换的过程。 (二) 实践形成了社会生活的基本领域。人们通过实践活动改造自然、改造社会和改造人自 身,形成了社会生活的基本领域,即社会的物质生活、政治生活和精神生活领域。(三) 实践构成了社会发展的动力。人们自己创造自己的历史,首先是通过物质生产,所 以说是社会发展的根本动力; 当人类进入阶级社会后,社会基本矛盾集中地表现为阶级斗争,阶级斗争就成为阶级社会发展的直接动力;有阶级斗争就可能暴发社会革命,社会革命和改革是推动社会变迁和进步的重要力量;科学技术是推动社会发展的重要杠杆;历史主体是推动社会发展的决定力量。社会发展的动力只能存在于人的实践活动中,物质生产实践构成了社会发展的根本动力,生产力是社会发展的最终决定力量,而生产力就是人们的实践能力的结果。社会发展不过是人的实践活动在时间和空间中展开的过程。社会历史的变迁和进步是人们改造社会的实践活动的实际体现。 3、在追求中国梦的过程中,应该怎样把握主观能动性和客观规律性的辩证关系? 正确理解主观能动性和客观规律性辩证统一的关系,在理论和实践上都是一个重要问题。首先,必须尊重客观规律。发挥人的主观能动性必须以承认规律的客观性为前提。 其次,在尊重客观规律的基础上,要充分发挥主观能动性。人们通过自觉活动能够认识规律和利用规律。自觉能动性是人与动物的重要区别。尊重事物发展的规律与发挥人的主观能动性是辩证统一的。实践是客观规律性与主观能动性统一的基础。正确发挥主观能动作用必须从实际出发,努力认识和把握事物的发展规律;坚持实践的基本途径;具备一定的物质条件和物质手段。 坚持客观规律性与主观能动性辩证统一的原理,在社会历史领域必须认识和处理社会发展的历史趋向与主体选择的关系。 1.正确处理客观规律性和主观能动性的辩证关系 从实际出发,最根本的就是要从物质世界固有的规律出发,遵循客观规律,正确处理客观规律性和主观能动性的辩证关系,坚持主观能动性与客观规律性的辩证统一。 首先,尊重客观的规律是正确发挥主观能动性之前提。主观能动性不等于主观盲目性、随意性,不等于胡思乱想,蛮干一通。要从实际出发,按照客观规律办事。人们的实践活动越是建立在尊重客观规律的基础上,主观能性也就发挥得越充分,越有效,反之,则一定会

C语言经典例题目解析

1、猴子吃桃子:猴子摘下若干个桃子,第一天吃了桃子的一半多一个,以后每天吃了前一天剩下的一半多一个,到第十天吃以前发现只剩下一个桃子,问猴子第一天共摘了几个桃子 #include main() {int s=1,i; for(i=9;i>=1;i--) s=(s+1)*2; printf("s=%d\n",s); } 2、鸡兔同笼:有若干只鸡兔同在一个笼子里,从上面数,有35个头;从下面数,有94只脚。问笼中各有几只鸡和兔? #include main() {int a,b; for(a=1;a<=40;a++)/* 120只脚如果全是鸡的话60只,但是总头是40,所以循环到40 */ for (b=1;b<=30;b++) /* 同理如果全是兔的话最多120/4=30 所以循环到30 */ {if((a==40-b)&&(a==60-2*b)) /* 同时满足总头数40总脚数120 */ printf("There are %d chichens \nThere are %d rabbits",a,b);} } 3、百钱买百鸡:鸡翁一值钱五,鸡母一值钱三,鸡雏三值钱一。百钱买百鸡,问鸡翁、鸡母、鸡雏各几何? #include main( ) {int cocks,hens,chicks; cocks=0; while(cocks<=19) {hens=0; while(hens<=33) {chicks=100-cocks-hens; if(5*cocks+3*hens+chicks/3==100&&chicks%3==0) printf("%d,%d,%d\n",cocks,hens,chicks); hens=hens+1;} cocks=cocks+1;}} #include main() {int x,y,z; for(x=0;x<=20;x++) for(y=0;y<=33;y++) {z=100-x-y; if(15*x+9*y+z==300) printf("x=%d y=%d z=%d\n",x,y,z); } }

第二章作业与思考题答案

第二章作业与思考题答案 2-1 什么是EPC 答:EPC(Electronic Product Code)即为产品电子代码,其最终目标是为每一个商品建立全球的、开放的编码标准。EPC统一了对世界范围内商品的标识编码规则,并用数字信息的形式存储于与具体商品实物固定在一起的RFID应答器中,结合网络技术而组成EPC系统,实现全球范围内对单件产品的跟踪与追溯。目前的EPC系统中应用的编码类型主要有三种:64位、96位和256位,每类EPC编码由版本号、产品域名管理、产品分类部分和序列号四个字段组成。 2-2 简述EPC系统组成 答:EPC系统由全球产品电子代码编码体系、射频识别系统和信息网络系统三部分组成,如图1所示。 图1 EPC系统构成

(1)全球产品电子代码编码体系:全球产品电子代码EPC编码体系是新一代的与GTIN兼容的编码标准,它是全球统一标识系统的拓展和延伸,是全球统一标识系统的重要组成部分,是EPC系统的核心与关键。EPC代码是由标头、管理者代码、对象分类代码、序列号等数据字段组成的一组数字。具有科学性、兼容性、全面性、合理性、国际性、无歧视性等特性。 (2)射频识别系统:EPC射频识别系统是实现EPC代码自动采集的功能模块,由射频标签和射频识读器组成。射频标签是产品电子代码(EPC)的载体,附着于可跟踪的物品上,在全球流通。射频识读器是与信息系统相连,读取标签中的EPC代码并将其输入网络信息系统的设备。EPC系统射频标签与射频识读器之间利用无线感应方式进行信息交换,具有以下特点:非接触识别;可以识别快速移动物品;可同时识别多个物品等。 (3)信息网络系统:信息网络系统由本地网络和全球互联网组成,是实现信息管理、信息流通的功能模块。EPC系统的信息网络系统是在全球互联网的基础上,通过EPC中间件以及对象命名称解析服务(ONS)和实体标记语言(PML)实现全球产品信息服务。其中,ONS ( Object Naming Service) 对象名称解服务器用来把EPC转化成IP 地址,用来定位相应的计算机和完成相应的信息交互服务。PML ( Physical Markup Language) 实体标识语言服务器中存储用PML语言描述的实物信息,如实物名称、种类、性质、生产日期、生产厂家信息、实物存放位置、实物的使用说明等。

C经典例题

东风冷雪提供 /* 1.0用函数模板实现任何两个简单类型数据交换,并给出实例加以验证!(请先预习教材函数模板相关知识) */ #include using namespace std; template void change(T*x,T*y) { T temp; temp=*x; *x=*y; *y=temp; } int main() { int a,b; float c,d; cout<<"输入二个整数a,b :"; cin>>a>>b; change(&a,&b); cout<<"二个整数交换结果为:"<>c>>d; change(&c,&d); cout<<"二个小数交换结果:"< using namespace std; inline void p(char a) { if('0'>s;

p(s); return 0; } /*3.0 编写三个名为add的重载函数,分别实现两个整数、 两个实数和两个复数相加。*/ #include using namespace std; struct complex { int r_real; int r_imagine; }; typedef struct complex comp; comp e,f; int add(int x,int y) { return x+y; } double add(double x,double y) { return x+y; } void add(comp e,comp f) { int z1,z2; z1=e.r_real+f.r_real; z2=e.r_imagine+f.r_imagine; cout<<"二个复数相加的结果为"<>a>>b; cout<<"a+b="<>c>>d; cout<<"a+b="<>e.r_real>>e.r_imagine; cout<<"输入第二个复数的实部与虚部 "; cin>>f.r_real>>f.r_imagine; add(e,f);

(完整word版)医学分子生物学思考题作业答案.

《医学分子生物学》作业 (供“专升本”中西医临床医学专业学生使用 成人教育学院 《医学分子生物学》思考题 1、述 DNA的右手双螺旋模型结构要点。 (1两股反向平行的 DNA 链绕成同轴右手双螺旋,双螺旋表面有大沟和小沟。 (2脱氧核糖和磷酸通过3’,5’-磷酸二酯键相连,构成 DNA 主链,位于双螺旋的外表面,糖基平面与螺旋轴平行;碱基则位于双螺旋的内部,碱基平面与螺旋轴垂直。(3两股 DNA 链通过 Watson-Crick 碱基对结合,即 A 与 T 通过两个氢键结合,G 与 C 通过三个氢键结合,称为碱基互补原则。这样,一股 DNA 的碱基序列决定了另一股DNA 的碱基序列,两股 DNA 链互相称为互补链。(4双螺旋直径为 2cm 2、真核生物基因组结构与功能的特点。 1.真核生物基因组 DNA 是线性分子,其末端序列特殊,由寡核苷酸短串联重复序列构成,称为端粒。 2.真核生物基因组 DNA 有多个复制起点。 3.真核生物有完整的细胞核,核 DNA 与组蛋白、非组蛋白及 RNA 形成染色体结构。 4.每一种真核生物的染色体数目都是一定的,除了配子(精子和卵子是单倍体以外,体细胞一般是二倍体。 5.真核生物基因组序列中仅有不到 10%是编码序列。编码序列在基因组序列中的比例是真核生物、原核生物和病毒基因组的重要区别,而且在一定程度上是生物进化的标尺。

6.真核生物基因组含大量重复序列,包括高度重复序列和中度重复序列。 7.真核生物基冈是断裂基因,即基因是不连续的,由外显子和内含子交替构成。 8.真核生物基因的转录产物是单顺反子 mRNA。 9.真核生物基因组中存在各种基因家族,基因家族成员可以串联在一起,也可以相距很远,但即使串联在一起的基因也是分别表达的。 3、论述参与 DNA 复制的酶和蛋白质及其作用。 原核生物 DNA 的复制过程需要 30 多种酶和蛋白质参加。主要有 DNA 聚合酶、解旋酶、拓扑异构酶、引物酶和 DNA 连接酶等:(1DNA 聚合酶 DNA 聚酶的作用是催化 dNTP 按5'→3'方向合成 DNA。反应只消耗 dNTP,但还有两种成分必不可少:①模板:DNA 聚合酶催化的反应是 DNA 的复制,即合成单链 DNA 的互补链,所以必须为其提供单链 DNA,这就是模板;②引物:有了底物和模板,DNA聚合酶还是不能合成 DNA,因为它不能从无到有合成 DNA 链,只能把脱 氧核苷酸连接在已有核酸的 3'-羟基上,而且该核酸的序列必须与 DNA 模板的3'端序列互补,并形成结合,这已有的核酸就是引物。(2解链、解旋酶类 DNA 具有超螺旋、双螺旋等结构,在复制时,作为模板的亲代 DNA 分子需松弛螺旋,解开双链,暴露碱基,才能按碱基互补原则合成子代 DNA。参与亲代 DNA 双链解链、并将基维持在解链状态的酶和蛋白质主要有解旋酶、拓扑异构酶和单链 DNA 结合蛋白。(3引物酶 DNA 复制需要 RNA 引物,RNA 引物由引物酶催化合成。(4连接酶环状DNA 或冈崎片段合成之后都留下切口,需要一种酶,能催化切口处的 5'-磷酸基与 3'-羟基连接形成磷酸二酯键,这种酶就是 DNA 连接酶。 4、转录与复制的不同点。 ①目的不同,所使用的酶、原料及其它辅助因子不同,转录是合成 RNA,复制是合成 DNA;②方式不同:转录是不对称的,只在双链 DNA 的一条链上进行,只以 DNA 的一条链为模板,复制为半不连续的,分别以 DNA 的两条链为模板,在 DNA 的两条

最新版c语言经典习题100例(最全面)

C语言习题100例(最新整理版) 习题目录:(按住Ctrl点击可以快速跳转到对应页面) 【程序1】 (5) 题目:有1、2、3、4个数字,能组成多少个互不相同且无重复数字的三位数?都是多少? (5) 【程序2】 (6) 题目:企业发放的奖金根据利润提成。利润(I)低于或等于10万元时,奖金可提10%;利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可可提成7.5%;20万到40万之间时,高于20万元的部分,可提成5%;40万到60万之间时高于40万元的部分,可提成3%;60万到100万之间时,高于60万元的部分,可提成 1.5%,高于100万元时,超过100万元的部分按1%提成,从键盘输入当月利润I,求应发放奖金总数? (6) 【程序3】 (7) 题目:一个整数,它加上100后是一个完全平方数,再加上168又是一个完全平方数,请问该数是多少? (7) 【程序4】 (7) 题目:输入某年某月某日,判断这一天是这一年的第几天? (7) 【程序5】 (8) 题目:输入三个整数x,y,z,请把这三个数由小到大输出。 (8) 【程序6】 (9) 题目:用*号输出字母C的图案。 (9) 【程序7】 (9) 题目:输出特殊图案,请在c环境中运行,看一看,VeryBeautiful! (9) 【程序8】 (9) 题目:输出9*9口诀。 (9) 【程序9】 (10) 题目:要求输出国际象棋棋盘。 (10) 【程序10】 (10) 题目:打印楼梯,同时在楼梯上方打印两个笑脸。 (10) 【程序11】 (11) 题目:古典问题:有一对兔子,从出生后第3个月起每个月都生一对兔子,小兔子长到第三个月后每个月又生一对兔子,假如兔子都不死,问每个月的兔子总数为多少? (11) 【程序12】 (11) 题目:判断101-200之间有多少个素数,并输出所有素数。 (11) 【程序13】 (12) 题目:打印出所有的“水仙花数”,所谓“水仙花数”是指一个三位数,其各位数字立方和等于该数本身。例如:153是一个“水仙花数”,因为153=1的三次方+5的三次方+3的三次方。 (12) 【程序14】 (12) 题目:将一个正整数分解质因数。例如:输入90,打印出90=2*3*3*5。 (12) 【程序15】 (13) 题目:利用条件运算符的嵌套来完成此题:学习成绩>=90分的同学用A表示,60-89分之间的用B表示,60分以下的用C表示。 (13) 【程序16】 (13) 题目:输入两个正整数m和n,求其最大公约数和最小公倍数。 (13) 【程序17】 (14) 题目:输入一行字符,分别统计出其中英文字母、空格、数字和其它字符的个数。 (14) 【程序18】 (14)

通信原理(陈启兴版) 第9章作业和思考题参考答案

9-1设有8个码组:001001B 、001010B 、010101B 、110011B 、101011B 、101111B 、110100B 和101000B ,试求它们的最小码距。 解 码距(码组的距离)是指两个码组中对应位上数字不同的位数。最小码距d 0是指某种编码中各个码组之间距离的最小值。该编码的最小码距d 0=1 9-2已知一个(7,3)码的生成矩阵为100111001001110011101G ????=?????? ,试列出其所有许用码组,并求出其监督矩阵。 解 (1) 所有许用码组 由生成矩阵G 可以产生所有许用码组: 例如,当信息码为 []654[010]a a a = 可得相应的码组为 []10011100010100111[0100111]0011101?? ??=?????? 同理可得其它许用码组。所有许用码组列表如下: 0000000100111000111011010011 010011111010010111010 1110100 (2) 监督矩阵 本题中给出的生成矩阵G 是典型阵,即 10011100100111[]0011101k G I Q ?? ??==?? ???? 其中 111001111101Q ?? ??=?? ???? 所有 T 101111110011P Q ???? ??==?????? 监督矩阵

10110001110100[]11000100110001r H PI ???? ? ?==?????? 9-3已知一个(15,11)汉明码的生成多项式为g (x ) = x 4 + x 3 + 1,试求其生成矩阵和监督矩阵。 解 生成矩阵为 141310131291211811107 1101096 29985874 763 6525443()()()()()()()()()1k k x x x x x x x x x x x x x g x x g x x x x x g x x g x G x x x x xg x xg x x x x g x g x x x x x x x x x x x x --?++?++??++??++?????????++? ?????????===++? ?????++?????????++??????++?++++? ?????? ????? ?? ????????? 或 110010000000000011001000000000001100100000000000110010000000000011001000000000001100100000000000110010000000000011001000000000001100100000000000110010000000000011001G ?? ??????????????=????????????????? ? 典型化

C经典编程练习题

C++经典编程例题(1) 1、(已验证!)计算铁路运费。已知从甲地到乙地,每张票托运行李不超过50公斤时,按每公斤0.13元,超过50公斤,超过部分按每公斤0.2元计算。输入行李重量w,计算运费y. #include using namespace std; void main() { float money=0,weight; cout<<"请输入货物重量(单位:千克):"; cin>>weight; if (weight<0) cout<<”数据错误!”< 50) money = 50 * 0.13 + (weight - 50) * 0.2; cout<<"\n总费用是:"< #include using namespace std; void main() { double a,b,c,p,x1,x2,D; cout<<"请输入3个数:"<

D=b*b-4*a*c; if (D<0) cout<<"方程无解!"<0) { p=-b/(2*a); x1=p+sqrt(D)/(2*a); x2=p-sqrt(D)/(2*a); cout<<"方程有两个不同的实根。"<>n; for (i=1;i<=n;i++) s=i*s; cout<

相关文档
最新文档