SlideShare ist ein Scribd-Unternehmen logo
1 von 18
Downloaden Sie, um offline zu lesen
1
โครงงาน
เรื่อง ภาษาซี
นางสาว อริษา ทองศรี
ม.5/3 เลขที่ 25
โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี
ในพระราชูปถัมภ์สมเด็จพระเทพรัตนราชสุดาฯสยามบรมราชกุมารี
สานักงานเขตพื้นที่การศึกษามัธยมศึกษาเขต๘
2
คำนำ
รายงานฉบับนี้เป็นส่วนหนึ่งของรายวิชาโปรแกรมสานักงานขั้นสูง2 เพื่อเป็นประโยชน์แก่ผู้อ่านหรือผู้
ที่สนใจที่จะศึกษาเกี่ยวกับภาษาซี ซึ่งผู้จัดทาขึ้นเพื่อศึกษาสื่อเพื่อการศึกษา
ผู้จัดทาหวังเป็นอย่างยิ่งว่ารายงานฉบับนี้จะเป็นประโยชน์แก่ผู้อ่านหรือผู้ที่สนใจที่จะศึกษาเกี่ยวกับสื่อ
เพื่อการศึกษาอาเซียน หากมีข้อบกพร่องประการใด ผู้จัดทาขออภัยไว้ณ โอกาสนี้ด้วย
อริษา ทองศรี
3
สารบัญ
ภำษำซี (C Programming Language)..........................................................................................................4
วิวัฒนำกำรของภำษำซี.................................................................................................................................5
กำรเขียนโปรแกรมแบบมีเงื่อนไข.....................................................................................................................6
กำรประกำศตัวแปร....................................................................................................................................10
โครงสร้ำงพื้นฐำนของภำษำซี.......................................................................................................................14
บรรณำนุกรม ............................................................................................................................................18
4
ภาษาซี (C Programming Language)
ภำษำซี เป็นกำรเขียนโปรแกรมพื้นฐำน สำมำรถประยุกต์ใช้กับงำนต่ำงๆได้มำกมำย ระบบปฏิบัติกำรคอมพิวเตอร์
ทำงคณิตศำสตร์ โปรแกรมทำงไฟฟ้ำ อิเล็กทรอนิกส์ ไมโครคอนโทรลเลอร์
และยังมีโปรแกรมอื่นๆ ที่มีภำษำซีประยุกต์ใช้กันอีกมำกมำย
ภำษำซีเป็นภำษำที่ถือว่ำเป็นทั้งภำษำระดับสูงและระดับต่ำ ถูกพัฒนำโดยเดนนิส ริดชี (Dennis Ritche) แห่ง
ห้องทดลองเบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่ โดยเดนนิสได้ใช้หลักกำรของภำษำ บีซีพีแอล (BCPL :
Basic Combine Programming Language) ซึ่งพัฒนำขึ้นโดยเคน ทอมสัน (Ken Tomson) กำรออกแบบและพัฒนำ
ภำษำซีของเดนนิส ริดชี มีจุดมุ่งหมำยให้เป็นภำษำสำหรับใช้เขียนโปรแกรมปฏิบัติกำรระบบยูนิกซ์ และได้ตั้งชื่อว่ำ ซี (C)
เพรำะเห็นว่ำ ซี (C) เป็นตัวอักษรต่อจำกบี (B) ของภำษำ BCPL ภำษำซีถือว่ำเป็นภำษำระดับสูงและภำษำระดับต่ำ ทั้งนี้
เพรำะ ภำษำซีมีวิธีใช้ข้อมูลและมีโครงสร้ำงกำรควบคุมกำรทำงำนของโปรแกรมเป็นอย่ำงเดียวกับภำษำของโปรแกรม
ระดับสูงอื่นๆ จึงถือว่ำเป็นภำษำระดับสูง ในด้ำนที่ถือว่ำภำษำซีเป็นภำษำระดับต่ำ เพรำะภำษำซีมีวิธีกำรเข้ำถึงในระดับ
ต่ำที่สุดของฮำร์ดแวร์ ควำมสำมำรถทั้งสองด้ำนของภำษำนี้เป็นสิ่งที่เกื้อหนุนซึ่งกันและกัน ควำมสำมำรถระดับต่ำทำให้
ภำษำซีสำมำรถใช้เฉพำะเครื่องได้ และควำมสำมำรถระดับสูง ทำให้ภำษำซีเป็นอิสระจำกฮำร์ดแวร์ ภำษำซีสำมำรถสร้ำง
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
การเขียนโปรแกรมแบบมีเงื่อนไข
1. if else if
2. switch case
if else if
IF เป็นโครงสร้ำงภำษำที่สำคัญอย่ำงหนึ่ง ใช้ในกำรตรวจสอบเงื่อนไขกำรทำงำน และกำหนดทิศทำงในกำรทำงำนที่
เหมำะสมกับเงื่อนไขนั้น ซึ่งโครงสร้ำงของ if ก็เป็นเช่นเดียวกับภำษำ C คือ
view source
print?
1.if (condition expression)
2.Statement
7
โดย if จะตรวจสอบว่ำ เงื่อนไขใน expression เป็น จริง (TRUE) หรือไม่ ถ้ำเป็นจริง ก็จะเข้ำไปทำคำสั่งใน
statement ถ้ำ ไม่เป็นจริง (FALSE) ก็จะไม่ทำคำสั่งใน statement ซึ่ง statement นี้ อำจจะเป็นคำสั่งเพียง
คำสั่งเดียว หรือว่ำ เป็นชุดคำสั่งก็ได้ ซึ่งถ้ำเป็นชุดคำสั่ง ก็ต้องมี วงเล็บปีกกำ คร่อม ชุดคำสั่งนั้นด้วย จำกตัวอย่ำง
view source
print?
1.<?
2. if ($a > $b)
3. echo “ a is bigger than b”;
4. if ($b > $c) {
5. echo “b is bigger than c”;
6. $c = $b;
7. }
8.?>
Note : จำกตัวอย่ำงข้ำงบน ถ้ำมี Statement เดียว ไม่จำเป็นต้องมี { } เปิด Statement ไว้ แต่ถ้ำมีก็ไม่เป็นไร แต่ถ้ำมี 2
Statement ขึ้นไป ต้องมี { } ปิดไว้
ELSE
ในกรณีที่ต้องกำรให้มีทำงเลือก มำกกว่ำหนึ่งทำง โดยท่ำเงื่อนไขเป็นจริง ก็ให้ทำทำงเลือกหนึ่ง ถ้ำไม่เป็นจริง ก็ให้ทำ
อีกทำงเลือกหนึ่ง ก็สำมำรถทำได้โดยใช้ else เข้ำมำช่วยใน if ดังนี้
view source
print?
1.if (expression)
2.true-statement;
3.else
4 false-statement;
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
ตัวอย่ำง
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
10
แล้วจะได้ส่วนของ code ข้ำงบน
ชนิดของข้อมูลและตัวแปรในภำษำซี
ชนิดของข้อมูล (data type) ในกำรเขียนโปรแกรมหนึ่งๆ จะมีข้อมูลต่ำงๆ เข้ำมำเกี่ยวข้องเช่น
กำรนับจำนวนรอบ (loop) ของกำรทำงำนโดยใช้ข้อมูลชนิดจำนวนเต็ม หรือกำรแสดงข้อควำม
โดยใช้ข้อมูลชนิดตัวอักษร จะเห็นว่ำข้อมูลต่ำงๆ ถูกแบ่งออกเป็นหลำยชนิดตำมจุดประสงค์ของกำรใช้งำน
นอกจำกนี้ข้อมูลแต่ละชนิด ยังใช้เนื้อที่หน่วยควำมจำ (memory) ไม่เท่ำกันจึงมีกำรแบ่งชนิดของข้อมูล
ดังแสดงในตำรำงด้ำนล่ำง
ตัวแปร (variable) เนื่องจำกข้อมูลถูกเก็บอยู่ในหน่วยควำมจำ กำรอ้ำงถึงตำแหน่งของข้อมูลนี้
จึงมีควำมซับซ้อน ไม่สะดวกต่อกำรเขียนโปรแกรม จึงมีกำรเรียกหน่วยควำมจำ ในตำแหน่งที่สนใจผ่ำนตัวแปร
การประกาศตัวแปร(variable declaration) คือกำรจองเนื้อที่ในหน่วยควำมจำสำหรับเก็บค่ำบำงอย่ำง
พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยควำมจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีควำมสะดวกในกำรเข้ำถึงค่ำที่เก็บอยู่
ในหน่วยควำมจำดังกล่ำว
รูปแบบกำรประกำศตัวแปร
type variable-name;
โดย
type คือชนิดของตัวแปร (ตำมตำรำงด้ำนล่ำง)
variable-name คือชื่อของตัวแปร (ควรตั้งชื่อให้มีควำมหมำยสอดคล้องกับกำรใช้งำนและจำง่ำย)
ตัวอย่ำงกำรประกำศตัวแปรแบบต่ำงๆ
int num; /*ประกำศตัวแปรชนิดจำนวนเต็ม ชื่อ num*/
float x;
11
char grade, sex; /*ประกำศตัวแปรชนิิดอักขระ ชื่อ grade และ sex (ประกำศพร้อมกันในบรรทัดเดียว)*/
float temp = 123.45; /*ประกำศตัวแปรชนิดเลขทศนิยมพร้อมกำหนดค่ำ 123.45*/
char c = "A", t = "B"; /*ประกำศตัวแปรชนิดอักขระสองตัว พร้อมกำหนดค่ำให้แต่ละตัว*/
int oct = 0555; /*ประกำศตัวแปรชนิดจำนวนเต็มชื่อ num พร้อมกำหนดค่ำคือ 555 (เป็นเลขฐำนแปดเพรำะมี 0
นำหน้ำ)*/
int hex = 0x88; /*ประกำศตัวแปรชนิดจำนวนเต็มชื่อ hex พร้อมกำหนดค่ำคือ 88 (เป็นเลขฐำน 16 เพรำะมี 0x
นำหน้ำ)*/
ข้อควรระวัง!!
ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมำย "_" เท่ำนั้น
ภำยในชื่อตัวแปรให้ใช้ตัวอักษร, ตัวเลข 0-9 หรือเครื่องหมำย "_"
ห้ำมมีช่องว่ำงในชื่อตัวแปร
อักษรตัวพิมพ์เล็ก-ใหญ่ มีควำมแตกต่ำงกัน (case sensitive) เช่น Name, NAME และ name
ถือเป็นชื่อที่แตกต่ำงกัน
ห้ำมซ้ำกับ ชื่อตัวแปรสงวน (reserved word)
ชื่อตัวแปรสงวน
asm
do
huge
short
void
auto
double
if
12
signed
volatile
break
else
int
sizeof
while
case
enum
interrupt
static
_ds
cdecl
extern
long
struct
_es
char
far
near
switch
_ss
const
float
pascal
typedef
continue
13
for
register
union
default
goto
return
unsigned
ตัวแปรชนิดข้อควำม (string)
ถ้ำเรำต้องกำรเก็บข้อควำม "C programming language" ไว้ในตัวแปร จะทำได้อย่ำงไร?
ที่ผ่ำนมำเรำทรำบว่ำเรำสำมำรถเก็บข้อมูลชนิดตัวอักขระไว้ในตัวแปรชนิด char ได้ แต่ตัวแปรชนิด char นั้น
สำมำรถเก็บตัวอักขระได้เพียงตัวเดียวเท่ำนั้น ไม่สำมำรถเก็บทั้งข้อควำมได้ แล้วเรำจะแก้ปัญหำได้อย่ำงไร?
หำกพิจำณำให้ดี ข้อควำมดังกล่ำวประกอบด้วยตัวอักขระ (ตัวอักษร+สัญลักษณ์) หลำยๆ ตัวเรียงต่อกันเป็นสำย
ซึ่งเป็นลักษณะของตัวแปรแบบ array (จะได้กล่ำวภำยหลัง)
กำรประกำศตัวแปรแบบ array เพื่อเก็บข้อมูลดังกล่ำวสำมำรถทำได้ดังนี้
type variable-name[size];
โดย
size คือขนำดของข้อควำม+1 โดยขนำดที่เพิ่มขึ้นเพรำะต้องเก็บอักขระสุดท้ำยของข้อควำมเป็นอักขระ
0 หรือ NULL เพื่อบอกว่ำสิ้นสุดข้อควำมแล้ว
ตัวอย่ำงกำรประกำศตัวแปรแบบ array เพื่อเก็บข้อควำม "C programming language" (22 ตัวอักษร)
ทำได้หลำยวิธีดังนี้
14
char[23] text = "C programming language";
/*กำหนดขนำดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่ำ 0 หรือ NULL ในตำแหน่งสุดท้ำย*/
char[23] text = {'C',' ','p','r','o','g','r','a','m','m','i','n','g',' ','l','a','n','g','u','a','g','e','0'};
/*กำหนดขนำดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่ำ 0 หรือ NULL ในตำแหน่งสุดท้ำย*/
char[] text = "C programming language";
/*ถ้ำไม่กำหนดขนำดของ array แล้ว ตัวแปรภำษำซีจะกำหนดให้โดยมีขนำดเท่ำกับขนำดข้อควำม+1*/
นอกจำกนี้เรำยังสำมำรถแก้ไขตัวอักษรที่เก็บอยู่ใน array ได้โดยกำรอ้ำงอิงตำแหน่งเช่น
text[0] = 'A'; /*แก้ตัวอักษรตัวแรก (เริ่มนับจำก 0) จะได้ผลลัพธ์คือ A programming language*/
text[2] = ' '; /*ผลลัพธ์คือ A rogramming language (ใส่ช่องว่ำงแทนตัว p)*/
โครงสร้างพื้นฐานของภาษาซี
กำรเขียนโปรแกรมไม่ว่ำจะเป็นภำษำใดก็ตำม ก็จะมีโครงสร้ำงของตัวภำษำอยู่ภำษำซีก็เช่นเดียวกัน โดยส่วนใหญ่
ประกอบไปด้วย 3 ส่วนหลักๆ คือ ส่วนหัว(Header) ส่วนประกำศตัวแปร(Declaration) และส่วนคำสั่ง(Body)
ส่วนที่ 1 ส่วนหัว (header)
ส่วนหัวเป็นส่วนที่ระบุซีคอมไพเลอร์เตรียมกำรทำงำนที่กำหนดในส่วนนี้ไว้ โดยหน้ำคำสั่งจะมีเครื่องหมำย #
ตัวอย่ำง
# include <stdio.h>
หมำยถึง เป็นกำรระบุให้นำไฟล์ stdio.h มำรวมกับไฟล์นี้เพื่อที่จะสำมำรถใช้คำสั่งที่อยู่ในไฟล์นี้มำใช้งำนได้
15
# define START 0
หมำยถึง เป็นกำรกำหนดค่ำคงที่ให้กับตัวแปร START โดยให้มีค่ำเป็น 0
# define temp 37
หมำยถึง เป็นกำรกำหนดให้ตัวแปร temp มีค่ำเท่ำกับ 37
ส่วนที่ 2 ประกำศตัวแปร (Declaration)
ส่วนประกำศตัวแปร เป็นกำรกำหนดชนิดข้อมูลที่จะใช้ในโปรแกรม ซึ่งตัวแปร หรือข้อมูลต่ำงๆนั้นจะถูกประกำศ
(Declare) ในส่วนนี้ก่อน จึงจะสำมำรถนำไปใช้ในโปรแกรมได้ดังตัวอย่ำง
int stdno;
หมำยถึง เป็นตัวกำหนดว่ำตัวแปร stdno เป็นชนิดข้อมูลจำนวนเต็ม integer ซึ่งอำจได้แก่ค่ำ 0,4,-1,-3,...เป็น
ต้น
float score;
หมำยถึง เป็นกำรกำหนดว่ำตัวแปร score เป็นข้อมูลชนิดเลขมีจุดทศนิยม(floating point) ซึ่งอำจมีค่ำ 0.23,
1.34, -21.002,….เป็นต้น
ส่วนที่ 3 ส่วนตัวคำสั่ง (Boddy)
16
ส่วนตัวคำสั่ง คือส่วนของโปรแกรม โดยจะต้องเริ่มต้นด้วยฟังก์ชัน main () แล้วใส่เครื่องหมำยกำหนดขอบเขต
เริ่มต้นของตัวโปรแกรมคือ { หลังจำกนั้นใส่คำสั่งหรือฟังก์ชันต่ำงๆโดยแต่ล่ะคำสั่งหรือฟังก์ชันนั้นๆ จะต้องปิดด้วย
เครื่องหมำย ; เมื่อต้องกำรจบโปรแกรมให้ใส่เครื่องหมำย } ดังตัวอย่ำง
main ()
{ /*เริ่มต้นโปรแกรม*/
คำสั่งต่ำงๆ ;
ฟังก์ชั่น ;
....................
.....................
}/*จบโปรแกรม*/
เครื่องหมำยต่ำงๆในภำษำซี
1. { } เป็นตัวกำหนดขอบเขตหรือบล็อกของฟังก์ชัน
2. ( ) เป็นกำรระบุตัวอ่ำนค่ำหรืออำร์กิวเมนต์ให้กับฟังก์ชัน ถ้ำภำยในวงเล็บไม่มีข้อควำมใดๆ แสดงว่ำไม่มีตัวผ่ำน
ค่ำที่ต้องกำรระบุฟังก์ชันนั้นๆ
17
3. /* */ - เป็นกำรกำหนด comment หรือข้อควำม ที่ไม่ต้องกำรให้คอมไพเลอร์ปฏิบัติงำน ซึ่งข้อควำมที่อยู่ภำยใน
เครื่องหมำยนี้จะถือว่ำ ไม่ใช่คำสั่งปฏิบัติงำน
18
บรรณานุกรม
https://sites.google.com/site/wunnipa21548/home

