งานน
- 3.
1.1.ความเป็ นมาของภาษาซี
ภาษาซี ได้รับการพัฒนาเมื่อปี ค.ศ.1972 โดยนายเดนนิ ส ริ ตซี่ ตั้งชื่อว่าซี เพราะพัฒนามาจาก
ภาษา BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคาสั่งควบคุมในห้องปฏิบติการเบล
ั
(Bell Laboratoorics) เท่านั้น เมื่อปี ค.ศ.1978 นายไบรอัน เคอร์นิกฮัน และ นายเดนนิส ริ ตซี่
ร่ วมกันกาหนดนิ ยามรายละเอียดของภาษาซี เผยแพร่ ความรู ้โดยจัดทาหนังสื อ The C
Programming Language มีหลายบริ ษท ให้ความสนใจนาไปพัฒนาต่อ จนมีภาษาซี หลาย
ั
รู ปแบบและแพร่ หลายไปทัวโลก แต่ยงไม่มีมาตรฐานคาสั่งเพื่อให้สามารถใช้งานร่ วมกันได้
ั
่
ดังนั้นเมื่อปี ค.ศ.1988 นายริ ตซี่ ได้ร่วมกับสถาบันกาหนดมาตรฐาน ANSI สร้างมาตรฐาน
ภาษาซี ข้ ึนมามีผลให้โปรแกรมคาสั่งที่สร้างด้วยภาษาซี สังกัดบริ ษทใดๆก็ตามที่ใช้คาสั่ง
ั
มาตรฐานของภาษาสามารถนามาทางานร่ วมกันได้
- 6.
2.การแปลรหัสคาสั่งเป็ นภาษาเครื่ อง (Compile) หรื อการบิวด์ (Build) เครื่ องจะ
่
ตรวจสอบคาสั่งทีละคาสั่ง เพื่อวิเคราะห์วาใช้งานได้ถูกต้องตามรู ปแบบไวยากรณ์
ที่ภาษาซี กาหนดไว้หรื อหากมีขอผิดพลาดจะแจ้งให้ทราบ หากไม่มีขอผิดพลาดจะ
้
้
ไปกระบวนการ3
3.การเชื่อมโยงโปรแกรม (Link) ภาษาซี มีฟังก์ชนมาตรฐานให้ใช้งาน เช่น printf()
ั
ซึ่ งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรื อเรี ยกว่า ไลบรารี ในตาแหน่งที่กาหนดชื่อ
ั
แตกต่างกันไป ผูใช้ตองศึกษาและเรี ยกใช้เฮดเดอร์ ไฟล์กบฟั งก์ชนให้สัมพันธ์
้ ้
ั
เรี ยกว่าเชื่อมโยงกับไลบรารี กระบวนการนี้ได้ผลลัพธ์เป็ นไฟล์ชนิ ด .exe
- 8.
2.1ส่ วนหัวของโปรแกรม(Header File)
หรื อเรี ยกว่าฟรี โปรเซสเซอร์ ไดเรกที ใช้ระบุชื่อเฮดเดอร์ ควบคุมการทางานของ
ฟังก์ชนมาตรฐานที่ถกเรี ยกใช้งานในส่ วน main( ) เฮดเดอร์ ไฟล์มีชนิดเป็ น h.
ั
ู
่ ั ่
จัดเก็บในไลบรารี ฟังก์ชน ผูเ้ ขียนคาสั่งต้องศึกษาว่าฟั งก์ชนที่ใช้งานอยูน้ นอยูใน
ั
ั
เฮดเดอร์ ไฟล์ชื่ออะไร จึงจะเรี ยกใช้งานได้ถูกต้อง
- 9.
2.2 ส่ วนฟั งก์ชนหลัก (Main Function)
ั
เป็ นส่ วนเขียนคาสั่งควบคุมการทางานภายในขอบเขตเครื่ องหมาย{ }ของฟั งก์ชน
ั
หลักคือ main( ) ต้องเขียนคาสั่งตามลาดับขั้นตอนจากกระบวนการวิเคราะห์
ระบบงานเบื้องต้นและขั้นวางแผนลาดับการทางานที่ได้จดทาไว้ล่วงหน้า เช่น
ั
ลาดับการทางานด้วยแผนผังโปรแกรมเพื่อลดข้อผิดพลาดในขั้นตอนลาดับคาสั่ง
ควบคุมงาน ในส่ วนนี้พึงระมัดระวังเรื่ องเดียวคือต้องใช้งานคาสั่งตามรู ปแบบ
ไวยากรณ์ของภาษาซี ที่กาหนดไว้
- 12.
4.ใน 1 บรรทัดพิมพ์ได้มากกว่า1 คาสั่ง แต่นิยมบรรทัดละ 1 คาสั่ง เพราะว่าอ่าน
โปรแกรมง่ายเมื่อมีขอผิดพลาด ย่อมตรวจสอบและค้นหาเพื่อแก้ไขได้เร็ ว
้
5.การพิมพ์คาสั่ง หากมีส่วนย่อยนิมยมเคาะเยื้องเข้าไปเพื่ออ่านโปรแกรมได้ง่ายขึ้น
เมื่อมีขอผิดพลาดย่อมตรวจสอบและแก้ไขได้รวดเร็ ว
้
- 13.
3. คาสั่ งจัดเก็บข้ อมูลลงหน่ วยความจา
การจัดเก็บข้อมูลลงหน่วยความจาคอมพิวเตอร์ ภาษากาหนดให้ดาเนิ นการผ่านซื้ อ
(identifier) ที่ผสร้างงานโปรแกรมเป็ นผูกาหนดเอง ระบบคอมพิวเตอร์ จะจัดเก็บ
ู้
้
ชื่อและตาแหน่งที่อยู่ (address) ในหน่วยความจา เพื่ออ้างอิงนาข้อมูลที่จดเก็บนั้น
ั
มาใช้งาน การกาหนดชื่อที่ใช้เก็บข้อมูลต้องทาภายใต้กฎเกณฑ์ และต้องศึกษาวิธี
กาหนดลักษณะการจัดเก็บข้อมูลที่ภาษากาหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2
แบบคือ แบบค่าคงที่และแบบตัวแปร ทั้งนี้ก่อนที่จะเขียนคาสั่งกาหนดการจัดเก็บ
ข้อมูล ควรมีความรู ้ในเรื่ องชนิ ดข้อมูลก่อน
- 16.
4.1 คำสั่งแสดงผล printf ( )
ประสิทธิภาพคาสัง : ใช้ แสดงผลสิงต่อไปนี ้เช่น ข้ อความ ข้ อมูลจากค่าคงที่ หรื อ
่
่
ตัวแปลที่จอภาพ
4.2คำสั่งรั บข้ อมูล : รับข้ อมูลจากแปนพิมพ์ แล้ วจัดเก็บลงหน่วยความจา ของ
้
ตัวแปล
- 17.
4.3คาสั่ งประมวลผล : expreeion
ประสิ ทธิภาพคาสั่ ง : เขียนคาสังแบบนิพจน์เพื่อประมวลผล แล้วนาข้อมูลทีได้ไป
่
จัดเก็บ ในหน่วยความจาของตัวแปล ที่ตองกาหนดชื่อและชนิดข้อมูลไว้แล้ว
้
- 21.
5.คาสั่ งแสดงผล-รับข้ อมูล เฉพาะอักขระ
ภาษาซี มีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 1 อักขระ (char) ดังนี้
5.1 คาสั่ง putchar ( ) 5.2 คาสัง getchar ( )
่
5.3 คาสั่ง getch ( ) 5.4 คาสั่ง getche ( )
- 22.
5.1คาสั่ ง putchar ( )
แสดงข้อมูลจากหน่อยความจาของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น
แนวคิดในการเขียนคาสั่ งควบคุมการทางาน
1.กาหนดค่ า ‘A’เก็บในตัวแปรประเภท char ชื้อ word1 และกาหนดค่า ‘1’ เก็บ
ในตัวแปรชื่อ word2 ด้วยคาสั่ง char word1=‘A’ , word2=‘1’
2.เขียนคาสั่ งควบคุมการแสดงผลทีละ 1 อักขระโดยไม่ตองใช้สัญลักษณ์ข้ ึน
้
บรรทัดใหม่ ด้วย คาสั่ง ยputchar(word1); putchar(word2); จึงพิมพ์คาว่า A1 ที่
จอภาพ
- 23.
5.2 คาสั่ ง getchar ( )
รับข้อมูลจากแป้ นพิมพ์ครั้งละ 1 อักขระ และแสดงอักขระที่จอภาพ จากนั้นต้องกด
แป้ นพิมพ์ที่ Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาด้วย
แนวคิดในการเขียนคาสั่ งควบคุมการทางาน
1.เขียนคาสั่ งควบคุมการป้ อนข้ อมูลประเภทอักขระด้ วยคาสั่ ง
Printf (‚Key 1 Character=‛) ;
Word = getchar ( ) ;
หมายถึงป้ อนอักขระ 1 ตัว เช่น a จะแสดงค่าให้เห็นที่หน้าจอด้วย แล้วต้องกดแป้ น Enter
เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word
2.เขียนคาสั่ งควบคุมการแสดงผลจากหน่ วยความจา wordจึงเห็นค่า a (แทนที่word)
Printf (‚You key Character is =%cn‛,word) ;
- 24.
5.3 คาสั่ ง getch ( )
รับข้อมูลจากแป้ นพิมพ์ครั้งละ 1 อักขระ แต่ไม่ปรากฏอักษรบนจอภาพและไม่ตองกด
้
แป้ น Enter
แนวคิดในการเขียนคาสั่ งควบคุมการทางาน
1.เขียนคาสั่ งควบคุมการป้ อนข้ อมูลประเภทอักขระด้ วยคาสั่ ง
printf (‚Key 1 Character =‛ ) ;
word = getch ( ) ;
หมายถึงป้ อนค่าใดทางแป้ นพิมพ์เป็ นอักขระ 1 ตัว เช่น a จะไม่แสดงค่าให้เห็นที่หน้าจอ
ไม่ตองกดแป้ น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ
้
word
2.เขียนคาสั่ งควบคุมการแสดงผลจากหน่ วยความจา word จึงเห็นค่ า a (แทนทีword)
่
printf (‚Key 1 Character =%cn‛,word ) ;
- 25.
5.4 คาสั่ ง getche ( )
รับข้อมูลจากแป้ นพิมพ์ครั้งละ 1 อักขระ และแสดงอักษรบนจอภาพ และไม่ตองกดแป้ น Enter
้
แนวคิดในการเขียนคาสั่ งควบคุมการทางาน
1.เขียนคาสั่ งควบคุมการป้ อนข้ อมูลประเภทอักขระด้ วยคาสั่ ง
printf (‚Key 1 Character =‛ ) ;
word = getcher ( ) ;
หมายถึงการป้ อนค่าใดทางแป้ นพิมพ์เป็ นอักขระ 1 ตัว เช่น a จะแสดงค่าให้เห็นที่หน้าจอ และไม่
ต้องกดแป้ น Enter เพื่อนาข้อมูลบันทึกลงหน่วยความจาตัวแปรประเภท char ชื่อ word
2.เขียนคาสั่ งควบคุมการแสดงผลเพือแสดงค่ าจากหน่ วยความจา word จึงเห็นค่ า a (แทนที่
่
word)
printf (‚Key 1 Character =%cn‛,word ) ;
- 26.
6.คาสั่ งแสดงผล-เฉพาะข้ อมูล เฉพาะข้ อความ
ภาษาซี มีคาสั่งใช้ในดารรับข้อมมูลเฉพาะประเภทข้อความ (String) ในภาษาซี คือ
ชนิดข้อมูล char[n] จัดเก็บในหน่วยความจา และแสดงผลข้อมูลประเภทข้อความ
เท่านั้น มีรายละเอียดดังนี้
- 27.
6.1 คาสั่ ง puts() แสดงผลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ
แนวคิดในการเขียนคาสั่ งควบคุมการทางาน
1.เขียนคาสั่ งกาหนดค่ าข้ อความในตัวแปรชื่อ word
Char word [15] = ‚*Example*‛;
2.เขียนคาสั่ งควบคุมการแสดงผลในลักษณะข้ อความด้ วย puts
Puts (word) ;
Puts (‚*************‛);
- 28.
6.2 คาสั่ ง gets( ) รับข้อมูล ข้อความจากแป้ นพิมพ์และต้องกดแป้ น Enter
รู ปแบบ 1ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
แนวคิดในการเขียนคาสั่ งควบคุมกาทางาน
1.เขียนคาสั่ งให้ รับข้ อมูลนิดข้ อความจากแป้ นพิมพ์ และต้องกดแป้ น Enter
เพื่อนนาข้อความบันทึกลงตัวแปรชนิดข้อความด้วยคาสัง gets (word);
่
2.เขียนคาสั่ งควบคุมให้ แสดงผลลักษณะข้ อความด้ วย printf (You name is =
%sn‛,word) ;
- 29. 1.นายทยาวีร์ เจียจารูญ เลขที่ 5
2.นางสาวภัทราพร พรมพิมาร เลขที่ 12
3.นางสาวจิราภรณ์ มันคง เลขที่ 18
่
4.นางสาวภัสศมณต์ บ่อสิน เลขที่ 25
5.นางสาวสิริการ ขัมภรัตน์ เลขที่ 30
6.นางสาวอนินทิตา บัวบาน เลขที่ 33
ชันมัธยมศึกษาปี ที่ 5/4
้
เสนอ
อ.ทรงศักดิ์ โพธิ์เอี่ยม
โรงเรี ยนเฉลิมพระเกียรติสมเด็จพระศรี นคริ นทร์ กาญจนบุรี