วันพุธที่ 28 สิงหาคม พ.ศ. 2556

ภาษาซี




  บทนำ
1.             แนวคิด ที่มา และความสำคัญ
            ภาษาเป็นสิ่งสำคัญที่เราใช้ในชีวิตประจำวันเพื่อการสื่อสารต่างๆ ภาษามีหลายหลากรูปแบบ ไม่ว่าจะเป็นภาษาพูด ภาษามือหรือท่าทาง และรวมถึงภาษาคอมพิวเตอร์ก็เช่นกัน ภาษาคอมพิวเตอร์นั้นแบ่งเป็นอีกหลากภาษามากมาย เช่น ภาษาโคบอล, ภาษาปาสคาล, ภาษาจาวา(Java) และ ภาษาซี เป็นต้น ซึ่งทำให้ดิฉันเลือกทำโครงงานนี้เพราะต้องการที่จะศึกษาภาษาซี และยังมีความสนใจในภาษาซีอีกด้วย
2.             วัตถุประสงค์
1.             ต้องการรู้ประวัติความเป็นมาของภาษาซี
2.             ต้องการศึกษาถึงวิธีการเขียนภาษาซีที่ถูกต้องและชัดเจน
3.             ต้องการเผยแพร่ความรู้ความเข้าใจต่อคนทั่วไป ผ่านทางสื่ออินเตอร์เน็ต
3.             วิธีดำเนินงาน
·     อุปกรณ์ที่ต้องใช้
-                   เน็ตบุ๊กส่วนตัว ไม่ต้องเสียค่าใช้จ่ายใดๆ
CPU : Intel® AtomTM  N570 (1.66 GHz, 1MB L2 cache)
MEMORY : 2 GB DDR3 Memory
BATTERY : 6-cell Li-ion battery
STORAGE : 320 GB HDD
·    ลักษณะงานจะออกมาในรูปของ blog
·     แนวทางการดำเนินงาน
-                   สืบค้นและเก็บรวบรวมข้อมูลจากอินเตอร์เน็ต และนำข้อมูลต่างๆมาวิเคราะห์ พัฒนา
และจึงนำเสนอ