Weitere ähnliche Inhalte

Was ist angesagt?

รายงานทางวิชาการเรื่อง หัวใจชายหนุ่ม
รายงานทางวิชาการเรื่อง หัวใจชายหนุ่มรายงานทางวิชาการเรื่อง หัวใจชายหนุ่ม
รายงานทางวิชาการเรื่อง หัวใจชายหนุ่มGuntima NaLove
 
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงานTanyarad Chansawang
 
บทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะบทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะKittichai Pinlert
 
ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่
ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่
ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่menton00
 
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2thkitiya
 
บทที่ 1-5 โครงงาน
บทที่ 1-5 โครงงานบทที่ 1-5 โครงงาน
บทที่ 1-5 โครงงานAriyaporn Suaekong
 
โครงงานไอเอส1
โครงงานไอเอส1โครงงานไอเอส1
โครงงานไอเอส1Ocean'Funny Haha
 
หน้าปกโครงงาน
หน้าปกโครงงานหน้าปกโครงงาน
หน้าปกโครงงานKanistha Chudchum
 
หลักการและทฤฏี
หลักการและทฤฏีหลักการและทฤฏี
หลักการและทฤฏีsukanya5729
 
คำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิง
คำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิงคำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิง
คำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิงWan Wan
 
