วันจันทร์ที่ 29 ธันวาคม พ.ศ. 2557

ภาษาซีเบื้องต้น

     ภาษาซีเบื้องต้น     

                  ภาษาโปรแกรม (Programming Languages) ที่มีการคิดคนขึ้นมาใชกับคอมพิวเตอรนั้นมีหลายพัน ภาษา แตภาษาที่เปนที่รูจักและเปนที่นิยมใชทั่วไปนั้นอาจจะมีเพียงหลายสิบภาษา เชน 
โคบอล (COBOL) ปาสคาล (Pascal) เดลไฟล (Delphi) วิชวลเบสิก (Visual Basic) ซี (C) จาวา (Java) เปนตน ซึ่งแตละภาษา สรางขึ้นดวยวัตถุประสงคที่แตกตางกันและมีจุดเดนของภาษาที่ตางกัน ภาษาซี(C Programming Language) เปนภาษาเชิงโครงสรางที่มีการออกแบบโปรแกรมในลักษณะโมดูลที่มีจุดเดนในเรื่องของประสิทธิภาพการ ทํางานที่เร็ว มีความยืดหยุนในการเขียนโปรแกรมสูง 
                       เนื่องจากมีผูผลิตคอมไพเลอรเพื่อใชแปลภาษาซีหลายบริษัท ตัวอยางตางๆ ที่นําเสนอในหนังสือเลมนี้ เปนตัวอยางที่นําเสนอโดยใชคอมไพเลอรของ Turbo C เวอรชัน 3.0 ของบริษัทบอรแลนด โดยพยายามเขียนใน รูปแบบที่เปนมาตรฐานหากผูอานนําไปใชกับคอมไพเลอรของบริษัทอื่นจะไดมีการปรับแกไมมากนัก เพื่อใหผู อานไดเห็นภาพการพัฒนาโปรแกรมเชิงโครงสรางอยางชัดเจน


taartjechocja8.gif image by MMEEWW1. รูปแบบโปรแกรมภาษาซี

                     ในการเขียนภาษาโปรแกรม ผูเขียนโปรแกรมจะตองศึกษารูปแบบพื้นฐานของภาษา และไวยากรณ ของภาษานั้น รูปแบบพื้นฐานของภาษาจะเขียนโปรแกรมในลักษณะของโมดูลคือมีการแบงออกเปนสวนยอยๆ ที่เรียกวา ฟงกชัน (Function) แสดงดังตัวอยางที่ 1.1 และรูปที่ 1.1

                     ตัวอยางที่ 1.1 แสดงตัวอยางโปรแกรมภาษาซีเบื้องตน 
                    
                    #include 

                     void main( ) { 
                           /* Display message to standard output */ 
                           printf(“My first program.”); 

                     } 

                 
                     ผลการทํางานของโปรแกรม 
                                     My first program. 
                   

            **ระวัง - การพิมพตัวอักษรตัวพิมพใหญและตัวพิมพเล็กตางกัน จะทําใหเกิดความผิดพลาด - ตรวจสอบวามีการพิมพขอความตางๆเหมือนกับตัวอยาง


                     สวนประกอบที่ 1 สวนหัว (Header) จะเปนสวนที่อยูที่ตอนตนของโปรแกรม โดยอยูนอกสวนที่ เรียกวาฟงกชัน ที่สวนหัวของโปรแกรมจะประกอบดวยคําสั่งที่เปนการกําหนดคาหรือกําหนดตัวแปรตาง ๆ คํา สั่งในที่ขึ้นตนดวยสัญลักษณ # เปนคําสั่งที่เรียกวา ตัวประมวลผลกอน (Preprocessor) คือคําสั่งที่จะไดรับการ ทํากอนที่จะมีการคอมไพลโปรแกรม ตัวประมวลผลกอน ที่สําคัญของภาษาซีแบงออกเปน 2 ประเภทดังนี้

                                          ♦# include มักจะเกี่ยวของ กับการรับขอมูล การแสดงผลขอมูล การคํานวณ และอื่น ๆ ซึ่งผูเขียนโปรแกรมสามารถ เรียกใชงานไดทันที โดยไมตองเขียนโปรแกรมแกรมเอง ในตัวอยางจะมีการใชคําสั่ง printf( ) ซึ่งเปนคําสั่งที่ใชแสดงขอความออกทางอุปกรณแสดงผลมาตรฐาน

                                          ♦ # define ใชสําหรับการกําหนดคาคงที่

                      สวนประกอบที่ 2 ฟงกชัน (Function) สวนของฟงกชันคือสวนของคําสั่งที่บอกใหคอมพิวเตอร ทํางานตาง ๆ เชน การรับขอมูล การคํานวณ การแสดงผล เปนตน โปรแกรมภาษาซีจะประกอบดวยฟงกชัน ยอยหลาย ๆ ฟงกชัน แตจะมีฟงกชันหลักฟงกชันหนึ่งที่ชื่อวาฟงกชัน main( ) เสมอ โดยที่การทํางานของ โปรแกรมจะตองเริ่มการทํางานจากฟงกชันนี้