4.             งบประมาณ และ ระยะเวลา
งบประมาณ : ไม่เสียค่าใช้จ่ายใดๆ
ระยะเวลา   
:   2 วัน
5.             แผนปฏิบัติงาน
1.             สมัคร g-mail
2.             เข้าไปที่ www.blogger.com
3.             กรอกรหัส gmail และเริ่มต้นการสร้างบล็อก
(สามารถศึกษาการสร้างบล็อกได้จาก
http://www.youtube.com/watch?v=_TQovonBRXU)
4.             เริ่มการเขียนบล็อก นำเนื้อหาที่ต้องการเสนอ โพสต์ลงในบล็อกที่สร้างขึ้นและกดบันทึก
6.             ผลที่คาดว่าจะได้รับ
-                   ได้รู้จักประวัติความเป็นมาของภาษาซี
-                   ได้รู้ถึงวิธีการเขียนที่ถูกต้อง
-                   มีความรู้ความเข้าใจ ที่สามารถจะนำเผยแพร่ต่อได้

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

เหตุผลที่นำคอมพิวเตอร์มาใช้งาน
                1.  สามารถบันถึกข้อมูลต่างๆได้อย่างรวดเร็ว เช่น การใช้เครื่องอ่านรหัสแท่ง  (Bar – code)
               
2.  สามารถเก็บข้อมูลจำนวนมากๆ  ไว้ในฐานข้อมูล (Database) เพื่อใช้งานได้ทันที
                3.  สามารถนำข้อมูลที่เก็บไว้มาคำนวณทางสถิติ  แยกประเภท  จัดกลุ่ม  ทำรายการต่างๆโดยระบบประมวลข้อมูล
(Data Proccesing )
                4.  สามารถส่งข้อมูลจากที่หนึ่งไปยังอีกที่หนึ่งได้อย่างรวดเร็ว โดยอาศัยเทคโนโลยีสื่อสารข้อมูล ( Data Communication )
                5.  สามารถจัดทำเอกสารต่างๆ ได้อย่างรวดเร็ว  ด้วยระบบประมวลผลคำ ( Word Processing )ซึ่งเป็นส่วนหนึ่งของระบบสำนักงานอัตโนมัติ (Office Automation )
                6.  การนำมาใช้งานทั้งด้านการศึกษา  การวิจัย
                7.  การใช้งานธุรกิจ  งานการเงิน  ธนาคาร  และงานขอภาครัฐต่างๆ เช่น  การนนำคอมพิวเตอร์ใช้กับงานบัญชี
                8.  การควบคุมระบบอัตโนมัติต่างๆ  เช่น  ระบบจราจร
                9.  การใช้เพื่องานวิเคราะห์ต่างๆ  เช่น  การวิเคราะห์สภาวะดินฟ้าอากาศ
                10.  การใช้คอมพิวเตอร์เพื่อจำลองรูปแบบ   เช่น  การจำลองในงานวิทยาศาสตร์
                11.  การใช้คอมพิวเตอร์เพื่องานนันทนาการ  เช่น  การเล่นเกม  การดูหนัง  ฟังเพลง
                12.  การใช้คอมพิวเตอร์ร่วมกับเทคโนโลยีล้ำสมัยอื่นๆ เทคโนโลยีสื่อสารข้อมูล   เกิดเครือข่ายอินเทอร์เน็ต เป็นต้น
หลักการทำงานคอมพิวเตอร์
                การทำงานคอมพิวเตอร์ประกอบด้วยหน่วยสำคัญ   5   หน่วยคือ
                1.  หน่วยรับเข้า  หน่วยรับเข้า จะรับเข้าข้อมูลโดยผู้ใช้ผู้ป้อนคำสั่งแล้วก็จะส่งไปยังหน่วยประมวลผล
                2.  หน่วยประมวลผล   หน่วยประมวลผล ทำหน้าที่ในการคิดคำนวณ  หรือประมวลผลข้อมูลโดยทำตามโปรแกรมที่เก็บไว้ในหน่วยความจำหลัก  และหน่วยความจำรอง 
                3.  หน่วยความจำรอง   หน่วยความจำรองมีไว้เพื่อเก็บข้อมูลหรือโปรแกรมที่มีจำนวนมาก  และหากจะใช้งานก็มีการถ่ายจากหน่วยความจำสำรองมายังหน่วยความจำหลักแล้วนำข้อมูลที่เก็บไว้มาประมวลผล 
                4.  หน่วยส่งออก หน่วยแสดงผล   เป็นหน่วยที่นำข้อมูลที่ได้รับการประมวลมาแสดงผล
ลักษณะและประเภทของงานคอมพิวเตอร์
                ประมาณปี  พ.ศ.  2500  คอมพิวเตอร์มีอยู่ในโลกนี้ไม่มากนัก  ส่วนใหญ่จะเป็นเครื่องในระบบเมนเฟรมซึ่งมีขนาดใหญ่และราคาแพง   ใช้กับงานด้านวิทยาศาสตร์   ซึ่งไม่เกี่ยวข้องกับชีวิตประจำวันมากนัก  แต่ปัจจุบันคอมพิวเตอร์
มีขนาดเล็กลงและราคาไม่แพงนัก  คนทั่วไปสามารถซื้อหามาใช้ได้เหมือนกับเครื่องใช้ไฟฟ้าทั่วไป  ตัวอย่างการใช้งานเช่น
                1.  งานที่ต้องจัดเก็บข้อมูลเป็นจำนวนมาก  เช่น  เก็บข้อมูลงานทะเบียนราษฎร์ เป็นต้น
                2.  งานที่ต้องอาศัยการประมวลผลที่รวดเร็ว   มีความแม่นยำและถูกต้องที่สุด  เช่น  งานด้านวิทยาศาสตร์ 
                3.  งานที่ไม่ต้องการหยุดพัก  คือ  ทำงานได้ตลอดเวลา  ในขณะที่ยังต้องมีไฟฟ้าอยู่
                4.  งานที่คนไม่สามารถเข้าไปทำได้   เช่น  ในสภาพแวดล้อมที่เป็นอันตรายต่อสุขภาพ   เช่น ที่ที่มีก๊าซพิษ


คอมพิวเตอร์กับงานการศึกษา
                ปัจจุบันสถานศึกษาต่างๆ  ได้มีการนำคอมพิวเตอร์มาใช้ในการเรียนการสอนอย่างมากมาย  รวมทั้งใช้คอมพิวเตอร์ในงานบริหารของโรงเรียน  เช่น   การจัดทำประวัตินักเรียน   ประวัติครูอาจารย์   เป็นต้น  ในการประยุกต์ด้านการศึกษา  เช่น
โปรแกรมฝ่ายทะเบียนวัดผลโปรแกรมตรวจข้อสอบ  เป็นต้น
ชนิดของซอฟต์แวร์
                ซอฟต์แวร์  แบ่งเป็น 2 ชนิดคือ ซอฟต์แวร์ระบบ  ซอฟต์แวร์
ซอฟต์แวร์ระบบ
                 เป็นซอฟต์แวร์ที่บริษัทผู้ผลิตสร้างเพื่อใช้จัดการกับระบบหน้าที่การทำงานของซอฟต์แวร์ระบบคือการดำเนินงานพื้นฐานต่างๆ ของระบบคอมพิวเตอร์  เช่น  รับข้อมูลจากแผงแป้นอักขระแล้วแปลความหมายให้คอมพิวเตอร์เข้าใจ  นำข้อมูลไปแสดงผล  บนจอภาพหรือนำออกไปยังเครื่องพิมพ์  จัดการข้อมูลในระบบแฟ้มข้อมูล  บนหน่วยความจำรองเมื่อเราเปิดเครื่องคอมพิวเตอร์  ทันทีที่มีการจ่ายกระแสไฟฟ้าให้กับคอมพิวเตอร์  คอมพิวเตอร์จะทำงานไม่ได้  หากไม่มีซอฟต์แวร์  ซอฟต์แวร์ระบบยังใช้เป็นเครื่องมือในการพัฒนาซอฟต์แวร์อื่นๆและยังรวมไปถึงซอฟต์แวร์ที่ใช้ในการแปลภาษาต่างๆ
                คอมพิวเตอร์ประกอบด้วย   หน่วยรับเข้า   หน่วยส่งออก  หน่วยความจำ  และหน่วยประมวลผล
ในการทำงานของคอมพิวเตอร์  จำเป็นต้องมีการดำเนินงานกับอุปกรณ์พื้นฐานที่จำเป็น ดังนั้นจึงต้องมีซอฟต์แวร์ระบบเพื่อใช้ในการจัดระบบเพื่อใช้ในการจัดระบบ  หน้าที่หลักของซอฟต์แวร์ระบบประกอบด้วย
                1.1  ใช้ในการจัดหน่วยรับเข้าและหน่วยส่งออก  เช่น  รับการกดแป้นต่างๆ บนแผงแป้นอักขระส่งรหัสตัวอักษรออกทางจอภาพหรือเครื่องพิมพ์
                1.2  ใช้ในการจัดการหน่วยความจำ  เพื่อนำข้อมูลจากแผ่นบันทึกมาบรรจุยังหน่วยความจำหลัก 
                1.3  ใช้เป็นตัวเชื่อมต่อระหว่างผู้ใช้งานกับคอมพิวเตอร์ สามารถใช้งานได้ง่ายขึ้น  เช่น   การขอดูรายละเอียดการสาระบบในแผ่นบันทึก
               
                ซอฟต์แวร์ระบบพื้นฐานที่เห็นกันทั่วไป  แบ่งเป็นโปรแกรมระบบปฏิบัติการ  ตัวแปลภาษาและโปรแกรมยูทิลิตี้  ซอฟต์แวร์ทั้งสามประเภทนี้ทำให้เกิดพัฒนาการประยุกต์ใช้งานได้ง่ายขึ้น
1.ระบบปฏิบัติการ  หรือที่เรียกย่อๆว่า โอเอส ( Operating  System : OS )  เป็นซอฟต์แวร์ใช้ในการดูและระบบคอมพิวเตอร์  เครื่องคอมพิวเตอร์ทุกเครื่องจะต้องมีซอฟต์แวร์ระบบปฏิบัติการนี้ระบบปฏิบัติการที่นิยมใช้กันมาก และเป็นที่รู้จักกันดีเช่น  ดอส ( Disk  Operating  System : DOS ) วินโดวส์ ( Windows )  โอเอสทู  (  OS / 2 )  ยูนิกซ์  ( Unix )
                1.1  ดอส  เป็นซอฟต์แวร์จัดระบบที่พัฒนามานานแล้วการใช้งานจึงใช้คำสั่งเป็นตัวอักษรดอส ตัวอักษรดอสเป็นซอฟต์แวร์ที่รู้จักกันดีในหมู่ใช้ไมโครคอมพิวเตอร์
                1.2  วินโวส์  เป็นระบบปฏิบัติการที่พัฒนาต่อจากดอสเพื่อเน้นการใช้งานที่ง่ายขึ้น  สามารถทำงานหลากหลายงานพร้อมกันได้โดยงานแต่ละงานจะอยู่ในกรอบช่องหน้าต่างที่แสดงผลบนหน้าจอภาพ การใช้งานเน้นรูปแบบกราฟิก 
                1.3   โอเอสทู  เป็นระบบปฏิบัติการแบบเดียวกับวินโดว์ส  แต่บริษัทผู้พัฒนาคือ  บริษัทไอบีเอ็ม 
เป็นระบบปฏิบัติการที่ใช้สามารถใช้ทำงานได้หลายงานพร้อมกันและการใช้งานก็เป็นแบบกราฟิกเช่นเดียวกับวินโดวส์
                1.4  ยูนิกซ์ เป็นระบบปฏิบัติการที่พัฒนาตั้งแต่ครั้งใช้กับเครื่องมินิคอมพิวเตอร์ระบบปฏิบัติการยูนิกซ์เป็นระบบปฏิบัติการที่สามารถใช้งานได้หลายงานพร้อมกัน และทำงานได้หลายๆงานในเวลาเดียวกัน  ยูนิกซ์จึงใช้ได้กับเครื่องที่เชื่อมโยงและต่อกับเครื่องปลายทางได้หลายเครื่องพร้อมกัน
2.ตัวแปลภาษา   ในการพัฒนาซอฟต์แวร์จำเป็นต้องมีซอฟต์แวร์ที่ใช้ในการแปลภาษาระดับสูง
เพื่อแปลภาษาระดับสูงให้เป็นภาษาเครื่อง  ภาษาระดับสูงมีหลากหลายภาษา การแปลภาษาระดับสูงซึ่งเป็นที่รู้จักและนิยมกันมากคือ  ภาษาปาสคาล  ภาษาเบสิก  ภาษาซี  และภาษาโลโก
                2.1  ภาษาปาสคาล  เป็นภาษาสั่งงานคอมพิวเตอร์ที่มีรูปแบบเป็นโครงสร้างเขียนสั่งงานคอมพิวเตอร์เป็นกระบวนความ  ผู้เขียนสามารถสามารถแบ่งแยกงานออกเป็นชิ้นเล็กแล้วมารวมกันเป็นโปรแกรมขนาดใหญ่
                2.2  ภาษาเบสิก  เป็นภาษาที่มีรูปแบบคำสั่งไม่ยุ่งยาก  สามารถเรียนรู้และเข้าใจง่ายมีรูปแบบคำสั่งพื้นฐานที่สามารถนำมาเขียนเรียงต่อกันเป็นโปรแกรมได้
             2.3  ภาษาซี   เป็นภาษาที่เหามะสมใช้ในการพัฒนาซอฟต์แวร์อื่นๆ  ภาษาซีเป็นภาษาที่มีโครงสร้างคล่องตัวสำหรับการเขียนโปรแกรมหรือให้คอมพิวเตอร์ติดต่อกับอุปกรณ์ต่างๆ
                2.4  ภาษาโลโก   เป็นภาษาที่เหมาะสำหรับการเรียนรู้และเข้าใจหลักการโปรแกรมภาษาโลกโกได้รับการพัฒนาสำหรับเด็ก 
                3. โปรแกรมยูทิลิตี้ 
( Utility  Software )  เป็นโปรแกรมที่ให้บริการต่างๆ  เช่น  การจัดเรียนข้อมูลตามหลักใดหลักหนึ่ง  รวมแฟ้มข้อมูลที่เรียงลำดับแล้วเข้าด้วยกัน  หรือย้ายข้อมูลจากอุปกรณ์รับส่ง
ซอฟต์แวร์ประยุกต์
การที่เทคโนโลยีคอมพิวเตอร์พัฒนาก้าวหน้าอย่างรวดเร็วโดยเฉพาะการที่มีคอมพิวเตอร์ขนาดเล็ก  ทำให้มีการใช้งานคล่องตัวขึ้นจนในปัจจุบันสามารถนำคอมพิวเตอร์ขนาดเล็ก  ทำให้มีการใช้งานคล่องตัวขึ้น
                2.1 ซอฟต์แวร์สำเร็จ  ในบรรดาซอฟต์แวร์ประยุกต์ที่มีใช้กันทั่วไป  ซอฟต์แวร์สำเร็จ
( Package )
เป็นซอฟต์แวร์ที่มีความนิยมใช้กันสูงมาก  ซอฟต์แวร์สำเร็จเป็นซอฟต์แวร์ที่บริษัทพัฒนาขึ้นแล้วนำออกมาจำหน่าย  ซอฟต์แวร์สำเร็จมีจำหน่ายในท้องตลาดทั่วไปและเป็นที่นิยมของผู้ใช้มี 5 กลุ่มใหญ่ได้แก่ 
ซอฟต์แวร์ประมวลผล 
( Word Processing Software )  ซอฟต์แวร์ตารางทำงาน ( Spread Sheet Software )
ซอฟต์แวร์จัดการฐานข้อมูล ( Data Base Management Software ) ซอฟต์แวร์นำเสนอ ( Presentation Software )และซอฟต์แวร์สื่อสารข้อมูล ( Data Communication Software )
                2.1.1 ซอฟต์แวร์ประมวลผล  เป็นซอฟต์แวร์ประยุกต์ใช้ แก้เอกสารโดยการ เพิ่ม แทรก ลบ และจัดรูปแบบเอกสารได้อย่างดี  เอกสารที่พิมพ์ไว้จัดเป็นแฟ้มข้อมูลเรียกมาพิมพ์หรือแก้ไขใหม่ได้ 
ซอฟต์แวร์ประมวลผลที่นิยมใช้ในปัจจุบันเช่น
  เวิร์ด  โลตัสเอมิโปร
                2.2.2  ซอฟต์แวร์ตารางทำงาน  เป็นซอฟต์แวร์ที่ช่วยในการคิดคำนวณ  การทำงานของซอฟต์แวร์ตารางทำงาน  ใช้หลักการเสมือนมีโต๊ะทำงานที่มีกระดาษขนาดใหญ่วางไว้  มีเครื่องมือคล้ายปากกายางลบและเครื่องมือคำนวณเตรียมไว้ให้เสร็จ  ซอฟต์แวร์ทำงานสามารถใช้งานประมวลผลตัวเลขอื่นๆ ได้กว้างขวางซอฟต์แวร์ตางรางที่นิยมใช้  เช่น  เอกเซล  โลตัส
                2.1.3  ซอฟต์แวร์จัดการฐานข้อมูล  การใช้งานคอมพิวเตอร์อย่างหนึ่งคือการเก็บข้อมูลและจัดการกับข้อมูลที่จัดเก็บในคอมพิวเตอร์  จึงจำเป็นต้องมีซอฟต์แวร์จัดการข้อมูล  การรวบรวมข้อมูลหลายๆเรื่องที่เกี่ยวข้องกันไว้ในคอมพิวเตอร์  เราก็เรียกว่าฐานข้อมูล ซอฟต์แวร์จัดการฐานข้อมูลจึงหมายถึงตัวช่วยในการเก็บ การเรียกค้นมาใช้งาน  ทำรายงาน  การสรุปผลจากข้อมูล  ซอฟต์แวร์จัดการฐานข้อมูลที่นิยมใช้เช่น  เอกเซล ดีเบส  พาราด็อก   ฟ็อกเบส
                2.1.4  ซอฟต์แวร์นำเสนอ  เป็นซอฟต์แวร์ที่ใช้เพื่อเสนอข้อมูล  การแสดงผลนอกจากจะแสดงข้อความแล้วยังสามารถสื่อความหมายได้เป็นในรูป แผนภูมิ กราฟ  และรูปภาพได้อีกด้วย  ตัวอย่างซอฟต์แวร์นำเสนอ
เช่น  เพาเวอร์พอยต์  โลตัสฟรีแลนซ์  ฮาร์วาร์ดกราฟฟิก
                2.1.5  ซอฟต์แวร์สื่อสารข้อมูล  ซอฟต์แวร์สื่อสารข้อมูลนี้หมายถึง  ซอฟต์แวร์ที่จะช่วยให้ไมโครคอมพิวเตอร์ ติดต่อสื่อสารกับเครื่องคอมอื่นในที่ห่างไกลโดยผ่านทางสายโทรศัพท์  เช่น อินเทอร์เน็ต สามารถใช้รับส่งไปรษณีย์อิเล็กทรอนิกส์  ใช้โอนย้ายแฟ้มข้อมูล  ใช้แลกเปลี่ยนข้อมูลอ่านข่าวสาร  นอกจากนี้ยังใช้ในการเชื่อมเข้าหามินิคอมพิวเตอร์เมนหรือเมนเฟรม เพื่อเรียกใช้งานจากเครื่องเหล่านั้นได้  ซอฟต์แวร์สื่อสารข้อมูลที่นิยมมีมากมายหลายซอฟต์แวร์  เช่น  โปรคอม  ครอสทอล์คเทลิก
                2.2 ซอฟต์แวร์ใช้งานเฉพาะ 
         การประยุกต์ใช้งานด้วยซอฟต์แวร์สำเร็จมักจะเน้นการใช้งานทั่วไปแต่อาจจะนำมาประยุกต์โดยตรงกับงานทางธุรกิจบางอย่างไม่ได้  เช่น  ในกิจการธนาคาร  ดังนั้นจึงต้องมีการพัฒนาซอฟต์แวร์ใช้งานเฉพาะสำหรับงานแต่ละประเภทให้ตรงกับความต้องการของผู้ใช้แต่ละราย  ซอฟต์แวร์เฉพาะนั้นมักเป็นซอฟต์แวร์ที่ผู้พัฒนาต้องเข้าไปศึกษารูปแบบการทำงานหรือความต้องการของธุรกิจนั้นๆ แล้วจัดทำขึ้น

กำเนิดภาษาซี
          ด้วยศักยภาพและเทคโนโลยีของคอมพิวเตอร์ที่แพรหลาย จึงทำให้มีผู้คิดค้นพัฒนาโปรแกรมคอมพิวเตอร์ภาษาซีขึ้น คือ นายเดนนิส  ริทชี้ ( Dennis Ritchie ) ที่ศูนย์วิจัยเบล ( Bell Laboratories ) ประเทศสหรัฐอเมริกาเมื่อปี ค.ศ. 1972 และเป็นภาษาคอมพิวเตอร์ที่ใช้เขียนระบบปฏิบัติการยูนิกส์ ซึ่งใช้กันแพร่หลายในระบบเครือข่ายคอมพิวเตอร์ ปัจจุบันภาษาซีเป็นภาษาที่มีความใกล้เคียงกับภาษาระดับต่ำ ( Low-Level Language ) จึงทำให้นักพัฒนาโปรแกรมสามารถ ที่จะกำหนดรายละเอียดของโปรแกรมให้เข้าถึงการทำงานในส่วนต่างๆ ของคอมพิวเตอร์ให้มากที่สุดเพื่อให้เกิดความเร็วในการทำงานที่สุด และในขณะเดียวกันภาษาซีก็ยังมีความนิยมและมีการพัฒนาอย่างต่อเนื่อง นาย Bjarne Stroustrup นักวิจัยและพัฒนาของศูนย์วิจัยเบล ( Bell Laboratiories ) ได้พัฒนาภาษา C++  ( ซีพลัสพลัส )  ขึ้นมา โดยที่ C++
มีความสามารถในการทำงานได้ทุกอย่างเหมือนกับภาษา
C ซึ่งมีรูปแบบและโครงสร้างของภาษาใกล้เคียงกันแต่ภาษาC++ ใช้หลักการออกแบบโปรแกรมเชิงวัตถุ(Object Oriented Design ) ในขณะที่ภาษาซีใช้หลักการออกแบบโปรแกรมแบบโมดูลาร์ ( Modular Design )

 การเข้าสู่โปรแกรม
วิธีที่1  กรณีที่ทำการติดตั้งโปรแกรม เทอร์โบซี เรียบร้อยแล้วและมีไอคอนอยู่หน้า Desktop เริ่มต้นการเข้าสู่โปรแกรมภาษาซี โดยการดับเบิ้ลคลิกที่โปรแกรมภาษาซีที่หน้าจอ Desktop ซึ่งมีไอคอนดังนี้

รูปแสดงไอคอนของโปรแกรมภาษาซี 


 ส่วนประกอบหน้าจอโปรแกรม
1.              เมนูหลัก  เป็นที่เก็บรวบรวมคำสั่งเพื่ออำนวยความสะดวกในการเขียนโปรแกรม ประกอบด้วยเมนู File Edit Search  Run  Compile  Debug  Project  Opion  Window และ Help วิธีการเรียนใช้เมนูหลักและเมนูย่อย สามารถกระทำได้หลายวิธีดังนี้
       1.1 คลิกเม้าเมนูที่ต้องการ จะปรากฏรายคำสั่งให้เลือก
       1.2 กดปุ่ม Alt ค้างไว้แล้วกดอักษรสีเข้มที่อยู่ตัวแรกของเมนูนั้น เช่นต้องการกด File ให้กด Alt+F เป็นต้น การยกเลิกให้กดปุ่ม ESC
1.3 ปุ่ม F10 จะปรากฏแถบสีที่เมนู แล้วกดปุ่มคีย์ลูกษรเพื่อเลื่อนไปยังเมนูที่ต้องการแล้วกดปุ่ม Enter
1.4 กดปุ่ม Hot-Key โยไม่ต้องเรียนเมนูหลัก และเมนูย่อย เช่นการบันทึกข้อมูลให้กดปุ่ม F2 หรือ
ต้องการออกจากโปรแกรมให้กด Alt+X เป็นต้น
รายละเอียดเมนู
เมนูหลัก (Main Menu) ประกอบด้วย File  Edit  Search  Run  Compile  Debug  Project  Opion  Window และ Help





File
เป็นเมนูที่ใช้ในการเก็บหรือ Save โปรแกรม และเรียกโปรแกรมที่เก็บเอาไว้ขึ้นมา การเข้าสู่เมนู File ทำได้โดยการคลิกเมาส์ที่ File หรือกดคีย์ <Alt> แล้วตามด้วย <F> จกานั้นจะเกิดเมนูย่อยขึ้นมา ซึ่งผู้ใช้สามารถเลือกเมนูต่างๆได้ โดยกดคีย์ลูกศรขึ้นลง หรือกดคีย์ลัด (Hot Key) ตามที่เขียนเอาไว้หลังเมนูสำหรับเมนูย่อยที่นิยมใช้กันได้แก่
New
ใช้สำหรับสร้างไฟล์โปรแกรมใหม่
Open
ใช้สำหรับโปรแกรมที่มีอยู่แล้วขึ้นมาเพื่อแก้ไขหรือแสดงบนหน้าจอ
Save
ใช้สำหรับจัดเก็บไฟล์ที่สร้างเอาไว้
Save as
ใช้สำหรับจัดเก็บโดยสามารถตั้งชื่อไฟล์ใหม่ได้
Quit
ใช้สำหรับออกจากโปรแกรม
การตรวจสอบและทดสอบความถูกต้องของโปรแกรม
เมื่อเขียนโปรแกรมเสร็จให้ทดลองคอมไพล์โปรแกรมว่ามีจุดผิดพลาดที่ใดบ้าง ในภาษาซีการคอมไพล์โปรแกรมจะใช้วิธีกด Alt+F9 ในกรณีที่มีข้อผิดพลาดจะแสดงด้านล่างของหน้าจอเอดิเตอร์ในส่วนของกรอบ message ให้อ่านทำความเข้าใจ และแก้ไขตามที่โปรแกรมแจ้งข้อมูลผิดพลาด เมื่อเสร็จแล้วให้กดปุ่มทดลองรันโปรแกรมโดยกดปุ่ม Ctrl+F9
หลักการเขียนโปรแกรม
       ในการเขียนโปรแกรมจะต้องเข้าใจหลักเกณฑ์ของภาษาโปรแกรม  และระบบการทำงานคอมพิวเตอร์ว่ามีโครงสร้างและวิธีการใช้คำสั่งอย่างไร  หลักเกณฑ์การเขียนโปรแกรม  ประกอบด้วย 5 ขั้นตอนคือ
1.
) ทำความเข้าใจและวิเคราะห์ปัญหา
ก่อนที่นักเรียนจะลงมือเขียนโปรแกรมนั้น  นักเรียนจะต้องทำความเข้าใจและการวิเคราะห์ปัญหาเป็นสิ่งที่สำคัญเพราะผู้เขียนโปรแกรมจะต้องวิดเคราะห์ปัญหาร่วมกับนักวิเคราะห์ระบบว่าโจทย์ต้องการผลลัพธ์อะไร การที่จะได้มาซึ่งผลลัพธ์นั้น ต้องป้อนข้อมูลอะไรบ้าง และเมื่อป้อนข้อมูลเข้าไปแล้วจะทำการประมวลผลอย่างไรสิ่งเหล่านี้ผู้เขียนโปรแกรมจะต้องทำความเข้าใจให้ถูกต้อง เพราะถ้าผู้เขียนโปรแกรมวิเคราะห์ปัญหาไม่ถูกต้อง ผลลัพธ์ก็อาจจะไม่ตรงกับความต้องการของโจทย์ได้กำหนดแผนการแก้ปัญหา
2.
)  กำหนดแผนในการแก้ปัญหา
                เมื่อทำความใจและวิเคราะห์ปัญหาโจทย์จนได้ข้อสรุปว่าโจทย์ต้องการอะไรแล้ว  ก็ทำการกำหนดแผนในการแก้ไขปัญหาโดยการเขียนผังงาน
