第二課:學習C++的基本語句

來源:互聯網
上載者:User

 

第二課:學習C++的基本語句引子:上節課給大家介紹了如何在Windows環境下安裝開發環境,如果您還沒有開發環境,即先看看第一節。這裡在開課前給初學者說幾句課外話:題外話1: 初學者初學,最好不用VC的整合式開發環境(IDE),IDE有它的優點,但初學這個優點您還用不上。如果您不是初學者,請飄過。題外話2:為什麼要給初學者用cygwin,而不是其它?   優點1: 它在windows下就可以用,windows大家都很熟悉。   優點2: cygwin提高的g++編譯器,比較符合C++標準。   優點3: 用命令列方式能更好的瞭解C++,能有助於你將來用IDE,更有助於將來的將來你管理超大的項目。太大的項目IDE維護起來很吃力。 說話題外話,我們先說本節課將給大家介紹的內容:     本節課只給大家C++的基本語句,讓大家對“編程寫”有一個感性認識,同時加深對編程過程的瞭解。 不管是什麼複雜的程式,也不管是程式設計語言,最終都可以分解為三種程式結構:1) 順序執行;2) 分支執行;3) 迴圈執行。換句話說,再複雜的程式,都是上述三結構組合而成的。 本節課就讓大家學會這三種結果。(對著鏡子笑笑並自己說:“學了今天的知識,無論多複雜的程式我都能完成”) 還是先寫代碼吧。上節課我們讓程式給我們說“hello world”,今天要讓電腦能說”hello c++”,“hello CSDN”. 演練1: 編寫一個程式,  在命令列中輸入 ./a.exe “your name”,電腦能輸入” hello your name”.代碼: Code:
  1. #include <iostream>   
  2. int main (int argc, char* argv[])   
  3. {   
  4.     if (argc == 2)   
  5.     {   
  6.         std::cout<<"hello " << argv[1] << std::endl;   
  7.     }   
  8.     else  
  9.     {   
  10.         std::cout<< "bad command" << std::endl;   
  11.         std::cout << "the command is :" << argv[0] << " your_name"    
  12.                   << std::endl;   
  13.     }   
  14.     return 0;   
  15. }   
程式碼分析通過本例,希望你能學到:1)       加深對編程過程的熟悉;2)       理解命令列參數3)       理解 if 語句4)       理解分支和順序執行. 自己動手輸入代碼試試.演練2: 編寫一個程式,在命令列中輸入 ./a.exe 2345, 讓電腦確定輸入的數是奇數還是偶數.提示:   C++標準庫中提供一個函數叫 atoi(),它可以把字串(什麼是字串呢?我們以後再細說,今天的目的是學會用分支語句.代碼 Code:
  1. #include <iostream>   
  2. #include <stdlib.h> //for using function atoi()   
  3. int main (int argc, char* argv[])   
  4. {   
  5.     if (argc == 2)   
  6.     {   
  7.         const char* parameter = argv[1];   
  8.         int  val = atoi(parameter);   
  9.         if (val % 2 == 0)   
  10.         {   
  11.             std::cout << val << "  " << " is even number." << std::endl;   
  12.         }   
  13.         else  
  14.         {   
  15.             std::cout << val << "  " << " is odd number." <<std::endl;   
  16.         }   
  17.     }   
  18.     else  
  19.     {   
  20.         std::cout<< "bad command" << std::endl;   
  21.         std::cout << "the command is :" << argv[0] << " 1234 "    
  22.                   << std::endl;   
  23.     }   
  24.     return 0;   
  25. }   
 通過上面的演練,您是否理解了分支語句呢?  演練3: 編寫一個程式,在命令列中輸入 ./a.exe 5在螢幕上輸出******************** Code:
  1. #include <iostream>   
  2. #include <stdlib.h> //for using function atoi()   
  3. int main (int argc, char* argv[])   
  4. {   
  5.     const char star = '*';   
  6.     if (argc == 2)   
  7.     {   
  8.         const char* parameter = argv[1];   
  9.         int  val = atoi(parameter);   
  10.         for(int i = 0; i < val; i++)   
  11.         {   
  12.             for(int j = 0; j < val; j++)   
  13.             {   
  14.                 std::cout<< star;   
  15.             }   
  16.             std::cout<<std::endl;   
  17.         }   
  18.         std::cout<<std::endl;   
  19.     }   
  20.     else  
  21.     {   
  22.         std::cout<< "bad command" << std::endl;   
  23.         std::cout << "the command is :" << argv[0] << " 1234 "    
  24.                   << std::endl;   
  25.     }   
  26.     return 0;   
  27. }   
 你能修改代碼,讓電腦輸入出 ./a.exe 3******  C++的迴圈語句還有while和do while,這裡就不再舉例了.  可能有些同學覺得內容太少,不過癮.~~~ 我們先易後難,並且後面可能會進度很快.我先給大家說說後面的安排吧:接下來的課程,我們會給大家講C++的資料類型, 數組,指標,函數; (2~3課不等,看同學們情況)上面的內容學完之後,會給大家講指符串,C++中的stl,包括vector,list, string什麼的 (2~3課不等,看同學們情況)再以後我們就講C++物件導向方面的了,其實我很期待物件導向編程哦. (5~10課不等,看同學們情況)學完這些,其實還有很多可以學到的,比如:用c++寫多線程的程式,寫網路程式(打算講mysql),寫網路程式. (也許有這個機會吧)    

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.