การเขียนโปรแกรมคอมพิวเตอร์ - ไวยากรณ์พื้นฐาน

เริ่มต้นด้วยการเข้ารหัสเล็กน้อยซึ่งจะทำให้คุณเป็นโปรแกรมเมอร์คอมพิวเตอร์ได้จริงๆ เราจะเขียนโปรแกรมคอมพิวเตอร์บรรทัดเดียวเพื่อเขียน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 ไม่ต้องการอัฒภาค (;) ในการยุติคำสั่ง แต่การขึ้นบรรทัดใหม่หมายถึงการสิ้นสุดของคำสั่งเสมอ