




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、封装 (encapsulation)封装就是将抽象得到的数据和行为(或功能)相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成“类”,其中数据和函数都是类的成员。封装的目的是增强安全性和简化编程,使用者不必了解具体的实现细节,而只是要通过 外部接口,一特定的访问权限来使用类的成员。例如,在抽象的基础上,我们可以将时钟的数据和功能封装起来,构成一个时钟类。按c+的语法,时钟类的声明如下:class Clock public : /共有成员,外部借口 void SetTime (
2、;int NewH , int NewM , int NewS ) void ShowTime () private : /私有成员,外部无法访问 int Hour , Minute , Second 可以看到通过封装使一部分成员充当类与外部的接口,而将其他的成员隐蔽起来,这样就达到了对成员访问权限的合理控制,使不同类之间的相互影响减少到最低限度,进而增强数据的安全性和简化程序的编写工作
3、。什 么是多态(Polymorphisn)?按字面的意思就是“多种形状”。引用Charlie Calverts对多态的描述多态性是允许你将父对象设置成为和一个或更多的他的子对象相等的技术,赋值之后,父对象就可以根据当前赋值给它的子对象 的特性以不同的方式运作(摘自“Delphi4 编程技术内幕”)。简单的说,就是一句话:允许将子类类型的指针赋值给父类类型的指针。多态性在Object Pascal和C+中都是通过虚函数(Virtual Function)实现的。好,接着是“虚函数”(或者是“虚方法”)。虚函数就是允许被其子类重新定义的成员函数。而子类重新定义父类虚函数的做法,称为“覆盖”(ove
4、rride),或者称为“重写”。“继 承”是面向对象软件技术当中的一个概念。如果一个类A继承自另一个类B,就把这个A称为“B的子类”,而把B称为“A的父类”。继承可以使得子类具有父类 的各种属性和方法,而不需要再次编写相同的代码。在令子类继承父类的同时,可以重新定义某些属性,并重写某些方法,即覆盖父类的原有属性和方法,使其获得 与父类不同的功能。继承是指一个对象直接使用另一对象的属性和方法。事实上,我们遇到的很多实体都有继承的含义。例如,若把汽车看成一个实体,它可以分成多个子实体,如:卡车、公共汽车等。这些子实体都具有汽车的特性,因此,汽车是它们的“父亲”,而这些子实体则是汽车的“孩子”。多继
5、承时很容易产生命名冲突,即使我们很小心地将所有类中的成员变量和成员函数都命名为不同的名字,命名冲突依然有可能发生,比如非常经典的菱形继承层次。如下图所示:类A派生出类B和类C,类D继承自类B和类C,这个时候类A中的成员变量和成员函数继承到类D中变成了两份,一份来自 A->B->D 这一路,另一份来自 A->C->D 这一条路。在一个派生类中保留间接基类的多份同名成员,虽然可以在不同的成员变量中分别存放不同的数据,但大多数情况下这是多余的:因为保留多份成员变量不仅占用较多的存储空间,还容易产生命名冲突,而且很少有这样的需求。为了解决这个问题,C+提供了虚基类,使得在派生类
6、中只保留间接基类的一份成员。声明虚基类只需要在继承方式前面加上 virtual 关键字,请看下面的例子:#include <iostream>using namespace std;class Aprotected: int a;public: A(int a):a(a);class B: virtual public A /声明虚基类protected: int b;public: B(int a, int b):A(a),b(b);class C: virtual public A /声明虚基类protected: int c;public: C(int a
7、, int c):A(a),c(c);class D: virtual public B, virtual public C /声明虚基类private: int d;public: D(int a, int b, int c, int d):A(a),B(a,b),C(a,c),d(d) void display();void D:display() cout<<"a="<<a<<endl; cout<<"b="<<b<<endl; cout<<"c=&quo
8、t;<<c<<endl; cout<<"d="<<d<<endl;int main() (new D(1, 2, 3, 4) -> display(); return 0;#include<stdio.h> #include<math.h> main() int i,x; scanf("%d",&x); for(i=2;i<=x-1;i+) if(x%i=0) printf("NOn"); for(i=2;i<=x/2;i+)
9、 for(i=2;i<=sqrt(x);i+); Virtual是C+ OO机制中很重要的一个关键字。只要是学过C+的人都知道在类Base中加了Virtual关键字的函数就是虚拟函数(例如函数print),于是在 Base的派生类Derived中就可以通过重写虚拟函数来实现对基类虚拟函数的覆盖。当基类Base的指针point指向派生类Derived的对象 时,对point的print函数的调用实际上是调用了Derived的print函数而不是Base的print函数。这是面向对象中的多态性的体 现。(关于虚拟机制是如何实现的,参见Inside the C+ Object Model ,A
10、ddison Wesley 1996)class Basepublic:Base()public: virtual void print()cout<<"Base" class Derived:public Basepublic:Derived()public: void print()cout<<"Derived" int main()
11、0; Base *point=new Derived(); point->print();Output:Derived 这也许会使人联想到函数的重载,但稍加对比就会发现两者是完全不同的:(1) 重载的几个函数必须在同一个类中;覆盖的函数必须在有继承关系的不同的类中(2) 覆盖的几个函数必须函数名、参数、返回值都相同;重 载的函数必
12、须函数名相同,参数不同。参数不同的目的就是为了在函数调用的时候编译器能够通过参数来判断程序是在调用的哪个函数。这也就很自然地解释了为什 么函数不能通过返回值不同来重载,因为程序在调用函数时很有可能不关心返回值,编译器就无法从代码中看出程序在调用的是哪个函数了。(3) 覆盖的函数前必须加关键字Virtual;重载和Virtual没有任何瓜葛,加不加都不影响重载的运作。第6题(1.0分)C语言把文件看作是一个【1】的序列.答案:=(答案1)=字符=或=字节第7题(1.0分)静态变量和外部变量的初始化是在【1】阶段完成的,而自动
13、变量的赋值是在【2】时进行的.答案:=(答案1)=编译=(答案2)=函数调用第8题(1.0分)若有定义:int a32=2,4,6,8,10,12;,则*(a1+1)的值是【1】.答案:=(答案1)=8第9题(1.0分)C语言中,数组名是一个不可变的【1】量,不能对它进行加减和赋值运算.答案:=(答案1)=地址第12题(1.0分)feof(fp)函数用来判断文件是否结束,如果遇到文件结束,函数值为【1】,否则为【2】.答案:=(答案1)=非0值=(答案2)=0第13题(1.0分)如果函数不要求带回值,可用【1】来定义函数返回值为空.答案:=(答案1)=void第14题(1.0分)调用 fope
14、n 函数打开一文本文件,在"使用方式"这一项中,为输出而打开需填入【1】.答案:=(答案1)=w=或=w+第15题(1.0分)顺序结构存储方法是把逻辑上相邻的结点存储在物理位置【1】的存储单元中。答案:=(答案1)=相邻第16题(1.0分)一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【1】。答案:=(答案1)=可重用性第17题(1.0分)C+中封装性、继承性和【1】是面向对象程序设计的三个主要性质。答案:=(答案1)=多态性第18题(1.0分)C+语言的参数传递机制包括传值和传地址两种,如果调用函数时,需要改变实参或者返回多个值,应该采取【1】
15、方式。答案:=(答案1)=传地址第19题(1.0分)设i,j,k均为int型变量,则执行完for(i=0,j=10;j<=j;i+,j-)k=i+j;语句后,K的值为【1】。答案:=(答案1)=10第20题(1.0分)对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为【1】。答案:=(答案1)=45二、判断共20题(共计20分)第1题(1.0分)用fopen("file","r+");打开的文件"file"可以进行修改。答案:Y第2题(1.0分)int i=20;switch(i/10)case 2:printf(&q
16、uot;A");case 1:printf("B");的输出结果为A。答案:N第3题(1.0分)若有定义和语句:int a;char c;float f;scanf("%d,%c,%f",&a,&c,&f);若通过键盘输入:10,A,12.5,则a=10,c='A',f=12.5.答案:Y第4题(1.0分)char *p="girl"的含义是定义字符型指针变量p,p的值是字符串"girl"。答案:N第5题(1.0分)x*=y+8 等价于 x=x*(y+8)。答案:Y
17、第6题(1.0分)如果有一个字符串,其中第十个字符为'n',则此字符串的有效字符为9个。答案:N第7题(1.0分)通过return语句,函数可以带回一个或一个以上的返回值。答案:N第8题(1.0分)如果想使一个数组中全部元素的值为0,可以写成int a10=0*10;答案:N第9题(1.0分)一个include 命令可以指定多个被包含的文件。答案:N第10题(1.0分)C程序中有调用关系的所有函数必须放在同一个源程序文件中。答案:N第11题(1.0分)进行宏定义时,宏名必须使用大写字母表示。答案:N第12题(1.0分)共同体变量所占的内存长度等于最长的成员的长度。答案:Y第13
18、题(1.0分)在C 语言中,此定义和语句是合法的:enum aa a=5,b,cbb;bb=(enum aa)5;答案:Y第14题(1.0分)7&3+12的值是15。答案:N第15题(1.0分)类有两个特殊的成员函数构造函数和虚函数答案:N第16题(1.0分)抽象类不仅可用做派生其他类的基类,也可以用于直接创建对象实例。答案:N第17题(1.0分)静态函数可声明为虚函数。答案:N第18题(1.0分)如果一个函数在其函数体内直接或间接的调用了自己,该函数称为递归函数。答案:Y第19题(1.0分)类中提供了三种访问控制权:公有、私有、保护三种类型。答案:Y第20题(1.0分)所谓继承就是利
19、用已有的数据类型定义出新的数据类型。答案:Y三、单选共60题(共计60分)第1题(1.0分)fscanf函数的正确调用形式是()。A:fscanf(fp,格式字符串,输出表列);B:fscanf(格式字符串,输出表列,fp);C:fscanf(格式字符串,文件指针,输出表列);D:fscanf(文件指针,格式字符串,输入表列);答案:D第2题(1.0分)C语言的if语句嵌套时,if与else的配对关系是()。A:每个else总是与它上面的最近的if配对B:每个else总是与最外层的if配对C:每个else与if的配对是任意的D:每个else总是与它上面的if配对答案:A第3题(1.0分)C语言
20、中,文件由()。A:记录组成B:由数据行组成C:由数据块组成D:由字符(字节)序列组成答案:D第4题(1.0分)设C语言中,int类型数据占2个字节,则short类型数据占()。A:1个字节B:2个字节C:4个字节D:8个字节答案:B第5题(1.0分)以下不符合C语言语法的赋值语句是()。A:j+;B:j=j=5;C:k=2*4,k*4;D:y=float(j);答案:D第6题(1.0分)C语言允许函数类型缺省定义,此时函数值隐含的类型是()。A:floatB:intC:longD:double答案:B第7题(1.0分)int (*p)6; 它的含义为()。A:具有6个元素的一维数组B:定义了
21、一个指向具有6个元素的一维数组的指针变量C:指向整型指针变量D:指向6个整数中的一个的地址答案:B第8题(1.0分)经下列语句定义后,sizeof(x),sizeof(y),sizeof(a),sizeof(b)在微机上的值分别为()。char x=65;float y=7.3; int a=100; double b=4.5;A:2,2,2,4B:1,2,2,4C:1,4,2,8D:2,4,2,8答案:C第9题(1.0分)char *match(char c)是()。A:函数定义的头部B:函数预说明C:函数调用D:指针变量说明答案:A第10题(1.0分)若有说明: int a34=0;则下面
22、正确的叙述是()。A:只有元素a00可得到初值0B:此说明语句不正确C:数组a中各元素都可得到初值,但其值不一定为0D:数组a中每个元素均可得到初值0答案:D第11题(1.0分)当说明一个结构体变量时系统分配给它的内存是()。A:各成员所需内存量的总和B:结构中第一个成员所需内存量C:成员中占内存量最大者所需的容量D:结构中最后一个成员所需内存量答案:A第12题(1.0分)以下不是无限循环的语句为()。A:for(y=0,x=1;x>+y;x=i+) i=x;B:for(;x+=i);C:while(1)x+;D:for(i=10;i-) sum+=i;答案:A第13题(1.0分)利用
23、fseek 函数可以实现的操作是()。A:改变文件的位置指针B:文件的顺序读写C:文件的随机读写D:以上答案均正确答案:D第14题(1.0分)C语言中 while 和 do-while 循环的主要区别是()。A:do-while 的循环体至少无条件执行一次B:while的循环控制条件比 do-while的循环控制条件更严格C:do-while 允许从外部转到循环体内D:do-while 的循环体不能是复合语句答案:A第15题(1.0分)sizeof(float)是()。A:一种函数调用B:一个不合法的表达式C:一个整型表达式D:一个浮点表达式答案:C第16题(1.0分)以下程序的运行结果是()
24、。main() int n;for(n=1;n<=10;n+) if(n%3=0) continue;printf("%d",n); A:12457810B:369C:12D:1234567890答案:A第17题(1.0分)以下不正确的叙述是()。A:在C程序中所用的变量必须先定义后使用B:程序中,APH和aph是两个不同的变量C:若a和b类型相同,在执行了赋值语句a=b;后b中的值将放入a中,b中的值不变D:当输入数值数据时,对于整型变量只能输入整型值;对于实型变量只能输入实型值答案:D第18题(1.0分)下列程序的输出结果为()。main()int m=7,n=4
25、;float a=38.4,b=6.4,x;x=m/2+n*a/b+1/2;printf("%fn",x);A:27.000000B:27.500000C:28.000000D:28.500000答案:A第19题(1.0分)凡是函数中未指定存储类别的局部变量,其隐含的存储类别为()。A:自动(auto)B:静态(static)C:外部(extern)D:寄存器(register)答案:A第20题(1.0分)下列定义数组的语句中正确的是()。A:#define size 10 char str1size,str2size+2;B:char str;C:int num'
26、10'D:int n=5; int ann+2;答案:A第21题(1.0分)以下描述中,正确的是()。A:预处理是指完成宏替换和文件包含中指定的文件的调用B:预处理指令只能位于C源文件的开始C:C源程序中凡是行首以#标识的控制行都是预处理指令D:预处理就是完成C编译程序对C源程序第一遍扫描,为编译词法和语法分析作准备答案:C第22题(1.0分)位字段数据的单位是()位。A:十六进制B:八进制C:二进制D:十进制答案:C第23题(1.0分)以下的选择中,正确的赋值语句是()。A:a=1,b=2B:j+C:a=b=5;D:y=int(x)答案:C第24题(1.0分)若有int *p=(in
27、t *)malloc(sizeof(int);则向内存申请到内存空间存入整数123的语句为()。A:scanf("%d",p);B:scanf("%d",&p);C:scanf("%d",*p);D:scanf("%d",*p);答案:A第25题(1.0分)已知大写字母A的ASCII码值是65,小写字母a的ASCII码是97,则用八进制表示的字符常量'101'是()。A:字符AB:字符aC:字符eD:非法的常量答案:A第26题(1.0分)以下叙述中正确的是()。A:C程序中注释部分可以出现在
28、程序中任意合适的地方B:花括号“和”只能作为函数体的定界符C:构成C程序的基本单位是函数,所有函数名都可以由用户命名D:分号是C语句之间的分隔符,不是语句的一部分答案:A第27题(1.0分)假定int类型变量占用两个字节,其有定义:int x10=0,2,4;,则数组x在内存中所占字节数是()。A:3B:6C:10D:20答案:D第28题(1.0分)在C语言中,形参的缺省存储类是()。A:autoB:registerC:staticD:extern答案:A第29题(1.0分)已知字母a的ASCII十进制代码为97,则执行下列语句后的输出结果为()。char a='a' a-;p
29、rintf("%d,%cn",a+'2'-'0',a+'3'-'0');A:b,cB:a-运算不合法,故有语法错C:98,cD:格式描述和输出项不匹配,输出无定值答案:C第30题(1.0分)不仅可将C源程序存在磁盘上,还可将数据按数据类型分别以什么的形式存在磁盘上()。A:内存B:缓冲区C:文件D:寄存器答案:C第31题(1.0分)表达式18/4*sqrt(4.0)/8值的数据类型为()。A:intB:floatC:doubleD:不确定答案:C第32题(1.0分)以下能对二维数组a进行正确初始化的语句是()。
30、A:int a2=1,0,1,5,2,3;B:int a3=1,2,3,4,5,6;C:int a24=1,2,3,4,5,6;D:int a3=1,0,1,1,1;答案:B第33题(1.0分)函数 rewind 的作用是()。A:使位置指针重新返回文件的开头B:将位置指针指向文件中所要求的特定位置C:使位置指针指向文件的末尾D:使位置指针自动移至下一个字符位置答案:A第34题(1.0分)在C语言中,要求运算数必须是整型或字符型的运算符是()。A:&&B:&C:!D:|答案:B第35题(1.0分)int a=1,b=2,c=3;if(a>c)b=a;a=c;c=b
31、;则c的值为()。A:1B:2C:3D:不一定答案:B第36题(1.0分)对 for(表达式1; ;表达式3) 可理解为()。A:for(表达式1;0;表达式3)B:for(表达式1;1;表达式3)C:for(表达式1;表达式1;表达式3)D:for(表达式1;表达式3;表达式3)答案:B第37题(1.0分)a,b为整型变量,二者均不为0,以下关系表达式中恒成立的是()。A:a*b/a*b=1B:a/b*b/a=1C:a/b*b+a%b=aD:a/b*b=a答案:C第38题(1.0分)char a1="abc",a280="1234"将a1串连接到a2串
32、后面的语句是()。A:strcat(a2,a1);B:strcpy(a2,a1);C:strcat(a1,a2);D:strcpy(a1,a2);答案:A第39题(1.0分)设 char *s="ta017bc"则指针变量s指向的字符串所占的字节数是()。A:9B:5C:6D:7答案:C第40题(1.0分)以下描述中正确的是()。A:由于 do-while 循环中循环体语句只能是一条可执行语句,所以循环体内不能使用复合语句B:do-while 循环由do开始,用while结束,在 while(表达式)后面不能写分号C:在 do-while 循环体中,一定要有能使 while
33、 后面表达式的值变为零("假")的操作D:do-while 循环中,根据情况可以省略 while答案:C第41题(1.0分)对于void类型函数,调用时不可作为()。A:自定义函数体中的语句B:循环体里的语句C:if语句的成分语句D:表达式答案:D第42题(1.0分)下列语句中,不正确的是()。A:static char a2=1,2;B:static int a2='1','2'C:static char a2='1','2','3'D:static char a2='1'答案
34、:C第43题(1.0分)设有定义 int x;float y;,则10+x+y值的数据类型是A:intB:doubleC:floatD:不确定答案:C第44题(1.0分)在类的定义中,用于为对象分配内存空间,对类的数据成员进行初始化并执行其他内部管理操作的函数是A:友元函数B:虚函数C:构造函数D:析构函数答案:C第45题(1.0分)下面对静态数据成员的描述中,正确的是A:静态数据成员可以在类体内进行初始化B:静态数据成员不可以被类的对象调用C:静态数据成员不能受private控制符的作用D:静态数据成员可以直接用类名调用答案:D第46题(1.0分)下面对友元函数描述正确的是A:友元函数的实现
35、必须在类的内部定义B:友元函数是类的成员函数C:友元函数破坏了类的封装性和隐藏性D:友元函数不能访问类的私有成员答案:C第47题(1.0分)下面叙述不正确的是A:基类的保护成员在派生类中仍然是保护成员B:基类的保护成员在公有派生类中仍然是保护成员C:基类的保护成员在私有派生类中是私有成员D:对基类成员的访问必须是无二义性答案:A第48题(1.0分)在C+语言程序中,对象之间的相互通信通过A:继承实现B:调用成员函数实现C:封装实现D:函数重载实现答案:B第49题(1.0分)下列关于虚基类的描述中,错误的是A:设置虚基类的目的是为了消除二义性B:虚基类的构造函数在非虚基类之后调用C:若同一层包含
36、多个虚基类,这些基类的构造函数按照它们的次序调用D:若虚基类由非基类派生而来,则仍然先调用基类构造函数,再用派生类的构造函数答案:B第50题(1.0分)下列运算符中,在C+语言中不能重载的是A:*B:>=C:D:/答案:C第51题(1.0分)继承机制的作用是A:信息隐藏B:数据封装C:定义新类D:数据抽象答案:C第52题(1.0分)C+语言对C语言进行了很多改进,C+语言相对于C语言的最根本的变化是A:增加了一些新的运算符B:允许函数重载,并允许设置缺省参数C:规定函数说明符必须用原型D:引进了类和对象的概念答案:D第53题(1.0分)若x、i、j、k都是int型变量,则计算表达式x=(
37、i=4,j=16,k=32)后,x的值为( ).A:4B:16C:32D:52答案:C第54题(1.0分)下列关于开关语句的描述中,错误的是( ).A:开关语句中,case子句的个数是不受限制的B:开关语句中,case子句的语句序列中一定要有break语句C:开关语句中,default子句可以省略D:开关语句中,右花括号具有退出开关语句的功能答案:B第55题(1.0分)下列while循环语句的循环次数是( ).while(int i=0) i-;A:0B:1C:2D:无限答案:A第56题(1.0分)下列运算符中优先级最高的是( ). A:?:B:%C:-=D:&&答案:B第57
38、题(1.0分)采用函数重载的目的在于( ).A:实现共享B:减少空间C:使用方便,提高可靠性D:提高速度答案:C第58题(1.0分)使用磁盘文件,要包含_头文件A:iostreamB:fstreamC:iomanipD:complex答案:B第59题(1.0分)( )是析构函数的特征.A:一个类中只能定义一个析构函数B:析构函数与类名不同C:析构函数的定义只能在类体内D:析构函数可以有一个或多个参数答案:A第60题(1.0分)下列关于字符数组的描述中,错误的是( ).A:字符数组中的每一个元素都是字符B:字符数组可以使用初始值表进行初始化C:字符数组可以存放字符串D:字符数组就是字符串答案:D
39、四、程序填空共6题(共计40分)第1题(5.0分)/*-【程序填空】-功能:产生10个30,90区间上的随机整数,然后对其用选择法进行由小到大的排序。-*/#include <stdio.h>main() /*SPACE*/【?】;int i,j,k;int a10;for(i=0;i<10;i+)ai=random(61)+30;for(i=0;i<9;i+) /*SPACE*/【?】;for(j=i+1;j<10;j+) /*SPACE*/ if(【?】) k=j;if(k!=i) t=ak;ak=ai;ai=t; /*SPACE*/ for(【?】 )pri
40、ntf("%5d",ai);printf("n");答案:=(答案1)=int t=(答案2)=k=i=(答案3)=ak>aj=或=aj<ak=(答案4)=i=0;i<10;i+=或=i=0;10>i;i+=或=i=0;i<=9;i+=1=或=i=0;9>=i;i+=或=i=0;i<10;i+=1=或=i=0;10>i;i+=1=或=i=0;i<=9;i+=或=i=0;9>=i;i+=1=或=i=0;i<10;+i=或=i=0;10>i;+i=或=i=0;9>=i;+i=或=i
41、=0;i<=9;+i第2题(5.0分)/*-【程序填空】-功能:求一个二维数组中每行的最大值和每行的和。-*/#include <stdio.h>main() int a55,b5,c5,i,j,k,s=0;for(i=0;i<5;i+)for(j=0;j<5;j+)aij=random(40)+20;for(i=0;i<5;i+) /*SPACE*/ k=ai0; 【?】 ;for(j=0;j<5;j+) /*SPACE*/ if(k<aij) 【?】 ; s=s+aij; bi=k; /*SPACE*/【?】 ; for(i=0;i<5
42、;i+) for(j=0;j<5;j+) /*SPACE*/ printf("%5d", 【?】 );printf("%5d%5d",bi,ci);printf("n"); 答案:=(答案1)=s=0=(答案2)=k=aij=(答案3)=ci=s=(答案4)=aij第3题(5.0分)/*-【程序填空】-功能:计算一元二次方程的根。-*/#include <stdio.h>/*SPACE*/#include 【?】main()double x1,x2,imagpart;float a,b,c,disc,realpart
43、;scanf("%f%f%f",&a,&b,&c);printf("the equation"); /*SPACE*/ if(【?】<=1e-6)printf("is not quadraticn");elsedisc=b*b-4*a*c;if(fabs(disc)<=1e-6)printf("has two equal roots:%-8.4fn",-b/(2*a); /*SPACE*/ else if(【?】) x1=(-b+sqrt(disc)/(2*a);x2=(-b-s
44、qrt(disc)/(2*a);printf("has distinct real roots:%8.4f and %.4fn",x1,x2); else realpart=-b/(2*a);imagpart=sqrt(-disc)/(2*a);printf("has complex roots:n");printf("%8.4f=%.4fin",realpart,imagpart);printf("%8.4f-%.4fin",realpart,imagpart); 答案:=(答案1)=<math.h>
45、=(答案2)=fabs(a)=(答案3)=fabs(disc) > 1e-6=或=1e-6 <fabs(disc)第4题(5.0分)/*-【程序填空】-功能:分别求出一批非零整数中的偶数、奇数的平均值,用零作为终止标记。-*/#include <stdio.h>main()int x,i=0,j=0;float s1=0,s2=0,av1,av2;scanf("%d",&x); /*SPACE*/ while(【?】) if(x%2=0) s1=s1+x;i+; /*SPACE*/【?】 s2=s2+x;j+; /*SPACE*/【?】; if(i!=0) av1=s1/i;else av1=0;if(j!=0) /*SPACE*/【?】 ;else av2=0;printf("oushujunzhi:%7.2f,jishujunzhi:%7.2fn",av1,av2);答案:=(答案1)=x != 0=或=x=(答案2)=else=或=else if(x%2=1)=或=else if(x%2!=0)=或=if(x%2)=(答案3)=scanf("%d",&x)=(答案4)=av2=s2
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 甘肃农业职业技术学院《建筑力学(1)》2023-2024学年第二学期期末试卷
- 滨州职业学院《流体传动与控制基础》2023-2024学年第二学期期末试卷
- 河南科技大学《主题地产策划及设计》2023-2024学年第二学期期末试卷
- 合肥师范学院《Python综合实训》2023-2024学年第二学期期末试卷
- 广东亚视演艺职业学院《近代国际关系史》2023-2024学年第二学期期末试卷
- 沈阳北软信息职业技术学院《冶金技术经济学》2023-2024学年第二学期期末试卷
- 贵州民族大学《企业技术项目实训5》2023-2024学年第二学期期末试卷
- 北方工业大学《舞蹈技能实训》2023-2024学年第二学期期末试卷
- 大连科技学院《大气污染控制工程(双语)》2023-2024学年第二学期期末试卷
- 青岛工程职业学院《中级阅读》2023-2024学年第二学期期末试卷
- 2025年河南郑州航空港科创投资集团有限公司招聘笔试参考题库附带答案详解
- (一模)青岛市2025年高三年级第一次适应性检测英语试卷(含标准答案)+听力材料
- 2025年形势与政策-特朗普2.0时代中美关系及国际形势变化-课件
- 交通中国知到智慧树章节测试课后答案2024年秋上海工程技术大学
- GB/T 28185-2025城镇供热用换热机组
- 川教版(2019)小学信息技术四年级下册 第二单元第3节《图文并茂》教学设计及反思
- 【语文】《林教头风雪山神庙》课件+2024-2025学年统编版高一语文必修下册
- 烹饪原料知识试题库(附参考答案)
- 人教版九年级英语全册补全对话复习讲义
- 《页岩气(页岩油)开发地块特征污染物土壤环境生态安全阈值确定技术指南》
- 呕血、黑便病人护理
评论
0/150
提交评论