การคำนวณกระจกนูน
การคำนวณกระจกนูนการคำนวณกระจกนูน
การคำนวณกระจกนูนsripai52
 
โครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มด
โครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มดโครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มด
โครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มดพัน พัน
 
บทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงานบทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงานChamp Wachwittayakhang
 
เรื่องที่ 15 ไฟฟ้าสถิตย์
เรื่องที่ 15  ไฟฟ้าสถิตย์เรื่องที่ 15  ไฟฟ้าสถิตย์
เรื่องที่ 15 ไฟฟ้าสถิตย์thanakit553
 
ตัวอย่างบทคัดย่อ
ตัวอย่างบทคัดย่อตัวอย่างบทคัดย่อ
ตัวอย่างบทคัดย่อsukanya5729
 
2กฎของพาสคัล และหลักของอาร์คีมิดีส
2กฎของพาสคัล  และหลักของอาร์คีมิดีส2กฎของพาสคัล  และหลักของอาร์คีมิดีส
2กฎของพาสคัล และหลักของอาร์คีมิดีสWijitta DevilTeacher
 
แบบร่างโครงงาน
แบบร่างโครงงานแบบร่างโครงงาน
แบบร่างโครงงานKanin Thejasa
 
แบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อ
แบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อแบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อ
แบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อkrupornpana55
 

