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