( Flowchart )  การเขียนผังงานคือ  การเขียนแผนภาพที่เป็นลำดับเพื่อแสดงขั้นตอนการทำงานของโปรแกรมเพื่อให้ง่ายต่อการทำความเข้าใจ การเขียนผังงานมี 3 แบบคือแบบเรียงลำดับ ( Sequential )  แบบมีการกำหนดเงื่อนไข ( Condition ) และ แบบมีการทำงานวนรอบ ( Looping) มีดังนี้คือ





ตัวอย่าง การเขียนผังงานแบบเรียงลำดับ   
ผังงานการบวกเลข
2 จำนวน
1.
Start  เริ่มต้นการทำงาน
2. x = 5 และ y = 3 กำหนดค่าให้ตัวแปร x มีค่าเป็น 5
ตัวแปร y  มีค่าเท่ากับ 3
3.
 z = x + y เมื่อ x + y ได้ค่าเท่าไรให้นำไปเก็บไว้ที่ตัวแปร Z
4. แสดงค่าที่เก็บไว้ฝนตัวแปร Z
5. จบการทำงาน


ตัวอย่างการเขียนผังงานแบบเงื่อนไขโดยรับค่าความสูงถ้าความสูงมีค่า1-150 CM.
(แสดงว่าเตี้ยถ้าเกินแสดงว่าสูง)
ผังงานรับค่าความสูง
1.
Start เริ่มต้นการทำงาน
2. รับค่าความสูงมาเก็บไว้ฝนตัวแปร
tall
3. ตรวจสอบเงื่อนไขว่าความสูงอยู่ในช่วง 1 – 150 หรือไม่  


4.ถ้าใช่แสดงข้อความ
Your are short ถ้าไม่ใช่
พิมพ์
You are tall
5.  Stop จบการทำงาน


 




3.)  เขียนโปรแกรมตามแผนที่กำหนด
               
เมื่อนักเรียนเขียนผังงานเสร็จเรียบร้อยแล้ว  ขั้นตอนต่อไปคือการเขียนโปรแกรมตามผังงานที่ได้กำหนดเอาไว้  ในกรณีที่เขียนด้วยภาษา C การเขียนโปรแกรมก็ต้องเป็นไปตามกฎเกณฑ์และ
โครงสร้างของภาษาซี
4.) ทดสอบและตรวจสอบความถูกต้องของโปรแกรม
               
เมื่อนักเรียนเขียนโปรแกรมเสร็จให้ทดลองคอมไฟล์โปรแกรมว่ามีจุดผิดพลาดที่ใดบ้างในภาษาซีการคอมไพล์โปรแกรมจะใช้วิธีการกดปุ่ม  Alt  + F9  ในกรณีที่มีข้อผิดพลาดจะแสดงในช่องด้านล่างของหน้าจอคอมพิวเตอร์ในส่วนของกรอบ  message ให้อ่านทำความเข้าใจ  และแก้ไขตามที่โปรแกรมแจ้งข้อมูลผิดพลาดเมื่อเสร็จแล้วให้ทดลองรันโปรแกรม
5.)   นำโปรแกรมที่ผ่านการทดสอบไปใช้งาน
                ถ้าโปรแกรมแล้วใช้งานได้แสดงว่าไฟล์ที่มีส่วนขยายเป็น EXE เพื่อนำไปทดสอบงานในที่ต่างๆ 
ถ้านำไปใช้งานแล้วมีปัญหาก็ให้แก้ไขอีกครั้ง  แต่ถ้าไม่มีปัญหาแสดงว่าโปรแกรมนี้ใช้งานได้อย่างสมบูรณ์ให้ทำคู่มือประกอบการใช้งานและนำไปเผยแพร่ต่อ

ตัวอย่าง หลักการเขียนโปรแกรม
โจทย์  :  จงเขียนโปรแกรมรับค่าเลขจำนวนเต็ม 2 จำนวนและหาผลบวกของเลขทั้ง  2   จำนวนนั้น
1. ทำความเข้าใจและวิเคราะห์ปัญหา
                ขั้นตอนนี้ถือว่าเป็นขั้นตอนที่สำคัญที่สุด  ผู้เขียนโปรแกรมต้องวิเคราะห์ปัญหาให้ออกว่าจะต้องทำการเขียนโปรแกรมเพื่อแก้ปัญหาอะไร  เพราะหากวิเคราะห์หรือมองปัญหาผิดแล้ว จะทำให้เขียนโปรแกรมได้ผลลัพธ์ออกมาผิดไปจากส่วนที่ต้องการด้วย  และวิเคราะห์ข้อมูลที่จะนำเข้ามาใช้ในโปรแกรมว่ามีอะไรบ้าง  จากโจทย์ดังกล่าวข้างต้น สามารถวิเคราะห์ได้ 2  ส่วน คือ

1.) ต้องรับข้อมูลเลขจำนวนเต็ม  2    ตัวเข้ามาในโปรแกรม
วิเคราะห์   กำหนดให้ 
x  เก็บเลขจำนวนเต็มตัวที่   1
                    กำหนดให้  y  เก็บเลขจำนวนเต็มตัวที่   2
2.) เลขจำนวนเต็มตัวที่ 1  +  เลขจำนวนเต็มตัวที่  2  มีค่าเท่ากับเท่าไหร่
วิเคราะห์    กำหนดให้ 
 sum   เก็บค่าผลบวกของเลขจำนวนเต็มทั้ง  2  จำนวนคือ
               
     sum   =    x    +    y
2. กำหนดแผนงานในการแก้ปัญหา
           การวางแผนงาน คือ การนำปัญหาที่วิเคราะห์ได้จากขั้นตอนที่  1  มาวางแผนอย่างเป็นขั้นตอนว่า
 จะต้องเขียนโปรแกรมเพื่อแก้ปัญหาอย่างไร การวางแผนอย่างเป็นขั้นตอนนี้เรียกว่า อัลกอริทึม

(Algorithm) ซึ่งอัลกอริทึมแบ่งเป็น  2  รูปแบบ  คือ ซูโดโค๊ด และ โฟลว์ชาร์ต
Start
                2.1 ) ซูโดโค้ด  ( Pseudo  Code ) คือ การเขียนอัลกอริทึมโดยใช้ประโยคภาษาอังที่สื่อความหมายง่ายๆ  สามารถอ่านแล้วเข้าใจได้โดยทันที  จากโจทย์สามารถเขียนชูโดโค้ดได้ดังนี้
START   ---> READ X   --->   READ Y  --->   COMPUTE  SUM = X + Y ---> PRINT  SUM ---> STOP
จะเห็นได้ว่าเมื่ออ่านซูโดโค้ดแล้วสามารถเข้าใจได้ทันที่ว่าขั้นตอนการเขียนโปรแกรมเป็นอย่างไร
                2.2 ) โฟลว์ชาร์ต (
Flowchart) คือการเขียนอัลกอริทึมโดยใช้สัญลักษณ์รูปภาพเป็นความหมายสามารถเขียนโฟลว์ชาร์ตได้ดังนี้

       






 



               

3.เขียนโปรแกรมตามแผนที่กำหนด (Coding)เป็นการนำอัลกอริทึม                     
จากขั้นตอนที่ 2 มาเขียนโปรแกรมให้ถูกต้อง
ตามหลักไวยากรณ์ (syntax) ของโปรแกรมในภาษาซีดังนี้

1:  #include<stdio.h>                       
2:  void  main ())
3:  {                                                      
4:  int x,y,sum ;                                 
5:  printf (“Value  of x is  : ”) ;    
6. 
scanf (“%d”  , &x) ;                  
7.  Pritntf (“value of y is   : ”) ;   
8. 
scanf (“%d” ,&y) ;                     
9.  Sum  =  x  +  y  ;                       
10. Printf (“sum of %d + %d is %d \n”, x,y,sum) ;
11. }
      
                                               
หากนำโปรแกรมมาพิจารณา  จะพบว่าการเขียนโปรแกรม
มีขั้นตอนเป็นไปตามขั้นตอนของอัลกอริทึมที่ได้วิเคราะห์ขั้น                                                 

ทุกประการ                                                                          

4.ทดสอบและตรวจสอบความถูกต้องของโปรแกรม
                เป็นการนำผลลัพธ์จากขั้นตอนที่ 3  มาทำการรัน
จากนั้นทดสอบโดยป้อนค่า 
x  และ  y  เข้าไปในโปรแกรม 
ทำการตรวจสอบผลลัพธ์ที่ได้ว่าถูกต้องหรือไม่ โดยทดสอบ
หลายๆครั้ง หากผลลัพธ์ที่ได้ถูกต้องแสดงว่าโปรแกรมที่เขียนขึ้น
ถูกต้องแล้ว  แต่หาผลลัพธ์ถูกบ้างหรือผิดทุกครั้ง แสดงว่าโปรแกรม
ที่เขียนขึ้นมีข้อผิดพลาด ผู้เขียนโปรแกรมต้องกลับไปตรวจสอบโปรแกรมใหม่
จากการเขียนโปรแกรมดังกล่าวสามารถทดสอบได้ดังนี้ผลลัพธ์โปรแกรมจากการรันโปรแกรมครั้งที่ 1 Value  of    x    is   :   5    Value  of    y     is   :   7   Sum    of   5   +   7    is   12
ผลลัพธ์ของโปรแกรมจากการรันโปรแกรมครั้งที่  2
Value   of   x   is   :   10   Value   of   y   is   :   26   Sum   of   10   +   26   is   36
5. นำโปรแกรมที่ผ่านการทดสอบไปใช้งาน
      หลังจากที่ทดสอบโปรแกรมจนได้โปรแกรมที่มีความถูกต้องตามต้องการแล้ว  เราก็สามารถนำโปรแกรมนั้นไปใช้งานได้ แต่ก่อนนำไปใช้งานนั้นผู้เขียนโปรแกรมต้องจัดทำคู่มือการใช้งานโปรแกรมนั้นก่อน  เพื่อที่จะช่วยให้ผู้ที่ศึกษาโค๊ดของโปรแกรมทำได้ง่าย  และเป็นประโยชน์มากในการพัฒนาโปรแกรมต่อไปในอนาคต  ดังนั้นผู้เขียนโปรแกรมจึงควรจัดทำคู่มือให้มีรายละเอียดมากที่สุด


