一、筆記
1.阻止程式在調試時一閃而過:cin.get()。
2.c語言中,省略傳回值相當于說函數傳回值為int;而c++淘汰了這種用法。
3.main函數中末尾如果沒有傳回語句,則認為是return 0;其他函數不适用。(ANSI/ISO c++标準)
4.int main(viod) :關鍵字void說明不接受任何參數,這個void可省略。
5.比using namespace std;(引入std内所有名稱,偷懶,在大型項目中可能存在問題)更好的辦法是using namespace std::cout;(用到哪個名稱引入哪個名稱)。
6.cout是一個對象,它的屬性包括一個插入運算符<<,能将右側的資訊插入到流中。
7.endl和'\n'的差別:endl確定程式繼續運作前重新整理輸出(即立即顯示在螢幕上);'\n'不能保證,是以可能在有些系統中需要在你輸入資訊後才會顯示提示(未在适當時間顯示)。
8.c中所有變量的聲名都位于函數或者過程的開頭,但c++中沒有這種限制。
9.cout<< vari; 在列印之前,cout必須将整數形式的數字轉換成字元串形式,且聰明的知道vari是一個需要轉換的整數。而printf(“%d”,vari)提供的是更細緻的控制功能。注:c++要使用printf等c輸出函數需要頭檔案<stdio.h>。
10.頭檔案命名約定
c++舊式風格:math.h
c++新式風格:math
c舊式風格:math.h
c新式風格:cmath
11.名稱空間支援是一項c++特性。
12.a=b=v=c=12;指派從右向左進行。
13.函數原型之于函數相當于變量聲名之于變量。
二、複習題(歡迎指正)
1.C++程式的子產品叫什麼?
【答】函數
2.下面的預處理器編譯指令是做什麼用的:#include <iostream>
【答】将iostream檔案中的内容添加到目标程式中,在編譯時,iostream檔案中的内容會替換掉#include <iostream>。
3.下面的語句是做什麼用的:using namespace std;
【答】将名稱空間std中的内容引入到源程式中。
4.什麼語句可以用來列印短語“hello world”然後開始新的一行?
【答】std::cout<<"hello world"<<std::endl;
5.什麼語句可以用來建立名為 cheeses的整型變量?
【答】int cheeses;
6.什麼語句可以用來将32賦給cheeses?
【答】cheeses = 32;
7.什麼語句可以用來将鍵盤輸入的值賦給變量cheeses?
【答】cin>>cheeses;
8.什麼語句可以用來列印“We have X varities of cheese”,其中X為變量cheeses的目前值。
【答】cout<<"We have "<<X<<" varities of cheese"<<endl;
9.下面的函數原型支出了關于函數的哪些資訊?
int froop(double t);
【答】函數名:froop;函數傳回值:int;函數傳入參數類型及個數:double,1個。
void rattle(int n);
【答】函數名:rettle;函數傳回值:void;函數傳入參數類型及個數:int,1個。
int prune(void);
【答】 函數名:prune;函數傳回值:int;函數傳入參數類型及個數:void,0個。
10.定義函數時,什麼情況下不必使用關鍵字return?
【答】暫時想到兩種情況:
(1)傳回值是void,可以不帶return,也可以return;(不帶參數)。
(2)main函數中,可以省略return 0;
11.cout<<"hello world";
上述代碼編譯時,編譯器指出cout是一個未知辨別符,導緻這種情況的可能原因是什麼,請給出三種修複這種問題的方法。
【答】原因:未引入命名空間std。
解決:
(1)使用前引入std全部名稱: using namespace std;
(2)使用前引入std中要使用的名稱:using namespace std::cout;
(3)使用時加上命名空間:std::cout<<"hello world";
三、程式設計練習(略)