การเขียนโปรแกรมคอมพิวเตอร์ - ไวยากรณ์พื้นฐาน
เริ่มต้นด้วยการเข้ารหัสเล็กน้อยซึ่งจะทำให้คุณเป็นโปรแกรมเมอร์คอมพิวเตอร์ได้จริงๆ เราจะเขียนโปรแกรมคอมพิวเตอร์บรรทัดเดียวเพื่อเขียนHello, World!บนหน้าจอของคุณ มาดูกันว่าสามารถเขียนโดยใช้ภาษาโปรแกรมต่างๆได้อย่างไร
โปรแกรม Hello World ใน C
ลองตัวอย่างต่อไปนี้โดยใช้ตัวเลือกคอมไพเลอร์ออนไลน์ของเราที่มีอยู่ในwww.compileonline.com
สำหรับตัวอย่างส่วนใหญ่ที่ให้ไว้ในบทช่วยสอนนี้คุณจะพบไฟล์ Try it ตัวเลือกในส่วนรหัสเว็บไซต์ของเราที่มุมขวาบนซึ่งจะนำคุณไปยังคอมไพเลอร์ออนไลน์
พยายามเปลี่ยนเนื้อหาภายใน printf () เช่นพิมพ์อะไรก็ได้แทน Hello World!จากนั้นตรวจสอบผลลัพธ์ เพียงพิมพ์สิ่งที่คุณเก็บไว้ในเครื่องหมายคำพูดคู่สองคำ
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!" );
}
ซึ่งให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World!
โปรแกรม Hello World นี้จะช่วยให้เราเข้าใจแนวคิดพื้นฐานต่างๆที่เกี่ยวข้องกับการเขียนโปรแกรม C
จุดเข้าโปรแกรม
สำหรับตอนนี้อย่าลืมเกี่ยวกับไฟล์ #include <stdio.h> แต่โปรดทราบว่าคุณต้องใส่คำสั่งนี้ไว้ที่ด้านบนของโปรแกรม C
ทุกโปรแกรม C เริ่มต้นด้วย main () ซึ่งเรียกว่าฟังก์ชันหลักจากนั้นตามด้วยวงเล็บปีกกาด้านซ้าย ส่วนที่เหลือของคำสั่งโปรแกรมจะถูกเขียนขึ้นระหว่างและในที่สุดปีกกาขวาจะสิ้นสุดโปรแกรม
ส่วนการเข้ารหัสภายในวงเล็บปีกกาทั้งสองนี้เรียกว่าตัวโปรแกรม วงเล็บปีกกาด้านซ้ายสามารถอยู่ในบรรทัดเดียวกับ main () {หรือในบรรทัดถัดไปตามที่กล่าวไว้ในโปรแกรมข้างต้น
ฟังก์ชั่น
ฟังก์ชั่นเป็นหน่วยเล็ก ๆ ของโปรแกรมและใช้เพื่อทำงานเฉพาะอย่าง ตัวอย่างเช่นโปรแกรมข้างต้นใช้ประโยชน์จากสองฟังก์ชัน:main() และ printf(). ที่นี่ฟังก์ชัน main () ให้จุดเริ่มต้นสำหรับการทำงานของโปรแกรมและฟังก์ชันอื่น ๆ printf () จะถูกใช้เพื่อพิมพ์ข้อมูลบนหน้าจอคอมพิวเตอร์
คุณสามารถเขียนฟังก์ชันของคุณเองซึ่งเราจะเห็นในบทที่แยกต่างหาก แต่การเขียนโปรแกรม C นั้นมีฟังก์ชันในตัวมากมายเช่น main (), printf () เป็นต้นซึ่งเราสามารถใช้ในโปรแกรมของเราได้ตามความต้องการของเรา
ภาษาโปรแกรมบางภาษาใช้คำว่า sub-routine แทนฟังก์ชัน แต่ฟังก์ชันการทำงานจะเหมือนกันมากหรือน้อย
ความคิดเห็น
โปรแกรม AC สามารถมีคำสั่งอยู่ข้างใน /*.....*/. ข้อความดังกล่าวเรียกว่าข้อคิดเห็นและความคิดเห็นเหล่านี้ใช้เพื่อทำให้ผู้ใช้โปรแกรมเป็นมิตรและเข้าใจง่าย สิ่งที่ดีเกี่ยวกับความคิดเห็นคือคอมไพเลอร์และล่ามจะละเลยอย่างสิ้นเชิง ดังนั้นคุณสามารถใช้ภาษาใดก็ได้ที่คุณต้องการเขียนความคิดเห็น
ช่องว่าง
เมื่อเราเขียนโปรแกรมโดยใช้ภาษาโปรแกรมใด ๆ เราจะใช้อักขระที่พิมพ์ได้ต่างๆเพื่อเตรียมคำสั่งในการเขียนโปรแกรม อักขระที่พิมพ์ได้เหล่านี้คือa, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '. หวังว่าฉันจะไม่พลาดอักขระที่พิมพ์ได้จากแป้นพิมพ์ของคุณ
นอกเหนือจากอักขระเหล่านี้แล้วยังมีอักขระบางตัวที่เราใช้บ่อยมาก แต่จะมองไม่เห็นในโปรแกรมของคุณและอักขระเหล่านี้คือช่องว่างแท็บ (\ t) บรรทัดใหม่ (\ n) อักขระเหล่านี้เรียกว่าwhitespaces.
อักขระช่องว่างที่สำคัญทั้งสามนี้มีอยู่ทั่วไปในภาษาโปรแกรมทั้งหมดและยังคงมองไม่เห็นในเอกสารข้อความของคุณ -
ช่องว่าง | คำอธิบาย | การเป็นตัวแทน |
---|---|---|
บรรทัดใหม่ | เพื่อสร้างบรรทัดใหม่ | \ n |
แท็บ | เพื่อสร้างแท็บ | \ t |
พื้นที่ | เพื่อสร้างช่องว่าง | พื้นที่ว่าง |
บรรทัดที่มีเฉพาะช่องว่างอาจมีความคิดเห็นเรียกว่าบรรทัดว่างและคอมไพเลอร์ C จะละเว้นมันโดยสิ้นเชิง Whitespace เป็นคำที่ใช้ใน C เพื่ออธิบายช่องว่างแท็บอักขระขึ้นบรรทัดใหม่และข้อคิดเห็น คุณสามารถเขียนprintf("Hello, World!" );ดังแสดงด้านล่าง นี่คือช่องว่างที่สร้างขึ้นทั้งหมดรอบ ๆ "Hello, World!" ไม่มีประโยชน์และคอมไพเลอร์จะเพิกเฉยต่อสิ่งเหล่านี้ในช่วงเวลาของการคอมไพล์
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!" );
}
ซึ่งให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World!
หากเราทำให้อักขระช่องว่างเหล่านี้มองเห็นได้โปรแกรมด้านบนจะมีลักษณะเช่นนี้และคุณจะไม่สามารถคอมไพล์ได้ -
#include <stdio.h>\n
\n
int main()\n
{
\n
\t/* printf() function to write Hello, World! */
\n
\tprintf(\t"Hello, World!"\t);\n
\n
}\n
อัฒภาค
ทุกคำสั่งในโปรแกรม C ต้องลงท้ายด้วยอัฒภาค (;) ตัวอย่างเช่นหากคุณต้องการเขียนว่า "Hello, World!" สองครั้งจากนั้นจะเขียนดังนี้ -
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!\n" );
printf( "Hello, World!" );
}
โปรแกรมนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World!
Hello, World!
ที่นี่เรากำลังใช้อักขระบรรทัดใหม่ \nในฟังก์ชัน printf () แรกเพื่อสร้างบรรทัดใหม่ ให้เราดูว่าจะเกิดอะไรขึ้นถ้าเราไม่ใช้อักขระบรรทัดใหม่นี้ -
#include <stdio.h>
int main() {
/* printf() function to write Hello, World! */
printf( "Hello, World!" );
printf( "Hello, World!" );
}
โปรแกรมนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World! Hello, World!
เราจะเรียนรู้ตัวระบุและคำหลักในสองสามบทถัดไป
คำอธิบายโปรแกรม
ให้เราเข้าใจว่าโปรแกรม C ข้างต้นทำงานอย่างไร ก่อนอื่นโปรแกรมข้างต้นจะถูกแปลงเป็นรูปแบบไบนารีโดยใช้คอมไพเลอร์ C ลองใส่รหัสนี้ในไฟล์ test.c แล้วรวบรวมดังนี้ -
$gcc test.c -o demo
หากมีข้อผิดพลาดทางไวยากรณ์ (ข้อผิดพลาดทางไวยากรณ์ในศัพท์คอมพิวเตอร์) เราจะแก้ไขก่อนที่จะแปลงเป็นรูปแบบไบนารี หากทุกอย่างเรียบร้อยดีมันจะสร้างไฟล์ไบนารีที่เรียกว่าdemo. สุดท้ายเราดำเนินการสาธิตไบนารีที่สร้างขึ้นดังต่อไปนี้ -
$./demo
ซึ่งให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World!
ที่นี่เมื่อเรารันไบนารี a.outคอมพิวเตอร์จะเข้าสู่ภายในโปรแกรมโดยเริ่มจาก main () และพบคำสั่ง printf () โปรดทราบว่าบรรทัดข้างใน /*....*/ เป็นความคิดเห็นและจะถูกกรองในขณะที่รวบรวม ดังนั้นฟังก์ชัน printf () จะสั่งให้คอมพิวเตอร์พิมพ์บรรทัดที่กำหนดที่หน้าจอคอมพิวเตอร์ สุดท้ายจะพบวงเล็บปีกกาขวาซึ่งระบุการสิ้นสุดของฟังก์ชัน main () และออกจากโปรแกรม
ข้อผิดพลาดทางไวยากรณ์
หากคุณไม่ปฏิบัติตามกฎที่กำหนดโดยภาษาโปรแกรมเมื่อทำการคอมไพล์คุณจะได้รับข้อผิดพลาดทางไวยากรณ์และโปรแกรมจะไม่ถูกคอมไพล์ จากมุมมองทางไวยากรณ์แม้แต่จุดเดียวหรือลูกน้ำหรืออัฒภาคเดียวก็มีความสำคัญและคุณควรดูแลไวยากรณ์ขนาดเล็กเช่นกัน ในตัวอย่างต่อไปนี้เราได้ข้ามอัฒภาคมาลองคอมไพล์โปรแกรม -
#include <stdio.h>
main() {
printf("Hello, World!")
}
โปรแกรมนี้จะให้ผลลัพธ์ดังต่อไปนี้ -
main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
}
^
ดังนั้นสิ่งที่สำคัญที่สุดก็คือหากคุณไม่ปฏิบัติตามไวยากรณ์ที่เหมาะสมที่กำหนดโดยภาษาโปรแกรมในโปรแกรมของคุณคุณจะได้รับข้อผิดพลาดทางไวยากรณ์ ก่อนที่จะพยายามรวบรวมอื่นคุณจะต้องแก้ไขและดำเนินการต่อ
โปรแกรม Hello World ใน Java
ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Java โปรแกรมนี้ก็จะให้ผลลัพธ์เช่นเดียวกันHello, World!.
public class HelloWorld {
public static void main(String []args) {
/* println() function to write Hello, World! */
System.out.println("Hello, World!");
}
}
ซึ่งให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World!
โปรแกรม Hello World ใน Python
ต่อไปนี้เป็นโปรแกรมเทียบเท่าที่เขียนด้วย Python โปรแกรมนี้ก็จะให้ผลลัพธ์เช่นเดียวกันHello, World!.
# print function to write Hello, World! */
print "Hello, World!"
ซึ่งให้ผลลัพธ์ดังต่อไปนี้ -
Hello, World!
หวังว่าคุณจะสังเกตเห็นว่าสำหรับตัวอย่าง C และ Java อันดับแรกเราจะรวบรวมโปรแกรมแล้วเรียกใช้งานไบนารีที่สร้างขึ้น แต่ในโปรแกรม Python เรากำลังดำเนินการโดยตรง ดังที่เราได้อธิบายไว้ในบทที่แล้ว Python เป็นภาษาที่ตีความและไม่จำเป็นต้องมีขั้นตอนกลางที่เรียกว่าการคอมไพล์
Python ไม่ต้องการอัฒภาค (;) ในการยุติคำสั่ง แต่การขึ้นบรรทัดใหม่หมายถึงการสิ้นสุดของคำสั่งเสมอ