ขั้นตอนการทำงานของโปรแกรมโปรแกรมภาษาซี
                ขั้นตอนการทำงานของภาษา C เริ่มต้นทำงานขั้นตอนแรกด้วยการเขียนโปรแกรมลงบนเอดิเตอร์ที่เรียกว่า  Source Code  แล้วทำการบันทึกไฟล์ เมื่อบันทึกเสร็จแล้ว  ให้ทำการคอมไฟล์โปรแกรมเพื่อแปลง Source Code  ให้เป็น Object Code  แล้ว  โปรแกรมจะทำการ Link  เชื่อจ่อกับชุดคำสั่งเสริมที่อยู่ใน 
Library File  ถ้าไม่มี  ข้อผิดพลาด  จะได้ไฟล์ที่มีส่วนขยายเป็น  EXE  สามารถรันโปรแกรมใช้งานได้

   




  เกี่ยวกับองค์ประกอบของโปรแกรม 
 1.โครงสร้างของโปรแกรม
         โปรแกรมภาษาซีมีองค์ประกอบที่สำคัญ 2 ส่วนคือไฟล์ส่วนหัวโปรแกรม และไฟล์โปรแกรม ไฟล์ส่วนหัวโปรแกรมเป็นไฟล์ที่ใช้เก็บไลบราลีเพื่อใช้รวม (include) ในการคอมไพล์โปรแกรมซึ่งจะมีส่วนขยายเป็น *.h มีชื่อเรียกว่า Compiler Directive ไฟล์โปรแกรมจะเริ่มต้นด้วยฟังก์ชัน main() และตามด้วยเครื่องหมายปีกกาเปิด เพื่อเริ่มต้นเขียนโปรแกรม การเขียนโปรแกรมจะต้องเขียนด้วยอักษาภาษาอังกฤษตัวพิมพ์เล็กเสอม และเมื่อจบประโยคคำสั่ง จะใช้เครื่องหมายเซมิโคล่อน ( ; ) ในการคั่นแต่ละคำสั่ง ภายในโปรแกรมจะประกอบด้วยฟังก์ขันและส่วนของคำอธิบาย เมื่อเขียนคำสั่งเสร็จจะปิดท้ายโปรแกรมด้วยเครื่องหมายปีกกาปิดเสมอ  รูปภาพ แสดงโครงสร้างของโปรแกรมภาษาซี

#include<library>
/* ไฟล์ส่วนหัวโปรแกรม*/

void main(void)
/*ฟังก์ชันหลักของโปรแกรม*/

{
/*เริ่มต้นการเขียนโปรแกรมด้วยเครื่องหมายปีกกาเปิด*/

    variable declaration;
/*การประกาศค่าตัวแปรที่ใช้ในโปรแกรม*/

    program statement;
/*ประโยคคำสั่งในโปรแกรม*/

}
/*จบการเขียนโปรแกรมด้วยเครื่องหมายปีกกาปิด*/

#include<library>

เป็นส่วนหัวหัว โปรแกรมที่จะต้องเขียนไว้เพื่อให้ใช้งานฟังก์ชันต่างๆ ในกรณีที่ต้องการทราบว่าฟังก์ชันใดถูกนิยามไว้ที่ใดให้ทำแถบสีที่ฟังก์ชัน ดังกล่าวและกดปุ่ม Ctrl+f1
main
เป็นฟังก์ชันหลักของโปรแกรม
( )
ภายในวงเล็บเป็นค่าพารามิเตอร์ที่จะส่งผ่านไปทำงานยังฟังก์ชันอื่นๆ ถ้าไม่มีการ
ใส่ค่าแสดงว่าไม่ต้องการมีค่าพารามิเตอร์
{
ปีกกาเปิดแสดงการเริ่มต้นการเขียนโปรแกรม
variable declarations
ประกาศตัวแปร
program statement
การเขียนประโยคคำสั่ง
}
ปีกกาปิดแสดงการจบการเขียนโปรแกรม
/*ข้อความ*/

คำอธิบายโปรแกรม ใช้ในการอธิบายความหมายของคำสั่งหรือสิ่งที่ต้องการเขียน
ไว้กันลืมจะไม่มีผลใดๆกับโปรแกรม แต่การเขียนจะต้องเริ่มต้นด้วยเครื่องหมาย /* และจบด้วยเครื่องหมาย*/

2.        ตัวแปร (variable) 
คือชื่อที่ผู้เขียนโปรแกรมตั้งขึ้น เพื่อใช้เก็บค่าที่ต้องการนำมาใช้งานในการเขียนโปรแกรม เพื่อทำการประมวลผลข้อมูล โดยมีกฎในการตั้งชื่อตัวแปรดังนี้
1.
ต้องขึ้นต้นด้วยตัวอักษร ตัวต่อไปอาจจะเป็นตัวอักษรหรือตัวเลขก็ได้
2.
ห้ามใช้สัญลักษณ์อื่นใด ยกเว้นเครื่องหมายสตริงก์ ($) และขีดล่าง (Underscore)
3.
ตัวแปรอักษรภาษาอังกฤษตัวพิมพ์เล็กและตัวพิมพ์ใหญ่มีความหมายแตกต่างกัน
4.
ห้ามเว้นวรรคระหว่างตัวแปร
5.
ห้ามตั้งชื่อซ้ำกับคำสงวนในภาษาซี
               
ก่อนที่จะนำตัวแปรไปใช้งาน ในภาษาซีจะต้องมีการประกาศค่าตัวแปรให้สอดคล้องกับข้อมูลที่จะนำไปใช้โดยมีรูปแบบดังนี้
รูปแบบ
Type varible name
type
ชนิดของตัวแปร ซึ่งอาจจะป็น char, int, float, double หรือตัวแปรชนิดอื่นๆ เป็นต้น
variable name
ชื่อของตัวแปร ถ้ามีมากกว่า 1 ตัวให้ใช้เครื่องหมายคอมม่าคั่น

ตัวอย่างการประกาศตัวแปร
char n;
ประกาศค่าตัวแปรชื่อ n เป็นข้อมูลชนิด character
float a,b,c;
ประกาศค่าตัวแปรชื่อ a,b,c เป็นข้อมูลชนิด float
int number=1;
ประกาศค่าตัวแปรชื่อ number เป็นข้อมูลชนิด integer และกำหนดให้ตัวแปร count มีค่าเท่ากับ 1
char name[15];
ประกาศตัวแปรชื่อ name เป็นลักษณะตัวแปรชุดเก็บชื่อยาวไม่เกิน 15 ตัวอักษร
3.        ชนิดข้อมูล
1
ข้อมูลชนิดตัวอักษร (Character)
คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็ม ได้แก่ ตัวอักษร ตัวเลขและกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต ์
2

ข้อมูลชนิดจำนวนเต็ม (Integer)

คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ และศูนย์ ข้อมูลชนิดจำนวนเต็มใช้พื้นที่ในการเก็บข้อมูล ขนาด 2 ไบต์
3
ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer)
คือข้อมูลที่เป็นเลขจำนวนเต็ม ใช้พื้นที่ในการเก็บเป็น 2 เท่าของ Integer คือมีขนาด 4 ไบต์
4
ข้อมูลชนิดเลขทศนิยม (Float)
คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5
ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double)
คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บข้อมูลเป็น 2 เท่าของ float คือมีขนาด 8 ไบต์





4.        รหัสควบคุม
สำหรับรูปแบบของรหัสควบ คุมนั้น จะเริ่มต้นด้วยตัวอักษร back slash(\) จากนั้นก็ตามด้วยตัวอักษรพิเศษ รหัสควบคุมที่นิยมใช้กันทั่วไปมีดังนี้คือ
ค่าคงที่ตัวอักษร
รหัสควบคุม
Bell(Alert)
\a
Backspace
\b
Horizontal tab
\t
Newline(Line Feed)
\n
Vertical tab
\v
Form feed
\f
Carriage return
\r
Quotation mark(“)
\”
Apostrophe(‘)
\'
Null
\0
5.    ฟังก์ชัน
ฟังก์ชัน clrscr(); เป็นฟังก์ชันที่ใช้ในการลบจอภาพ

ฟังก์ชัน printf(); เป็นฟังก์ชันที่ใช้ในการแสดงผลข้อมูลที่อยู่ในตัวแปร ค่าคงที่ และนิพจน์ออกจอภาพ
ตัวอย่างที่ 1
printf(“Lampang”);   ความหมาย แสดงข้อความ Lampang ออกทางจอภาพ
ตัวอย่างที่ 2
printf(“%d”,num);     ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่ 3
printf(“5.2f”,area);   ความหมาย แสดงค่าที่เก็บอยู่ในตัวแปร area โดยจองพื้นที่ไว้ 5 ช่อง
                                                ทศนิยม 2 ตำแหน่ง

ฟังก์ชัน scanf(); เป็นฟังก์ชันที่ใช้ในการรับข้อมูลจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปร
ตัวอย่าง
scanf(“%d”,&num);   ความหมาย รับค่าตัวเลขจำนวนเต็มแล้วนำมาเก็บไว้ในตัวแปร num

ฟังก์ชัน getch();  เป็นฟังก์ชันที่ใช้ในการรอรับการกดแป้นพิมพ์หนึ่งครั้ง โดยไม่ต้องกดปุ่ม Enter
                          และตัวอักษรที่ป้อนเข้ามาจะไม่ปรากฏบนจอภาพ

ฟังก์ชัน getchar(); เป็นฟังก์ชันที่ใช้ในการรับข้อมูลเข้ามาทางแป้นพิมพ์ทีละ 1 ตัวอักษร แล้วกด Enter 1 ครั้ง
                            ข้อมูลที่ป้อนจะแสดงบนจอภาพ

ฟังก์ชัน gets();  เป็นฟังก์ชันที่ใช้ในการรับข้อมูลที่เป็นข้อความจากแป้นพิมพ์เข้ามาเก็บไว้ในตัวแปรแบบอาเรย์
                        การใช้ฟังก์ชัน gets(); จะต้องมีการประกาศตัวแปรแบบอาเรย์ และกำหนดจำนวนตัวอักษรที่ต้องการป้อน
                        โดยคอมพิวเตอร์จะจองพื้นที่ไว้ตามจำนวนตัวอักษร แต่จะป้อนได้น้อยกว่าที่จองไว้ 1 ตัว เพื่อให้ตัวแปรเก็บ 0
                        อีก 1 ตัว

