วันพุธที่ 17 พฤษภาคม พ.ศ. 2560

ภาษาซี

โครงสร้างโปรแกรมภาษาซี
 
 


 โครงสร้างพื้นฐานของภาษาซี
          การเขียนโปรแกรมไม่ว่าจะเป็นภาษาใดก็ตาม ก็จะมีโครงสร้างของตัวภาษาอยู่ภาษาซีก็เช่นเดียวกัน โดยส่วนใหญ่ประกอบไปด้วย 3 ส่วนหลักๆ คือ ส่วนหัว(Header) ส่วนประกาศตัวแปร(Declaration) และส่วนคำสั่ง(Body) 


 ความหมายของโปรแกรมภาษา 
          ภาษาคอมพิวเตอร์ หมายถึง ภาษาใดๆที่ผู้ใช้งานใช้สื่อสารกับคอมพิวเตอร์ หรือคอมพิวเตอร์ด้วยกัน แล้วคอมพิวเตอร์สามารถทำงานตามคำสั่งนั้นได้ คำนี้มักใช้เรียกแทนภาษาโปรแกรม แต่ความเป็นจริงภาษาโปรแกรมคือส่วนหนึ่งของภาษาคอมพิวเตอร์เท่านั้น และมีภาษาอื่นๆที่เป็นภาษาคอมพิวเตอร์เช่นกันยกตัวอย่างเช่น HTML เป็นทั้งภาษามาร์กอัปและภาษาคอมพิวเตอร์ด้วย แม้ว่ามันจะไม่ใช่ภาษาโปรแกรม หรือภาษาเครื่องนั้นก็นับเป็นภาษาคอมพิวเตอร์ ซึ่งโดยทางเทคนิคสามารถใช้ในการเขียนโปรแกรมได้ แต่ก็ไม่จัดว่าเป็นภาษาโปรแกรม

โครงสร้างของโปรแกรมภาษาซีแบ่งออกเป็น 3 ส่วน

1. ส่วนหัวของโปรแกรม

ส่วนหัวของโปรแกรมนี้เรียกว่า Preprocessing Directive ใช้ระบุเพื่อบอกให้คอมไพเลอร์กระทำการ ใด ๆ ก่อนการแปลผลโปรแกรม ในที่นี่คำสั่ง #include <stdio.h> ใช้บอกกับคอมไพเลอร์ให้นำเฮดเดอร์ไฟล์ที่ระบุ คือ stdio.h เข้าร่วมในการแปลโปรแกรมด้วย โดยการกำหนด preprocessing directives นี้จะต้องขึ้นต้นด้วยเครื่องหมาย # เสมอ

      ส่วนหัวเป็นส่วนที่ระบุซีคอมไพเลอร์เตรียมการทำงานที่กำหนดในส่วนนี้ไว้ โดยหน้าคำสั่งจะมีเครื่องหมาย # ตัวอย่าง

          # include <stdio.h>

          หมายถึง เป็นการระบุให้นำไฟล์ stdio.h มารวมกับไฟล์นี้ เพื่อที่จะสามารถใช้คำสั่งที่อยู่ในไฟล์นี้มาใช้งานได้

            # define START 0

          หมายถึง เป็นการกำหนดค่าคงที่ให้กับตัวแปร START โดยให้มีค่าเป็น 0

            # define temp 37

          หมายถึง เป็นการกำหนดให้ตัวแปร temp มีค่าเท่ากับ 37

คำสั่งที่ใช้ระบุให้คอมไพเลอร์นำเฮดเดอร์ไฟล์เข้าร่วมในการแปลโปรแกรม สามารถเขียนได้ 2 รูปแบบ คือ

- #include <ชื่อเฮดเดอร์ไฟล์> คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟล์ที่ระบุจากไดเรกทอรีที่ใช้สำหรับเก็บเฮดเดอร์ไฟล์โดยเฉพาะ (ปกติคือไดเรกทอรีชื่อ include)

- #include “ชื่อเฮดเดอร์ไฟล์” คอมไพเลอร์จะทำการค้นหาเฮดเดอร์ไฟที่ระบุ จากไดเร็คทอรีเดียวกันกับไฟล์ source code นั้น แต้ถ้าไม่พบก็จะไปค้นหาไดเร็คทอรีที่ใช้เก็บเฮดเดอร์ไฟล์โดยเฉพาะ



2. ส่วนของฟังก์ชั่นหลัก

ฟังก์ชั่นหลักของภาษาซี คือ ฟังก์ชั่น main() ซึ่งโปรแกรมภาษาซีทุกโปรแกรมจะต้องมีฟังก์ชั่นนี้อยู่ในโปรแกรมเสมอ จะเห็นได้จากชื่อฟังก์ชั่นคือ main แปลว่า “หลัก” ดังนั้น การเขียนโปรแกรมภาษซีจึงขาดฟังก์ชั่นนี้ไปไม่ได้ โดยขอบเขตของฟังก์ชั่นจะถูกกำหนดด้วยเครื่องหมาย { และ } กล่าวคือ การทำงานของฟังก์ชั่นจะเริ่มต้นที่เครื่องหมาย { และจะสิ้นสุดที่เครื่องหมาย } ฟังก์ชั่น main() สามารถเขียนในรูปแบบของ void main(void) ก็ได้ มีความหมายเหมือนกัน คือ หมายความว่า ฟังก์ชั่น main() จะไม่มีอาร์กิวเมนต์ (argument) คือไม่มีการรับค่าใด ๆ เข้ามาประมวลผลภายในฟังก์ชั่น และจะไม่มีการคืนค่าใด ๆ กลับออกไปจากฟังก์ชั่นด้วย

 

 3. ส่วนรายละเอียดของโปรแกรม

