5. 5
รหัสภำษำเครื่องซึ่งตรงกับชนิดของข้อมูลนั้นได้เอง ทำให้โปรแกรมที่เขียนด้วยภำษำซีที่เขียนบนเครื่องหนึ่ง สำมำรถ
นำไปใช้กับอีกเครื่องหนึ่งได้ ประกอบกับกำรใช้พอยน์เตอร์ในภำษำซี นับได้ว่ำเป็นตัวอย่ำงที่ดีของกำรเป็นอิสระจำก
ฮำร์ดแวร์
วิวัฒนาการของภาษาซี
วิวัฒนำกำรของภำษำซี
- ค.ศ. 1970 มีกำรพัฒนำภำษำ B โดย Ken Thompson ซึ่งทำงำนบนเครื่อง DEC PDP-7 ซึ่ง ทำงำนบนเครื่อง
ไมโครคอมพิวเตอร์ไม่ได้ และยังมีข้อจำกัดในกำรใช้งำนอยู่ (ภำษำ B สืบทอดมำจำก ภำษำ BCPL ซึ่งเขียนโดย Marth
Richards)
- ค.ศ. 1972 Dennis M. Ritchie และ Ken Thompson ได้สร้ำงภำษำ C เพื่อเพิ่มประสิทธิภำพ ภำษำ B ให้ดียิ่งขึ้น ใน
ระยะแรกภำษำ C ไม่เป็นที่นิยมแก่นักโปรแกรมเมอร์โดยทั่วไปนัก
- ค.ศ. 1978 Brian W. Kernighan และ Dennis M. Ritchie ได้เขียนหนังสือเล่มหนึ่งชื่อว่ำ The C Programming
Language และหนังสือเล่มนี้ทำให้บุคคลทั่วไปรู้จักและนิยมใช้ภำษำ C ในกำรเขียน โปรแกรมมำกขึ้น
- แต่เดิมภำษำ C ใช้ Run บนเครื่องคอมพิวเตอร์ 8 bit ภำยใต้ระบบปฏิบัติกำร CP/M ของ IBM PC ซึ่งในช่วงปี ค. ศ.
1981 เป็นช่วงของกำรพัฒนำเครื่องไมโครคอมพิวเตอร์ ภำษำ C จึงมี บทบำทสำคัญในกำรนำมำใช้บนเครื่อง PC ตั้งแต่นั้น
เป็นต้นมำ และมีกำรพัฒนำต่อมำอีกหลำย ๆ ค่ำย ดังนั้นเพื่อกำหนดทิศทำงกำรใช้ภำษำ C ให้เป็นไปแนวทำงเดียวกัน
ANSI (American National Standard Institute) ได้กำหนดข้อตกลงที่เรียกว่ำ 3J11 เพื่อสร้ำงภำษำ C มำตรฐำน
ขึ้นมำ เรียนว่ำ ANSI C
- ค.ศ. 1983 Bjarne Stroustrup แห่งห้องปฏิบัติกำรเบล (Bell Laboratories) ได้พัฒนำภำษำ C++ ขึ้นรำยละเอียด
และควำมสำมำรถของ C++ มีส่วนขยำยเพิ่มจำก C ที่สำคัญ ๆ ได้แก่ แนวควำมคิดของกำรเขียนโปรแกรมแบบกำหนด
วัตถุเป้ำหมำยหรือแบบ OOP (Object Oriented Programming) ซึ่งเป็นแนวกำรเขียนโปรแกรมที่เหมำะกับกำรพัฒนำ
โปรแกรมขนำดใหญ่ที่มีควำมสลับซับซ้อนมำก มีข้อมูลที่ใช้ในโปรแกรมจำนวนมำก จึงนิยมใช้เทคนิคของกำรเขียน
โปรแกรมแบบ OOP ในกำรพัฒนำโปรแกรมขนำดใหญ่ในปัจจุบันนี้
6. 6
การเขียนโปรแกรมแบบมีเงื่อนไข
1. if else if
2. switch case
if else if
IF เป็นโครงสร้ำงภำษำที่สำคัญอย่ำงหนึ่ง ใช้ในกำรตรวจสอบเงื่อนไขกำรทำงำน และกำหนดทิศทำงในกำรทำงำนที่
เหมำะสมกับเงื่อนไขนั้น ซึ่งโครงสร้ำงของ if ก็เป็นเช่นเดียวกับภำษำ C คือ
view source
print?
1.if (condition expression)
2.Statement
8. 8
ตัวอย่ำง
view source
print?
01. <?
02. …
03. if ($a > $b) {
04. echo “ a is bigger than b”;
05. } else {
06. echo “a is not bigger than b”;
07. }
08. …
09.?>
จำกตัวอย่ำง ถ้ำเงื่อนไขเป็นจริง ก็จะทำคำสั่งชุดแรก ถ้ำเงื่อนไขไม่เป็นจริง ก็จะไปทำใน else หรือว่ำ คำสั่งชุดที่สอง
แทน
ELSEIF
elseif เป็นกำรนำเอำ else มำรวมกับ if โดยเมื่อ เงื่อนไขแรกไม่เป็นจริง และต้องมำทำคำสั่งใน else ก็จะทำกำร
ตรวจสอบเงื่อนไขใน if ที่อยู่กับ else ทันที ซึ่งจะมีรูปแบบดังนี้
view source
print?
1. if (expression–1)
2. statement-1;
3. elseif (expression-2)
4. statement-2;
5. else
6. statement-3;
9. 9
ตัวอย่ำง
view source
print?
01.<?
02. …
03. if ($a > $b) {
04. echo “a is bigger than b”;
05. } elseif ($a == $b) {
06. echo “a is equal to b”;
07. } else {
08. echo “a is smaller than b”;
09. }
10. …
11.?>
จำกตัวอย่ำง จะเห็นว่ำมีกำรตรวจสอบเงื่อนไขว่ำ $a > $b หรือไม่ ถ้ำเป็นจริง ก็จะทำคำสั่งในชุดแรก แล้วก็ออกจำก
เงื่อนไข if เลย แต่ถ้ำไม่จริง ก็จะไปตรวจสอบเงื่อนไขที่สองคือ $a == $b หรือไม่ ถ้ำเป็นจริง ก็จะไปทำคำสั่งในชุดที่
สอง แต่ถ้ำเป็นเท็จ ก็จะไปทำคำสั่งในชุดที่สำมเลย
กำรใช้ elseif นั้น จะใช้ซ้อนกันกี่ชั้นก็ได้ ซึ่งกำรตรวจสอบเงื่อนไข ก็จะทำไล่มำเรื่อย ๆ
Note : ให้ลองเขียนเป็นภำษำของคนก่อนนะ เช่น ตัวอย่ำงข้ำงบนนะ้้ถ้ำเป็นภำษำที่คนเรำเข้ำใจก็คือ
ถ้ำ a > b ให้บอกว่ำ a is bigger than b
แต่ถ้ำ a = b ให้บอกว่ำ a is equal b
แต่ถ้ำ a < b ให้บอกว่ำ a is smaller than b