VC筆試題:
1、如何開啟註冊表?用什麼命令註冊ocx控件以及用什麼命令檢視IP設定情況?
2、static在C++中的作用
3、數據庫表格stu中存在字段ID表示編號,寫SQL語句查詢編號前10的記錄
4、數據庫在寫存儲過程通常使用set nocount on來實現什麼功能?
5、UpdateData(TRUE)和UpdateData(FALSE)的區別
6、解釋MFC的數據類型COLORREF
7、採用哪些函數可啓動其它應用程序
8、解釋GetClientRect()和GetWindowRect()的區別
9、解釋MFC中SendMessage與PostMessage的區別
10、名詞解釋
MFC SDK DDX DLL TCP
11、解釋下面VC調試宏的意義
TRACE
ASSERT
VERIFY
12、編一函數判斷點CPoint ptx 是否在點CPoint pta 和 ptb的`連線上
13、請說明數組CArray
14、編程實現將8進制字元串轉換爲2進制字元串的函數
15、編程實現整數的階乘
16、解釋語句virtual void X()=0;的作用
17、解釋C++中struct和class的區別
答案:
1 regedit regsvr32 ipconfig
2 用來定義靜態的變量或函數
3 select ID top 10 from stu
4 當 SET NOCOUNT 爲 ON 時,不返回計數(表示受 Transact-SQL 語句影響的行數)。當 SET NOCOUNT 爲 OFF 時,返回計數
5 UpdateData(TRUE)重新載入控件的值到對應的變量 UpdateData(FALSE) 拷貝變量值到控件顯示
6 COLORREF類型用來描繪一個RGB顏色COLORREF類型用來描繪一個RGB顏色。其定義如下: typedef DWORD COLORREF; typedef DWORD *LPCOLORREF; COLORREF類型變量值描繪一個顏色時對應於下面16進制的格式: 0x00bbggrr 可以用這樣一個結構體來描述。 RGB_value struct { byte unused ; byte blue ; byte green ; byte red; };
7 WinExec CreateProcess ShellExecute
8 GetWindowRect()取的是整個視窗的矩形;
GetClientRect()取的僅是客戶區的矩形,也就是說不包括標題欄,外框等;
9 發送消息後返回的時間.前者直到視窗執行完消息後才返回,後者向線程發送
消息後沒有等消息執行完就立即返回;返回值的不同.前者返回的是消息的執行結果,因消息的不同而不同,後者返回值表示該函數執行的成功與否
10 微軟基礎類庫 軟件開發工具包 設備開發包 動態連結庫 傳輸控制協議
11 TRACE宏對於VC下程序調試來說,有着類似printf的功能,Assert - 斷言 就是用於在代碼中捕捉這些假設,可以將斷言看作是異常處理的一種進階形式
VERIFY一個判斷的宏
12 BOOL OnLine(CPoint pt, CPoint start, CPoint end)
{
long MAXDIF = 5;
//if(long(m_edgeWidth/2+0.5)>MAXDIF)
// MAXDIF = long(m_edgeWidth/2 + 0.5);
//else
// MAXDIF = 5;
//如果點擊不在區域中,則返回FALSE
CRect rc(start,end);
alizeRect();
ateRect(MAXDIF,MAXDIF);
if(!PtInRect(rc,pt))
return FALSE;
//計算距離
int x=pt.x,y=pt.y;
int x1=start.x,y1=start.y;
int x2=end.x,y2=end.y;
//水平,垂直情況
if((x1 == x2)&&(abs(x-x1)<=MAXDIF))
return TRUE;
if((y1 == y2)&&(abs(y-y1)<=MAXDIF))
return TRUE;
int A = y1-y2;
int B = x2-x1;
int C = -A*x1-B*y1;
double d;
double sq = sqrt((double)(A*A+B*B));
if(sq==0)
{
return FALSE;
}
else
d = fabs((double)(A*x+B*y+C)/sq);
//誤差容忍範圍
if(d<=MAXDIF)
return TRUE;
else
return FALSE;
return TRUE;
}
其他筆試題目推薦: