}
system(“pause”);
}
182完成程序,实现对数组的降序排序
#include
using namespace std;
void sort(int* arr, int n);
int main()
{
int array[]={45,56,76,234,1,34,23,2,3};
sort(array, 9);
for(int i = 0; i <= 8; i++)//曾经在这儿出界
cout< cout< system(“pause”); } void sort(int* arr, int n) { int temp; for(int i = 1; i < 9; i++) { for(int k = 0; k < 9 – i; k++)//曾经在这儿出界 { if(arr[k] < arr[k + 1]) { temp = arr[k]; arr[k] = arr[k + 1]; arr[k + 1] = temp; } } } } 183. 以下两条输出语句分别输出什么?[C++难] float a =1.0f; cout << (int)a << endl; cout << (int&)a << endl; cout << boolalpha << ( (int)a == (int&)a ) << endl; // 输出什么? float b =0.0f; cout << (int)b << endl; cout << (int&)b << endl; cout << boolalpha << ( (int)b == (int&)b ) << endl; // 输出什么? 1 1065353216 boolalpha0 0 0 boolalpha1 51. 以下反向遍历array数组的方法有什么错误?[STL易] vector array; array.push_back( 1 ); array.push_back( 2 ); array.push_back( 3 ); for( vector::size_type i=array.size()-1; i>=0; –i ) // 反向遍历array数组 { cout << array[i] << endl; } 184 写一个函数,完成内存之间的拷贝。[考虑问题是否全面] 答: void* mymemcpy( void *dest, const void *src, size_t count ) { char* pdest = static_cast const char* psrc = static_cast if( pdest>psrc && pdest { for( size_t i=count-1; i!=-1; –i ) pdest[i] = psrc[i]; } else { for( size_t i=0; i pdest[i] = psrc[i]; } return dest; } int main( void ) { char str[] = “0123456789″; mymemcpy( str+1, str+0, 9 ); cout << str << endl; system( “Pause” ); return 0; } 185 对于C++中类(class) 与结构(struct)的描述正确的为: A,类中的成员默认是private的,当是可以声明为public,private 和protected, 结构中定义的成员默认的都是public; B,结构中不允许定义成员函数,当是类中可以定义成员函数; C,结构实例使用malloc() 动态创建,类对象使用new 操作符动态分配内存; D,结构和类对象都必须使用new 创建; E,结构中不可以定义虚函数,当是类中可以定义虚函数. F,结构不可以存在继承关系,当是类可以存在继承关系. 答:A,D,F 186.两个互相独立的类:ClassA 和 ClassB,都各自定义了非静态的公有成员函数 PublicFunc() 和非静态的私有成员函数 PrivateFunc(); 现在要在ClassA 中增加定义一个成员函数ClassA::AdditionalPunction(ClassA a,ClassB b);则可以在AdditionalPunction(ClassA x,ClassB y)的实现部分(函数功能体内部) 出现的合法的表达是最全的是: A,x.PrivateFunc();x.PublicFunc();y.PrivateFunc();y.PublicFunc(); B,x.PrivateFunc();x.PublicFunc();y.PublicFunc(); C,x.PrivateFunc();y.PrivateFunc();y.PublicFunc(); D,x.PublicFunc();y.PublicFunc(); 答:B 186.C++程序下列说法正确的有: A,对调用的虚函数和模板类都进行迟后编译. B,基类与子类中函数如果要构成虚函数,除了要求在基类中用virtual 声名,而且必须名字相同且参数类型相同返回类型相同 C,重载的类成员函数都必须要:或者返回类型不同,或者参数数目不同,或者参数序列的类型不同. D,静态成员函数和内联函数不能是虚函数,友员函数和构造函数也不能是虚函数,但是析构函数可以是虚函数. 答:A *************************************************************************** 187 头文件的作用是什么 答:一、通过头文件来调用库功能。在很多场合,源代码不便(或不准)向用户公布,只要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口声明来调用库功能,而不必关心接口怎么实现的。编译器会从库中提取相应的代码。 二、头文件能加强类型安全检查。如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。 188、以下为Windows NT下的32位C++程序,请计算sizeof的值(10分) char str[] = “Hello” ; char *p = str ; int n = 10; 请计算 sizeof (str ) = 6 (2分) sizeof ( p ) = 4 (2分) sizeof ( n ) = 4 (2分)void Func ( char str[100]) { 请计算 sizeof( str ) = 4 (2分) } void *p = malloc( 100 ); 请计算 sizeof ( p ) = 4 (2分) 3写出下列程序的运行结果。 unsigned int i=3; cout< 189.写出下列程序所有可能的运行结果。 int a; int b; int c; void F1() { b=a*2; a=b; } void F2() { c=a+1; a=c; } main() { a=5; //Start F1,F2 inparallel F1(); F2(); printf(“a=%d\n”,a); }a=11 190一个链表的操作,注意代码的健壮和安全性。要求: (1)增加一个元素; (2)获得头元素; (3)弹出头元素(获得值并删除)。 191.unsigned short array[]={1,2,3,4,5,6,7}; int i = 3; *(array + i) = 答: 4 192 class A { virtual void func1(); void func2(); } Class B: class A { void func1(){cout << “fun1 inclass B” << endl;} virtual void func2(){cout << “fun2 inclass B” << endl;} } A, A中的func1和B中的func2都是虚函数. B, A中的func1和B中的func2都不是虚函数. C, A中的func2是虚函数.,B中的func1不是虚函数. D, A中的func2不是虚函数,B中的func1是虚函数. 答: A 193输出下面程序结果。 #include class A { public: virtual void print(void) { cout<<”A::print()”< } }; class B:public A { public: virtual void print(void) { cout<<”B::print()”< }; }; class C:public B { public: virtual void print(void) { cout<<”C::print()”< } }