1.入口條件迴圈和出口條件迴圈之間的區別是什麼?各種c++迴圈分別屬於其中的哪一種?
答:入口條件迴圈是先判斷,再迴圈,有可能不迴圈。
出口條件迴圈是先執行一次迴圈,再判斷,至少會迴圈一次。
for和while是入口條件迴圈
do while是出口條件迴圈
2.如果下面的**片段是有效程式的組成部分,它將列印什麼內容?
int i;
for (i=0;i<5;i++)
cout01234(換行)
3.如果下面的**片段是有效程式的組成部分,它將列印什麼內容?
int j;
for (j=0;j<11;j+=3)
cout12(此處有乙個換行)
4.如果下面的**片段是有效程式的組成部分,它將列印什麼內容?
int j=5;
docout<<" k = "答:k = 5
k = 6
k = 7
k = 8
k = 9
5.如果下面的**片段是有效程式的組成部分,它將列印什麼內容?
int k=8;
do cout<<" k = " << k 答:k = 8(這裡有乙個換行符)
6.編寫乙個列印1、2、4、8、16、32、64的for迴圈,每輪迴圈都將計數變數的值乘以2.
答:for(int i=1;i<65;i*=2)cout<7.如何在迴圈體中包括多條語句?
答:使用大括號{}將這些語句括起來。例如注意,最後乙個語句結尾要有分號,但是大括號外面無需分號。
8.下面的語句是否有效?如果無效,原因是什麼?如果有效,他將完成什麼工作?
int x =(1,024);
下面的語句又如何呢?
int y;
y=1,024;
答:int x=(1,024);的效果是,x=024; (024是八進位制)原因在於,(1,024)被認為是乙個表示式,而表示式的值是由逗號最右邊的式子決定的,即024,而024是0開頭,編譯器會認為是八進位制數字
int y;
y=1,024;
給int型別 a賦值1,原因在於y被賦值1,右邊的 ,024只是乙個單純的表示式,並沒有賦值,因此也沒有影響。
9.在檢視輸入方面,cin>>ch同cin.get(ch)和ch=cin.get()有什麼不同?
答:cin>>ch不能讀取空格,換行符,tab字元等。他從遇見的第乙個非這些字元開始讀取(之前的這些字元將被捨棄),一直讀取到遇見這些字元為止,且不讀取,且不捨棄。他可以讀取各種型別,如int、double、long、char、string等
cin.get(ch)的效果是將讀取到的字元賦值給ch,他讀取空格、換行符、tab字元等。但他對型別有限制,char型別是可以的(貌似且只能讀取char型別)。
ch=cin.get()也是只讀取乙個字元,可以讀取空格、換行符、tab等,但是他可以讀取int型別,讀取string型別等多個型別,但他只能讀取char記憶體寬度的字元,假如字元寬度超過char型別,他無法全部讀取。
第五章習題
一 填空題 1 c 的兩種聯編方式為 靜態 聯編和 動態 聯編。2 c 支援兩種多型性,靜態聯編所支援的多型性被稱為 編譯時的多型性 動態聯編所支援的多型性被稱為 執行時的多型性 3 過載函式在編譯時表現出多型性,就是 靜態 聯編 而虛函式則在執行時表現出多型性是 動態 聯編。4 為了區分過載函式,...
《作業系統 精髓與設計原理》第五章複習題
一 列出與併發相關的4個設計問題。程序間通訊 資源共享和競爭 如記憶體 檔案 i o訪問 多個程序活動的同步以及給程序分配處理器時間等。二 產生併發的三種上下文是什麼?多應用程式 多道程式設計技術允許在多個活動的應用程式間動態共享處理器時間。結構化應用程式 作為模組化設計和結構化程式設計的擴充套件,...
linux複習 第五章
常用開發工具 目前,linux系統主要為使用者提供gcc gdb make cvs perl等常用開發工具。檔名字尾 c c原始檔 i 預處理後的原始檔 s 匯程式設計序檔案 o 目標檔案 gcc編譯系統 四個步驟 預處理階段 編譯階段 彙編過程 連線階段 過程c c原始檔 預處理階段 i 預處理後...