วันพุธที่ 17 ธันวาคม พ.ศ. 2557

 หลักการเขียนโปรแกรม  (programming)
ในหัวข้อเรื่องการเขียนโปรแกรมจะกล่าวถึงเนื้อหา  2  ส่วน คือความหมายของโปรแกรมคอมพิวเตอร์  และภาษาคอมพิวเตอร์ดังมีรายละเอียดต่อไปนี้
1.1.3.1 ความหมายของโปรแกรมคอมพิวเตอร์
โปรแกรมคอมพิวเตอร์ (computer  program)    หมายถึง     ชุดของคำสั่งที่เขียนขึ้นเพื่อสั่งให้คอมพิวเตอร์ทำงานตามที่ต้องการ    ส่วนการเขียนโปรแกรม (programming) หมายถึง การเขียนชุดคำสั่งด้วยภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่ง    เพื่อให้คอมพิวเตอร์ทำงานตามโปรแกรมที่เราเขียนขึ้น

ดังนั้น  ผู้เขียนโปรแกรม (programmer)  จึงจำเป็นต้องเรียนรู้ภาษาคอมพิวเตอร์ภาษาใดภาษาหนึ่งหรือหลายภาษา    แล้วฝึกฝนทักษะการเขียนโปรแกรมด้วยภาษาคอมพิวเตอร์ที่ต้องการใช้งานให้เกิดความชำนาญจึงจะสามารถเขียนโปรแกรมคอมพิวเตอร์ได้อย่างมีประสิทธิภาพ
1.1.3.2 ภาษาคอมพิวเตอร์
ภาษาคอมพิวเตอร์ (computer  language)  หมายถึง  ภาษาที่สามารถนำมาใช้เขียนโปรแกรมคอมพิวเตอร์ได้   ซึ่งแต่ละภาษามีรายละเอียดดังต่อไปนี้

1) ภาษาเครื่อง (machine  language)
      ภาษาเครื่องจัดเป็นภาษาคอมพิวเตอร์ภาษาเดียวที่สามารถติดต่อกับคอมพิวเตอร์ได้โดยตรง  เพราะว่าการเขียนคำสั่งและข้อมูลในภาษาเครื่องใช้ระบบเลขฐานสอง (binary number system) คือใช้ตัวเลข และ 1 เท่านั้น   ทำให้เครื่องคอมพิวเตอร์สามารถทำงานได้รวดเร็ว   ส่วนข้อเสียของภาษาเครื่อง  คือ  เครื่องคอมพิวเตอร์ต่างชนิดกันมีลักษณะการเขียนภาษาเครื่องที่แตกต่างกันไป  และเกิดความยุ่งยากในการปรับปรุงแก้ไข  ทำให้เกิดความไม่สะดวกในการใช้งาน    ดังนั้นภาษานี้จึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม
ตัวอย่างที่  1.18  แสดงคำสั่งของภาษาเครื่องมีดังนี้  
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง  9 + 3  แสดงได้ดังนี้
การบวกแทนด้วยรหัส                           10101010
เลข  9  เปลี่ยนเป็นเลขฐานสอง            00001001
เลข  3  เปลี่ยนเป็นเลขฐานสอง            00000011
ดังนั้น  คำสั่ง  9 + 3  เขียนเป็นภาษาเครื่องได้ดังนี้
00001001   10101010   00000011

2) ภาษาแอสเซมบลี (assembly  language)
      ภาษาแอสเซมบลีหรือจะเรียกชื่ออีกอย่างว่าภาษาระดับต่ำ  ซึ่งเป็นภาษาคอมพิวเตอร์ที่พัฒนาขึ้นมาเพื่อให้ผู้เขียนโปรแกรมสามารถเขียนโปรแกรมติดต่อกับคอมพิวเตอร์ได้ง่ายกว่าภาษาเครื่อง    ส่วนการเขียนคำสั่งในภาษาแอสเซมบลีจะใช้คำย่อของภาษาอังกฤษและอ้างถึงตำแหน่งที่อยู่ภายในคอมพิวเตอร์เป็นส่วนใหญ่  ได้แก่  MOVE, DC, DS, CL10 เป็นต้น    ผู้ที่ต้องใช้ภาษาแอสเซมบลีส่วนมากจะเป็นวิศวกรคอมพิวเตอร์  ดังนั้นภาษาแอสเซมบลีจึงไม่เหมาะกับผู้เริ่มต้นเขียนโปรแกรม
            ตัวอย่างที่  1.19  แสดงคำสั่งของภาษาแอสเซมบลีมีดังนี้  
