More Related Content
Similar to การเขียนคำสั่งควบคุมขั้นพื้นฐาน
Similar to การเขียนคำสั่งควบคุมขั้นพื้นฐาน (19)
การเขียนคำสั่งควบคุมขั้นพื้นฐาน
- 3. ความเป็นมาของภาษาซี
ภาษาซีได้รับการพัฒนาเมื่อปี ค.ศ.1972 โดยนายเดนนิส ริตซี่ ตั้งชื่อว่าซีเพราะพัฒนามาจากภาษา
BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคาสั่งควบคุมในห้องปฏิบัติการเบล (Bell Laboratoorics)
เท่านั้น เมื่อปี ค.ศ.1978 นายไบรอัน เคอร์นิกฮัน และ นายเดนนิส ริตซี่ ร่วมกันกาหนดนิยามรายละเอียด
ของภาษาซี เผยแพร่ความรู้โดยจัดทาหนังสือ The C Programming Language มีหลายบริษัท ให้ความ
สนใจนาไปพัฒนาต่อ จนมีภาษาซีหลายรูปแบบและแพร่หลายไปทั่วโลก แต่ยังไม่มีมาตรฐานคาสั่ง
เพื่อให้สามารถใช้งานร่วมกันได้ดังนั้นเมื่อปี ค.ศ.1988 นายริตซี่ ได้ร่วมกับสถาบันกาหนดมาตรฐาน
ANSI สร้างมาตรฐานภาษาซีขึ้นมามีผลให้โปรแกรมคาสั่งที่สร้างด้วยภาษาซีสังกัดบริษัทใดๆก็ตามที่ใช้
คาสั่งมาตรฐานของภาษาสามารถนามาทางานร่วมกันได้
- 5. 2.การแปลรหัสคาสั่งเป็นภาษาเครื่อง (Compile) หรือการบิวด์ (Build) เครื่องจะตรวจสอบคาสั่งทีละคาสั่ง เพื่อวิเคราะห์ว่าใช้งานได้ถูกต้อง
ตามรูปแบบไวยากรณ์ที่ภาษาซีกาหนดไว้หรือหากมีข้อผิดพลาดจะแจ้งให้ทราบ หากไม่มีข้อผิดพลาดจะไปกระบวนการ3
3.การเชื่อมโยงโปรแกรม (Link) ภาษาซีมีฟังก์ชันมาตรฐานให้ใช้งาน เช่น printf() ซึ่งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรือเรียกว่า ไลบรารี ใน
ตาแหน่งที่กาหนดชื่อแตกต่างกันไป ผู้ใช้ต้องศึกษาและเรียกใช้เฮดเดอร์ไฟล์กับฟังก์ชันให้สัมพันธ์เรียกว่าเชื่อมโยงกับไลบรารี กระบวนการ
นี้ได้ผลลัพธ์เป็นไฟล์ชนิด .exe
- 6. 2.ส่วนประกอบในโครงสร้างภาษาซี
ภาษาซีเป็นภาษาที่มีโครงสร้างในการเขียนโปรแกรมที่ชัดเจน ซึ่งมีรูปแบบของโครงสร้างโปรแกรม ดังนี้
1. ส่วนของการประกาศส่วนหัวของโปรแกรม
หรือที่เรียกว่า เฮดเดอร์ไฟล์ (Header File) เป็นการเรียกใช้เฮดเดอร์ไฟล์เข้ามาร่วมใช้งานภายในโปรแกรม โดยไฟล์เฮดเดอร์
เป็นไฟล์ที่ใช้ในการรวบรวมฟังก์ชั่นการทางานต่าง ๆ ที่สามารถเรียกใช้ได้เช่น ภายในเฮดเดอร์ไฟล์ stdio.h เป็นไฟล์เฮดเดอร์ที่รวบรวม
เกี่ยวกับฟังก์ชั่นมาตรฐานทางด้านการรับข้อมูล (Input) และแสดงผลข้อมูล (Output) ยกตัวอย่างเช่น ฟังก์ชั่น printf( ); เป็นฟังก์ชั่นในการ
แสดงผลข้อมูล ซึ่งบรรจุอยู่ในไฟล์ stdio.h เป็นต้น
2. ส่วนของชื่อฟังก์ชั่น
ในที่นี้ ฟังก์ชั่นที่กาหนดขึ้นมาชื่อฟังก์ชั่น main() โดยทุกโปรแกรมจะต้องมี
ฟังก์ชั่น main() ทาหน้าที่เป็นฟังก์ชั่นหลักในการทางานในการประมวลผลโปรแกรมทุกครั้ง โปรแกรมจะทาการประมวลผลที่ฟังก์ชั่น
main() เป็นฟังก์ชั่นแรก ซึ่งในการเขียนโปรแกรมภาษาซีทุกครั้ง
จะขาดฟังก์ชั่น main() ไม่ได้
- 7. 3. ส่วนตัวโปรแกรม
ส่วนนี้เป็นส่วนในการเขียนคาสั่งต่าง ๆ เพื่อสั่งให้คอมพิวเตอร์ทางาน ในการเขียน
คาสั่งจะเขียนภายในเครื่องหมายปีกกาเปิด { และเครื่องหมายปีกกาปิด } โดยปกติส่วนของการเขียนโปรแกรมจะสามารถแบ่งออกได้
เป็น 2 ส่วนด้วยกัน คือ
1) ส่วนของการประกาศตัวแปร คือ ส่วนที่ใช้ในการกาหนดตัวแปรที่จะใช้งานในการเขียนโปรแกรม
2) ส่วนของคาสั่งหรือ ฟังก์ชั่นต่าง ๆ คือ ส่วนที่ใช้สาหรับในการพิมพ์คาสั่งและฟังก์ชั่นต่าง ๆ ซึ่งหลังจากพิมพ์ฟังก์ชั่น
เสร็จแล้วจะต้องปิดท้ายด้วยเครื่องหมายเซมิโคลอน ; เสมอ
4. ส่วนของการเปิดโปรแกรมและปิดโปรแกรม
ตามโครงสร้างของภาษาซี จะต้องมีการกาหนดจุดเริ่มต้นและจบโปรแกรม โดยในที่นี้ใช้เครื่องหมายปีกกาเปิด { ในการ
ระบุตาแหน่งการเริ่มต้นโปรแกรม และ ใช้เครื่องหมายปีกกาปิด }
ในการระบุตาแหน่งการจบโปรแกรม
- 8. 5. การกาหนดตาแหน่ง หมายเหตุ (Comment)
ในการเขียนโปรแกรม ผู้เขียนสามารถเขียนส่วนคาอธิบาย หรือ หมายเหตุของโปรแกรมได้ ซึ่งส่วนของคาอธิบายหรือหมาย
เหตุดังกล่าว จะไม่ถูกแปลความหมายโดยคอมพิวเตอร์ ซึ่งวิธีในการเขียนคาอธิบาย หรือหมายเหตุ มี 2 แบบ คือ
1) การกาหนดหมายเหตุ 1 บรรทัด
ในการกาหนดหมายเหตุ 1 บรรทัด จะใช้เครื่องหมาย // ด้านหน้าข้อความที่ต้องการกาหนดหมายเหตุ เช่น
- 15. คาสั่งแสดงผล PRINTF ( )
ประสิทธิภาพคาสั่ง : ใช้แสดงผล สิ่งต่อไปนี้ เช่น ข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปรที่จอภาพ
รูปแบบ 1 : Printf (“ string_format” , data_list ) ;
รูปแบบ 2 : Printf (“string_format” ) ;
อธิบาย : string_format คือลักษณะของสิ่งต่อไปนี้ เช่น ข้อความ (text ) รหัสรูปแบบข้อมูล เช่น%d รหัสควบคุม เช่น n
Data_list คือข้อมูลแสดงผลอาจเป็นค่าคงที่ตัวแปร นิพจน์ หากมีหลายตัวใช้ , คั่น
รหัส format code ความหมาย
%c ใช้กับข้อมูลแบบ char
%d ใช้กับข้อมูลแบบ int เฉพาะฐาน10
%s ใช้กับข้อมูลแบบ string
ตาราง รหัสรูปแบบข้อมูลระดับพื้นฐาน
หมายเหตุ : รหัสรูปแบบข้อมูลรูปแบบ แสดงในภาคผนวก
ตัวอย่างคาสั่ง : ควบคุมการแสดงผลด้วย printf
Printf ( “ Data is %d n ” , score ) ;
อธิบาย : พิมพ์ข้อความคาว่า data is ตามด้วยค่าข้อมูลในหน่วยความจาตัว
แปรชื่อ score ซึ่งเป็นข้อมูลชนิดจานวนเต็ม (%) แล้วเลื่อนคอร์เซอร์ไปไว้
บรรทัดถัดไป (n)
- 16. คาสั่งรับข้อมูล : รับข้อมูลจากแป้ นพิมพ์แล้วจัดเก็บลงหน่วยความจาตัวแปร
รูปแบบ : Scanf ( “ string_format” , & address_list ) ;
อธิบาย : string_format คือรูปแบบการแสดงผลของข้อมูลเท่านั้น เช่น %d
Address_list คือการระบุตาแหน่งที่อยู่ในหน่วยความจาต้องใช้สัญลักษณ์&(Ampersand) นาหน้าชื่อตัวแปรเสมอ
ข้อควรจา : กรณีเป็นตัวแปรข้อความ (String) สามารถยกเว้นไม่ต้องใช้& นาหน้าได้
ตัวอย่างคาสั่ง : เขียนคาสั่งควบคุมการรับค่าจากแป้นพิมพ์ด้วย scanf
Scanf ( “%d ” , &score ) ;
อธิบาย : รับข้อมูลจากแป้นพิมพ์นาไปเก็บในหน่วยความจาชื่อ score เป็นข้อมูลประเภทจานวนเต็ม
- 17. คาสั่งประมวลผล : EXPRESSION
ประสิทธิภาพคาสั่ง : เขียนคาสั่งแบบนิพจน์เพื่อประมวลผล แล้วนาข้อมูลที่ได้ไปจัดเก็บในหน่วยความจาของตัวแปรที่ต้องกาหนดชื่อและ
ชนิดข้อมูลไว้แล้ว
รูปแบบ : Var = expression;
อธิบาย : var คือชื่อหน่วยความจาชนิดตัวแปร
Expression คือสมการนิพจน์ เช่น สูตรคานวณทางคณิตศาสตร์
ตัวอย่างคาสั่ง : นิพจน์ที่เป็นสูตรคานวณทางคณิตศาสตร์
Sum = a+b ;
อธิบาย : ให้นาค่าในหน่วยความจาตัวแปรชื่อ a กับ b มา+กันแล้วนาค่าไปเก็บในหน่วยความจาตัวแปรชื่อ sum
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
- 18. 1. ส่วนป้อนข้อมูล ผู้ใช้ระบบงานป้อนค่า ; เก็บในหน่วยความจา x และป้อนค่า A เก็บในหน่วยความจา y ด้วยคาสั่ง
Printf ( “data x=” ) ; scanf ( “%d ,&x ) ;
Printf ( “data y=” ) ; scanf ( “%d ,&y ) ;
2. ส่วนประมวลผล ระบบจะนาค่าไปประมวลผลตามนิพจน์คณิตศาสตร์
r = 2 + 3 * 2 ; ได้คาตอบคือ 8
s = (2 + 3 ) * 2; ได้คาตอบคือ 10
t = 2 + 3 * 2-1 ; ได้คาตอบคือ 7
ทั้งนี้คอมพิวเตอร์ประมวลผล โดยยึดหลักลาดับความสาคัญของเครื่องหมายทางคณิตศาสตร์ เช่นคานวณเครื่องหมาย * ก่อนเครื่องหมาย +
3. ส่วนแสดงผล คาสั่งควบคุมให้แสดงผลลัพธ์
Printf ( “r = x + y * 2 = %d n” , r ) ;
Printf ( “r = (x + y X* 2 = %d n” , s ) ;
Printf ( “r = x + y * 2-1 = %d n” , t ) ;
- 19. 5.คาสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ
ภาษาซีมีคาสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 8 อักขระ (char )ดังนี้
5.1 คาสั่ง putchar ( )
แสดงผลข้อมูลจากหน่วยความจาของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
ž 1. กาหนดค่า ‘A’ เก็บในตัวแปรประเภท char ชื่อ word1 และกาหนดค่า ‘1’ เก็บในตัวแปรชื่อ word2 ด้วยคาสั่งchar word1=’A’ ,
word2=’1’
ž 2. เขียนคาสั่งควบคุมการแสดงผลทีละ 1 อักขระ โดยไม่ต้องใช้สัญลักษณ์ขึ้นบรรทัดใหม่ด้วยคาสั่งputchar(word1);
putcar(word2); จึงพิมพ์คาว่า A1 ที่จอภาพ
- 20. 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 ) ;
- 21. 5.3 คาสั่ง getch ( )
รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ แต่ ไม่ปรากฏ อักษรบนจอภาพ และ ไม่ต้องกดแป้น Enter
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
printf ( “Key 1 Character = “ ) ;
word = getch ( );
หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะ ไม่แสดง ค่าให้เห็นที่หน้าจอไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลง
หน่วยความจาตัวแปรประเภท char ชื่อ word
2.เขียนคาสั่งควบคุมการแสดงผลจากหน่วยความจา word จึงเห็นค่า a ( แทนที่ word )
printf ( “You key Character is = %cn”, word ) ;
- 22. 5.4 คาสั่ง getche( )
รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และ แสดง อักษรบนจอภาพ และ ไม่ต้องกดแป้น Enter
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคาสั่ง
printf ( “Key 1 Character = “ ) ;
word = getche ( );
หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะ แสดง ค่าให้เห็นที่หน้าจอ และไม่ต้อง กดแป้น Enter เพื่อนาข้อมูลบันทึกลง
หน่วยความจาตัวแปรประเภท char ชื่อ word
2.เขียนคาสั่งควบคุมการแสดงผลเพื่อแสดงค่าจากหน่วยความจา word จึงเห็นค่า a ( แทนทิ่ word )
printf ( “You key Character is = %cn”, word ) ;
- 23. 6.คาสั่งแสดงผล-เฉพาะข้อมูล เฉพาะข้อความ
ภาษาซีมีคาสั่งใช้ในการรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซีคือชนิดข้อมูล char [n] จัดเก็บในหน่วยความจา และแสดงผล
ข้อมูลประเภทข้อความเท่านั้นมีรายละเอียดดังนี้
6.1.คาสั่ง puts( )
แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word
Char word [15] = “*Example * “ ;
2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts
Puts ( word ) ;
Puts (“**************”);
- 24. 6.2คาสั่ง gets ( )
รับข้อมูล ข้อความ จากแป้นพิมพ์และต้องกดแป้น Enter
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์และต้อง กดแป้น Enter เพื่อนาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วยคาสั่ง gets
(word) ;
2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย
printf ( “You name is = %sn”, word ) ;
- 25. 7.กรณีศึกษาการใช้คาสั่งควบคุมขั้นพื้นฐาน
7.1.คาสั่ง puts( )
แสดงผลข้อมูลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ
รูปแบบ puts ( string_argument) ;
อธิบาย string_argument คือ ข้อมูลชนิดข้อความ
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word
Char word [15] = “*Example* “ ;
2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts
Puts ( word ) ;
Puts (“**************”);
แนวคิดในการเขียนคาสั่งควบคุมการทางาน
1.เขียนคาสั่งกาหนดค่าข้อความเก็บในตัวแปรชื่อ word
Char word [15] = “*Example* “ ;
2.เขียนคาสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts
Puts ( word ) ;
Puts (“**************”);
- 26. 7.2คาสั่ง gets ( )
รับข้อมูล ข้อความ จากแป้นพิมพ์และต้องกดแป้น Enter
รูปแบบ 1 ไม่นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร gets ( );
รูปแบบ 2 นาข้อมูลจัดเก็บลงหน่วยความจาของตัวแปร
string_var =gets ( ) ;
อธิบาย : string_var คือ ข้อมูลชนิดข้อความ
แนวคิดในการเขียนคาสั่งควบคมการทางาน
1.เขียนคาสั่งให้รับข้อมูล ชนิดข้อความ จากแป้นพิมพ์และต้อง กดแป้น Enter เพื่อนาข้อความบันทึกลงตัวแปรชนิดข้อความ ด้วย
คาสั่ง gets (word) ;
2.เขียนคาสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย
printf ( “You name is = %sn”, word ) ;
- 27. สมาชิก
1. นาย ณัฐพงศ์ กือเย็น เลขที่
2. นางสาว สิริวรรรณ คาเตจ๊ะ เลขที่
3. นางสาว เบญจรัตน์ ศรอารา เลขที่
4. นางสาว กนกวรรณ ลัดดากุล เลขที่
5. นางสาว สโรชา บุญช่วย เลขที่
6. นางสาว เพ็ญพิชชา เทียนชัย เลขที่