微剋多資訊

 找回密碼
 註冊

Login

Login

搜索
回覆 5則 瀏覽 1417篇

[程式語言]C++ 語言的學習札記<2>

簽到天數: 3

該用戶今日未簽到

發表於 2010-1-7 13:12 | 顯示全部樓層 |閱讀模式
本貼最後由 fonghi 於 2010-1-9 19:55 編輯

二、開始之前:

  動手撰寫程式之前,先來瞭解程式的基本架構,尤其在符號上的使用,必須打破它原來所代表的意義,而重新認識符號在C++ 裡面所代表的意義。




/* 註解行:在"/* 與 */"的夾註下為註解(解說)行,為增加程式的可讀性或除錯時容易使用,在編譯時將被忽略,可獨立一行或行尾*/

#include <stdlib.h>
#include <stdio.h> /*定義使用的程式庫名稱,此是調用標題檔".h"(header file) */
using namespace std; /*一個宣告,其中的";"是一行指令結束的符號*/

int main(){

/*第一個指令,
程式指令開始必要之宣告,其中”{}”為相對性的*/
/*撰寫程式時必須注意其相對應位置,否則程式可能發生不可預期的結果 */
/*而一個程式裡只能存在一個 main()的宣告*/

/*所有指令都必須在第一組的"{………}括號裡面 */
/*第一組的{},裡面還可以有其他的{},但必須注意的規則是第二組必須包含在第一組裡,而第二組又可包含第三組,依此類推。*/

system("pause");

/*初學者常在編譯執行後,無法看清結果,此指令可適時的停止畫面 */

return 0;

/*代表程式已完成執行,準備跳脫程式控制*/

}

  在有初步的瞭解後,就可以動手撰寫自己的第一個程式了。在許多教材或教授老師們,要求的第一個程式都離不開”說哈囉!”。那自己來試一下吧!


打開dev C++ 程式,在安裝後的第一次進入,程式將會要求使用者選擇使用地區語言,選定Taiwan 後進入,此時會有小提示,可依需求開啟或關閉。在工具列上的"開新檔案"上按一下,就會開啟一個空白編輯區塊,這時就可以開始動手撰寫了。


/* 動手寫第一個程式 */


#include <stdlib.h>
#include <stdio.h>

using namespace std;

int main(){   

printf("說哈囉!\n");

system("pause");
return 0;
}

程式碼寫好後,可按"執行"選項,點選編譯,若編譯(Ctrl+F9)成功在底下的監看欄內不會出現任何訊息,若有錯誤,則會出現行號及錯誤訊息。


當編譯也完成後,可點選選項裡的執行(Ctrl+F10)。

成功執行後可得到:




說哈囉!
請按任意鍵繼續…

新增介紹:為增加可讀性,所以在程式裡增加了空白行,此空白行在編譯時也將被忽略不執行。Printf 表示印出,即在螢幕顯示之意。
\n表示印出換行字元,以達到換行的結果,其中"\"為前導字元。
由於程式裡有pause的敘述,所以在顯示完"說哈囉!"後顯示"請按任意鍵繼續..."並暫停。

也可這樣寫:

#include <iostream>
using namespace std;

int main()
{   
    printf("說哈囉!\n");


    system("pause");
    return 0;
}


達到的效果是一樣的,若能瞭解程式庫的內涵常式,就更能寫出更簡潔的程式碼。




請求:
一、若看版大大們,有內容程式的其他撰寫方式,不妨分享。
二、若能為我補上各種函數的解說敘述,更是功德無量。

該用戶從未簽到

發表於 2012-2-19 01:15 | 顯示全部樓層
感謝分享
最近正好想要學
回覆

使用道具 舉報

簽到天數: 1

該用戶今日未簽到

發表於 2012-4-9 04:26 | 顯示全部樓層
本帖最後由 xx910203 於 2012-4-9 04:37 編輯

我非高手,只是想補充:


1.include應該只能算是把要使用的library包進去,用"定義"這個說法...個人覺得有些奇怪
2.using namespace std...說是宣告...也滿奇怪的,我們會說宣告變數,但是這邊僅能使用已經被宣告、定義過的名稱,所以應不宜稱為宣告,這邊是名稱空間的概念,當一個程式使用的library和function越來越多的時候就容易有命名衝突的問題,名稱空間就是解決這個問題一個很好的方法,初學者不見得需要了解這邊的含意,日後學到會比較易懂。
3.另外";"分號是命令結束的符號,但不見的是一行命令,也可能是很多行,例如:
  1. cout << " Hello! " << endl
  2.        << " This is a test ! "  ;
複製代碼
4.printf("說哈囉!\n"); 這已經屬於舊式(C)的用法了,既然標題是下C++,使用cout應該會更好!
5.system("pause");限windows底下使用,linux並沒有這種system call,如果編譯完成後是使用command line介面去執行的話就不會有跳掉的困擾可以跳過.
6.return 0;映像目前最新版規範在main function裡面已經不強制需要return 0;了,非必要情況可以省略。
有不對請指正︿︿
回覆

使用道具 舉報

該用戶從未簽到

發表於 2012-4-10 01:34 | 顯示全部樓層
#include <xxx>
include僅是將需要之函式所屬的函式庫檔案載入
說指令也非正式指令 因為include本身會被前置程式給置換成另外一段程式碼

using namespace std; 是名稱空間概念沒錯 避免用於過多變數以致於衝突的解決辦法

return 0;則是回傳0給main主程式開頭
若 int main(void){}
表示return給main一個0的值,而0則又牽扯到boolean,所有函式中幾乎都為1(真)預設值,回傳0是為了判定(假),使程式結束.

有錯麻煩指正 謝謝!!
回覆

使用道具 舉報

huanggongzi 該會員已被刪除
發表於 2012-5-24 21:58 | 顯示全部樓層
提示: 作者被禁止或刪除 內容自動屏蔽
回覆

使用道具 舉報

簽到天數: 1

該用戶今日未簽到

發表於 2012-6-3 05:56 | 顯示全部樓層
huanggongzi 發表於 2012-5-24 21:58
C++的只能寫cmd的嗎? 不能寫其他程式?例如 輔助器 小工具等 ....

command line只是其中一種...很多你在用的程式都是C++寫出來的

不過看你回文怪沒營養的...難怪-149積分...
回覆

使用道具 舉報

您需要登入後才可以回帖 登入 | 註冊

本版積分規則

小黑屋|Archiver|微剋多資訊(MicroDuo)

GMT+8, 2016-12-5 18:30

Discuz! X

© 2009-2016 Microduo

快速回覆 返回頂部 返回列表