Saturday, 21 May 2016

Structure of a program โครงสร้างในc++

 

Structure of a program โครงสร้างในc++

วิธีที่ดีที่สุด ที่จะเรียนรู้ ภาษาการเขียนโปรแกรม โดยการเขียน โปรแกรม โดยปกติแล้ว โปรแกรมแรกที่ เริ่มต้น เขียน โปรแกรมที่เรียกว่า " Hello World "
ซึ่ง เพียงแค่ พิมพ์ " Hello World "
ที่computer screenของคุณ แม้ว่ามันจะ เป็นเรื่องง่าย มากก็ มีทุก องค์ประกอบพื้นฐาน โปรแกรม ภาษา C ++

// my first program in C++
#include <iostream>

int main()
{
  std::cout << "Hello World!";
}

output

Hello World!

ในpanelข้างต้นแสดง รหัส C ++ สำหรับโปรแกรมนี้ ในoutput จะแสดง ผล เมื่อโปรแกรม จะถูกดำเนินการ
โดยคอมพิวเตอร์ ตัวเลข สีเทา ด้านซ้ายของ แผงเซลล์ ที่มี หมายเลขบรรทัด ที่จะทำให้การ  researching errors easier  ได้ง่ายขึ้น
 พวกนี้จะ ไม่เป็นส่วนหนึ่ง ของโปรแกรม

ขอตรวจสอบ line โปรแกรมนี้ โดยline :
Let's examine this program line by line:

บรรทัดที่ 1: // โปรแกรมแรกใน C ++

    สองสัญญาณเฉือนแสดงให้เห็นว่าส่วนที่เหลือของเส้นคือความคิดเห็นเขียนโดยโปรแกรมเมอร์
 แต่ที่มีผลกระทบต่อการทำงานของโปรแกรม โปรแกรมเมอร์ใช้พวกเขาที่จะรวมคำอธิบายสั้นหรือข้อสังเกตเกี่ยวกับรหัสหรือโปรแกรม
 ในกรณีนี้มันเป็นคำอธิบายสั้น ๆ เบื้องต้นของโปรแกรม

