C++詳細學習筆記(一)
16、例如x=sqrt(6.25),表示式sqrt(6.25)被稱為函式呼叫,被呼叫的函式叫做被呼叫函式,包含函式呼叫的函式叫做呼叫函式。對於有返回值的函式來說,函式執行完畢後,語句中的函式呼叫部分將被替換為返回值。因此在使用函式之前,C++編譯器必須知道函式的引數型別和返回值型別。如果缺少這些資訊,編譯器將不知道如何解釋返回值。C++提供這種資訊的方式就是使用函式原型語句。例如sqrt()的函式原型就像這樣:double sqrt(double);函式原型之於函式就像變數宣告至於變數——指出涉及的型別。原型結尾的分號表明它是一條語句,這使得它是一個函式原型,而不是函式頭。如果省略分號,編譯器將這行程式碼解釋為一個函式頭,並要求接著提供定義該函式的函式體。但不要混淆函式原型和函式定義,原型只描述函式介面,它描述的是傳送給函式的資訊和返回的資訊,而定義中包含了函式的程式碼。C和C++將庫函式的這兩項特性分開了,庫函式中包含了函式的編譯程式碼,而標頭檔案只包含了原型。
17、函式變體:有多個引數,如 double pow(double,double);不接受任何引數,如int rand(void);沒有返回值,如void bucks(double),這個函式是將數字以美元、美分的格式顯示在螢幕上,由於這個函式把值傳送給螢幕,而不是呼叫函式,因此不需要返回值,也不能將該函式呼叫放在賦值語句或其他表示式中。相反,應使用一條純粹的函式呼叫語句:bucks(1234.56)。
18、對於main()函式來說,main函式是一個有返回值函式,所以需要使用關鍵字return來提供返回值,並結束函式,這就是為什麼在main()函式結尾使用語句:return 0;的原因,但是這個返回值到底是返回到哪裡了呢?事實上,可以將計算機作業系統看成是呼叫程式,因此main()函式的返回值並不是返回給程式的其他部分,而是返回給作業系統。
19、讓程式訪問名稱空間std的方法有多種,下面是其中4種:(1)將using namespace std;放在函式定義之前,讓檔案中所有函式都能使用名稱空間std中所有元素;(2)將using namespace std;放在特定的函式定義中,讓該函式能夠使用名稱空間std中的所有元素;(3)在特定的函式中使用類似using std::cout;這樣的編譯指令,而不是using namesapce std;,讓該函式能夠使用指定的元素,如cout。(4)完全不使用編譯指令using,而在需要使用名稱空間std中的元素時,使用字首std::,如下所示:std::cout<<" "<<std::endl。
三、總結
1、有多種型別的C++語句,包含下述6種:宣告語句、賦值語句、訊息語句:將訊息傳送給物件,激發某種行動。、函式呼叫、函式原型、返回語句。
2、C++提供了兩個用於處理輸入和輸出的預定義物件(cin和cout),它們是istream和ostream類的例項,這兩個類是在iostream檔案中定義的。為ostream類定義的插入運算子(<<)使得將資料插入到輸出流成為可能;為istream類定義的抽取運算子(>>)能夠從輸入流中抽取資訊。cin和cout都是智慧物件,能夠根據程式上下文自動將資訊從一種形式轉換為另一種形式。
3、C++可以使用大量的C庫函式,要使用庫函式,應當包含提供該函式原型的標頭檔案。
相關推薦
C++詳細學習筆記(一)
首先,本次學習主要參考的書籍是C++Primer Plus第六版,為了方便今後參閱,故寫下該學習筆記。C++是在C語言基礎上開發的一種集面向物件程式設計、泛型程式設計和過程化程式設計於一體的程式語言,是C語言的超集。一、預備知識 C++有三件法寶:1、繼承了C語言高
c 語言學習筆記(一)基礎
lac alert https 內容 con 標記 prime c++ prime c基礎 近期工作上有對C語言算法上的需求,所以要學C,上學的時候沒學過,只學過半年的Java(我是專升本,本科學的材料),2015年工作後也學過C,那時候的需求是能看懂就可以,也就沒深入研究
深入理解C指標學習筆記(一)
第一章 認識指標 指標在C和C++中隨處可見,它給程式設計師帶來了極大的方便,指標為動態記憶體的分配提供了重要支援。使用指標我們可以方便的操控記憶體,提高程式的執行效率;同時利用指標變數我們可以實現各種資料結構,例如連結串列等;另一方面指標與陣列的表示法
C# Hadoop學習筆記(一)—環境安裝
一、安裝環境 1,前期準備:官網下載“NuGet Package Manager”,按自己已有的VS環境下載對應版本; 3,安裝。 4,通過HDInsight,安裝Windows Azure,目前是預覽版本。 二、測試DEMO using System; using
C# EmguCV學習筆記(一)---影象加減法操作
影象加法: 使用Image.Add()方法,可以讓兩張圖片相加,或者讓當前影象加上一個色彩值,另外你也可以使用CvInvoke.Add()方法執行相同的操作。 Image.Add()方法內部就是呼叫CvInvoke.Add()方法實現的。 Image.Add()有3個實現,
AutoCAD二次開發(.net教程)C#版——學習筆記(一)
最近開始學習AutoCAD(ObjectARX)的二次開發,首先遇到的一個最大問題就是——開發環境的設定問題,CAD的二次開發對開發工具的版本要求很嚴,開發包、CAD版本和開發工具都得對應(在網上看了很多貼了也有人不用對應)。當下C#比較流行的開發工具就是V
C語言學習筆記(一)—— 初識C語言並寫一個簡單的C語言程式
1、目的碼檔案、可執行檔案、庫用C語言編寫程式時,編寫的內容被儲存在文字檔案中,該檔案被稱為原始碼檔案,檔案以.c結尾。目標檔案和可執行檔案都是由機器語言指令組成的,但是目標檔案只包含編譯器為你編寫的程式碼翻譯的機器語言程式碼,可執行檔案還包含你編寫的程式中使用的庫函式和啟動
【EOS學習筆記(一)】linux下的C++程式設計師的春天,附EOS環境安裝詳細步驟
在參加了4月28日柏鏈道捷組織的EOS沙龍後,對linux下c/c++程式設計師來說,彷彿深夜裡點亮了一盞明燈,EOS在6月份主網上線,目前智慧合約只能使用c/c++編寫,門檻不低,而且需要使用很多unix命令,這個對linux程式設計師來說簡直就是量身打造的! 學
C#可擴展編程之MEF學習筆記(一):MEF簡介及簡單的Demo(轉)
com ring this exec hosting code .cn 引用 展開 在文章開始之前,首先簡單介紹一下什麽是MEF,MEF,全稱Managed Extensibility Framework(托管可擴展框架)。單從名字我們不難發現:MEF是專門致力於解決擴展性
C++學習筆記(一)——一個字符串分割和統計的工具(TextUtils)
發生 插入 exit 大小 按行讀取 位置 n) fstream ostream 第一講先從一個實例開始——我們需要完成一個遍歷文件並統計單詞出現次數的任務。分解功能:首先,按行讀取文件並舍棄可能的空行。其次,將每一行都按照空格劃分單詞。因為可能存在標點符號,我們還需要將標
C學習筆記(一)-程式設計作業
C學習筆記(一)-程式設計作業 第十一週作業: [Loop]雙基迴文數 [Loop]校門外的樹 [Algorithm]約瑟夫環 [Recursion] 漢諾塔 [Algorithm]紀念郵票 [algorithm]
C++學習筆記(一)
在C++程式中,定義main函式和定義其他函式一樣。定義函式必須指定四個元素:返回型別、函式名、圓括號內的形參表(可能為空)和函式體。 main函式的返回值必須是int型別,int型別是內建型別。 關於函式的編譯:在Linux系統下,呼叫g++編譯器——>g++ p
北京大學MOOC C++學習筆記(一)
引用: 定義引用時一定要將其初始化成引用某個變數。 初始化後,它就一直引用該變數,不會再引用別的變量了。 引用只能引用變數,不能引用常量和表示式。 double a = 4, b = 5; double & r1 = a; double & r2 = r
C++學習筆記(一)資料型別、資料處理、複合型別、迴圈、分支
過段時間打算上手OpenCV,自己不是特別喜歡Python這個語言,幹嵌入式時間久了還是對C有種執念,同時C++在嵌入式應用以及影象處理方面也是有很大佔有量的,所以從國慶假期開始上手C++,當然學好C++絕非短時間能辦到的,這需要大量的練習和使用,給自己加個油吧,不
C# WPF 基礎教程 視訊學習筆記(一)
1.[STAThread()] 代表單執行緒 2.using語句允許程式設計師指定使用資源的物件應當何時釋放資源 3.Border 一般用於裝載面板 Padding 邊框和內部內容中間新增空間 CornerRadius可以使邊框具有一個圓角 4.DockP
C++學習筆記(一)——leetcode記錄
C++學習筆記(一)——leetcode記錄 944. Delete Columns to Make Sorted [Easy] 852. Peak Index in a Mountain Array [Easy] 942. DI String
C語言學習入們到精通之學習筆記(一)
為什麼我通過部落格的形式與大家分享我的學習筆記 對於c語言的學習已經有快3年之久了,對於學習嵌入式的我看來,C是我們的根本也就是我們的核心知識點,想學習好嵌入式就必須精通C語言。在一年之前我對C語言的認識只停留在表面,只會用C語言寫寫51微控制器或STM32的控制程
c++學習筆記(一)--計算導論
計算導論 課程來源:coursera:程學設計與演算法(Peking University,北京大學) 課程連結:程式設計與演算法 本章簡介:這是系列課第一節的前半部分,與程式碼關係不大,主要涉及計算機原理、發展歷史與程式原理,瞭解一下即可。 一. 計算機原理 1.1 從數學
c#學習筆記(一)——visual studio 的安裝 與 hello world 程式
visual studio 的安裝 visual studio是微軟提供的一款開發編譯工具它的功能很強大,也可以寫除了c#之外的其他程式,我們以後就用它來寫程式碼。vs共有3個版本,分別為社群版、專業版、企業版,其中社群版是免費的,我們可以使用這個版本。正常情
C++操作Excel學習筆記(一)
C++讀取Excel檔案方式比較 C++讀取Excel的XLS檔案的方法有很多,但是也許就是因為方法太多,大家在選擇的時候會很疑惑。 由於前兩天要做導表工具,比較了常用的方法,總結一下寫個短文, 1.OLE的方式 這個大約是最常用的方式,這個方式其實啟動了一個EXCEL的程序在背後讀寫EXCEL檔案,這