ถ้าเราต้องการสั่งให้เครื่องทำงานตามคำสั่ง  9 + 3  แสดงได้ดังนี้
                MOV   AX,  9
                MOV   BX, 3
                ADD   AX, BX

3) ภาษาระดับสูง (high  level  language)
      ภาษาระดับสูงเป็นภาษาที่ผู้เขียนโปรแกรมสามารถเข้าใจได้ง่ายกว่าภาษาแอสเซมบลีและภาษาเครื่อง ทั้งนี้ก็เพราะการเขียนคำสั่งของภาษาระดับสูงมีลักษณะเป็นภาษาอังกฤษ    ซึ่งอ่านแล้วเข้าใจได้ง่ายกว่าภาษาแอสเซมบลี  เช่น  ใช้คำว่า  READ, WRITE, PRINT, COMPUTE  เป็นต้น    ตัวอย่างของภาษาระดับสูงได้แก่   ภาษาฟอร์แทรน (FORTRAN), ภาษาโคบอล (COBOL),  ภาษาเบสิก (BASIC), ภาษาปาสคาล (PASCAL)  และภาษาซี (C)   เป็นต้น  ซึ่งแต่ละภาษามีประวัติพอสังเขปดังต่อไปนี้
  • ภาษาฟอร์แทรน (FORTRAN  ย่อมาจาก  FORmula  TRANslator)  พัฒนาโดยบริษัท  IBM  ระหว่างปี ค.ศ.1954  ถึง  ค.ศ.1957  ภาษานี้ใช้สำหรับการพัฒนาโปรแกรมประยุกต์ด้านวิทยาศาสตร์และวิศวกรรมศาสตร์  ที่ต้องใช้ในการคำนวณสมการคณิตศาสตร์ที่ซับซ้อน  ปัจจุบันภาษาฟอร์แทรนยังเป็นที่นิยมใช้  ในการพัฒนาโปรแกรมด้านวิทยาศาสตร์และวิศวกรรมศาสตร์
  • ภาษาโคบอล (COBOL  ย่อมาจาก  Common  Business  Oriented  Language)  พัฒนาขึ้นในปี  ค.ศ.1959  เป็นภาษาที่พัฒนาขึ้นมาเพื่อใช้ในการพัฒนาโปรแกรมประยุกต์ด้านธุรกิจและการค้า  ปัจจุบันโปรแกรมที่ใช้ในด้านธุรกิจจำนวนมากยังเป็นโปรแกรมที่พัฒนามาจากภาษาโคบอล
  • ภาษาเบสิก  (BASIC ย่อมาจาก  Beginners  All-purpose  Symbolic  Instructional  Code)  เป็นภาษาที่พัฒนาขึ้นโดยมีจุดประสงค์เพื่อให้ผู้เริ่มต้นพัฒนาโปรแกรมสามารถเรียนรู้และเข้าใจการพัฒนาโปรแกรมอย่างง่าย  ภาษาเบสิกเป็นภาษาคอมพิวเตอร์ภาษาแรกที่ใช้เครื่องไมโครคอมพิวเตอร์
                 ภาษาคอมพิวเตอร์ที่พัฒนาขึ้นในยุคแรก  ยังมีข้อจำกัดในการที่จะพัฒนาโปรแกรมขนาดใหญ่  ทั้งนี้เนื่องจากภาษาคอมพิวเตอร์เหล่านั้นขาดโครงสร้างที่ดี  ทำให้การพัฒนาโปรแกรมที่มีขนาดใหญ่และมีความซับซ้อนเป็นไปได้ยาก  ในช่วงต้นปี  ค.ศ.1970  จึงมีภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการ (Procedural  หรือ  Structural  Language)  เกิดขึ้น  ภาษาคอมพิวเตอร์ประเภทนี้จะมีความยืดหยุ่นในการพัฒนาโปรแกรม  ทำให้สามารถแก้ไขและบำรุงรักษาได้ง่าย  เนื่องจากโปรแกรมถูกแยกออกเป็นส่วน ๆ ภาษาคอมพิวเตอร์ที่เป็นภาษาเชิงกระบวนการที่สำคัญคือ
  • ภาษาปาสคาล (Pascal) พัฒนาโดย  Niclaus  Wirth  ในปี ค.ศ.1971  โดยมีจุดประสงค์เพื่อใช้ในการสอนการเขียนโปรแกรมภาษาเชิงกระบวนการ  ในมหาวิทยาลัย  แต่เนื่องจากภาษาปาสคาลไม่มีคุณลักษณะที่จะสนับสนุนการพัฒนาโปรแกรมด้านธุรกิจและอุตสาหกรรมจึงไม่ได้รับความนิยมมากนัก
  • ภาษาซี (C)  พัฒนาขึ้นในช่วงเดียวกับภาษาปาสคาล  โดยนักวิจัยที่ห้องปฏิบัติการ  AT&T  Bell  ซึ่งได้นำเอาจุดเด่นของภาษา  BCPL  และภาษา  B  มาใช้และได้เพิ่มคุณลักษณะและชนิดข้อมูลอื่นเข้ามาด้วย  เดิมภาษาซีถือว่าเป็นภาษาคอมพิวเตอร์ที่สำคัญในการพัฒนาโปรแกรมบนระบบปฏิบัติการยูนิกส์  (Unix)  ซึ่งเป็นภาษาคอมพิวเตอร์ที่สามารถสร้างโปรแกรมประยุกต์ที่ทำงานได้รวดเร็วมาก  เมื่อเทียบกับภาษาคอมพิวเตอร์อื่น ๆ
                        