Was ist angesagt? (20)

รายงานทางวิชาการเรื่อง หัวใจชายหนุ่ม
รายงานทางวิชาการเรื่อง หัวใจชายหนุ่มรายงานทางวิชาการเรื่อง หัวใจชายหนุ่ม
รายงานทางวิชาการเรื่อง หัวใจชายหนุ่ม
 
04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน04 บทที่ 4-ผลการดำเนินโครงงาน
04 บทที่ 4-ผลการดำเนินโครงงาน
 
บทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะบทที่ 5 สรุปผล และข้อเสนอแนะ
บทที่ 5 สรุปผล และข้อเสนอแนะ
 
ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่
ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่
ติวสบายฟิสิกส์ (เพิ่มเติม) บทที่ 03 แรงกฏการเคลื่อนที่
 
หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2หน่วยการเรียนรู้ที่ 2
หน่วยการเรียนรู้ที่ 2
 
บทที่ 1-5 โครงงาน
บทที่ 1-5 โครงงานบทที่ 1-5 โครงงาน
บทที่ 1-5 โครงงาน
 
โครงงานไอเอส1
โครงงานไอเอส1โครงงานไอเอส1
โครงงานไอเอส1
 
หน้าปกโครงงาน
หน้าปกโครงงานหน้าปกโครงงาน
หน้าปกโครงงาน
 
หลักการและทฤฏี
หลักการและทฤฏีหลักการและทฤฏี
หลักการและทฤฏี
 
คำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิง
คำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิงคำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิง
คำถามพร้อมตอบ อิเหนา-ตอน-ศึกกะหมังกุหนิง
 
การคำนวณกระจกนูน
การคำนวณกระจกนูนการคำนวณกระจกนูน
การคำนวณกระจกนูน
 
โครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มด
โครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มดโครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มด
โครงงานวิทยาศาสตร์เรื่อง เปลือกไข่ไล่มด
 
ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์ตัวอย่างโครงงานคอมพิวเตอร์
ตัวอย่างโครงงานคอมพิวเตอร์
 
บทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงานบทที่3 วิธีดำเนินงาน
บทที่3 วิธีดำเนินงาน
 
เรื่องที่ 15 ไฟฟ้าสถิตย์
เรื่องที่ 15  ไฟฟ้าสถิตย์เรื่องที่ 15  ไฟฟ้าสถิตย์
เรื่องที่ 15 ไฟฟ้าสถิตย์
 
ตัวอย่างบทคัดย่อ
ตัวอย่างบทคัดย่อตัวอย่างบทคัดย่อ
ตัวอย่างบทคัดย่อ
 
2กฎของพาสคัล และหลักของอาร์คีมิดีส
2กฎของพาสคัล  และหลักของอาร์คีมิดีส2กฎของพาสคัล  และหลักของอาร์คีมิดีส
2กฎของพาสคัล และหลักของอาร์คีมิดีส
 
แบบร่างโครงงาน
แบบร่างโครงงานแบบร่างโครงงาน
แบบร่างโครงงาน
 
แบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อ
แบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อแบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อ
แบบทดสอบพร้อมเฉลยรายตัวชี้วัดร่วมสร้างสรรค์ ท.ศ..Docx 40 ข้อ
 
บทที่ 3
บทที่  3บทที่  3
บทที่ 3
 

Mehr von พัน พัน

เรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการเรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการพัน พัน
 
ประวัติความเป็นมาของคอมพิวเตอร์
ประวัติความเป็นมาของคอมพิวเตอร์ประวัติความเป็นมาของคอมพิวเตอร์
ประวัติความเป็นมาของคอมพิวเตอร์พัน พัน
 
การเปลี่ยนตัวเลขให้เป็นตัวอักษร
การเปลี่ยนตัวเลขให้เป็นตัวอักษรการเปลี่ยนตัวเลขให้เป็นตัวอักษร
การเปลี่ยนตัวเลขให้เป็นตัวอักษรพัน พัน
 
หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์
หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์
หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์พัน พัน
 
รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์พัน พัน
 
การทำงานพื้นฐานของคอมพิวเตอร์
การทำงานพื้นฐานของคอมพิวเตอร์การทำงานพื้นฐานของคอมพิวเตอร์
การทำงานพื้นฐานของคอมพิวเตอร์พัน พัน
 
การทำงานของคอมพิวเตอร์
การทำงานของคอมพิวเตอร์การทำงานของคอมพิวเตอร์
การทำงานของคอมพิวเตอร์พัน พัน
 
ระบบคอมพิวเตอร์และยุคสมัย
ระบบคอมพิวเตอร์และยุคสมัยระบบคอมพิวเตอร์และยุคสมัย
ระบบคอมพิวเตอร์และยุคสมัยพัน พัน
 
เรื่องเทคโนโลยีสารสนเทศ
เรื่องเทคโนโลยีสารสนเทศเรื่องเทคโนโลยีสารสนเทศ
เรื่องเทคโนโลยีสารสนเทศพัน พัน
 
ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์พัน พัน
 
เครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้นเครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้นพัน พัน
 
เรื่องคอมพิวเตอร์เบื้องต้น
เรื่องคอมพิวเตอร์เบื้องต้นเรื่องคอมพิวเตอร์เบื้องต้น
เรื่องคอมพิวเตอร์เบื้องต้นพัน พัน
 
เรื่องด้านคอมพิวเตอร์
เรื่องด้านคอมพิวเตอร์เรื่องด้านคอมพิวเตอร์
เรื่องด้านคอมพิวเตอร์พัน พัน
 
เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์พัน พัน
 
ปัญหาทรัพยากรป่าไม้
ปัญหาทรัพยากรป่าไม้ปัญหาทรัพยากรป่าไม้
ปัญหาทรัพยากรป่าไม้พัน พัน
 

Mehr von พัน พัน (20)

เรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการเรื่องระบบปฏิบัติการ
เรื่องระบบปฏิบัติการ
 
ประวัติความเป็นมาของคอมพิวเตอร์
ประวัติความเป็นมาของคอมพิวเตอร์ประวัติความเป็นมาของคอมพิวเตอร์
ประวัติความเป็นมาของคอมพิวเตอร์
 
การเปลี่ยนตัวเลขให้เป็นตัวอักษร
การเปลี่ยนตัวเลขให้เป็นตัวอักษรการเปลี่ยนตัวเลขให้เป็นตัวอักษร
การเปลี่ยนตัวเลขให้เป็นตัวอักษร
 
หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์
หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์
หลักการทำงาน บทบาทและอุปกรณ์พื้นฐานของคอมพิวเตอร์
 
รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์รายงานเทคโนโลยีคอมพิวเตอร์
รายงานเทคโนโลยีคอมพิวเตอร์
 
การทำงานพื้นฐานของคอมพิวเตอร์
การทำงานพื้นฐานของคอมพิวเตอร์การทำงานพื้นฐานของคอมพิวเตอร์
การทำงานพื้นฐานของคอมพิวเตอร์
 
การทำงานของคอมพิวเตอร์
การทำงานของคอมพิวเตอร์การทำงานของคอมพิวเตอร์
การทำงานของคอมพิวเตอร์
 
ระบบคอมพิวเตอร์และยุคสมัย
ระบบคอมพิวเตอร์และยุคสมัยระบบคอมพิวเตอร์และยุคสมัย
ระบบคอมพิวเตอร์และยุคสมัย
 
เรื่องเทคโนโลยีสารสนเทศ
เรื่องเทคโนโลยีสารสนเทศเรื่องเทคโนโลยีสารสนเทศ
เรื่องเทคโนโลยีสารสนเทศ
 
ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์ประเภทของคอมพิวเตอร์
ประเภทของคอมพิวเตอร์
 
เครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้นเครือข่ายคอมพิวเตอร์เบื้องต้น
เครือข่ายคอมพิวเตอร์เบื้องต้น
 
เรื่องคอมพิวเตอร์เบื้องต้น
เรื่องคอมพิวเตอร์เบื้องต้นเรื่องคอมพิวเตอร์เบื้องต้น
เรื่องคอมพิวเตอร์เบื้องต้น
 
เรื่องด้านคอมพิวเตอร์
เรื่องด้านคอมพิวเตอร์เรื่องด้านคอมพิวเตอร์
เรื่องด้านคอมพิวเตอร์
 
เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์เรื่องคอมพิวเตอร์
เรื่องคอมพิวเตอร์
 
โครงงานคอม
โครงงานคอมโครงงานคอม
โครงงานคอม
 
การปริ้น
การปริ้นการปริ้น
การปริ้น
 
Office
OfficeOffice
Office
 
ปัญหาทรัพยากรป่าไม้
ปัญหาทรัพยากรป่าไม้ปัญหาทรัพยากรป่าไม้
ปัญหาทรัพยากรป่าไม้
 