บรรทัดที่ 2: #include <iostream>

    เส้นที่เริ่มต้นด้วยเครื่องหมายhash sign (#) จะถูกสั่งการอ่านและตีความโดยสิ่งที่เรียกว่าพรีโพรเซสเซอร์
 พวกเขาจะเป็นเส้นพิเศษตีความก่อนที่จะรวบรวมโปรแกรมเองเริ่มต้น ในกรณีนี้ #include สั่ง <iostream>
แนะ preprocessor ​​ที่จะรวมถึงส่วนหนึ่งของมาตรฐานรหัส c ++ ที่เรียกว่า iostream
ส่วนหัวที่ช่วยให้การดำเนินการ input และ output การดำเนินงานมาตรฐานเช่นการเขียนการส่งออกของโปรแกรมนี้
(Hello World ) ไปที่หน้าจอ

บรรทัดที่ 3: บรรทัดว่างA blank line.

    บรรทัดที่ว่างเปล่าไม่มีผลกระทบต่อโปรแกรม พวกเขาเพียงแค่ปรับปรุงการอ่านรห​​ัส

บรรทัดที่ 4: int main ()

    บรรทัดนี้เริ่มต้นการประกาศของฟังก์ชัน โดยพื้นฐานแล้วการทำงานเป็นกลุ่มของงบรหัสซึ่งจะได้รับชื่อ:
ในกรณีนี้นี้จะช่วยให้ชื่อ "หลัก" ในกลุ่มของรหัสที่เป็นไปตาม ฟังก์ชั่นจะมีการหารือในรายละเอียดในบทต่อมา
 แต่เป็นหลักความหมายของพวกเขาจะนำมาใช้กับความสำเร็จของประเภท (int) เป็นชื่อ (หลัก) และคู่ของวงเล็บ (())
ให้เลือกรวมทั้งพารามิเตอร์

    ฟังก์ชั่นที่มีชื่อหลักคือฟังก์ชั่นพิเศษในทุกโปรแกรม c ++; มันเป็นฟังก์ชั่นที่เรียกว่าเมื่อมีการรันโปรแกรม
การดำเนินการของทุกโปรแกรม c ++ เริ่มต้นด้วยฟังก์ชั่นหลักโดยไม่คำนึงถึงฟังก์ชั่นที่ตั้งอยู่ภายในจริงรหัส

สาย 5 และ 7: {และ}

    เปิดรั้ง ({) ที่บรรทัด 5 บ่งบอกถึงจุดเริ่มต้นของการกำหนดฟังก์ชั่นหลักและรั้งปิด (}) ที่บรรทัดที่ 7
แสดงให้เห็นจุดสิ้นสุด ทุกอย่างระหว่างการจัดฟันเหล่านี้คือร่างกายของฟังก์ชันที่กำหนดสิ่งที่เกิดขึ้นเมื่อหลักที่เรียกว่า
ฟังก์ชั่นทั้งหมดใช้การจัดฟันเพื่อระบุจุดเริ่มต้นและจุดสิ้นสุดของคำจำกัดความของพวกเขา

บรรทัดที่ 6: std::cout << "Hello World!"

    บรรทัดนี้เป็นคำสั่ง c ++ คำสั่งคือการแสดงออกที่จริงสามารถผลิตผลบางส่วน
มันเป็นเนื้อของโปรแกรมการระบุพฤติกรรมที่แท้จริงของมัน ข้อความนี้จะถูกดำเนินการในลำดับเดียวกับที่จะปรากฏภายในของฟังก์ชั่น

    คำสั่งนี้มีสามส่วนคือส่วนแรก std::coutซึ่งระบุอุปกรณ์แสดงผลตัวอักษรมาตรฐาน
(ปกตินี้เป็นหน้าจอคอมพิวเตอร์) ประการที่สองการดำเนินการแทรก (<<) ซึ่งแสดงให้เห็นว่าสิ่งต่อไปนี้ถูกแทรกลงในstd::cout
 สุดท้ายประโยคที่อยู่ในเครื่องหมายคำพูด ( "Hello World!") เป็นเนื้อหาที่แทรกเข้าไปในมาตรฐานการส่งออก

    ขอให้สังเกตว่าคำสั่งที่ลงท้ายด้วยเครื่องหมายอัฒภาค (;) ตัวละครตัวนี้เป็นจุดสิ้นสุดของคำสั่งเช่นเดียวกับ
ระยะเวลาสิ้นสุดประโยคในภาษาอังกฤษ ยี่ห้อ C ++ งบต้องลงท้ายด้วยตัวอักษรอัฒภาค หนึ่งในข้อผิดพลาดทางไวยากรณ์ที่พบมากที่สุด
ใน C ++ จะลืมที่จะจบการแถลงด้วยเครื่องหมายอัฒภาค


คุณอาจจะได้สังเกตเห็นว่าไม่ทุกบรรทัดของโปรแกรมนี้ดำเนินการเมื่อรหัสที่จะดำเนินการ มีเส้นที่มีความคิดเห็น (เริ่มต้นด้วย //)
คือ นอกจากนี้สอดคล้องกับคำสั่งสำหรับ preprocessor ​​ที่ A (​​เริ่มต้นด้วย #) มีเส้นที่กำหนดฟังก์ชั่นเป็น
(ในกรณีนี้ฟังก์ชั่นหลัก) และในที่สุดโฆษณาที่มีงบลงท้ายด้วยเครื่องหมายอัฒภาค (แทรกเข้าไปในcout) ซึ่งอยู่ในบล็อกคั่นด้วยเครื่องหมายวงเล็บ ({}) ของฟังก์ชั่นหลัก

โปรแกรมที่ได้รับโครงสร้างในสายที่แตกต่างกันและเยื้องอย่างถูกต้องเพื่อที่จะทำให้มันง่ายต่อการเข้าใจสำหรับมนุษย์อ่าน แต่ c ++ ไม่ได้มีกฎระเบียบที่เข้มงวด
ในการเยื้องหรือเกี่ยวกับวิธีการที่จะแยกคำแนะนำในเส้นที่แตกต่างกัน ตัวอย่างเช่นแทนที่จะของ
int main ()
{
  std::cout << " Hello World!";
}
We could have written:
int main () { std::cout << "Hello World!"; }

ทั้งหมดในบรรทัดเดียวและเรื่องนี้จะมีความหมายตรงเช่นเดียวกับรหัสก่อนหน้านี้

ใน C ++, แยกระหว่างงบที่ระบุไว้กับอัฒภาคสิ้นสุด (;) โดยมีการแยกออกเป็นเส้นที่แตกต่างกันไม่
 mattering เลยสำหรับวัตถุประสงค์นี้ งบจำนวนมากสามารถเขียนเป็นเส้นเดียวหรือคำสั่งแต่ละคนสามารถจะอยู่
ในแนวของตัวเอง ส่วนของรหัสในสายที่แตกต่างกันทำหน้าที่เพียงที่จะทำให้มันชัดเจนมากขึ้นและวงจรสำหรับมนุษย์ที่อาจจะอ่านมัน
แต่ไม่มีผลต่อพฤติกรรมจริงของโปรแกรม

ตอนนี้ขอเพิ่มคำสั่งเพิ่มเติมให้กับโปรแกรมแรกของเรา:

// my second program in C++
#include <iostream>

int main ()
{
  std::cout << "Hello World! ";
  std::cout << "I'm a C++ program";
}

output
Hello World! I'm a C++ program

ในกรณีนี้โปรแกรมดำเนินการสองแทรกเข้าไปในstd::cout ในสองงบที่แตกต่างกัน
อีกครั้งหนึ่งที่แยกในสายที่แตกต่างกันของรหัสก็จะช่วยให้การอ่านมากขึ้นในการเขียนโปรแกรมตั้งแต่หลักที่จะได้
รับอย่างสมบูรณ์แบบที่ถูกต้องที่กำหนดไว้ในวิธีนี้:
int main () { std::cout << " Hello World! "; std::cout << " I'm a C++ program "; }

   
Edit & Run
รหัสที่มาจะได้รับนอกจากนี้ยังแบ่งออกเป็นlines instead:
int main ()
{
  std::cout <<
    "Hello World!";
  std::cout
    << "I'm a C++ program";
}

และผลที่จะได้รับอีกครั้งเหมือนกับในตัวอย่างก่อนหน้านี้

สั่ง preprocessor (ผู้ที่เริ่มต้นด้วย #) จะออกจากกฎทั่วไปนี้ตั้งแต่พวกเขาไม่ได้งบ
พวกเขาเป็นสายการอ่านและประมวลผลโดย preprocessor ก่อนที่จะรวบรวมที่เหมาะสมเริ่มต้น
 สั่ง preprocessor จะต้องระบุในสายของตัวเองและเพราะพวกเขาnot statements
จำเป็นต้องจบด้วยเครื่องหมายอัฒภาค (;)

Comments
ตามที่ระบุไว้ข้างต้น, ความเห็นไม่ส่งผลกระทบต่อการดำเนินงานของโปรแกรม;
แต่พวกเขาให้เป็นเครื่องมือสำคัญในการจัดทำเอกสารโดยตรงภายในรหัสที่มาสิ่งที่โปรแกรมไม่และวิธีการดำเนินการ

// line comment
/* block comment */


// my second program in C++
#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World! ";
  cout << "I'm a C++ program";


output
Hello World! I'm a C++ program

ครั้งแรกของพวกเขาเป็นที่รู้จักความคิดเห็นสายทิ้งทุกอย่างจากการที่คู่ (//) จะพบได้ถึงจุดสิ้นสุดของบรรทัดเดียวกันว่า
ที่สองเป็นที่รู้จักความคิดเห็นบล็อกทิ้งทุกอย่างระหว่าง / * ตัวอักษรและการปรากฏตัวครั้งแรกของ * / ตัวอักษรที่มีความเป็นไปได้
ของการรวมหลายเส้น

หากความคิดเห็นจะถูกรวมอยู่ในรหัสที่มาของโปรแกรมโดยไม่ต้องใช้ความคิดเห็นของตัวอักษรรวมกัน // / * หรือ * /
 คอมไพเลอร์จะนำพวกเขาราวกับ
ว่าพวกเขา c ++ แสดงออกส่วนใหญ่มีแนวโน้มก่อให้เกิดการcompilation to fail
กับหนึ่งหรือหลาย ข้อความผิดพลาด


Using namespace std

ถ้าคุณได้เห็นรหัส c ++ ก่อนคุณอาจจะได้เห็นcout.ถูกนำมาใช้แทนstd::cout. ทั้งชื่อวัตถุเดียวกัน: ครั้งแรกที่ใช้ชื่อของตน
ไม่มีเงื่อนไข (cout.) ในขณะที่สองมีคุณสมบัติโดยตรงภายใน Std namespace (ตามstd::cout.)

cout.เป็นส่วนหนึ่งของlibraryมาตรฐานและองค์ประกอบทั้งหมดในlibraryมาตรฐานC ++
 มีการประกาศภายในสิ่งที่เรียกว่า namespace ที่: Std namespace

เพื่อที่จะอ้างถึงองค์ประกอบใน namespace Std โปรแกรมอย่างใดอย่างหนึ่งจะต้องมีคุณสมบัติที่แต่ละอย่าง
และการใช้องค์ประกอบของห้องสมุดทุก (ที่เราได้ทำโดย prefixing std::cout.) หรือแนะนำการแสดงผล
ของส่วนประกอบของ วิธีทั่วไปมากที่สุดที่จะแนะนำการแสดงผลของส่วนประกอบเหล่านี้โดยวิธีการใช้การประกาศ:

using namespace std;

   
// my second program in C++
#include <iostream>
using namespace std;

int main ()
{
  cout << "Hello World! ";
  cout << "I'm a C++ program";
}

output
Hello World! I'm a C++ program
ทั้งสองวิธีในการเข้าถึงองค์ประกอบของ namespace มาตรฐาน (ที่การศึกษาที่ชัดเจนและใช้การประกาศ
 ที่ถูกต้องใน C ++ และผลิตพฤติกรรมเดียวกันแน่นอน สำหรับความเรียบง่ายและเพื่อปรับปรุงการอ่านตัวอย่าง
ในบทเรียนเหล่านี้จะมากขึ้นมักจะใช้วิธีหลังนี้กับการใช้การประกาศแม้จะทราบว่าวุฒิการศึกษาอย่างชัดเจนเป็น
วิธีเดียวที่จะรับประกันได้ว่าการชนชื่อไม่เกิดขึ้นname collisions

Namespaces มีการอธิบายในรายละเอียดในบทต่อมา
by relative7prof

0 ความคิดเห็น:

Post a Comment