4) ภาษาระดับสูงมาก  (very  high  level  language)
      ระดับสูงมาก   บางครั้งเรียกว่า  Fourth Gerneration Languages (4GLs)   เป็นภาษาที่มีลักษณะสำคัญ  คือ  ผู้เขียนโปรแกรมไม่ต้องบอกวิธีการทำงานโดยละเอียด   เพียงแต่ระบุคำสั่งให้ทำงานสั้น ๆ   ให้ภาษาระดับสูงมากเข้าใจก็เพียงพอ    ส่วนวิธีการคำนวณหรือการทำงานภาษาระดับสูงมากจะเป็นผู้จัดการเองทั้งสิ้น   บางครั้งเรียกว่า  non-procedure language
ตัวอย่างภาษาระดับสูงมาก  ได้แก่  ภาษา SQL (Structured  Query  Langauge) ซึ่งนิยมใช้กันในซอร์ฟแวร์พัฒนาระบบจัดการฐานข้อมูล   เช่น   ORACLE   เป็นต้น

5) ภาษาระดับธรรมชาติ  (natural   language)
      ภาษาธรรมชาติจะเกี่ยวข้องกับระบบฐานความรู้ (knowledge based system )  และกฎอ้างอิง  (inference rules)  เพียงแต่ผู้ใช้ภาษาธรรมชาติป้อนคำถามผ่านเข้าไปในคอมพิวเตอร์ที่มีภาษาธรรมชาติก็จะทำการวิเคราะห์คำถามแล้วไปค้นหาคำตอบจากระบบฐานความรู้ที่เก็บไว้
ตัวอย่างของภาษาธรรมชาติ  ได้แก่  ภาษา  PROLOG และภาษา LISP  (List  Processing Language)

