โปรแกรม ภาษา C ภาษาซี (C Language) เป็นภาษาหนึ่งสำหรับเขียนโปรแกรมคอมพิวเตอร์ พัฒนาขึ้นโดยนายเดนนิส ริทชี่ (Dennis Ritche) ในปี ค.ศ. 1972 เพื่อสร้างระบบปฏิบัติการยูนิกซ์ (Unix Operating System
รายละเอียดของเมนู เมนูหลัก (Main Menu) ประกอบด้วย File เก็บรวมรวมคำสั่งเกี่ยวกับการเปิด-ปิดไฟล์ การบันทึกไฟล์ การออกจากโปรแกรม Edit การแก้ไขโปรแกรม การสำเนาหรือการย้ายข้อความที่ปรากฏบนเอดิเตอร์ Search ค้นหาคำหรือข้อความที่เขียนในโปรแกรม ตลอดจนการแทนที่คำ Run รันโปรแกรมที่เขียนด้วยคำสั่งแบบต่าง ๆ Compile แปลข้อมูลของโปรแกรมที่เป็น Source file ให้เป็น Object File Debug ตรวจสอบข้อผิดพลาดของโปรแกรม Project ใช้ในการระบุไฟล์ต่าง ๆ ที่จำเป็นต้องนำมาใช้ในตัวโปรแกรมและ Project ที่ทำงานอยู่ Option กำหนดรายละเอียดต่าง ๆ ของคอมไพเลอร์เช้น Directories Compiler เป็นต้น Window จัดการเกี่ยวกับหน้าต่างที่ใช้ในการเขียนโปรแกรม Help ขอความช่วยเหลือหรือรายละเอียดเกี่ยวกับโปรแกรมในลักษณะต่าง ๆ
ตัวแปรในภาษาซี ตัวแปร (Variable) คือ การจองพื้นที่ในหน่วยความจำของคอมพิวเตอร์สำหรับเก็บข้อมูลที่ต้องใช้ในการทำงานของโปรแกรม โดยมีการตั้งชื่อเรียกหน่วยความจำในตำแหน่งนั้นด้วย เพื่อความสะดวกในการเรียกใช้ข้อมูล ถ้าจะใช้ข้อมูลใดก็ให้เรียกผ่านชื่อของตัวแปรที่เก็บเอาไว้
ชนิดของข้อมูล ภาษาซีเป็นภาษาที่มีชนิดของข้อมูลใช้งานหลายอย่างด้วยกัน ซึ่งชนิดของข้อมูลแต่ละอย่างมีขนาดเนื้อที่ที่ใช้ในหน่วยความจำที่แตกต่างกัน และเนื่องจากการที่มีขนาดที่แตกต่างกันไป ดังนั้นในการเลือกใช้งานประเภทข้อมูลก็ควรจะคำนึงถึงความจำเป็นในการใช้งานด้วย สำหรับประเภทของข้อมูลมีดังนี้คือ 1. ข้อมูลชนิดตัวอักษร (Character) คือข้อมูลที่เป็นรหัสแทนตัวอักษรหรือค่าจำนวนเต็มได้แก่ ตัวอักษร ตัวเลข และกลุ่มตัวอักขระพิเศษใช้พื้นที่ในการเก็บข้อมูล 1 ไบต์ 2. ข้อมูลชนิดจำนวนเต็ม (Integer) คือข้อมูลที่เป็นเลขจำนวนเต็ม ได้แก่ จำนวนเต็มบวก จำนวนเต็มลบ ศูนย์ ใช้พื้นที่ในการเก็บ 2 ไบต์ 3. ข้อมูลชนิดจำนวนเต็มที่มีขนาด 2 เท่า (Long Integer) คือข้อมูลที่มีเลขเป็นจำนวนเต็ม ใช้พื้นที่ 4 ไบต์ 4. ข้อมูลชนิดเลขทศนิยม (Float) คือข้อมูลที่เป็นเลขทศนิยม ขนาด 4 ไบต์ 5. ข้อมูลชนิดเลขทศนิยมอย่างละเอียด (Double) คือข้อมูลที่เป็นเลขทศนิยม ใช้พื้นที่ในการเก็บ 8 ไบต์
รูปแบบในการประกาศตัวแปรในภาษา C การสร้าวตัวแปรขึ้นมาใช้งานจะเรียกว่า การประกาศตัวแปร (Variable Declaration) โดยเขียนคำสั่งให้ถูกต้องตามแบบการประกาศตัวแปร แสดงดังนี้ type name; type : ชนิดของตัวแปร name : ชื่อของตัวแปร ซึ่งต้องตั้งให้ถูกต้องตามหลักของภาษา C การเขียนคำสั่งเพื่อประกาศตัวแปร ส่วนใหญ่แล้วจะเขียนไว้ในส่วนหัวของโปรแกรมก่อนฟังก์ชัน main ซึ่งการเขียนไว้ในตำแหน่งดังกล่าว จะทำให้ตัวแปรเหล่านั้นสามารถเรียกใช้จากที่ใดก็ได้ในโปรแกรม
ตัวอย่าง #include <stdio.h> int num; สร้างตัวแปรชื่อ num เพื่อเก็บข้อมูลชนิดจำนวนเต็ม float y; สร้างตัวแปรชื่อ y เพื่อเก็บข้อมูลชนิดเลขทศนิยม char n; สร้างตัวแปรชื่อ n เพื่อเก็บข้อมูลชนิดตัวอักขระ void main() { printf("Enter number : ") scanf("%d",&num); printf("Enter name : "); scanf("%f",&n); printf("Thank you"); }
หลักการตั้งชื่อตัวแปร ในการประกาศสร้างตัวแปรต้องมีการกำหนดชื่อ ซึ่งชื่อนั้นไม่ใช่ว่าจะตั้งให้สื่อความหมายถึงข้อมูลที่เก็บอย่างเดียว โดยไม่คำนึงถึงอย่างอื่น เนื่องจากภาษา C มีข้อกำหนดในการตั้งชื่อตัวแปรเอาไว้ แล้วถ้าตั้งชื่อผิดหลักการเหล่านี้ โปรแกรมจะไม่สามารถทำงานได้ หลักการตั้งชื่อตัวแปรในภาษา C แสดงไว้ดังนี้ 1.ต้องขึ้นต้นด้วยตัวอักษร A-Z หรือ a-z หรือเครื่องหมาย _(Underscore) เท่านั้น 2.ภายในชื่อตัวแปรสามารถใช้ตัวอักษร A-Z หรือ a-z หรือตัวเลข0-9 หรือเครื่องหมาย _ 3.ภายในชื่อห้ามเว้นชื่องว่าง หรือใช้สัญลักษณ์นอกเหนือจากข้อ 2 4.ตัวอักษรเลขหรือใหญ่มีความหมายแตกต่างกัน 5.ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved Word)
ตัวแปรสำหรับข้อความ ในภาษา C ไม่มีการกำหนดชนิดของตัวแปรสำหรับข้อความโดยตรง แต่จะใช้การกำหนดชนิดของตัวแปรอักขระ (char) ร่วมกับการกำหนดขนาดแทน และจะเรียกตัวแปรสำหรับเก็บข้อความว่า ตัวแปรสตริง (string) รูปแบบการประกาศตัวแปรสตริงแสดงได้ดังนี้ char name[n] = "str"; name ชื่อของตัวแปร n ขนาดของข้อความ หรือจำนวนอักขระในข้อความ str ข้อความเริ่มต้นที่จะกำหนดให้กับตัวแปรซึ่งต้องเขียนไว้ภายในเครื่องหมาย " " ตัวอย่างการประกาศตัวแปรสำหรับเก็บข้อความ แสดงได้ดังนี้ char name[5] = "kwan" ; สร้างตัวแปร name สำหรับเก็บ ข้อความ kwan ซึ่งมี 4 ตัวอักษร ดังนั้น name ต้องมีขนาด 5 char year[5] = "2549"; สร้างตัวแปร year สำหรับเก็บ ข้อความ 2549 ซึ่งมี 4 ตัวอักษร ดังนั้น year ต้องมีขนาด 5 char product_id[4] = "A01"; สร้างตัวแปร product_id สำหรับเก็บ ข้อความ A01 ซึ่งมี 3 ตัวอักษร ดังนั้น product_id ต้องมีขนาด 4
เครื่องหมายและการดำเนินการในภาษา C การดำเนินการในการเขียนโปรแกรมภาษา C มีอยู่ 3 ประเภท คือ การคำนวณทางคณิตศาสตร์ การดำเนินการทางตรรกศาสตร์ และการเปรียบเทียบ ซึ่งการดำเนินการแต่ละประเภทจะมีเครื่องหมายที่ต้องใช้เพื่อเขียนคำสั่งสำหรับการดำเนินการประเภทนั้น ๆ ดังรายละเอียด
เครื่องหมายการคำนวณทางคณิตศาสตร์
การเขียนนิพจน์ในภาษา C
ลำดับความสำคัญของเครื่องหมาย ลำดับความสำคัญจากสูงไปต่ำ 1 ( ) 2 !,++,- - 3 *,/,% 4 +,- 5 <,<=,>,>= 6 = =,!= 7 && 8 || 9 *=,/=,%=,+=,-=
จงหาค่าของนิพจน์ 8 + 7. 6 วิธีทำ 1 จงหาค่าของนิพจน์ 8 + 7 * 6 วิธีทำ 1. ให้สังเกตที่ตัวโอเปอเรเตอร์ก่อนเสมอว่ามีโอเปอเรเตอร์อะไรบ้าง ในที่นี้มี + และ * 2. ทำการไล่ลำดับความสำคัญของโอเปอเรเตอร์ทั้งหมดเปรียบเทียบกัน จากตัวที่มีลำดับความสำคัญสูงสุดไปยังตัวที่มีลำดับสำคับต่ำสุด ลำดับความสำคัญจากสูงไปต่ำ โอเปอเรเตอร์ * + 3. จากข้อ 2 จะได้ลำดับการทำงานเป็นดังนี้ ขั้นที่ 1 7 * 6 = 42 ขั้นที่ 2 8 + ค่าที่ได้จากขั้นที่ 1 = 8 + 42 = 50 ดังนั้น 8 + 7 * 6 = 50
การแสดงผลและรับข้อมูล แสดงผลออกทางหน้าจอ คำสั่ง printf ถือได้ว่าเป็นคำสั่งพื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอไม่ว่าจะเป็นจำนวนเต็ม int ทศนิยม float ข้อความ string หรืออักขระ นอกจากนี้คำสั่งยังมีความยืดหยุ่นสูง โดยเราสามารถกำหนดหรือจัดรูปแบบการแสดงผลให้มีระเบียบหรือเหมาะสมตามความต้องการได้อีกด้วย รูปแบบคำสั่ง prinft printf ("format",variable); Format ข้อมูลที่ต้องการแสดงผลออกทางหน้าจอ โดยข้อมูลนี้ต้องเขียนไว้ในเครื่องหมาย " " ข้อมูลที่สามารถแสดงผลได้มีอยู่ 2 ประเภท คือ ข้อความธรรมดา และค่าที่เก็บไว้ในตัวแปร ซึ่งถ้าเป็นค่าที่เก็บไว้ในตัวแปรต้องใส่รหัสควบคุมรูปแบบให้ตรงกับชนิดของข้อมูลที่เก็บไว้ในตัวแปรนั้นด้วย Variable ตัวแปรหรือนิพจน์ที่ต้องการนำค่าไปแสดงผลให้ตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้
รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ รหัสควบคุมรูปแบบการแสดงผลค่าของตัวแปรออกทางหน้าจอ รหัสควบคุมรูปแบบ การนำไปใช้งาน %d แสดงผลค่าของตัวแปรชนิดจำนวนเต็ม %u แสดงผลค่าของตัวแปรชนิดจำนวนเต็มบวก %f แสดงผลค่าของตัวแปรชนิดจำนวนทศนิยม %c แสดงผลอักขระ 1 ตัว %s แสดงผลข้อความ หรืออักขระมากกว่า 1 ตัว
แสดงผลให้เป็นระเบียบด้วยอักขระควบคุมการแสดงผล ความหมาย \n ขึ้นบรรทัดใหม่ \t เว้นช่องว่างเป็นระยะ 1 แท็บ (6 ตัวอักษร) \r กำหนดให้เคอร์เซอร์ไปอยู่ต้นบรรทัด \f เว้นช่องว่างเป็นระยะ 1 หน้าจอ \b ลบอักขระสุดท้ายออก 1 ตัว
คำสั่งรับข้อมูลจากคีย์บอร์ด การทำงานของโปรแกรมส่วนใหญ่มักจะเป็นการเชื่อมโยงกับผู้ใช้แบบ 2 ทิศทาง คือ ทั้งภาคของการแสดงผลการทำงานออกทางหน้าจอ และภาคของการรับข้อมูลจากผู้ใช้เข้ามาทางคีย์บอร์ด เพื่อร่วมในการประมวลผลของโปรแกรม
คำสั่ง scanf() ในภาษา C การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน scanf() ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับรับข้อมูลจากคีย์บอร์ด โดยสามารถรับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ scanf("format",&variable); Format การใช้รหัสควบคุมรูปแบบ เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามาจากคีย์บอร์ด โดยรหัสควบคุมรูปแบบใช้ชุดเดียวกับคำสั่ง printf() variableตัวแปรที่จะใช้เก็บค่าข้อมูลที่รับเข้ามาจากคีย์บอร์ด โดยชนิดของตัวแปรจะต้องตรงกับรหัสควบคุมรูปแบบที่กำหนดไว้ นอกจากนี้หน้าชื่อของตัวแปรจะต้องนำหน้าด้วยเครื่องหมาย & ยกเว้นตัวแปรสตริง สำหรับเก็บข้อความเท่านั้นที่ไม่ต้องนำหน้าด้วยเครื่องหมาย &
ตัวอย่างการใช้งานคำสั่ง scanf() เพื่อรับข้อมูลจากคีย์บอร์ด int speed; สร้างตัวแปรชนิด int สำหรับเก็บค่าตัวเลขจำนวนเต็ม printf("Enter wind speef : "); แสดงข้อความให้กรอกค่าความเร็วลมเป็นจำนวนเต็ม scanf("%d",&speed); รับค่าความเร็วลมเข้ามาเก็บไว้ในตัวแปร speed char answer; สร้างตัวแปรชนิด char สำหรับเก็บอักขระ printf("Enter Figure (Y : N) : ") แสดงข้อความให้ป้อนอักขระ Y หรือ N scanf("%c",&answer รับอักขระเข้ามาเก็บไว้ในตัวแปร answer char name[10]; สร้างตัวแปรสตริงสำหรับเก็บข้อความ printf("Enter your name = "); แสดงข้อความให้ป้อนชื่อ scanf("%s",name รับชื่อเข้ามาเก็บไว้ในตัวแปร name สังเกตจะไม่ใส่เครื่องหมาย & ตัวแปรชนิดข้อความ
ตัวอย่าง การเขียนโปรแกรมคำนวณ สามารถคำนวณหาผลลัพธ์ของนิพจน์คณิตศาสตร์ด้วยการเขียนโปรแกรมภาษาซี ตัวอย่างต่อไปนี้เป็นการแสดงลำดับการประมวลผลทางคณิตศาสตร์ของนิพจน์ต่าง ๆ ตัวอย่าง
#include <stdio. h> #include <conio #include <stdio.h> #include <conio.h> void main() { clrscr(); int a,b,c,d; a=(3+4)*5; b=3+4*5; c=(2+7)*4%10; d=2+7*4%10; e=10+2*8/4*3-5; printf("(3+4)*5 =%d\n",a); printf("3+4*5 =%d\n",b); printf("(2+7)*4%10 =%d\n",c); printf("(2+7)*4%10 =%d\n",d); printf("10+2*8/4*3-5 =%d\n",e); getch(); } ผลลัพธ์โปรแกรม (3+4)*5=35 3+4*5=23 (2+7)*4%10=6 2+7*4%10=10 10+2*8/4*3-5=17