ฟังก์ชัน textcolor();  เป็นฟังก์ชันที่ใช้ในการกำหนดสีตัวอักษร โดยจะต้องใช้ร่วมกับฟังก์ชัน cprintf ซึ่งมีสีต่างๆ ให้เลือก
                               ตัวเลขค่าสีอาจจะพิมพ์เป็นตัวเลขหรือชื่อสีเป็นภาษาอังกฤษตัวพิมพ์ใหญ่ก็ได้
ตัวอย่างที่ 1
textcolor(4);
cprintf(“Lampang”);
ความหมาย แสดงข้อความ Lampang เป็นสีแดง
ตัวอย่างที่ 2
textcolor(MAGENTA);
cprintf(“BANGKOK”);
ความหมาย แสดงข้อความ BANGKOK เป็นสีม่วง

ตัวเลขค่าสี
สีที่ปรากฏ
0
(BLACK) ดำ
1
(BLUE) น้ำเงิน
2
(GREEN) เขียว
3
(CYAN) ฟ้า
4
(RED) แดง
5
(MAGENTA) ม่วง
6
(BROWN) น้ำตาล
7
(LIGHTGRAY) เทาสว่าง
8
(DARKGRAY) เทาดำ
9
(LIGHTBLUE) น้ำเงินสว่าง
10
(LIGHTGREEN) เขียวสว่าง
11
(LIGHTCYAN) ฟ้าสว่าง
12
(LIGHTRED) แดงสว่าง
13
(LIGHTMAGENTA) ม่วงสว่าง
14
(YELLOW) เหลือง
15
(WHITE) ขาว

ฟังก์ชัน cprintf(); เป็นฟังก์ชันที่ใช้ในการพิมพ์ข้อความเหมือนฟังก์ชัน printf แต่จะแสดงเป็นสีต่างๆ ตามที่กำหนดไว้ในฟังก์ชัน                           textcolor การใช้ฟังก์ชัน cprintf ต้องกำหนดสีของตัวอักษรใน ฟังก์ชัน textcolor ก่อน
ตัวอย่างที่ 1
textcolor(5);
printf(“Lampang”);   ความหมาย แสดงข้อความ Lampang ออกทางจอภาพ
ตัวอย่างที่ 2
textcolor(15);
printf(“%d”,num);    
ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่ 3

textcolor(7);
printf(“5.2f”,area);  
ความหมาย แสดงค่าที่เก็บอยู่ในตัวแปร area โดยจองพื้นที่ไว้ 5 ช่อง
                                                ทศนิยม 2 ตำแหน่ง

ฟังก์ชัน textbackground(); เป็นฟังก์ชันที่ใช้ในการกำหนดสีพื้นให้กับตัวอักษร
ตัวอย่าง
textbackground(14)
ความหมาย กำหนดสีพื้นเป็นสีเหลือง



บทที่ 4  เกี่ยวกับการตรวจสอบเงื่อนไข
เงื่อนไขแบบทางเลือกเดียว (ฟังก์ชัน if ทางเลือกเดียว) จะทำการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งภายในวงเล็บปีกกา แต่ถ้าเป็นเท็จจะข้ามไปทำชุดคำสั่งถัดไป ซึ่งประโยคคำสั่งภายในวงเล็บปีกกาอาจจะมีเพียงประโยคคำสั่งเดียว หรือหลายประโยคคำสั่งก็ได้ ถ้ามีเพียงประโยคคำสั่งเดียวจะไม่ใส่เครื่องหมาย ปีกกาเปิดและปิด
รูปแบบ if (เงื่อนไข)
{
   ประโยคคำสั่ง
1;
   ประโยคคำสั่ง
2;
   ประโยคคำสั่ง n
}
ตัวอย่างโปรแกรม การเขียนโปรแกรมในการตรวจสอบคะแนน โดยใช้เงื่อนไขแบบทางเลือกเดียว
โปรแกรม






 ผลการรันโปรแกรม    








ฟังก์ชัน if ตรวจสอบเงื่อนไขสองทางเลือก 
   เงื่อนไขแบบสองทางเลือก (ฟังก์ชัน if  สองทางเลือก) จะทำการตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งชุดที่ 1 ถ้าเป็นเท็จจะทำงานตามประโยคคำสั่งชุดที่ 2 ที่อยู่หลัง Else

รูปแบบ         if (เงื่อนไข)
                        {
                           ประโยคคำสั่งชุดที่ 1;
                        }
                     else
                        {
                            ประโยคคำสั่งชุดที่ 2;
                        }

ตัวอย่างโปรแกรม การตรวจสอบคะแนนโดยใช้เงื่อนไขแบบสองทางเลือก
โปรแกรม      

       






 การทำงานของโปรแกรม
       เมื่อรันโปรแกรมเครื่องจะแสดงข้อความ Enter mark :___ ให้ป้อนค่าคะแนนเข้าไป ถ้าป้อนตัวเลขที่มีค่ามากกว่า หรือเท่ากับ 50 จะแสดงข้อความ You pass แต่ถ้าป้อนค่าตัวเลขน้อยกว่า 50 จะแสดงข้อความ You don't pass ไม่ว่าเงื่อนไขจะเป็นจริงหรือเท็จก็จะแสดงข้อความ Thank you so much

ผลการรันโปรแกรม





                                                                                                         

        ฟังก์ชัน if ตรวจสอบเงื่อนไขหลายทางเลือก 
    เงื่อนไขแบบหลายทางเลือก (ฟังก์ชัน if หลายทางเลือก) จะทำการตรวจสอบเงื่อนไขตามประโยคคำสั่งชุดที่ 1 ถ้าเงื่อนไขเป็นจริงจะทำงาน ตามประโยคคำสั่งชุดที่ 1 ถ้าเป็นเท็จจะทำการตรวจสอบเงื่อนไขต่อไป ตามประโยคคำสั่งชุดที่ 2 ถ้าเงื่อนไขชุดที่ 2  เป็นจริงจะทำงานตามประโยคคำสั่งชุดที่ 2 แต่ถ้าเป็นเท็จอีกก็จะตรวจสอบเงื่อนไขชุดที่ 3 ต่อไปจนถึงเงื่อนไขสุดท้าย ถ้าตรงกับเงื่อนไขใดก็จะทำงานตามประโยคคำสั่งชองชุดเงื่อนไขนั้น
รูปแบบ           
if (เงื่อนไข)
                            {
                               ประโยคคำสั่งชุดที่ 1;
                            }
                         else if
                                    {
                                       ประโยคคำสั่งชุดที่ 2;
                                    }
                                 else
                                    {
                                       ประโยคคำสั่งชุดที่ 3
                                     }

ตัวอย่างโปรแกรม การตรวจสอบคะแนนโดยใช้เงื่อนไขแบบหลายทางเลือก
โปรแกรม





การทำงานของโปรแกรม
เมื่อรันโปรแกรมเครื่องจะแสดงข้อความ Input mark :ให้ป้อนค่าคะแนนเข้าไป ถ้าป้อนตัวเลขที่มีค่า >= 80
จะแสดงข้อความ Grade = A แต่ถ้าป้อนตัวเลข >=70 จะแสดงข้อความ Grade = B แต่ถ้าป้อนตัวเลข >=60
จะแสดงข้อความ Grade = C แต่ถ้าป้อนตัวเลข >= 50 จะแสดงข้อความ Grade = D แต่ถ้าไม่ใช่ทุกเงื่อนไข
ที่กล่าวมาให้แสดงข้อความ Grade = F

ผลการรันโปรแกรม
   


ฟังก์ชันตรวจสอบเงื่อนไขแบบ switch 
   ในส่วนของฟังก์ชัน switch จะทำการตรวจสอบตัวแปรว่ามีค่าเท่ากับ case ใด ถ้าตรงกับ case ใดก็จะทำงานตามประโยคคำสั่งของ case นั้น การเปรียบเทียบของฟังก์ชัน switch ไม่สามารถเปรียบเทียบค่ามากกว่า น้อยกว่า เหมือนฟังก์ชัน if ได้ และที่สำคัญตัวแปรที่นำมาใช้กับฟังก์ชัน switch จะต้องเป็นข้อมูลชนิดเลขจำนวนเต็ม หรือตัวอักษรเท่านั้น ดังนั้น a1, a2 และ a3 อาจจะเป็นค่าคงที่ ตัวอักษร
รูปแบบ        switch(ตัวแปร)
                     {
                          case a1;
                               ประโยคคำสั่ง 1;
                               break;
                           case a n;
                               ประโยคคำสั่ง n;
                               break;
                            default;
                                ประโยคคำสั่ง ;
                         }

   ฟังก์ชัน switch จะทำการตรวจสอบเงื่อนไข case a1 ว่าถูกต้องตรงกับเงื่อนไขหรือไม่ ถ้าตรงตามเงื่อนไขจะทำงานตามประโยคคำสั่งชุดที่ 1 ในกรณีที่ไม่ตรงกับ case a1 ก็จะทำการตรวจสอบเงื่อนไขไปจนถึง case สุดท้าย ถ้าไม่ตรงกับ case ใดเลย โปรแกรมจะไปทำงานตามประโยคคำสั่งชุดที่4 ซึ่งเป็นประโยคคำสั่งที่อยู่หลัง default :
ตัวอย่างโปรแกรม การเขียนโปรแกรมบวก ลบ คูณ และหาร ตัวเลข 2 จำนวนโดยใช้คำสั่งตรวจสอบเงื่อนไข switch
โปรแกรม



การทำงานของโปรแกรม
         เมื่อรันโปรแกรมเครื่องจะแสดงเมนูหลักของโปแกรม บวก ลบ คูณ และหาร พร้อมทั้งข้อความ Please Select Choice เพื่อให้เลือกรายการเมนู ให้ป้อนตัวเลข
1 เพื่อเลือกโปรแกรมบวก , 2 เลือกโปรแกรมลบ , 3 เลือกโปรแกรมคูณ , 4 เลือกโปรแกรมหาร
ในกรณีที่เลือกหมายเลข
1,2,3 หรือ 4 โปรแกรมจะให้ป้อนตัวเลข 2 จำนวนเพื่อนำไปคำนวณและถ้าเลือก 0 โปรแกรมจะใช้ฟังก์ชัน exit(0) ในการออกจากโปรแกรม แต่ถ้าเลือกหมายเลขที่ไม่ใช่ 0,1,2,3 และ4
 จะแสดงข้อความ Please select only program 1-4 หมายความว่าให้เลือกเฉพาะหมายเลข 1-4 เท่านั้น