1.1.4 การทดสอบ และแก้ไข   โปรแกรม  (testing  and  editing  program)
หลังจากที่เราเขียนโปรแกรมเสร็จแล้ว    ขั้นตอนต่อไป  คือ  การทดสอบโปรแกรมที่เขียนขึ้นซึ่งอาจพบความผิดพลาดได้  2  ชนิด   ดังนี้
                1) ความผิดพลาดทางไวยากรณ์ภาษา (syntax  error)  เป็นความผิดพลาดที่เกิดจากการเขียนคำสั่งของภาษาคอมพิวเตอร์ผิด   ตัวอย่างเช่น    คำสั่ง  printf( )  ในภาษา C   ต้องเขียนด้วยตัวอักษรตัวเล็ก   แต่เขียนเป็น  PRINTF( )  เป็นต้น     โดยส่วนมากความผิดพลาดทางไวยากรณ์    จะถูกตรวจสอบพบเมื่อมีการแปลโปรแกรม (compile)  ให้เป็นภาษาเครื่อง  ซึ่งเราสามารถแก้ไขโดยการเขียนคำสั่งให้ถูกต้องตามไวยากรณ์ของภาษานั้น ๆ

                2) ความผิดพลาดทางตรรกะ (logical  error)  เป็นความผิดพลาดที่เกิดจากการลำดับการทำงานผิดหรือป้อนสูตรคำนวณผิด ตัวอย่างเช่น ต้องการหาค่า  X = X + Y แต่ป้อนสูตรเป็น X = X * Y  อย่างนี้  เป็นต้น  วิธีการตรวจหาความผิดพลาดแบบนี้    คือ    ตรวจสอบการคำนวณผลลัพธ์ของโปรแกรมว่าตรงกับผลลัพธ์ที่คำนวณด้วยมือหรือเครื่องคิดเลขหรือไม่    ถ้าไม่ตรงกันแสดงว่าเกิดความผิดพลาดทางตรรกะขึ้น    วิธีการแก้ไขก็คือ  การแก้ไขสูตรให้ถูกต้อง หรือแก้ไขลำดับการทำงานให้ถูกต้อง
ดังนั้น  จะเห็นได้ว่าผู้เขียนโปรแกรมจะต้องทำการทดสอบโปรแกรมและแก้ไขโปรแกรมให้สามารถทำงานได้ตามที่ต้องการ

1.1.5 การจัดทำเอกสารประกอบ และการบำรุงรักษาโปรแกรม          (documentation  and  maintenance  program)
            เมื่อผู้เขียนโปรแกรมได้ทำการทดสอบโปรแกรมและแก้ไขความผิดพลาดที่เกิดขึ้นเรียบร้อยแล้ว ขั้นตอนต่อไปก็ควรจัดทำคู่มือการใช้โปรแกรม    เพราะจะทำให้ผู้ใช้โปรแกรมสามารถใช้งานได้ถูกต้อง    โดยคู่มือการใช้โปรแกรมที่ดีควรจัดทำในลักษณะที่แสดงการทำงานเป็นขั้นตอน    ผู้ใช้โปรแกรมสามารถปฏิบัติตามได้จริง  ส่วนการบำรุงรักษาโปรแกรมที่พัฒนาขึ้นก็ต้องมีคำแนะนำให้ผู้ใช้โปรแกรมปฏิบัติ    ตัวอย่างเช่น    การเก็บโปรแกรมต้นฉบับ     ควรเก็บไว้ในกล่องที่มิดชิด    ป้องกันฝุ่นได้   ไม่ควรเก็บไว้บนโต๊ะทำงาน    ไม่ควรเก็บไว้ในรถยนต์เพราะอาจถูกอากาศร้อนทำให้เสียได้  นอกจากนี้ต้องมีการสำเนาโปรแกรมต้นฉบับเอาไว้ อย่างน้อย  1  ชุด  แล้วนำชุดที่สำเนาไปใช้    ไม่ควรใช้โปรแกรมต้นฉบับโดยตรง    ควรเก็บเอาไว้สำหรับกรณีที่โปรแกรมสำเนาเกิดปัญหาจะได้นำโปรแกรมต้นฉบับมาทำสำเนาและใช้งานได้ทันที


คลิกชมภาพต่อไป


คลิกชมภาพต่อไป

คลิกชมภาพต่อไป

คลิกชมภาพต่อไป

คลิกชมภาพต่อไป
ความรู้เบื้องต้นเกี่ยวกับภาษาซี


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

































กี่ยวกับองค์ประกอบของโปรแกรม 

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

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

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

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

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

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

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

#include<library>

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