005-5.gif image by MMEEWW 2. ตัวแปร

                     ในการเขียนโปรแกรมคอมพิวเตอรกระบวนการสําคัญที่เกิดขึ้น คือ การรับขอมูล การประมวลผล ขอมูล และการแสดงผลขอมูล จะเห็นวาสิ่งที่เปนสวนสําคัญที่สุดคือขอมูล การทํางานของโปรแกรมขณะใด ขณะหนึ่งจะตองมีการเก็บขอมูลไวในคอมพิวเตอร โดยรับขอมูลจากอุปกรณรับขอมูลไปเก็บไวในสวนที่เรียกวา หนวยความจํา และสงขอมูลจากหนวยความจําไปประมวลผลในหนวยประมวลผลกลาง โดยผานคําสั่งตาง ๆ เมื่อประมวลผลเสร็จแลวก็นําผลลัพธที่ไดกลับมาเก็บไวที่หนวยความจําอีก เมื่อตองการใหแสดงผลก็จะใชคํา สั่งใหไปอานขอมูลจากหนวยความจําสงขอมูลนั้นไปยังอุปกรณแสดงผล 
                     พิจารณาจากตัวอยางการบวกเลข แสดงดังรูปที่ 1.2 โดยใหรับคาจํานวนเต็ม 2 คาจากผูใชและนํา ไปเก็บอยูในหนวยความจําตําแหนงที่ 0 มีคา 15 ตําแหนงที่1 มีคา 30 หากตองการบวกนําคาทั้ง 2 มาบวกกัน และเก็บไวที่ตําแหนงที่ 2 จะตองใชคําสั่งในการบวก สมมติดังตัวอยาง Add 0 , 1 , 2 คือการเอาคา ณ ตําแหนงที่ 0 และ 1 มาบวกกัน และนําไปเก็บที่ตําแหนงที่ 2 จะไดวามีการอานคา 15 จากตําแหนงที่ 0 ไป บวกกับคา 20 จากตําแหนงที่1 ไดผลลัพธคือ 45 นําไปเก็บในตําแหนงที่ 2