ผลการทำงาน
 
    ขั้นตอนที่ 1                                             ขั้นตอนที่ 2 เลือกเมนูที่ 3   Program Multification
                                                                                      

   
 










                                                                                                                                                                                         

     ขั้นตอนที่ 3 รับค่า num1 และ num2                                                     ขั้นตอนที่ 4 แสดงผลลัพธ์ของการคูณ
   






ฟังก์ชันตรวจสอบเงื่อนไขแบบ goto
     ฟังก์ชัน goto สั่งให้คอมพิวเตอร์ไปทำงานตามประโยคคำสั่งหรือชื่อที่กำหนดขึ้นโดยไม่มีเงื่อนไขใดๆ
รูปแบบ               goto ชื่อที่กำหนด;
ตัวอย่าง              loop:       ประโยคคำสั่ง 1;
                                     ประโยคคำสั่ง 2;
                                     ประโยคคำสั่ง 3;
                                             |
                                             |
                                      ประโยคคำสั่ง n;
                          Goto loop;
                                      ประโยคคำสั่ง n;
ตัวอย่างโปรแกรม การเขียนโปรแกรม บวก ลบ คูณ และหาร ตัวเลข 2 จำนวน โดยใช้คำสั่ง goto สั่งให้คอมพิวเตอร์ไปทำงานยังบรรทัดที่กำหนด
โปรแกรม










การทำงานของโปรแกรม
           เมื่อรันโปรแกรมเครื่องจะแสดงเมนูหลัก (Main Menu) ให้เลือก 4 เมนู พร้อมกับข้อความ Pleaseselect choice เพื่อให้เลือกรายการเมนูให้ป้อนตัวเลข 1 เพื่อเลือกโปรแกรมบวก 2 เลือกโปรแกรมลบ 3 เลือกโปรแกรมคูณ, 4 เลือกโปรแกรมหาร ในกรณีที่เลือกหมายเลข 1,2,3 หรือ 4 โปรแกรมจะให้ป้อนตัวเลข 2 จำนวนเพื่อนำไปคำนวณ และถ้าเลือก 0 โปรแกรมจะใช้ฟังก์ชัน exit(0) ในการออกจากโปรแกรม แต่ถ้าเลือกหมายเลขที่ไม่ใช่ 0,1,2,3 และ4 จะแสดงข้อความ Please select only program 0-4 หมายความว่าให้เลือกเฉพาะหมายเลข 0-4 เท่านั้น โปรแกรมนี้สามารถทำงานได้หลายครั้งเพราะมีฟังก์ชัน goto สั่งให้ทำงานในบรรทัด loop คล้ายกับการวนรอบการทำงานได้ แต่ถ้าต้องการออกโปรแกรม ก็เลือกป้อนหมายเลข 0 ก็จะสามารถออกจากโปรแกรมได้

ผลการทำงาน
                                 ขั้นตอนที่ 1                ขั้นตอนที่ 2 เลือกเมนูที่ 3 Program Multification
  

   ขั้นตอนที่ 3 รับค่า num1 และ num2                               ขั้นตอนที่ 4 แสดงผลลัพธ์ของการคูณ
  






เกี่ยวกับการวนรอบการทำงาน
ฟังก์ชัน while เป็น ฟังก์ชันที่ใช้ในการวนรอบการทำงานโดยการตรวจสอบเงื่อนไขก่อน ถ้าเงื่อนไข เป็นจริง จะทำงานตามประโยคคำสั่งที่อยู่ภายในปีกกา เมื่อทำงานเสร็จก็จะวนกลับขึ้นไปตรวจสอบเงื่อนไขอีกครั้ง ถ้าเงื่อนไขเป็นจริงก็จะทำงานตามประโยคคำสั่งเหมือนเดิม จะทำงานซ้ำเช่นนี้ไปจนกระทั่งเมื่อวนรอบกลับไปตรวจสอบเงื่อนไขแล้วพบว่า เงื่อนไขเป็นเท็จ ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะไปทำงานตามประโยคคำสั่งที่อยู่หลังปีกกาปิดของชุดคำสั่ง while (ในกรณีที่ประโยคคำสั่งภายในปีกกามีเพียงคำสั่งเดียวไม่ต้องใส่ปีกกาเปิดและปิดก็ได้)
       รูปแบบ    while (เงื่อนไข)
                          {
                              ประโยคคำสั่ง 1 ;                
                              ประโยคคำสั่ง 2 ;
                                    |
                              ประโยคคำสั่ง n ;
                          }
ฟังก์ชัน do_while
 ฟังก์ชัน do_while เป็น ฟังก์ชันที่ใช้ในการวนรอบการทำงานโดยจะทำงานตามประโยคคำสั่งภายในรูปก่อน แล้วจึงทำการตรวจสอบเงื่อนไขถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งที่ อยู่ภายในปีกกา เมื่อทำงานเสร็จก็จะทำการตรวจสอบเงื่อนไขอีกครั้ง ถ้าเงื่อนไขเป็นจริงก็จะทำงานตามประโยคคำสั่งเหมือนเดิมจะทำงานซ้ำเช่นนี้ไป จนกระทั่งเมื่อตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็นเท็จ ถ้าเงื่อนไขเป็นเท็จ โปรแกรมจะทำงานตามประโยคคำสั่งที่อยู่หลังฟังก์ชัน do_while (ในกรณีที่ประโยคคำสั่งภายในปีกกามีเพียงคำสั่งเดียวไม่ต้องใส่ปีกกาเปิดและปิดก็ได้)

       รูปแบบ    do
                          {
                              ประโยคคำสั่ง 1 ;                
                                    |
                              ประโยคคำสั่ง n ;
                          }
                     while (เงื่อนไข)
ฟังก์ชัน for
ฟังก์ชัน for เป็นฟังก์ชันที่ใช้ในการวนรอบการทำงานโดยจะทำการกำหนดค่าให้กับตัวแปร แล้วทำการ
ตรวจสอบเงื่อนไข ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งภายในรูปแล้วทำการเพิ่มหรือลดค่า ตัวแปรแล้วจึงทำการตรวจสอบเงื่อนไขอีกครั้ง ถ้าเงื่อนไขเป็นจริงจะทำงานตามประโยคคำสั่งที่อยู่ภายในปีกกาเมื่อทำงาน เสร็จก็จะทำการตรวจสอบเงื่อนไขอีกครั้ง ถ้าเงื่อนไขเป็นจริงก็จะทำงานตามประโยคคำสั่งเหมือนเดิม จะทำงานซ้ำเช่นนี้ไปจนกระทั่งเมื่อตรวจสอบเงื่อนไขแล้วพบว่าเงื่อนไขเป็น เท็จ โปรแกรมจะทำงานตามประโยคคำสั่งที่หลังปีกกาปิด (ในกรณีที่ประโยคคำสั่งภายในปีกกามีเพียง คำสั่งเดียวไม่ต้องใส่ปีกกาเปิดและปิดก็ได้)
รูปแบบ    for(กำหนดค่าตัวแปร ; ตรวจสอบเงื่อนไข ; เพิ่มหรือลดค่าตัวแปร)
                          {
                              ประโยคคำสั่ง 1 ;                
                              ประโยคคำสั่ง 2 ;
                                    |
                                    |
                              ประโยคคำสั่ง n ;
                          }        

ฟังก์ชัน break
 เมื่อโปรแกรมทำงานมาถึงยังบรรทัดที่มีฟังก์ชัน break จะทำการออกจากการวนรอบทันที ในกรณีที่
มีการกำหนดให้โปรแกรมวนรอบโดยใช้ฟังก์ชัน while, do_while หรือ for โปรแกรมจะต้องทำงานตาม
เงื่อนไขจนกว่าจะเป็นจริง แต่ฟังก์ชัน break  จะทำให้โปรแกรมกระโดดออกจากลูปไปทำงานยังบรรทัดที่
อยู่หลังปีกกาของลูปทันที 

 ฟังก์ชัน continue
 ฟังก์ชัน continue จะทำงานโดยข้ามบางคำสั่งซึ่งอยู่ภายในลูปเพื่อเริ่มต้นการทำงานในรอบถัดไป
เมื่อทำงานร่วมกับฟังก์ชัน while และ do_while จะทำให้คอมพิวเตอร์ไปตรวจสอบเงื่อนไข ส่วนฟังก์ชัน
for จะทำการเพิ่มหรือลดค่าของตัวแปรแล้วค่อยไปทดสอบเงื่อนไข

                                

                                       สรุปผลและอภิปรายผลการทดลอง
       
 จากการศึกษาครั้งนี้ เพื่อวัตถุประสงค์ โรงเรียนนวมินทราชินูทิศ  บดินทรเดชา ในภาคเรียนที่ 1
ปีการศึกษาที่
2556 จึงสามารถสรุปผลอภิปรายผลและข้อเสนอแนะได้ดังนี้
ผลสรุป
1.             ได้รู้ประวัติความเป็นมาของภาษาซี
2.             ได้ศึกษาถึงวิธีการเขียนภาษาซีที่ถูกต้องและชัดเจน
3.             ได้นำเสนอเผยแพร่ข้อมูลดังที่ตั้งใจไว้

ข้อเสนอแนะ
1.             หากมีใครสนใจในเรื่องของภาษาซีหรือใครมีข้อมูลใดๆเพิ่มเติม สามารถนำโครงงานเล่มนี้ไปพัฒนาต่อได้
2.             ภาษาซีเป็นภาษาหนึ่งในภาษาคอมพิวเตอร์ที่น่าสนใจ และควรค่าแก่การเรียนรู้







  แบบฝึกหัด
แบบฝึกหัดที่ 1

1. จงเขียนโปรแกรมเพื่อแสดงรูปแบบดังต่อไปนี้
AAAAA
AAAA
AAA
AA
A
2. จงเขียนโปรแกรมเพื่อรับค่าชื่อ-สกุล และจังหวัด พร้อมนำค่าทั้งหมดมาแสดงผลลัพธ์ดังตังอย่าง
Your name : Somsri Patum
Your home : Patumthanee
Output :My name is Somsri Patum and my home is Patumthanee
3. จงเขียนโปรแกรมเพื่อรับค่าจำนวนเต็ม 2 จำนวนเก็บในตัวแปร แล้วแสดงผลสลับที่กัน ดังตัวอย่าง
Enter 2 number : 2 3
Result : 3 2
4. จงเขียนโปรแกรมเพื่อรับค่าจำนวนเต็ม 3 จำนวน แล้วนำจำนวนเต็มทั้ง 3 มาบวกกันและมีตัวอย่าง
การแสดงผลดังนี้
Enter 3 number : 2 3 12
Result : 2 + 3 + 12 = 17