ยาเสพติด
ยาเสพติดยาเสพติด
ยาเสพติด
 
การลักขโมย
การลักขโมยการลักขโมย
การลักขโมย
 

เรื่องภาษาซี

  • 1. 1 โครงงาน เรื่อง ภาษาซี นางสาว อริษา ทองศรี ม.5/3 เลขที่ 25 โรงเรียนเฉลิมพระเกียรติสมเด็จพระศรีนครินทร์ กาญจนบุรี ในพระราชูปถัมภ์สมเด็จพระเทพรัตนราชสุดาฯสยามบรมราชกุมารี สานักงานเขตพื้นที่การศึกษามัธยมศึกษาเขต๘
  • 2. 2 คำนำ รายงานฉบับนี้เป็นส่วนหนึ่งของรายวิชาโปรแกรมสานักงานขั้นสูง2 เพื่อเป็นประโยชน์แก่ผู้อ่านหรือผู้ ที่สนใจที่จะศึกษาเกี่ยวกับภาษาซี ซึ่งผู้จัดทาขึ้นเพื่อศึกษาสื่อเพื่อการศึกษา ผู้จัดทาหวังเป็นอย่างยิ่งว่ารายงานฉบับนี้จะเป็นประโยชน์แก่ผู้อ่านหรือผู้ที่สนใจที่จะศึกษาเกี่ยวกับสื่อ เพื่อการศึกษาอาเซียน หากมีข้อบกพร่องประการใด ผู้จัดทาขออภัยไว้ณ โอกาสนี้ด้วย อริษา ทองศรี
  • 3. 3 สารบัญ ภำษำซี (C Programming Language)..........................................................................................................4 วิวัฒนำกำรของภำษำซี.................................................................................................................................5 กำรเขียนโปรแกรมแบบมีเงื่อนไข.....................................................................................................................6 กำรประกำศตัวแปร....................................................................................................................................10 โครงสร้ำงพื้นฐำนของภำษำซี.......................................................................................................................14 บรรณำนุกรม ............................................................................................................................................18
  • 4. 4 ภาษาซี (C Programming Language) ภำษำซี เป็นกำรเขียนโปรแกรมพื้นฐำน สำมำรถประยุกต์ใช้กับงำนต่ำงๆได้มำกมำย ระบบปฏิบัติกำรคอมพิวเตอร์ ทำงคณิตศำสตร์ โปรแกรมทำงไฟฟ้ำ อิเล็กทรอนิกส์ ไมโครคอนโทรลเลอร์ และยังมีโปรแกรมอื่นๆ ที่มีภำษำซีประยุกต์ใช้กันอีกมำกมำย ภำษำซีเป็นภำษำที่ถือว่ำเป็นทั้งภำษำระดับสูงและระดับต่ำ ถูกพัฒนำโดยเดนนิส ริดชี (Dennis Ritche) แห่ง ห้องทดลองเบลล์ (Bell Laboratories) ที่เมอร์รีฮิล มลรัฐนิวเจอร์ซี่ โดยเดนนิสได้ใช้หลักกำรของภำษำ บีซีพีแอล (BCPL : Basic Combine Programming Language) ซึ่งพัฒนำขึ้นโดยเคน ทอมสัน (Ken Tomson) กำรออกแบบและพัฒนำ ภำษำซีของเดนนิส ริดชี มีจุดมุ่งหมำยให้เป็นภำษำสำหรับใช้เขียนโปรแกรมปฏิบัติกำรระบบยูนิกซ์ และได้ตั้งชื่อว่ำ ซี (C) เพรำะเห็นว่ำ ซี (C) เป็นตัวอักษรต่อจำกบี (B) ของภำษำ BCPL ภำษำซีถือว่ำเป็นภำษำระดับสูงและภำษำระดับต่ำ ทั้งนี้ เพรำะ ภำษำซีมีวิธีใช้ข้อมูลและมีโครงสร้ำงกำรควบคุมกำรทำงำนของโปรแกรมเป็นอย่ำงเดียวกับภำษำของโปรแกรม ระดับสูงอื่นๆ จึงถือว่ำเป็นภำษำระดับสูง ในด้ำนที่ถือว่ำภำษำซีเป็นภำษำระดับต่ำ เพรำะภำษำซีมีวิธีกำรเข้ำถึงในระดับ ต่ำที่สุดของฮำร์ดแวร์ ควำมสำมำรถทั้งสองด้ำนของภำษำนี้เป็นสิ่งที่เกื้อหนุนซึ่งกันและกัน ควำมสำมำรถระดับต่ำทำให้ ภำษำซีสำมำรถใช้เฉพำะเครื่องได้ และควำมสำมำรถระดับสูง ทำให้ภำษำซีเป็นอิสระจำกฮำร์ดแวร์ ภำษำซีสำมำรถสร้ำง
  • 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
  • 7. 7 โดย if จะตรวจสอบว่ำ เงื่อนไขใน expression เป็น จริง (TRUE) หรือไม่ ถ้ำเป็นจริง ก็จะเข้ำไปทำคำสั่งใน statement ถ้ำ ไม่เป็นจริง (FALSE) ก็จะไม่ทำคำสั่งใน statement ซึ่ง statement นี้ อำจจะเป็นคำสั่งเพียง คำสั่งเดียว หรือว่ำ เป็นชุดคำสั่งก็ได้ ซึ่งถ้ำเป็นชุดคำสั่ง ก็ต้องมี วงเล็บปีกกำ คร่อม ชุดคำสั่งนั้นด้วย จำกตัวอย่ำง view source print? 1.<? 2. if ($a > $b) 3. echo “ a is bigger than b”; 4. if ($b > $c) { 5. echo “b is bigger than c”; 6. $c = $b; 7. } 8.?> Note : จำกตัวอย่ำงข้ำงบน ถ้ำมี Statement เดียว ไม่จำเป็นต้องมี { } เปิด Statement ไว้ แต่ถ้ำมีก็ไม่เป็นไร แต่ถ้ำมี 2 Statement ขึ้นไป ต้องมี { } ปิดไว้ ELSE ในกรณีที่ต้องกำรให้มีทำงเลือก มำกกว่ำหนึ่งทำง โดยท่ำเงื่อนไขเป็นจริง ก็ให้ทำทำงเลือกหนึ่ง ถ้ำไม่เป็นจริง ก็ให้ทำ อีกทำงเลือกหนึ่ง ก็สำมำรถทำได้โดยใช้ else เข้ำมำช่วยใน if ดังนี้ view source print? 1.if (expression) 2.true-statement; 3.else 4 false-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
  • 10. 10 แล้วจะได้ส่วนของ code ข้ำงบน ชนิดของข้อมูลและตัวแปรในภำษำซี ชนิดของข้อมูล (data type) ในกำรเขียนโปรแกรมหนึ่งๆ จะมีข้อมูลต่ำงๆ เข้ำมำเกี่ยวข้องเช่น กำรนับจำนวนรอบ (loop) ของกำรทำงำนโดยใช้ข้อมูลชนิดจำนวนเต็ม หรือกำรแสดงข้อควำม โดยใช้ข้อมูลชนิดตัวอักษร จะเห็นว่ำข้อมูลต่ำงๆ ถูกแบ่งออกเป็นหลำยชนิดตำมจุดประสงค์ของกำรใช้งำน นอกจำกนี้ข้อมูลแต่ละชนิด ยังใช้เนื้อที่หน่วยควำมจำ (memory) ไม่เท่ำกันจึงมีกำรแบ่งชนิดของข้อมูล ดังแสดงในตำรำงด้ำนล่ำง ตัวแปร (variable) เนื่องจำกข้อมูลถูกเก็บอยู่ในหน่วยควำมจำ กำรอ้ำงถึงตำแหน่งของข้อมูลนี้ จึงมีควำมซับซ้อน ไม่สะดวกต่อกำรเขียนโปรแกรม จึงมีกำรเรียกหน่วยควำมจำ ในตำแหน่งที่สนใจผ่ำนตัวแปร การประกาศตัวแปร(variable declaration) คือกำรจองเนื้อที่ในหน่วยควำมจำสำหรับเก็บค่ำบำงอย่ำง พร้อมทั้งกำหนดชื่อเรียกแทนหน่วยควำมจำในตำแหน่งนั้นเพื่อให้ผู้เขียนโปรแกรมมีควำมสะดวกในกำรเข้ำถึงค่ำที่เก็บอยู่ ในหน่วยควำมจำดังกล่ำว รูปแบบกำรประกำศตัวแปร type variable-name; โดย type คือชนิดของตัวแปร (ตำมตำรำงด้ำนล่ำง) variable-name คือชื่อของตัวแปร (ควรตั้งชื่อให้มีควำมหมำยสอดคล้องกับกำรใช้งำนและจำง่ำย) ตัวอย่ำงกำรประกำศตัวแปรแบบต่ำงๆ int num; /*ประกำศตัวแปรชนิดจำนวนเต็ม ชื่อ num*/ float x;
  • 11. 11 char grade, sex; /*ประกำศตัวแปรชนิิดอักขระ ชื่อ grade และ sex (ประกำศพร้อมกันในบรรทัดเดียว)*/ float temp = 123.45; /*ประกำศตัวแปรชนิดเลขทศนิยมพร้อมกำหนดค่ำ 123.45*/ char c = "A", t = "B"; /*ประกำศตัวแปรชนิดอักขระสองตัว พร้อมกำหนดค่ำให้แต่ละตัว*/ int oct = 0555; /*ประกำศตัวแปรชนิดจำนวนเต็มชื่อ num พร้อมกำหนดค่ำคือ 555 (เป็นเลขฐำนแปดเพรำะมี 0 นำหน้ำ)*/ int hex = 0x88; /*ประกำศตัวแปรชนิดจำนวนเต็มชื่อ hex พร้อมกำหนดค่ำคือ 88 (เป็นเลขฐำน 16 เพรำะมี 0x นำหน้ำ)*/ ข้อควรระวัง!! ชื่อตัวแปรจะต้องขึ้นต้นด้วยตัวอักษรหรือเครื่องหมำย "_" เท่ำนั้น ภำยในชื่อตัวแปรให้ใช้ตัวอักษร, ตัวเลข 0-9 หรือเครื่องหมำย "_" ห้ำมมีช่องว่ำงในชื่อตัวแปร อักษรตัวพิมพ์เล็ก-ใหญ่ มีควำมแตกต่ำงกัน (case sensitive) เช่น Name, NAME และ name ถือเป็นชื่อที่แตกต่ำงกัน ห้ำมซ้ำกับ ชื่อตัวแปรสงวน (reserved word) ชื่อตัวแปรสงวน asm do huge short void auto double if
  • 13. 13 for register union default goto return unsigned ตัวแปรชนิดข้อควำม (string) ถ้ำเรำต้องกำรเก็บข้อควำม "C programming language" ไว้ในตัวแปร จะทำได้อย่ำงไร? ที่ผ่ำนมำเรำทรำบว่ำเรำสำมำรถเก็บข้อมูลชนิดตัวอักขระไว้ในตัวแปรชนิด char ได้ แต่ตัวแปรชนิด char นั้น สำมำรถเก็บตัวอักขระได้เพียงตัวเดียวเท่ำนั้น ไม่สำมำรถเก็บทั้งข้อควำมได้ แล้วเรำจะแก้ปัญหำได้อย่ำงไร? หำกพิจำณำให้ดี ข้อควำมดังกล่ำวประกอบด้วยตัวอักขระ (ตัวอักษร+สัญลักษณ์) หลำยๆ ตัวเรียงต่อกันเป็นสำย ซึ่งเป็นลักษณะของตัวแปรแบบ array (จะได้กล่ำวภำยหลัง) กำรประกำศตัวแปรแบบ array เพื่อเก็บข้อมูลดังกล่ำวสำมำรถทำได้ดังนี้ type variable-name[size]; โดย size คือขนำดของข้อควำม+1 โดยขนำดที่เพิ่มขึ้นเพรำะต้องเก็บอักขระสุดท้ำยของข้อควำมเป็นอักขระ 0 หรือ NULL เพื่อบอกว่ำสิ้นสุดข้อควำมแล้ว ตัวอย่ำงกำรประกำศตัวแปรแบบ array เพื่อเก็บข้อควำม "C programming language" (22 ตัวอักษร) ทำได้หลำยวิธีดังนี้
  • 14. 14 char[23] text = "C programming language"; /*กำหนดขนำดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่ำ 0 หรือ NULL ในตำแหน่งสุดท้ำย*/ char[23] text = {'C',' ','p','r','o','g','r','a','m','m','i','n','g',' ','l','a','n','g','u','a','g','e','0'}; /*กำหนดขนำดเพิ่มขึ้น 1 ตัว สำหรับเก็บค่ำ 0 หรือ NULL ในตำแหน่งสุดท้ำย*/ char[] text = "C programming language"; /*ถ้ำไม่กำหนดขนำดของ array แล้ว ตัวแปรภำษำซีจะกำหนดให้โดยมีขนำดเท่ำกับขนำดข้อควำม+1*/ นอกจำกนี้เรำยังสำมำรถแก้ไขตัวอักษรที่เก็บอยู่ใน array ได้โดยกำรอ้ำงอิงตำแหน่งเช่น text[0] = 'A'; /*แก้ตัวอักษรตัวแรก (เริ่มนับจำก 0) จะได้ผลลัพธ์คือ A programming language*/ text[2] = ' '; /*ผลลัพธ์คือ A rogramming language (ใส่ช่องว่ำงแทนตัว p)*/ โครงสร้างพื้นฐานของภาษาซี กำรเขียนโปรแกรมไม่ว่ำจะเป็นภำษำใดก็ตำม ก็จะมีโครงสร้ำงของตัวภำษำอยู่ภำษำซีก็เช่นเดียวกัน โดยส่วนใหญ่ ประกอบไปด้วย 3 ส่วนหลักๆ คือ ส่วนหัว(Header) ส่วนประกำศตัวแปร(Declaration) และส่วนคำสั่ง(Body) ส่วนที่ 1 ส่วนหัว (header) ส่วนหัวเป็นส่วนที่ระบุซีคอมไพเลอร์เตรียมกำรทำงำนที่กำหนดในส่วนนี้ไว้ โดยหน้ำคำสั่งจะมีเครื่องหมำย # ตัวอย่ำง # include <stdio.h> หมำยถึง เป็นกำรระบุให้นำไฟล์ stdio.h มำรวมกับไฟล์นี้เพื่อที่จะสำมำรถใช้คำสั่งที่อยู่ในไฟล์นี้มำใช้งำนได้
  • 15. 15 # define START 0 หมำยถึง เป็นกำรกำหนดค่ำคงที่ให้กับตัวแปร START โดยให้มีค่ำเป็น 0 # define temp 37 หมำยถึง เป็นกำรกำหนดให้ตัวแปร temp มีค่ำเท่ำกับ 37 ส่วนที่ 2 ประกำศตัวแปร (Declaration) ส่วนประกำศตัวแปร เป็นกำรกำหนดชนิดข้อมูลที่จะใช้ในโปรแกรม ซึ่งตัวแปร หรือข้อมูลต่ำงๆนั้นจะถูกประกำศ (Declare) ในส่วนนี้ก่อน จึงจะสำมำรถนำไปใช้ในโปรแกรมได้ดังตัวอย่ำง int stdno; หมำยถึง เป็นตัวกำหนดว่ำตัวแปร stdno เป็นชนิดข้อมูลจำนวนเต็ม integer ซึ่งอำจได้แก่ค่ำ 0,4,-1,-3,...เป็น ต้น float score; หมำยถึง เป็นกำรกำหนดว่ำตัวแปร score เป็นข้อมูลชนิดเลขมีจุดทศนิยม(floating point) ซึ่งอำจมีค่ำ 0.23, 1.34, -21.002,….เป็นต้น ส่วนที่ 3 ส่วนตัวคำสั่ง (Boddy)
  • 16. 16 ส่วนตัวคำสั่ง คือส่วนของโปรแกรม โดยจะต้องเริ่มต้นด้วยฟังก์ชัน main () แล้วใส่เครื่องหมำยกำหนดขอบเขต เริ่มต้นของตัวโปรแกรมคือ { หลังจำกนั้นใส่คำสั่งหรือฟังก์ชันต่ำงๆโดยแต่ล่ะคำสั่งหรือฟังก์ชันนั้นๆ จะต้องปิดด้วย เครื่องหมำย ; เมื่อต้องกำรจบโปรแกรมให้ใส่เครื่องหมำย } ดังตัวอย่ำง main () { /*เริ่มต้นโปรแกรม*/ คำสั่งต่ำงๆ ; ฟังก์ชั่น ; .................... ..................... }/*จบโปรแกรม*/ เครื่องหมำยต่ำงๆในภำษำซี 1. { } เป็นตัวกำหนดขอบเขตหรือบล็อกของฟังก์ชัน 2. ( ) เป็นกำรระบุตัวอ่ำนค่ำหรืออำร์กิวเมนต์ให้กับฟังก์ชัน ถ้ำภำยในวงเล็บไม่มีข้อควำมใดๆ แสดงว่ำไม่มีตัวผ่ำน ค่ำที่ต้องกำรระบุฟังก์ชันนั้นๆ
  • 17. 17 3. /* */ - เป็นกำรกำหนด comment หรือข้อควำม ที่ไม่ต้องกำรให้คอมไพเลอร์ปฏิบัติงำน ซึ่งข้อควำมที่อยู่ภำยใน เครื่องหมำยนี้จะถือว่ำ ไม่ใช่คำสั่งปฏิบัติงำน