เป็นส่วนของการเขียนคำสั่ง เพื่อให้โปรแกรมทำงานตามที่ได้ออกแบบไว้


คอมเมนต์ในภาษาซี

คอมเมนต์ (comment) คือส่วนที่เป็นหมายเหตุของโปรแกรม มีไว้เพื่อให้ผู้เขียนโปรแกรมใส่ข้อความอธิบายกำกับลงไปใน source code ซึ่งคอมไพเลอร์จะข้ามาการแปลผลในส่วนที่เป็นคอมเมนต์นี้ คอมเมนต์ในภาษาซีมี 2 แบบคือ

¨ คอมเมนต์แบบบรรทัดเดียว ใช้เครื่องหมาย //

¨ คอมเมนต์แบบหลายบรรทัด ใช้เครื่องหมาย /* และ */

    main  ()

            {        /*เริ่มต้นโปรแกรม*/

          คำสั่งต่างๆ ;

            ฟังก์ชั่น ;

....................

.....................

}/*จบโปรแกรม*/
Picture

ตัวอย่าง การคอมเมนต์ในภาษาซี


// Comment only one line


#include <stdio.h>


#include <conio.h>


main void()


{


clrscr();


/*comment


many


line*/


}


ข้อควรระวังในการใช้คอมเมนต์ คือ ในกรณีที่ใช้คอมเมนต์แบบหลายบรรทัด จะไม่สามารถใช้คอมเมนต์ซ้อนคอมเมนต์ได้ ดังรูป มิฉะนั้นจะก่อให้เกิดข้อผิดพลาดในการคอมไพล์







/




/




/*Comment1*/




/*Comment2*/




/*Comment3*/




/*Comment2*/




X




/*Comment1




/*Comment3*/












การใช้คอมเมนต์แบบหลายบรรทัด



จะเห็นว่าในกรณีที่ต้องการใส่คอมเมนต์หลาย ๆ บรรทัดติดกันนั้น คอมเมนต์แบบหลายบรรทัดจะช่วยประหยัดเวลาในการใส่คอมเมนต์ได้มากกว่าการใช้คอมเมนต์แบบบรรทัดเดียว แต่ก็ควรระมัดระวังในการใช้งานด้วย


ตัวอย่างที่ 1 โปรแกรมให้นักเรียนศึกษาโครงสร้างของโปรแกรมภาษาซี


1:

#include <stdio.h>


2:

void main()


3:

{


4:

clrscr();


5:

printf("My name is Kwanjit");


6:

}


ผลลัพธ์ของโปรแกรม


My name is Kwanjit


อธิบายโปรแกรม

บรรทัดที่ 1: เป็นการบอกให้คอมไพเลอร์นำเฮดเดอร์ไฟล์ชื่อ stdio.h เข้ามาร่วมในการแปลผลด้วย โดย stdio ย่อมาจาก standard input/output และ .h คือ นามสกุลของเฮดเดอร์ไฟล์ในภาษาซี (h ย่อมาจาก header) ซึ่ง stdio.h คือ เฮดเดอร์ไฟล์ที่รวมเอาการประกาศ (declaration) ของฟังก์ชั่นมาตรฐานของภาษาซีที่เกี่ยวกับการจัดการด้านอินพุตและเอาต์พุตเข้ามาไว้ด้วยกันโปรแกรมนี้มีการเรียกใช้งานฟังก์ชั่น printf() เพื่อแสดงข้อมูลออกทางจอภาพ และเนื่องจากส่วนของการประกาศฟังก์ชั่น printf() ถูกบรรจุอยู่ในเฮดเดอร์ไฟล์ stdio.h ดังนั้นจึงจำเป็นต้องนำเฮดเดอร์ไฟล์ stdio.h เข้าร่วมในการแปลผลด้วย

บรรทัดที่ 2: คือฟังก์ชั่น void main() ซึ่งเป็นฟังก์ชั่นหลักของโปรแกรม การทำงานของโปรแกรมภาษาซีจะเริ่มต้นที่ฟังก์ชั่นนี้

บรรทัดที่ 3: เครื่องหมาย { ระบุจุดเริ่มต้นของฟังก์ชั่น main()

บรรทัดที่ 4: เป็นคำสั่งให้เคลียร์หน้าจอเวลาแสดงผลลัพธ์

บรรทัดที่ 5: เป็นการเรียกใช้ฟังก์ชั่น printf() ซึ่งเป็นฟังก์ชั่นมาตรฐานของภาษาซีทำหน้าที่แสดงผลข้อมูลออกทางจอภาพ ในที่นี้จะแสดงข้อความ My name is Kwanjit ออกทางจอภาพ

บรรทัดที่ 6: เครื่องหมาย } ระบุจุดสิ้นสุดของฟังก์ชั่น main()

ตัวอย่างโปรแกรมภาษาซี 

1.    เป็นการพิมพ์ข้อมูลออกทางหน้าจอ โดยชื่อว่า hello.c

# include <stdio.h>

main ( )

{

     printf(“Hello, Good morning \n”);




เป็นโปรแกรมคำสั่งพิมพ์ข้อความ Hello, Good morning


}
Picture
# include <stdio.h>

main ( )

{

     Float point:

     printf(“Put your score.”):scanf(“%f:&point);

     prinut(“Your score is %f \n“.point);

}

Picture

ไม่มีความคิดเห็น:

แสดงความคิดเห็น