最新的亞信面試題目及參考答案
最新的亞信面試題目及參考答案
對面試題目的回答情況,決定著亞信求職者是否可以擁有一份工作。今天學習啦小編要與大家分享的是最新的亞信面試題目及參考答案,希望對大家的學習有幫助!
最新的亞信面試題目及參考答案:選擇題
(單選題3分,多選題4分,共32分)
在每小題列出的四個備選項中只有1個或2個是符合題目要求的,多選題已用*標識出來,請將其答案填寫在題后的括號內,錯選或未選均無分。
1、下面這段關于指針和常量的關系的程序哪些是錯誤的( D )
void f(char * p)
{
char s[ ] = “HW5,V,0,13821801333”;
const char * pc =s; //A
pc[3] = ’g’; //B
pc = p; //C
char * const cp = s;
cp[3] = ‘a’; //D
}
A.const char * pc =s;
B.pc[3] = ’g’;
C.pc = p;
D.cp[3] = ‘a’
*2、下列關于函數指針的初始化哪些是錯誤的?( )
A. void reset(int *);
void (*pf) (void *) = reset;
B. int calc(int ,int );
int (*pf1)(int ,int ) =calc;
C. extern “c” int compute(int * ,int);
int (*pf3)(int *,int) = compute;
D. void (*pf4)(const matrix &)=0;
3、在計費預處理程序中,取話單函數GetNextCdr的原形類似于
int GetNextCdr(StdCdr *pd, int &ri),變量x和y的定義是 StdCdr x; int y,把x和y分別作為第一參數和第二參數來調用函數GetNextCdr,正確的調用語句是( B )
A.GetNextCdr (x,&y);
B.GetNextCdr (&x,y);
C.GetNextCdr (&x,&y);
D.GetNextCdr (x,y);
4、下列關于結構體的使用哪些是正確的?(C )
A. struct StdCdr
{
char switch[3];
int number;
StdCdr * next;
}
B. struct StdCdr
{
char switch[3];
int number;
StdCdr next;
}
C. struct StdCdr
{
char switch[3];
int number;
StdCdr * next;
};
D. StdCdr pStd = new StdCdr;
pStd. number = 10;
5、對于如下程序
#include
class A
{ public:
A() {std::cout<<"A"<
};
int main()
{ A a[4], b,*p; }
會輸出多少個A?( C )
A.2
B.3
C.5
D.6
6、派生類的對象對它的基類成員中哪些是可以訪問的?(
A.公有繼承的成員
B.公有繼承的私有成員
C.公有繼承的保護成員
D.公有繼承的公有成員
E.私有繼承的公有成員
7、下面派生類的虛函數的重新聲明哪些是良好的?( )
A.Base * Base::copy(Base *);
Base * Derived::copy(Derived * );
B.Base * Base::copy(Base *);
Base * Derived::copy(Base * );
C.ostream & Base::print(int,ostream&= cout);
ostream & Derived::print(int,ostream&);
D.void Base::eval()const; D E )
void Derived::eval();
* 8、已知下列類層次結構,他們都定義了缺省的構造函數( C D )
class X{ };
class A{ };
class B: public A{ };
class C: private B{ };
class D:public X,public C{ };
D * pd = new D;
對于下列哪些轉換是不允許的?
A. X * px = pd;
B. B * pb = pd;
C. A * pa = pd;
D. C * pc = pd;
9、在對語音話單文件進行取話單字段信息操作時,需要用刀lseek函數,在lseek函數的 (int filedes, off_t offset, int whence)參數中,若whence參數為SEEK_CUR,則offset參數代表下列的哪個含義( B )
A.將該文件的位移量設置為距文件開始處offset個字節(jié)。
B.將該文件的位移量設置為其當前值加offset, offset可為正或負。
C.將該文件的位移量設置為文件長度加offset, offset可為正或負。
D.將該文件的位移量設置文件起始位置。
10、在打開一個ASCII文本格式的語音清單文件時,需要用到open函數,在open函數的oflag參數中,下面的哪個選項代表“若此文件不存在則創(chuàng)建它”的含義( B )
A. O_APPEND
B. O_CREAT
C. O_EXCL
D. O_TRUNC
最新的亞信面試題目及參考答案:問答題
(共38分)
1、(5分)頭文件中的 ifndef/define/endif 有什么作用?
避免重定義
2、(6分)const 有什么用途?(請至少說明兩種)
防止傳遞的函數參數不被修改 提高程序健壯性
創(chuàng)建數組常量、指針常量、指向常量的指針
3、(8分)如下的字符串函數,用于生存一個字符串 ”連接號碼異常” ,并返回它的指針 char* strfun()
{
char str[20];
strcpy(str, “連接號碼異常”);
printf(“%s \n”, str); //printf語句1
return str;
}
main()
{
char *pstr = strfun() ;
printf(“%s \n”, pstr); //printf語句2
}
問題1 : printf語句1和printf語句2哪個能在屏幕上正在打印出來?
問題2 : 如果不能正常在屏幕上打印出字符串,請說明原因。
問題3 : 如果不修改strfun的聲明,請問該如何修改上述程序的錯誤。
4、(7分)下面是交換兩個double型數據的函數,
swap( double* p1, double* p2 )
{
double *p;
*p = *p1;
*p1 = *p2;
*p2 = *p;
}
main()
{
double a = 0.1;
double b = 0.2;
swap( &a, &b );
}
請找出上述代碼的錯誤,指出錯誤的原因,并改正。
5、(7分)如果Win32程序的消息處理函數的定義由
LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam)
修改為
LRESULT CALLBACK WndProc(MSG msg)
//MSG結構體中的成員變量包含有hWnd、message、wParam 和lParam等
這種修改可行嗎?為什么?
6、(5分)MFC中,CWnd類作為所有窗體封裝類的根類,它定義的一些成員函數名稱與Win32 API函數名稱完全相同,且功能也完全相同,如ShowWindow、UpdateWindow等。但函數參數卻不同,如:
CWnd類 —— BOOL ShowWindow( int nCmdShow );
Win32 API —— BOOL ShowWindow(HWND hWnd, int nCmdShow);
問題:為什么CWnd:: ShowWindow函數少了一個參數也能實現相同的功能
最新的亞信面試題目及參考答案:程序題
(共30分)
String(const char *str = NULL); // 普通構造函數
String(const String &other); // 拷貝構造函數
~ String(void); // 析構函數
String & operate =(const String &other); // 賦值函數
private:
char *m_data; // 用于保存字符串
};
請編寫String的上述4個函數普通構造函數、拷貝構造函數、析構函數和賦值函數。
1、(14分)在計費系統(tǒng)的預處理程序中,對話單進行格式轉換時,需要使用strcpy函數已知strcpy,此函數的原型是
char *strcpy(char *strDest, const char *strSrc);
其中strDest是目的字符串,strSrc是源字符串。編寫strcpy函數
(1)不調用C++/C的字符串庫函數,請編寫函數 strcpy
(2)strcpy能把strSrc的內容復制到strDest,為什么還要char * 類型的返回值?
2、(16分)在電信業(yè)務的后臺處理程序中,經常會涉及到處理字符串,除了用char *處理字符串之外,C++還為我們提供了封裝了的字符串類string,其本質也是用一個動態(tài)數組來保存字符串,類String的原型為:
class String
{
public:
看過“最新的亞信面試題目及參考答案”的人還看了: