




已閱讀5頁,還剩7頁未讀, 繼續(xù)免費閱讀
版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1 是不是一個父類寫了一個 virtual 函數(shù) 如果子類覆蓋它的函數(shù)不加 virtual 也能實現(xiàn)多態(tài) virtual 修飾符會被隱形繼承的 private 也被集成 只事派生類沒有訪問權(quán)限而已 virtual 可加可不加 子類的空間里有父類的所有變量 static 除外 同一個函數(shù)只存在一個實體 inline 除外 子類覆蓋它的函數(shù)不加 virtual 也能實現(xiàn)多態(tài) 在子類的空間里 有父類的私 有變量 私有變量不能直接訪問 2 輸入一個字符串 將其逆序后輸出 使用 C 不建議用偽碼 include using namespace std void main char a 50 memset a 0 sizeof a int i 0 j char t cin getline a 50 n for i 0 j strlen a 1 i strlen a 2 i j t a i a i a j a j t cout a str str replace cout a k m 1 k m a a 9 a 1 5 const 符號常量 1 const char p 2 char const p 3 char const p 說明上面三種描述的區(qū)別 如果 const 位于星號的左側(cè) 則 const 就是用來修飾指針所指向的變量 即指針指向為常量 如果 const 位于星號的右側(cè) const 就是修飾指針本身 即指針本身是常量 1 const char p 一個指向 char 類型的 const 對象指針 p 不是常量 我們可以修改 p 的值 使其指向不同的 char 但是不能改變它指向非 char 對象 如 const char p char c1 a char c2 b p ok p ok p c1 error 3 char const p 此時 p 可以修改 而 p 不能修改 4 const char const p 這種是地址及指向?qū)ο蠖疾荒苄薷?6 下面是 C 語言中兩種 if 語句判斷方式 請問哪種寫法更好 為什么 int n if n 10 第一種判斷方式 if 10 n 第二種判斷方式 如果少了個 號 編譯時就會報錯 減少了出錯的可能行 可以檢測出是否少了 7 下面的代碼有什么問題 void DoSomeThing char p p malloc 1024 分配 1K 的空間 if NULL p return p realloc p 2048 空間不夠 重新分配到 2K if NULL p return A p malloc 1024 應(yīng)該寫成 p char malloc 1024 沒有釋放 p 的空間 造成內(nèi)存泄漏 8 下面的代碼有什么問題 并請給出正確的寫法 void DoSomeThing char p char str 16 int n assert NULL p sscanf p s d str n if 0 strcmp str something A sscanf p s d str n 這句該寫成 sscanf p s d str 9 下面代碼有什么錯誤 Void test1 char string 10 char str1 0123456789 strcpy string str1 數(shù)組越界 10 下面代碼有什么問題 Void test2 char string 10 str1 10 for i 0 i 10 i str1 i a strcpy string str1 數(shù)組越界 11 下面代碼有什么問題 Void test3 char str1 char string 10 if strlen str1 10 strcpy string str1 數(shù)組越界 strcpy 拷貝的結(jié)束標志是查找字符串中的 0 因此如果字符串中沒有遇到 0 的話 會一直 復(fù)制 直到遇到 0 上面的 123 都因此產(chǎn)生越界的情況 建議使用 strncpy 和 memcpy 12 下面代碼有什么問題 define MAX SRM 256 DSN get SRM no static int SRM no 是不是這里沒賦初值 int I for I 0 I MAX SRM return NULL SRM else return SRM no 系統(tǒng)會初始化 static int 變量為 0 但該值會一直保存 所謂的不可重入 13 寫出運行結(jié)果 test1 char str world cout sizeof str char p str cout sizeof p char i 10 cout sizeof i void pp malloc 10 cout sizeof p endl 6 4 1 4 14 寫出運行結(jié)果 test2 union V struct X unsigned char s1 2 unsigned char s2 3 unsigned char s3 3 x unsigned char c v v c 100 printf d v x s3 3 15 用 C 寫個程序 如何判斷一個操作系統(tǒng)是 16 位還是 32 位的 不能用 sizeof 函數(shù) A1 16 位的系統(tǒng)下 int i 65536 cout i 輸出 0 int i 65535 cout i 輸出 1 32 位的系統(tǒng)下 int i 65536 cout i 輸出 65536 int i 65535 cout 65536 cout 32 bit endl else cout 16 bit endl 16 C 和 C 有什么不同 從機制上 c 是面向過程的 但 c 也可以編寫面向?qū)ο蟮某绦?c 是面向?qū)ο蟮?提供了 類 但是 c 編寫面向?qū)ο蟮某绦虮?c 容易 從適用的方向 c 適合要求代碼體積小的 效率高的場合 如嵌入式 c 適合更上層的 復(fù)雜的 llinux 核心大部分是 c 寫的 因為它是系統(tǒng)軟件 效率要求極高 從名稱上也可以看出 c 比 c 多了 說明 c 是 c 的超集 那為什么不叫 c 而叫 c 呢 是因為 c 比 c 來說擴充的東西太多了 所以就在 c 后面放上兩個 于是就成了 c C 語言是結(jié)構(gòu)化編程語言 C 是面向?qū)ο缶幊陶Z言 C 側(cè)重于對象而不是過程 側(cè)重于類的設(shè)計而不是邏輯的設(shè)計 17 在不用第三方參數(shù)的情況下 交換兩個參數(shù)的值 include void main int i 60 int j 50 i i j j i j i i j printf i d n i printf j d n j 方法二 i j j i i j 方法三 用加減實現(xiàn) 而且不會溢出 a a b b a 18 有關(guān)位域的面試題 為什么輸出的是一個奇怪的字符 a t b 效果相當于 a t b b 01100010 b 就是 4bit 的字符變量 同樣 unsigned short i 8 就是 8bit 的無符號短整形變量 19 int i 10 j 10 k 3 k i j k 最后的值是 60 20 進程間通信的方式有 進程間通信的方式有 共享內(nèi)存 管道 Socket 消息隊列 DDE 等 21 struct A char t 4 char k 4 unsigned short i 8 unsigned long m sizeof A 不考慮邊界對齊 7 struct CELL Declare CELL bit field unsigned character 8 00000000 unsigned foreground 3 00000 00000000 unsigned intensity 1 0000 000 00000000 unsigned background 3 0 0000 00000000 unsigned blink 1 0000000 00000000 screen 25 80 Array of bit fields 二 位結(jié)構(gòu) 位結(jié)構(gòu)是一種特殊的結(jié)構(gòu) 在需按位訪問一個字節(jié)或字的多個位時 位結(jié)構(gòu) 比按位運算符更加方便 位結(jié)構(gòu)定義的一般形式為 struct 位結(jié)構(gòu)名 數(shù)據(jù)類型 變量名 整型常數(shù) 數(shù)據(jù)類型 變量名 整型常數(shù) 位結(jié)構(gòu)變量 其中 數(shù)據(jù)類型必須是 int unsigned 或 signed 整型常數(shù)必須是非負的整 數(shù) 范圍是 0 15 表示二進制位的個數(shù) 即表示有多少位 變量名是選擇項 可以不命名 這樣規(guī)定是為了排列需要 例如 下面定義了一個位結(jié)構(gòu) struct unsigned incon 8 incon 占用低字節(jié)的 0 7 共 8 位 unsigned txcolor 4 txcolor 占用高字節(jié)的 0 3 位共 4 位 unsigned bgcolor 3 bgcolor 占用高字節(jié)的 4 6 位共 3 位 unsigned blink 1 blink 占用高字節(jié)的第 7 位 ch 位結(jié)構(gòu)成員的訪問與結(jié)構(gòu)成員的訪問相同 例如 訪問上例位結(jié)構(gòu)中的 bgcolor 成員可寫成 ch bgcolor 注意 1 位結(jié)構(gòu)中的成員可以定義為 unsigned 也可定義為 signed 但當成員長 度為 1 時 會被認為是 unsigned 類型 因為單個位不可能具有符號 2 位結(jié)構(gòu)中的成員不能使用數(shù)組和指針 但位結(jié)構(gòu)變量可以是數(shù)組和指針 如果是指針 其成員訪問方式同結(jié)構(gòu)指針 3 位結(jié)構(gòu)總長度 位數(shù) 是各個位成員定義的位數(shù)之和 可以超過兩個字 節(jié) 4 位結(jié)構(gòu)成員可以與其它結(jié)構(gòu)成員一起使用 例如 struct info char name 8 int age struct addr address float pay unsigned state 1 unsigned pay 1 workers 上例的結(jié)構(gòu)定義了關(guān)于一個工人的信息 其中有兩個位結(jié)構(gòu)成員 每個位結(jié) 構(gòu)成員只有一位 因此只占一個字節(jié)但保存了兩個信息 該字節(jié)中第一位表示 工 人的狀態(tài) 第二位表示工資是否已發(fā)放 由此可見使用位結(jié)構(gòu)可以節(jié)省存貯空 間 22 下面的函數(shù)實現(xiàn)在一個固定的數(shù)上加上一個數(shù) 有什么錯誤 改正 int add n int n static int i 100 i n return i 答 因為 static 使得 i 的值會保留上次的值 去掉 static 就可了 23 下面的代碼有什么問題 class A public A p this A if p NULL delete p p NULL A p 答 會引起無限遞歸 24 union a int a int1 double a double int a int2 typedef struct a a1 char y b class c double c double b b1 a a2 輸出 cout sizeof c j 答 i 5 26 unsigned short array 1 2 3 4 5 6 7 int i 3 array i 答 4 27 class A virtual void func1 void func2 Class B class A void func1 cout fun1 in class B endl virtual void func2 cout fun2 in class B endl A A 中的 func1 和 B 中的 func2 都是虛函數(shù) B A 中的 func1 和 B 中的 func2 都不是虛函數(shù) C A 中的 func2 是虛函數(shù) B 中的 func1 不是虛函數(shù) D A 中的 func2 不是虛函數(shù) B 中的 func1 是虛函數(shù) 答 A 28 數(shù)據(jù)庫 抽出部門 平均工資 要求按部門的字符串順序排序 不能含有 human resource 部門 employee 結(jié)構(gòu)如下 employee id employee name depart id depart name wage 答 select depart name avg wage from employee where depart name human resource group by depart name order by depart name 29 給定如下 SQL 數(shù)據(jù)庫 Test num INT 4 請用一條 SQL 語句返回 num 的最小值 但不許使用統(tǒng)計功能 如 MIN MAX 等 答 select top 1 num from Test order by num desc 30 輸出下面程序結(jié)果 include class A public virtual void p
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 發(fā)貨及時率管理制度
- 華為積分制管理制度
- 員工關(guān)系還管理制度
- 合伙型聯(lián)營管理制度
- 雙簽約工作管理制度
- java后臺管理制度
- 企業(yè)技改備案管理制度
- 人員信息變更管理制度
- 鄉(xiāng)鎮(zhèn)公司日常管理制度
- 《小王子繪本教學(xué)課件》
- 金華市皓升再生資源有限公司年回收拆解20萬輛電動自行車生產(chǎn)線技改項目
- 2025-2030中國滅草松原藥行業(yè)市場現(xiàn)狀分析及競爭格局與投資發(fā)展研究報告
- 2025年金融衍生工具試題
- 2025-2030中國陶瓷瓦行業(yè)市場現(xiàn)狀供需分析及投資評估規(guī)劃分析研究報告
- 電池管理系統(tǒng)(BMS)的智能化升級-全面剖析
- 現(xiàn)場7S管理培訓(xùn)
- 液氨安全管理及應(yīng)急處置
- 小學(xué)生心肺復(fù)蘇培訓(xùn)課件
- 《燕麥中的生物素:對頭發(fā)、皮膚和指甲健康的潛在益處》論文
- 《2025年普通高校在陜招生計劃》
評論
0/150
提交評論