270 likes | 398 Views
à¸à¸²à¸£à¹€à¸‚ียนคำสั่งควบคุมขั้นพื้นà¸à¸²à¸™. ลัà¸à¸©à¸“ะ à¸à¸²à¸£à¸—ำงานขà¸à¸‡à¸ าษาซี. ลัà¸à¸©à¸“ะà¸à¸²à¸£à¸—ำงานขà¸à¸‡à¸ าษาซี
E N D
การเขียนคำสั่งควบคุมขั้นพื้นฐานการเขียนคำสั่งควบคุมขั้นพื้นฐาน
ลักษณะการทำงานของภาษาซีลักษณะการทำงานของภาษาซี ลักษณะการทำงานของภาษาซี ภาษาซีเป็นภาษาที่มีการพัฒนาการมาอย่างต่อเนื่อง ภาษาซีรุ่นแรกทำงานภายใต้ระบบปฏิบัติการคอส (cos) ปัจจุบันทำงานภายใต้ระบบปฏิบัติการวินโดวส์ (Windows) ภาษาซีใช้วิธีแปลรหัสคำสั่งให้เป็นเลขฐานสองเรียกว่า คอมไพเลอร์ การศึกษาภูมิหลังการเป็นมาของภาษาซีและกระบวนการแปลภาษาจะช่วยให้ผู้ใช้ภาษาซีในรุ่นและบริษัทผู้ผลิตแตกต่างกัน สามารถใช้ภาษาได้อย่างเข้าใจมากขึ้น
ความเป็นมาของภาษาซี ภาษาซีได้รับการพัฒนาเมื่อปี ค.ศ.1972 โดยนายเดนนิสริตซี่ ตั้งชื่อว่าซีเพราะ พัฒนามาจากภาษา BCLP และภาษา B ในช่วงแรกใช้ทดลองเขียนคำสั่งควบคุม ในห้องปฏิบัติการเบลเท่านั้น เมื่อปี ค.ศ.1978 นายไบรอัน เคอร์นิกฮัน และ นายเดนนิสริตซี่ ร่วมกันกำหนดนิยามรายละเอียดของภาษาซี
การทำงานของตอมไพเลอร์ภาษาซีการทำงานของตอมไพเลอร์ภาษาซี คอมไพเลอร์เป็นโปรแกรมที่ได้รับการพัฒนามาเพื่อแปลลภาษาคอมพิวเตอร์รูปแบบหนึ่งมักใช้กับโปรแกรมเชิงโครงสร้าง ลักษณะการแปลจะอ่านรหัสคำสั่งทั้งโปรแกรมตั้งแต่บรรทัดคำสั่งแรกถึงบรรทัดสุดท้าย หากมีข้อผิดพลาดจะรายงานทุกตำแหน่งคำสั่งที่ใช้ผิดกฎไวยากรณ์ของภาษา กระบวนการคอมไพเลอร์โปรแกรมคำสั่งของภาษาซี มีดังนี้
1.จัดทำโปรแกรมต้นฉบับ (Source Program) หลังจากพิมพ์คำสั่งงาน ตามโครงสร้างภาษาที่สมบูรณ์แล้วทุกส่วนประกอบ ให้บันทึกโดยกำหนดชนิดงานเป็น .c เช่น work.c 2.การแปลรหัสคำสั่งเป็นภาษาเครื่อง (Compile) หรือการบิวด์ (Build) เครื่องจะตรวจสอบคำสั่งทีละคำสั่ง เพื่อวิเคราะห์ว่าใช้งานได้ถูกต้องตามรูปแบบไวยากรณ์ที่ภาษาซีกำหนดไว้หรือหากมีข้อผิดพลาดจะแจ้งให้ทราบ หากไม่มีข้อผิดพลาดจะไปกระบวนการ
3.การเชื่อมโยงโปรแกรม (Link) ภาษาซีมีฟังก์ชันมาตรฐานให้ใช้งาน เช่น printf() ซึ่งจัดเก็บไว้ในเฮดเดอร์ไพล์ หรือเรียกว่า ไลบรารี ในตำแหน่งที่กำหนดชื่อแตกต่างกันไป ผู้ใช้ต้องศึกษาและเรียกใช้เฮดเดอร์ไฟล์กับฟังก์ชันให้สัมพันธ์เรียกว่าเชื่อมโยงกับไลบรารี กระบวนการนี้ได้ผลลัพธ์เป็นไฟล์ชนิด .exe
ส่วนประกอบโครงสร้างภาษาซีส่วนประกอบโครงสร้างภาษาซี ส่วนประกอบโครงสร้างภาษาซี สำหรับโครงสร้างของภาษาซีในเบื้องต้นนี้จะกล่าวถึงเฉพาะรายละเอียดที่นำไปใช้ในการเขียนคำสั่งควบคุมระดับพื้นฐาน ผู้สร้างงานโปรแกรมจะใช้งานส่วนประกอบในภาษาซีเพียง2ส่วน คือ ส่วนหัวและส่วนฟังก์ชันหลัก ดังนี้
ส่วนหัวของโปรแกรม(Header File) หรือเรียกว่าฟรีโปรเซสเซอร์ไดเรกที ใช้ระบุชื่อเฮดเดอร์ ควบคุมการทำงานของฟังก์ชันมาตรฐานที่ถูกเรียกใช้งานในส่วน main( ) เฮดเดอร์ไฟล์มีชนิดเป็น h. จัดเก็บในไลบรารีฟังก์ชัน ผู้เขียนคำสั่งต้องศึกษาว่าฟังก์ชันที่ใช้งานอยู่นั้นอยู่ในเฮดเดอร์ไฟล์ชื่ออะไร จึงจะเรียกใช้งานได้ถูกต้อง นิยมใช้รูปแบบคำสั่งดังนี้ อธิบายheader_nameชื่อเฮดเดอร์ไฟล์ควบคุมฟังก์ชันมาตรฐาน เช่นฟังก์ชันprintfใช้ควบคุมการแสดงผล จัดเก็บในไลบรารี ชื่อ #include <stdio.h>
ส่วนฟังก์ชันหลัก (Main Function) เป็นส่วนเขียนคำสั่งควบคุมการทำงานภายในขอบเขตเครื่องหมาย{ }ของฟังก์ชันหลักคือ main( ) ต้องเขียนคำสั่งตามลำดับขั้นตอนจากกระบวนการวิเคราะห์ระบบงานเบื้องต้นและขั้นวางแผนลำดับการทำงานที่ได้จัดทำไว้ล่วงหน้า เช่น ลำดับการทำงานด้วยแผนผังโปรแกรมเพื่อลดข้อผิดพลาดในขั้นตอนลำดับคำสั่งควบคุมงาน ในส่วนนี้พึงระมัดระวังเรื่องเดียวคือต้องใช้งานคำสั่งตามรูปแบบไวยากรณ์ของภาษาซีที่กำหนดไว้
การพิมพ์คำสั่งควบคุมงานในโครงสร้างภาษาซีการพิมพ์คำสั่งควบคุมงานในโครงสร้างภาษาซี คำแนะนำในการพิมพ์คำสั่งงาน ซึ่งภาษาซีเรียกว่า ฟังก์ชัน (ต่อไปนี้จะเรียกว่า คำสั่งตามที่นิยมทั่วไป) ในส่วนประกอบภายในโครงสร้างภาษาซีมีแนวทางปฏิบัติดังนี้ 1.คำสั่งที่ใช้ควบคุมการประมวลผมตามลำดับที่วิเคราะห์ไว้ ต้องเขียนภายในเครื่องหมาย { } ที่อยู่ภายใต้การควบคุมงานของฟังก์ชันหลักชื่อ main {} 2.ปกติคำสั่งควบคุมงานเป็นตัวอักษรพิมพ์เล็ก ยกเว้นบางคำสั่งที่ภาษากำหนดว่าต้องเป็นอักษรตัวพิมพ์ใหญ่ ต้องปฏิบัติตามนั้น เพราะภาษาซีมีความแตกต่างเรื่องตัวอักษร 3.เมื่อสิ้นสุดคำสั่งงาน ต้องพิมพ์โคลอน(:)
คำสั่งจัดเก็บข้อมูลลงหน่วยความจำคำสั่งจัดเก็บข้อมูลลงหน่วยความจำ การจัดเก็บข้อมูลลงหน่วยความจำคอมพิวเตอร์ ภาษากำหนดให้ดำเนินการผ่านซื้อ (identifier) ที่ผู้สร้างงานโปรแกรมเป็นผู้กำหนดเอง ระบบคอมพิวเตอร์จะจัดเก็บชื่อและตำแหน่งที่อยู่ (address) ในหน่วยความจำ เพื่ออ้างอิงนำข้อมูลที่จัดเก็บนั้นมาใช้งาน การกำหนดชื่อที่ใช้เก็บข้อมูลต้องทำภายใต้กฎเกณฑ์ และต้องศึกษาวิธีกำหนดลักษณะการจัดเก็บข้อมูลที่ภาษากำหนดไว้ ลักษณะการจัดเก็บข้อมูลมี 2 แบบคือ แบบค่าคงที่และแบบตัวแปร ทั้งนี้ก่อนที่จะเขียนคำสั่งกำหนดการจัดเก็บข้อมูล ควรมีความรู้ในเรื่องชนิดข้อมูลก่อน
คำสั่งจัดเก็บข้อมูลลงหน่วยความจำคำสั่งจัดเก็บข้อมูลลงหน่วยความจำ 3.1 ชนิดข้อมูลแบบพื้นฐาน การจัดเก็บข้อมูลลงหน่วยความจำทั้งแบบค่าคงที่หรือแบบตัวแปร ต้องกำหนดชนิดข้อมูลให้ระบบรับทราบ ในที่นี้กล่าวถึงชนิดข้อมูลแบบพื้นฐาน 3 กลุ่มหลักเท่านั้น 3.2 คำสั่งจัดเก็บข้อมูลแบบค่าคงที่ ประสิทธิภาพคำสั่ง : ลักษณะการจัดเก็บข้อมูลในหน่วยความจำไม่สามารถเปลี่ยนแปลงได้ รูปแบบ อธิบาย data_typeคือที่ชนิดข้อมูลแบบพื้นฐาน Varคือชื่อหน่วยความจำที่ผู้ใช้ต้องกำหนดตามกฎการตั้งชื่อ Data คือข้อมูลทีกำหนดเป็นค่าคงที่
คำสั่งจัดเก็บข้อมูลลงหน่วยความจำคำสั่งจัดเก็บข้อมูลลงหน่วยความจำ 3.3คำสั่งจัดเก็บข้อมูลตัวแปร ประสิทธิภาพคำสั่ง :ลักษณะการจัดเก็บข้อมูลในหน่วยความจำสามารถเปลี่ยนแปลงได้ รูปแบบ 1 รูปแบบ 2 อธิบาย var_typeคือหน่วยชนิดข้อมุลแบบพืนฐาน Varname คือชื่อหน่วยความจำที่ผู้ใช้ต้องกำหนดตามกฎการตั้งชื่อ Data คือข้อมูลที่กำหนดเป็นค่าเริ่มต้น (อาจมีหรือไม่มีก็ได้)
คำสั่งควบคุมการทำงานขั้นพื้นฐานคำสั่งควบคุมการทำงานขั้นพื้นฐาน คำสั่งที่ใช้ควบคุมการทำงานขั้นพื้นฐาน มี3 กลุ่มใหญ่คือ คำสั่งรับข้อมูลจากแป้นพิมพ์แล้ว นำไปจัดเก็บหน่วยความจำ (input) การเขียนสมการคำนวณโดยใช้นิพจน์ทางคณิตศาสตร์ (process) และคำสั่งแสดงผลข้อมูล หรือข้อมูลที่จัดเก็บในหน่วยความจำ (output) 4.1 คำสั่งแสดงผล printf ( ) ประสิทธิภาพคำสั่ง : ใช้แสดงผลสิ่งต่อไปนี้เช่น ข้อความ ข้อมูลจากค่าคงที่ หรือตัวแปลที่จอภาพ
คำสั่งควบคุมการทำงานขั้นพื้นฐานคำสั่งควบคุมการทำงานขั้นพื้นฐาน 4.2 คำสั่งรับข้อมูล : รับข้อมูลจากแป้นพิมพ์ แล้วจัดเก็บลงหน่วยความจำ ของตัวแปล รูปแบบ อธิบาย String _format คือรูปแบบของการแสดงผลข้อมูลเท่านั้น เช่น %d Address_listคือการระบุตำแหน่งที่อยู่ในหน่วยความจำ ต้อใช้สัญลักษณ์ & (Ampersand) นำหน้าชื่อตัวแปลเสมอ
คำสั่งควบคุมการทำงานขั้นพื้นฐานคำสั่งควบคุมการทำงานขั้นพื้นฐาน 4.3 คำสั่งประมวลผล : expreeion ประสิทธิภาพคำสั่ง : เขียนคำสั่งแบบนิพจน์เพื่อประมวลผล แล้วนำข้อมูลทีได้ไปจัดเก็บ ในหน่วยความจำของตัวแปล ที่ต้องกำหนดชื่อและชนิดข้อมูลไว้แล้ว รูปแบบ อธิบาย varคือ ชื่อหน่วยความจำชนิดตัวแปร expreeionคือสมการนิพจน์ เช่น สูตรคำนวณทางคณิตศาสตร์
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ ภาษาซีมีคำสั่งแสดงผลและรับข้อมูลเฉพาะข้อมูลประเภท 1 อักขระ (char)ดังนี้ 5.1 คำสั่ง putchar ( )5.2 คำสั่ง getchar ( ) 5.3คำสั่ง getch ( )5.4คำสั่ง getche ( ) 5.1 คำสั่ง putchar ( ) แสดงข้อมูลจากหน่อยความจำของตัวแปร ทางจอภาพครั้งละ1อักขระเท่านั้น อธิบายPutchar_argumentคือข้อมูลชนิดอักขระ
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ • แนวคิดในการเขียนคำสั่งควบคุมการทำงาน • 1.กำหนดค่า ‘A’เก็บในตัวแปรประเภท char ชื้อ word1และกำหนดค่า ‘1’ เก็บในตัวแปรชื่อ word2 ด้วยคำสั่ง char word1=‘A’ , word2=‘1’ • 2.เขียนคำสั่งควบคุมการแสดงผลทีละ 1 อักขระโดยไม่ต้องใช้สัญลักษณ์ขึ้นบรรทัดใหม่ ด้วย คำสั่ง putchar(word1); putchar(word2); จึงพิมพ์คำว่า A1 ที่จอภาพ
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ • 5.2 คำสั่ง getchar ( ) • รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และแสดงอักขระที่จอภาพ จากนั้นต้องกดแป้นพิมพ์ที่ Enterเพื่อนำข้อมูลบันทึกลงหน่วยความจำด้วย • รูปแบบที่1 ไม่นำข้อมูลจัดเก็บลงหน่วยความจำตัวแปร • รูปแบบที่2 นำข้อมูลจัดเก็บลงหน่วยความจำของตัวแปร
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ ตัวอย่างโปรแกรมที่2.3 แสดงประสิทธิภาพคำสั่ง getchar () แนวคิดในการเขียนคำสั่งควบคุมการทำงาน 1.เขียนคำสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคำสั่ง Printf (“Key 1 Character=”) ; Word = getchar ( ) ; หมายถึงป้อนอักขระ 1 ตัว เช่น a จะแสดงค่าให้เห็นที่หน้าจอด้วย แล้วต้องกดแป้น Enter เพื่อนำข้อมูลบันทึกลงหน่วยความจำตัวแปรประเภท char ชื่อ word
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ 2.เขียนคำสั่งควบคุมการแสดงผลจากหน่วยความจำ wordจึงเห็นค่า a (แทนที่word) Printf (“You key Character is =%c\n”,word) ; 5.3 คำสั่ง getch ( ) รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ แต่ไม่ปรากฏอักษรบนจอภาพและไม่ต้องกดแป้น Enter รูปแบบ 1 ไม่นำข้อมูลจัดเก็บลงหน่วยความจำตัวแปร รูปแบบ 2 นำข้อมูลจัดเก็บลงหน่วยความจำตัวแปร
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ • ตัวอย่างโปรแกรมที่ 2.4 แสดงประสิทธิภาพคำสั่ง getch () • แนวคิดในการเขียนคำสั่งควบคุมการทำงาน • 1.เขียนคำสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคำสั่ง • printf (“Key 1 Character =” ) ; • word = getch ( ) ; • หมายถึงป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะไม่แสดงค่าให้เห็นที่หน้าจอ ไม่ต้องกดแป้น Enter เพื่อนำข้อมูลบันทึกลงหน่วยความจำตัวแปรประเภท char ชื่อ word
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ • 2.เขียนคำสั่งควบคุมการแสดงผลจากหน่วยความจำ word จึงเห็นค่า a (แทนที่word) • printf (“Key 1 Character =%c\n”,word ) ; • 5.4คำสั่ง getche ( ) • รับข้อมูลจากแป้นพิมพ์ครั้งละ 1 อักขระ และแสดงอักษรบนจอภาพ และไม่ต้องกดแป้น Enter • รูปแบบ1 ไม่นำข้อมูลจัดเก็บลงหน่วยความจำของตัวแปร • รูปแบบ2 นำข้อมุลจัดเก็บลงหน่วยความจำของตัวแปร
คำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระคำสั่งแสดงผล-รับข้อมูล เฉพาะอักขระ • ตัวอย่างโปรแกรมที่ 2.5 แสดงประสิทธิภาพคำสั่ง getche ( ) • แนวคิดในการเขียนคำสั่งควบคุมการทำงาน • 1.เขียนคำสั่งควบคุมการป้อนข้อมูลประเภทอักขระด้วยคำสั่ง • printf (“Key 1 Character =” ) ; • word = getcher ( ) ; • หมายถึงการป้อนค่าใดทางแป้นพิมพ์เป็นอักขระ 1 ตัว เช่น a จะแสดงค่าให้เห็นที่หน้าจอ และไม่ต้องกดแป้น Enter เพื่อนำข้อมูลบันทึกลงหน่วยความจำตัวแปรประเภท char ชื่อ word • 2.เขียนคำสั่งควบคุมการแสดงผลเพื่อแสดงค่าจากหน่วยความจำ word จึงเห็นค่า a (แทนที่word)
คำสั่งแสดงผล-เฉพาะข้อมูล เฉพาะข้อความคำสั่งแสดงผล-เฉพาะข้อมูล เฉพาะข้อความ ภาษาซีมีคำสั่งใช้ในดารรับข้อมูลเฉพาะประเภทข้อความ (String) ในภาษาซีคือชนิดข้อมูล char[n] จัดเก็บในหน่วยความจำ และแสดงผลข้อมูลประเภทข้อความเท่านั้น มีรายละเอียดดังนี้ 6.1 คำสั่ง puts()แสดงผลเฉพาะประเภทข้อความทางจอภาพครั้งละ 1 ข้อความ ตัวอย่างโปรแกรมที่ 2.6 แสดงประสิทธิภาพคำสั่ง puts() แนวคิดในการเขียนคำสั่งควบคุมการทำงาน 1.เขียนคำสั่งกำหนดค่าข้อความในตัวแปรชื่อ word Char word [15] = “*Example*”; 2.เขียนคำสั่งควบคุมการแสดงผลในลักษณะข้อความด้วย puts Puts (word) ; Puts (“*************”);
คำสั่งแสดงผล-เฉพาะข้อมูล เฉพาะข้อความคำสั่งแสดงผล-เฉพาะข้อมูล เฉพาะข้อความ • 6.2 คำสั่ง gets( )รับข้อมูล ข้อความจากแป้นพิมพ์และต้องกดแป้น Enter • รูปแบบ 1ไม่นำข้อมูลจัดเก็บลงหน่วยความจำของตัวแปร • รูปแบบ 2 นำข้อมูลจัดเก็บลงหน่วยความจำของตัวแปร • ตัวอย่างโปรแกรมที่ 2.7 แสดงประสิทธิภาพคำสั่ง get ( ) • แนวคิดในการเขียนคำสั่งควบคุมกาทำงาน • 1.เขียนคำสั่งให้รับข้อมูลนิดข้อความจากแป้นพิมพ์และต้องกดแป้น Enter เพื่อนนำข้อความบันทึกลงตัวแปรชนิดข้อความด้วยคำสั่ง gets (word); • 2.เขียนคำสั่งควบคุมให้แสดงผลลักษณะข้อความด้วย printf (You name is = %s\n”,word) ;
จัดทำโดย นาย วะตะ ถ้ำทอง เลขที่ 7 นาย วสุพล นันทิพัฒ์ปัญญา เลขที่ 11 นางสาว กัญจน์พิชชา บุญเรืองยศศิริ เลขที่ 22 นางสาว ปิยะธิดา ทิพย์ประดิษฐ์ เลขที่ 27 นางสาว พรรณวดี ทวีระวงษ์ เลขที่ 29 นางสาว เสาวลักษณ์ ภุมรินทร์ เลขที่ 31