คำอธิบายโปรแกรม ใช้ในการอธิบายความหมายของคำสั่งหรือสิ่งที่ต้องการเขียน
ไว้กันลืมจะไม่มีผลใดๆกับโปรแกรม แต่การเขียนจะต้องเริ่มต้นด้วยเครื่องหมาย /* และจบด้วยเครื่องหมาย*/
ตัวแปร
 ตัวแปร (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 ตัวอักษร
           

                                                                                                                                              
ตัวแปรชื่อเฉพาะ
Auto
Break
Case
Char
Const
Default
Do
Double
Else
Enum
Short
Signed
Sizeof
Extern
Float
For
Goto
If
Int
Long
Return
Register
Continue
While
Static
Struct
Switch
Typedef
Unon
Unsigned
Void
volatile

ฟังก์ชัน
ฟังก์ชัน 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 ซึ่งมีสีต่างๆ ให้เลือก 
                              
ตัวเลขค่าสีอาจจะพิมพ์เป็นตัวเลขหรือชื่อสีเป็นภาษาอังกฤษตัวพิมพ์ใหญ่ก็ได้
ตัวอย่างที่
textcolor(4);
cprintf(“Lampang”);
ความหมาย แสดงข้อความ Lampang เป็นสีแดง
ตัวอย่างที่
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 ออกทางจอภาพ
ตัวอย่างที่
textcolor(15);
printf(“%d”,num);    
 ความหมาย แสดงค่าตัวแปร num ในรูปเลขจำนวนเต็ม
ตัวอย่างที่

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

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

ข้อมูลในภาษาซี
1 
ข้อมูลชนิดตัวอักษร (Character) 
คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็ม ได้แก่ ตัวอักษร ตัวเลขและกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต ์
2

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

คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ และศูนย์ ข้อมูลชนิดจำนวนเต็มใช้พื้นที่ในการเก็บข้อมูล ขนาด 2 ไบต์
3
ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer)
คือข้อมูลที่เป็นเลขจำนวนเต็ม ใช้พื้นที่ในการเก็บเป็น 2 เท่าของ Integer คือมีขนาด 4 ไบต ์
4
ข้อมูลชนิดเลขทศนิยม (Float)
คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์
5
ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double)
คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บข้อมูลเป็น 2 เท่าของ float คือมีขนาด 8 ไบต์
สัญลักษณ์ย่อ
ค่าคงที่ตัวอักษร 
รหัสควบคุม
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

เกี่ยวกับตัวดำเนินงานและนิพจน์

&&
จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขทั้งสองเป็นจริง แต่ถ้าเงื่อนไขใดเป็นเท็จ หรือทั้งสองเงื่อนไขเป็นเท็จจะทำให้ผลลัพธ์เป็นเท็จ
||
จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขใดเงื่อนไขหนึ่งเป็นจริง หรือเป็นจริงทั้งสองเงื่อนไข แต่ถ้าเป็นเท็จทั้งสองเงื่อนไขจะทำให้ผลลัพธ์เป็นเท็จ
!
จะให้ผลลัพธ์เป็นจริงเมื่อเงื่อนไขหลัง not เป็นเท็จ แต่ถ้าเงื่อนไขหลัง not เป็นจริงจะทำให้ผลลัพธ์เป็นเท็จ ตัวดำเนินการ ความหมาย ตัวอย่าง
&&
และ (and) Mark>=80&&mark<=100
|| หรือ (or)
Score<0||score>100
!
ไม่ (not) !x&&!y  


c = a * b
(10 + 5 ) * 10 % 9 = 15
(8 * a + 2 * b)/c
5 + (5 – 1 ) * 4 = 21
ลำดับการประมวลผลของนิพจน์
              
ลำดับการประมวลผลของนิพจน์คณิตศาสตร์จะทำการประมวลผลในส่วนของวงเล็บก่อนในกรณีที่มีวงเล็บ จากนั้นจะคำนวณไปตามลำดับของการประมวลดังตารางข้างล่างนี้ และหากมีเครื่องหมายที่อยู่ในลำดับการประมวลผล
เดียวกันจะทำการคำนวณจากด้านซ้ายไปด้านขวา
เครื่องหมาย
ลำดับการประมวลผล
( )
1
++,--
2
* / %
3
+ -
4

กี่ยวกับการตรวจสอบเงื่อนไข

ฟังก์ชันทางเลือกเดียว




ฟังก์ชันสองเลือก





ฟังก์ชันหลายทางเลือก




ฟังก์ชันswitch

เกี่ยวกับการวนรอบการทำงาน

ฟังก์ชันwhille





ฟังก์ชันdo whille





ฟังก์ชันfor


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