แบบฝึกหัดที่ 2

1.จงเขียนโปรแกรมรับค่าตัวเลขจากผู้ใช้มา 2 จำนวน จากนั้นแสดงผลบวก ผลต่าง ผลคูณ และผลหาร
ของเลข 2 จำนวนนั้นออกทางจอภาพคนละบรรทัดดังตัวอย่าง
Enter Number 1 : 20   ,   Enter Number 2 : 4
20 + 4 = 24
20 - 4 = 16
20 * 4 = 80
20 / 4 = 5
2. จงเขียนโปรแกรมแปลงปี พ.ศ. เป็นปี ค.ศ. เช่น ถ้าใส่ค่า 2456 โปรแกรมจะต้องแสดงออกมาเป็น
ปี ค.ศ.2003(สูตรในการแปลงปี พ.ศ.เป็นปี ค.ศ. ก็คือ ค.ศ.=พ.ศ.-543)
แบบฝึกหัดที่ 3

1. เขียนโปรแกรมหาพื้นที่รูปสามเหลี่ยม โดยให้มีการรับค่า ความยาวฐาน และความสูงด้วยฟังก์ชั่น scanf
( แล้วแสดงผลการคำนวณทางจอภาพ(สูตรหาพื้นที่รูปสามเหลี่ยม คือ 0.5 x ความยาวฐาน) x สูง
2. จากข้อ  1  ให้เพิ่มการตรวจสอบ คือ ถ้าใส่ค่าความยาวฐานและความสูงน้อยกว่า 1 ให้ฟ้องออกมาว่า "Not Operation "  แต่ถ้าใส่ค่าเข้ามาตั้งแต่  1 ขึ้นไปให้แสดงผลการคำนวณปกติ
3. เขียนโปรแกรมรับค่าตัวเลขมา  2 จำนวน และให้โปรแกรมบอกว่าจำนวนใดมีค่ามากกว่ากัน
ดังตัวอย่างต่อไปนี้
Enter number 1: 20 , Enter number 2: 43  ; 43  > 20
4. เขียนโปรแกรมภาษาซี ถ้ากำหนดให้  a=5, b=2 และ  c=10  หลังจากโปรแกรมทำงานตามส่วนของโปรแกรมต่อไปนี้  a,b และ  c จะมีค่าเท่าไร ให้แสดงคำตอบออกหน้าจอ
if (c != 10)
{
    a=a+1;
      b=b+2;}
else
{   a=a*2;
     b=b*3;   
}
  เฉลยแบบฝึกหัด

เฉลยแบบฝึกหัดที่ 1

1. จงเขียนโปรแกรมเพื่อแสดงรูปแบบดังต่อไปนี้
      A
     AA
   A    A
 AAAAA
A            A

เฉลย  # include <stdio.h>
void main()
{ printf(“     A\n”);
printf(“      A A\n”);
printf(“    A    A\n”);
printf(“  AAAA A\n”);
printf(“ A             A\n”);
}

2. จงเขียนโปรแกรมเพื่อรับค่าชื่อ-สกุล และจังหวัด พร้อมนำค่าทั้งหมดมาแสดงผลลัพธ์ดังตัวอย่าง
Your name : Somsri Patum                   Your home : Patumthanee
Output :My name is Somsri Patum and my home is Patumthanee

เฉลย
#include <stdio.h>
void main()
{ char a[10],b[10];
printf(“ Your name: ”);
scanf(“ %s ”,&a);
printf(“Your home:”);
scanf( %s ”,&b);
printf(“ My name’s %s and my home is %s ”, a, b);
}

3. จงเขียนโปรแกรมเพื่อรับค่าจำนวนเต็ม 2 จำนวนเก็บในตัวแปร แล้วแสดงผลสลับที่กัน ดังตัวอย่าง
Enter 2 number : 2 3
              Result :  3 2
เฉลย 
#include “stdio.h”
void main()
               { int a,b;
                   printf(“Enter 2 number:”);
                   scanf(“%d”,&a);
                    scanf(“%d”,&b);
                    printf(“Result : %d %d\n”,b,a);
                 }

4. จงเขียนโปรแกรมเพื่อรับค่าจำนวนเต็ม 3 จำนวนแล้วนำจำนวนเต็มทั้ง 3 มาบวกกันและมีตัวอย่าง
Enter 3 number : 2 3 12 
               Result : 2 + 3 + 12 = 17

เฉลย
#include <stdio.h>
void main()
{ int a,b,c,d;
printf(“Enter 3 number:”);
scanf(“%d%d%d”,&a, &b, &c);
d=a+b+c;printf(“Result: %d + %d + %d = %d \n”,a,b,c,d);
}




เฉลยแบบฝึกหัดที่ 2

1.จงเขียนโปรแกรมรับค่าตัวเลขจากผู้ใช้มา 2 จำนวน จากนั้นแสดงผลบวก ผลต่าง ผลคูณ และผลหารของเลข 2 จำนวนนั้นออกทางจอภาพคนละบรรทัดดังตัวอย่าง
Enter Number 1 : 20
Enter Number 2 : 4
20 + 4 = 24
20 -4 = 16
20 * 4 = 80
20 / 4 = 5

เฉลย
#include <stdio.h>
int main()
{ int a,b,c,d,e,f;printf("Enter number 1:");
scanf("\n%d",&a);
printf("Enter number 2:");
scanf("%d",&b);
c=a+b;
d=a-b;
e=a*b;
f=a/b;
printf(" %d + %d = %d \n ",a, b, c);
printf(" %d -%d = %d \n ",a, b, d);
printf(" %d * %d = %d \n ",a, b, e);
printf(" %d / %d = %d \n ",a, b, f);
}





2.จงเขียนโปรแกรมแปลงปีพ.ศ. เป็นปีค.ศ.เช่น ถ้าใส่ค่า2455โปรแกรมจะต้องแสดงออกเป็นปีค.ศ.2012 
(สูตรในการแปลงปี พ.ศ.เป็นปี ค.ศ. ก็คือ ค.ศ.=พ.ศ.-543)

เฉลย
#include “stdio.h”
int main()
{ int a,b ;
     printf("\n Enter Buddhist Era:");
     scanf("%d",&a);b=a-543;
     printf("Chirstian Era is %d \n ", b);
}


เฉลยแบบฝึกหัดที่ 3

1. เขียนโปรแกรมหาพื้นที่รูปสามเหลี่ยม โดยให้มีการรับค่า ความยาวฐาน และความสูงด้วยฟังกชั์น scanf
()  แล้วแสดงผลการคํานวณทางจอภาพ(สูตรหาพื้นที่รูปสามเหลี่ยม คือ 0.5 x ความยาวฐาน x สูง)

เฉลย
#include <stdio.h>
                int main()
                                { int a,b;
                                float c;
                                printf("Enter Tan:");
                                scanf("\n%d",&a);
                                printf("Enter Height:");
                                scanf("%d",&b);
                                c=0.5*a*b;
                                printf(" Triangle Area = %.2f \n ",c);
                                }




2. จากข้อ 1 ให้เพิ่มการตรวจสอบ คือ ถ้าใส่ค่าความยาวฐานและความสูงน้อยกว่า 1ให้ฟ้องออกมาว่า "Not Operation " แต่ถ้าใส่ค่าเข้ามาตั้งแต่ 1ขึ้นไปให้แสดงผลการคํานวณปกติ
เฉลย
#include <stdio.h>
                int main()
                                { int a,b;
                                float c;
                                                printf("Enter Tan:");
                                                scanf("\n%d",&a);
                                                                printf("Enter Height:");
                                                                scanf("%d",&b);
                                                                                if (a &&b <=1)
                                                                                                printf("Not Operation\n ");
                                                                                                else
                                                                                                                { c=0.5*a*b;
                                                                                                                         printf(" Triangle Area = %.2f \n ",c);
                                                                                                }
                               

3. เขียนโปรแกรมรับค่าตัวเลขมา 2จํานวน และให้โปรแกรมบอกวาจํานวนใดมีค่ามากกว่ากัน ดังตัวอย่ าง
                                Enter number 1: 20
                                Enter number 2: 43
                                43 > 20
เฉลย
#include <stdio.h>
                int main()
                                { int a,b;
                                                printf("Enter Number1:");
                                                scanf("\n%d",&a);
                                                                printf("Enter Number2:");
                                                                scanf("%d",&b);
                                                                                if (a > b )
                                                                                                printf(" %d > %d\n ",a,b);
                                                                                else
                                                                                                if (b > a )
                                                                                                                printf(" %d > %d\n ",b,a);
                                }

เพิ่มเติม
#include <stdio.h>
  int main()
                { int a,b;
                                printf("Enter Number1:");
                                scanf("\n%d",&a);
                                printf("Enter Number2:");
                                                scanf("%d",&b);
                                                if (a >= b )
                                                                { if (a ==b)
                                                                                printf(" %d = %d\n ",b,a);
                                                                else
                                                                                printf(" %d > %d\n ",a,b);
                                                                }
                                                else
                                                                printf(" %d < %d\n ",a, b);
                }


4. เขียนโปรแกรมภาษาซี ถ้ากาหนดให้  a=5, b=2และ c=10 หลังจากโปรแกรมทํางานตามส่วนของโปรแกรมต่อไปนี้a,b และ c จะมีค่าเท่าไร ให้แสดงคําตอบออกหน้าจอ
เฉลย คําตอบคือ a=10 ,b =6 , c = 10
เขียนโปรแกรมได้ดังนี้
#include "stdio.h"
int main()
{int a,b,c;
a =5;b=2;c=10;
if (c != 10)
                { a=a+1;
                b=b+2;
                }
else
                { a=a*2;
                b=b*3;
                }
  printf(" a =%d =%d c=%d \n",a,b,c);
}




































 















                            

1 ความคิดเห็น:

  1. ขอบคุณคร่ากำลังจะใช้ทำอยู่พอดีเลยค่ะ เนื้อหาดีมากเลยนะค่ะ

    ตอบลบ