请将以下程序中的函数声明语句补充完整
#include <stdio.h>
int【12】 ;
main( )
{int x,y,(*p)();
p=max;
printf(“&d\n”,&x,&y);
}
Int max(int a,int b)
{return (a>b/a:b);}
(12)max(int a,int b)
程序中有如下语句
for(int i = 0; i<5; i++)cout<<*(p + i)<<",";
能够依次输出 int 型一维数组 DATA 的前 5 个元素。由此可知,变量 p 的定义及初始 化语句是【 7 】 。
下列合法的声明语句是( )。
A.int_abc=50;
B.double int=3+5e2.5
C.long do=1L;
D.float 3_asd=3e-3;
执行下列程序中的输出语句后,a的值是( )。 main() { int a; printf("%d\n",(a=2*3,a*5,a+7)); }
A.17
B.37
C.6
D.13
下列语句分别是不同程序中的第一个输入/输出语句,若去掉其中的“<<left”,则输出效果将发生变化的是
A.eout<<left<<setfill('*')<<357;
B.cout<<left<<setw(5)<<357;
C.eout<<left<<setw(5)<<"ABCDE";
D.eout<<left<<"ABCDE";
面向对象程序设计226118春在线作业1-0001试卷总分:100 得分:0一、 单选题 (共 30 道试题,共 60 分)1.以下不能正确进行字符串赋初值的语句是()A.charstr5=good!;B.charstr=good!;C.char*str=good!;D.charstr5=g,o,o,d;正确答案:A2.如果定义了一个类myclass,则为myclass类对象以成员函数形式重载后+运算符的声明应该为()A.myclassoperator+();B.myclass&operator+();C.myclassoperator+(int);D.myclass&operator+(int);正确答案:C3.下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“left”,输出效果将发生变化的是()A.coutleftsetfill(*)357;B.coutleftsetw(5)357;C.coutleftsetw(5)ABCDE;D.coutleft1;I-=2)cout*;A.24B.25C.26D.50正确答案:A19.在定义inta342;后,第10个元素是()A.a212B.a101C.a201D.a221正确答案:B20.已知Value是一个类,Value是Value的一个对象。下列以非成员函数形式重载的运算符函数原形中,正确的是()A.Valueoperator+(Valuev,inti);B.Valueoperator+(Valuev=value,inti);C.Valueoperator+(Valuevinti=0);D.Valueoperator+(Valuev=value,inti=0);正确答案:B21.链表的基本单元是()A.节点B.头指针C.尾指针D.数据域正确答案:A22.下列排序算法中,平均效率最低的排序算法是()A.插入法B.冒泡法C.选择法D.快速排序法正确答案:B23.C+源文件的缺省扩展名为()A.cppB.exeC.objD.lik正确答案:A24.有如下类定义: class Point private; static int how_many; ; _ how_many=0; 要初始化 Point 类的静态成员 how_many,下划线处应填入的内容是A.ingB.staticintC.intPoint:D.staticintPoint:正确答案:D25.有如下 4 个语句: coutAsetfill(*)leftsetw(7)Bendl; coutsetfill(*)leftsetw(7)ABendl; coutAserfill(*)rightsetw(7)Bendl; coutsetfill(*)rightsetw(7)ABendl; 其中能显示 A*B 的是A.和B.和C.和D.和正确答案:A26.数组名作为实参传递给形参时,数组名被处理为该数组的()A.长度B.元素个数C.首地址D.各元素的值正确答案:C27.函数的形参是()A.全局变量B.局部变量C.静态变量D.部变量正确答案:B28.二进制数00001001跟01000011异或的结果为()A.01001011B.00000001C.01001010D.01001100正确答案:C29.下面的选项中正确的赋值语句是(chara5,*p=a;)()A.p=“abcd”;B.a=“abcd”;C.*p=“abcd”;D*a=“abcd”;正确答案:A30.队列的最大特征是()A.先进先出B.后进先出C.自动排序D.大数优先正确答案:A二、 多选题 (共 5 道试题,共 20 分)1.C中变量要求()A.有明确的类型B.先声明后使用C.名字中不能使用下划线D.严格区分大小写正确答案:ABD2.设有定义语句: int x6=2,4,6,8,5,7,*p=x,i; 要求依次输出x数组6个元素中的值,下列选项中能完成次操作的语句有_( )、A.for(i=0;i6;i+)printf(“%2d”,*(p+);B.for(i=0;i6;i+)printf(“%2d”,*(p+i);C.for(i=0;i6;i+)printf(“%2d”,*p+);D.for(i=0;i6;i+)printf(“%2d”,(*p)+);正确答案:ABC3.for语句的格式为fo
执行下列语句段后程序的输出结果是______。
int x[]={1,2,3,4,5};
int q=x;
cout<<*(++q)<<end1;
使用VC6打开考生文件夹下的工程test41_3。此工程包含一个test41_3.cpp,其中定义了类Rectangle,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类Rectangle的私有数据成员left,top和fight,bottom,它们都是int型的数据。请在注释“//**1**”之后添加适当的语句。
(2)添加类Rectangle的带四个int型参数1、t、r、b的构造函数的声明,并使这四个参数的默认值均为0,请在注释“//**2**”之后添加适当的语句。
(3)添加类Rectangle的成员函数SetTop()参数为int型的t,作用为把t的值赋给类的数据成员top,添加类Rectangle的成员函数SetBottom()参数为int型的t,作用为把t的值赋给类的数据成员bottom,请在注释“//**3**”之后添加适当的语句。
(4)完成派生类Rectangle的成员函数Show()的定义,使其以格式“right-bottom point is(right,bottom)”输出,请在注释“//**4**”之后添加适当的语句。
源程序文件test41_3.cpp清单如下:
include <iostream.h>
class Rectangle
{
// ** 1 **
int right, bottom;
public:
// ** 2 **
~ Rectangle(){};
void Assign(int 1, int t, int r, int b);
void SetLeft(int t){left = t;}
void SetRight(int t){right = t;}
// ** 3 **
void SetBottom(int t){bottom = t;}
void Show();
};
Rectangle::Rectangle(int 1, int t, int r, int b)
{
left = 1; top = t;
right = r; bottom = b;
}
void Rectangle::Assign(int 1, int t, int r, int b)
{
left = 1; top = t;
right = r; bottom = b;
}
void Rectangle::Show()
{
cout<<"left-top point is ("<<left<<","<<top<<")"<<'\n';
// ** 4 **
}
void main()
{
Rectangle rect;
rect.Show();
rect.Assign(100,200,300,400);
rect.Show();
}
在下列叙述中,正确的一条是( )
A.语句int *pt中的*pt是指针变量名
B.语句"int *p=a;"等价于"int *p;p=&a[0];”
C.运算符*和&都是取变量地址的运算符
D.已知指针变量p指向变量a,则&a和*p值相同,都是变量a的值
程序中有如下语句for(int i=0;i<5;i++)cout<<*(p+i<<“,”;能够依次输出int型一维数组a的前5个元素。由此可知,变量P的定义及初始化语句是( )。
A.int*p=a;
B.int p=a;
C.*p=a;
D.p=a;
执行下列语句: #include<iostream> using namespace std; int main() { int x=3; if(x=5) cout<<x++<<end1; else cout<<x<<end1; return 0; } 程序的输出是( )。
A.3
B.4
C.5
D.6