ใบงานที่ 1 เรื่องภาษา ซี
ภาษา ซี คือ ภาษาคอมพิวเตอร์ระดับสูง ใช้สำหรับเขียนโปรแกรมทางคอมพิวเตอร์
โครงสร้างภาษา ซี
คำสั่งที่ใช้งานในภาษา C นั้นล้วนเป็นฟังก์ชั่นทั้งสิ้น ดังนั้นโปรแกรมที่เขียนขึ้นจึงประกอบไปด้วยฟังก์ชั่นมากมาย ที่ถูกกำหนดให้ทำหน้าที่ใดหน้าที่หนึ่งในลักษณะของโมดูลย่อย เพื่อทำงานให้บรรลุเป้าหมาย และในเมื่อภาษา C คือภาษาที่ประกอบไปด้วยฟังก์ชั่น ดังนั้นจึงจำเป็นทำความเข้าใจเกี่ยวกับ ความหมายของฟังก์ชั่นเสียก่อน
ฟังก์ชั่น (Function) คือ ชุดคำสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงาน ที่อนุญาตให้สามารถรับข้อมูล (Input) ประมวลผล (Processes) และแสดงผลข้อมูล (Output) โดยฟังก์ชั่นที่ถูกเขียนขึ้นใช้งาน และสามารถเรียกมาใช้งานได้ทันที จะถูกจัดเก็บไว้ในไลบารีมาตรฐาน (Standard Library) ในขณะที่ฟังก์ชั่นอื่นๆจะเป็นฟังก์ชั่นที่ถูกเขียนขึ้นโดยโปรแกรมเมอร์ อย่างไรก็ตามในภาษา C จะมีฟังก์ชั่นพิเศษฟังก์ชั่นหนึ่งที่จำเป็นต้องมีไว้ในโปรแกรมเสมอ คือ ฟังก์ชั่น main() ทั้งนี้ฟังก์ชั่นดังกล่าวจัดเป็นฟังก์ชั่นหลักที่นำมาใช้เป็นจุดเริ่มต้นของโปรแกรมเพื่อสั่งให้ทำงาน โดยฟังก์ชั่นอื่นๆจะถือเป็นรูทีนย่อย (Subroutines)
conio.h เป็นเฮดเดอร์ที่เกี่ยวกับฟังก์ชั่น รอรับคำสั่ง เช่น getch ( )
| (vertical bar) # (number sign)
ตัวอย่างโค้ดโปรแกรมภาษาซีในการคำนวณหาพื้นที่วงกลม ตัวอย่างนี้จะเรียกใช้งานค่า π (พาย หรือ pi) จาก math.h
อธิบายเพิ่มเติม
1. #include<math.h> เพื่อเรียกใช้งานค่าคงที่ของพาย (M_PI) ซึ่งไม่ได้ระบุค่าเอง ซึ่งมีค่าประมาณ 3.14159265358979323846 หรือ สามารถกำหนดเอง แล้วนำไปแทนตรง M_PI ได้
2. r คือ ตัวแปรที่ใช้เก็บค่ารัศมีที่กรอกเข้ามา
3. r * r คือ รัศมี ยกกำลัง 2
ผลลัพธ์
โครงสร้างของโปรแกรมภาษา C สามารถแบ่งเป็นส่วนสำคัญต่างๆ ดังนี้ คือ
1.พรีโปรเชสเชอร์ไดเรคทีฟ (Pre-processor Directive)
ส่วนหัวของโปรแกรม(Header File)เป็นส่วนสำคัญส่วนหนึ่งของภาษา C เป็นส่วนที่บอกให้คอม ไพล์เลอร์รับทราบว่า ให้นำไฟล์ส่วนดังกล่าวมาคอมไพล์ร่วมด้วยดังตัวอย่างเฮดเดอร์ไฟล์ คือ #include <stdio.h> โดยชื่อเฮดเดอร์ไฟล์ที่ผนวกเข้ามาสามารถเขียนอยู่ภายในเครื่องหมาย < > หรือ " " ก็ได้
เฮดเดอร์ไฟล์เป็นไฟล์ชนิดข้อความ (Text File) ที่ภายในโปรแกรมจะมีการประกาศค่าตัวแปร และค่า
คงที่ต่างๆ ซึ่งจะบรรจุฟังก์ชั่นมาตรฐานต่างๆ รวมเข้าด้วยกันตามลักษณะงานที่ใช้ และเก็บลงในไลบารี โดยจำถูกนำมาอ่านรวมกันกับชุดคำสั่งขณะทำการคอมไพล์เลอร์
คงที่ต่างๆ ซึ่งจะบรรจุฟังก์ชั่นมาตรฐานต่างๆ รวมเข้าด้วยกันตามลักษณะงานที่ใช้ และเก็บลงในไลบารี โดยจำถูกนำมาอ่านรวมกันกับชุดคำสั่งขณะทำการคอมไพล์เลอร์
เฮดเดอร์ไฟล์ที่เรานิยมใช้บ่อยมีอยู่ 2 เฮดเดอร์ คือ stdio.h และ conio.h
stdio.h เป็นเฮดเดอร์ที่เกี่ยวข้องกับฟังชั่นอินพุตและเอาต์พุต Input and Output) เช่น
ฟังก์ชั่น printf( ) , scanf ( )
conio.h เป็นเฮดเดอร์ที่เกี่ยวกับฟังก์ชั่น รอรับคำสั่ง เช่น getch ( )
ความหมายของพรีโปรเชสเชอร์ก็คือ "ตัวประมวลผลก่อน" ชึ่งจะต้องถูกกำหนดไว้นอกฟังก์ชั่นเสมอ
โดยส่วนนี้จะได้รับการประมวลผลก่อนชุดคำสั่งภายในฟังชั่น จึงเป็นที่มาของพรีโปรเชสเชอร์นั่นเอง การ เขียนจะต้องนำหน้าด้วยเครื่องหมาย # เสมอ อย่างไรก็ตามพรีโปรเชสเชอร์จะมีอยู่หลายตัวด้วยกัน เช่น
โดยส่วนนี้จะได้รับการประมวลผลก่อนชุดคำสั่งภายในฟังชั่น จึงเป็นที่มาของพรีโปรเชสเชอร์นั่นเอง การ เขียนจะต้องนำหน้าด้วยเครื่องหมาย # เสมอ อย่างไรก็ตามพรีโปรเชสเชอร์จะมีอยู่หลายตัวด้วยกัน เช่น
#if #ifdef #ifndef #else #elif #endif
#include #define #undef #line #error #pragma
#include #define #undef #line #error #pragma
2. ฟังก็ชั่นหลัก (Main Function)
ฟังก็ชั่น main( ) ในภาษา C จัดเป็นฟังก็ชั่นที่ทำหน้าเสมือนกับเป็นโปรแกรมหลักที่สั่งให้ชุดคำสั่ง ทำงานรวมถึงการเรียกใช้ฟังก์ชั่นย่อยๆอื่นทำงาน กล่าวคือการสั่งงานในโปรแกรมจะอยู่ภายในฟังก์ชั่น main ( ) นั่นเอง
3. ประโยคคำสั่ง (Compound Statement)
เป็นชุดคำสั่งที่บรรจุอยู่ในฟังชั่นนั่นๆ ซึ่งอาจจะเป็น
- ประโยคที่ใช้สำหรับประกาศตัวแปร (Variable) หรือการกำหนดค่าเริ่มต้นให้กับตัวแปรต่างๆ
โดยตัวแปรที่ใช้งานในโปรแกรม จำเป็นต้องได้รับการประกาศชนิดข้อมูลของตัวแปรนั้นๆด้วย
โดยตัวแปรที่ใช้งานในโปรแกรม จำเป็นต้องได้รับการประกาศชนิดข้อมูลของตัวแปรนั้นๆด้วย
- ประโยคนิพจน์คณิตศาสตร์ เช่น ประโยคคำนวณตัวเลขต่างๆ
- ประโยคคำสั่งควบคุมอื่นๆ เช่น คำสั่งควบคุมวงจรลูป คำสั่งควบคุมเงื่อนไข เป็นต้น
4. คำอธิบายภายในโปรแกรม (Program Comment)
คำอธิบายโปรแกรม เป็นส่วนที่ผู้เขียนโปรแกรมนำมาใช้อธิบายจุดสำคัญต่างๆ ภายในโปรแกรม
เช่น ใช้อธิบายจุดประสงค์ของโปรแกรมส่วนนั้นๆ รวมถึงการป้องการหลงลืม กรณีที่ต้องกลับมา ปรับปรุงโปรแกรมใหม่ รูปแบบการเขียนคำอธิบายในภาษา C
เช่น ใช้อธิบายจุดประสงค์ของโปรแกรมส่วนนั้นๆ รวมถึงการป้องการหลงลืม กรณีที่ต้องกลับมา ปรับปรุงโปรแกรมใหม่ รูปแบบการเขียนคำอธิบายในภาษา C
/*คำอธิบาย*/ หรือ //คำอธิบาย เช่น /*comment*/ หรือ //comment
อักขระในภาษา C (C Character Sets)
ภาษา C ได้เตรียมกลุ่มอักขระต่างๆ ให้ใช้งานที่เรียกว่า Character Sets โดยแบ่งออกเป็น 2 กลุ่มใหญ่ๆ คือ Basic Character set และ Execution Character set
1. Basic Character set ประกอบด้วยกลุ่มอักขระ ดังต่อไปนี้
- อักษรตัวพิมพ์ใหญ่ (Alphabets Upper Case) ประกอบด้วยอักษร A-Z จำนวน 26 ตัว ดังนี้
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
- อักษรตัวพิมพ์เล็ก (Alphabets Lower Case) ประกอบด้วยอักษร a-z จำนวน 26 ตัว ดังนี้
a b c d e f g h i j k l m n o p q r s t u v w x y z
- ตัวเลข (Decimal Digits) ประกอบไปด้วยตัวเลข 0 - 9 จำนวน 10 ตัว ดังนี้
0 1 2 3 4 5 6 7 8 9
- ตัวอักขระแบบกราฟิก ประกอบด้วยสัญลักษณ์ต่างๆ จำนวน 29 ตัว ดังนี้
, (comma) ( (left parenthesis) ; (semicolon) ) (right parenthesis)
. (period) [ (left bracket)
? (question mark) ] (right bracket)
! (exclamation) { (left brace)
: (colon) } (right brace)
+ (plus) < (less than)
- (minus) > (greater than)
* (asterisk) = (equal sign)
/ (slash) & (ampersand)
\ (backslash) % (percent sign)
' (single quote) ^ (caret)
" (double quote) _ (under score)
~ (tild)
-ตัวอักขระแบบช่องว่าง (White space Character ประกอบด้วยอักขระที่เป็นช่องว่างในลักษณะ
ต่างๆ จำนวน 5 ตัว ดังนี้
ต่างๆ จำนวน 5 ตัว ดังนี้
blank space, horizontal tab, vertical tab, newline, form feed
2. Execution Character set ประกอบด้วยกลุ่มอักขระ ดังต่อไปนี้
-อักขระที่เป็นค่าว่าง (Null Character) อักขระที่เป็นค่าว่าง หรือค่า Null จะใช้สัญลักษณ์ \0
-อักขระควบคุม (Escape Sequence)เป็นรหัสที่ใช้ควบคุมการแสดงผลทางจอภาพและเครื่องพิมพ์
ประกอบด้วย :
ประกอบด้วย :
\a alert (bell) \\ backslash
\b backspace \? backslash
\f form feed \' single quote
\n new line \" double quote
\r carriage return \ooo octal number
\t horizontal tab \xhh hexadecimal number
\v vertical tab
ตัวอย่าง
ตัวอย่างโค้ดโปรแกรมภาษาซีในการคำนวณหาพื้นที่วงกลม ตัวอย่างนี้จะเรียกใช้งานค่า π (พาย หรือ pi) จาก math.h
สูตรการหาพื้นที่วงกลม
พื้นที่วงกลม = พาย x รัศมี2
จะได้ A = π r2
การทำงานของโปรแกรม
เริ่มต้นจะให้กรอกค่ารัศมี (Radius) เพื่อนำไปคำนวณหาพื้นที่วงกลมตามสูตร A = π r2 แล้วนำค่าที่คำนวณได้แสดงผล
ตัวอย่างโค้ด
พื้นที่วงกลม = พาย x รัศมี2
จะได้ A = π r2
การทำงานของโปรแกรม
เริ่มต้นจะให้กรอกค่ารัศมี (Radius) เพื่อนำไปคำนวณหาพื้นที่วงกลมตามสูตร A = π r2 แล้วนำค่าที่คำนวณได้แสดงผล
ตัวอย่างโค้ด
1. #include<math.h> เพื่อเรียกใช้งานค่าคงที่ของพาย (M_PI) ซึ่งไม่ได้ระบุค่าเอง ซึ่งมีค่าประมาณ 3.14159265358979323846 หรือ สามารถกำหนดเอง แล้วนำไปแทนตรง M_PI ได้
2. r คือ ตัวแปรที่ใช้เก็บค่ารัศมีที่กรอกเข้ามา
3. r * r คือ รัศมี ยกกำลัง 2
ผลลัพธ์