cubeani11.gif image by MMEEWW 3. ชนิดของข้อมูล
                     ในการใชงานตัวแปรนั้นสิ่งสําคัญที่จะตองคํานึงถึงคือขอมูลที่เก็บอยูภายในตัวแปรนั้น ขอมูลแตละ ชนิดมีคุณสมบัติแตกตางกันไป เชน เปนเลขจํานวนเต็ม เปนเลขจํานวนจริง เปนตัวอักษร เปนตน ผูเขียน โปรแกรมจะตองกําหนดชนิดขอมูลใหกับตัวแปรโดยสอดคลองกับขอมูลที่ตองการเก็บ ภาษาซีแบงขอมูลออก เปนชนิดตาง ๆ ซึ่งมีขนาดพื้นที่ที่ตองใชเก็บขอมูลในหนวยความจําแตกตางกันขึ้นอยูกับชนิดขอมูลและบริษัทผู ผลิตคอมไพเลอร ซึ่งสามารถดูรายละเอียดไดจากอินคลูชไฟล limits.h และ float.h แสดงดังตาราง1.1

 

                     จากชนิดของขอมูลดังกลาว เมื่อนํามาจัดเปนประเภทขอมูลเราสามารถแบงชนิดของขอมูลในภาษาซี ออกเปนประเภทหลักได 3 ชนิด คือ

                     1. จํานวนเต็ม ไดแกขอมูลชนิด int, short, long, unsigned int, unsigned short และ unsigned long 
                     2. จํานวนจริง คือ ขอมูลที่เปนเลขจํานวนจริง มีทศนิยม หรืออยูในรูปของนิพจนวิทยาศาสตร ได แกขอมูลชนิด float และ double 
                     3. ตัวอักขระและสตริง (String) ไดแกขอมูลชนิด char ซึ่งเก็บขอมูลได1 อักขระ และขอมูลที่เปน ชุดของขอมูล char (Array of char) ที่ใชเก็บสตริงซึ่งจะกลาวถึงตอไป
cakey4.gif image by MMEEWW 4. การใช้ตัวแปร
                     เมื่อตองการใชตัวแปร จะตองมีการประกาศชื่อตัวแปรที่ตองการใชงานนั้น มีรูปแบบคือ 

ประเภทขอมูล ชื่อตัวแปร ; 
                     ตัวอยางของการประกาศตัวแปร เชน 
float score; 
int age; 
char ch; 
float width, height, length; 
                     
                     กรณีที่มีตัวแปรมากกวา 1 ตัวที่มีชนิดเดียวกัน สามารถประกาศไวในคําสั่งเดียวกันไดโดยใชเครื่อง หมาย , คั่นระหวางตัวแปรแตละตัว
การตั้งชื่อตัวแปร

ipod1qz1.gif image by MMEEWW 5. การแสดงผลและการรับข้อมูล

                  5.1 การรับขอมูล

        
               ฟงกชันที่ใชในการรับขอมูลมีรูปแบบของการใชงานคือ 

                                              scanf รูปแบบ , อารกิวเมนต1, อารกิวเมนต2, … ) ; 

                     ในการรับขอมูลผูเขียนโปรแกรมจะตองกําหนดรูปแบบของขอมูลที่ตองการรับซึ่งสอดคลองกับชนิดของ ขอมูลที่ตองการรับเขา โดยที่ผูใชตองสงตําแหนง (หรือแอดเดรสในหนวยความจํา – Address) ของตัวแปรที่ ตองการรับเขาไปยังฟงกชัน โดยระบุในตําแหนงของอารกิวเมนต
                รูปแบบของการรับขอมูลในภาษาซีจะขึ้นตนดวยสัญลักษณ % อยูในเครื่องหมาย “ “ รูปแบบการรับ ขอมูลแสดงไดดังตาราง1.2

                5.2 การแสดงผลขอมูล 
                การแสดงผลขอมูลสามารถทําไดโดยการเรียกใชฟงกชัน printf( ) มีรูปแบบคือ
                                      printf ( รูปแบบ , อารกิวเมนต1 , อารกิวเมนต2 , … ) ;
                ผูเขียนโปรแกรมสามารถสงขอความใด ๆ มายังฟงกชัน print( ) หรือสงตัวแปรมาพิมพคาโดยสงผาน มาทางอารกิวเมนต ใหสอดคลองกับรูปแบบที่กําหนด ตัวอยางเชน 
                                                char name[ ] = “Mickey”; 
                                                int age = 20; 
*                                                printf(“%s is %d years old.”, name, age); 
                ผลลัพธที่ไดคือ
                                Mickey is 20 years old.
                รูปแบบการแสดงผล ในฟงกชัน printf( ) แสดงดังตาราง 1.3


 Cr: http://pittajarn.lpru.ac.th/~nukit/c/CProgrammingV2.pdf

ไม่มีความคิดเห็น:

แสดงความคิดเห็น