Please enable JavaScript.
Coggle requires JavaScript to display documents.
บทที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี 🖥️ - Coggle Diagram
บทที่ 1 ความรู้พื้นฐานโปรแกรมภาษาซี
🖥️
โครงสร้างของโปรแกรมภาษาซี
ฟังก์ชันหลัก (main function) มีเพียงฟังก์ชันเดียว
ฟังก์ชัน (functions) มีได้หลายฟังก์ชัน
ข้อความสั่งประกาศตัวแปรเฉพาะที่ (local declaration statements)
ต้นแบบฟังก์ชัน (function prototypes)
หมายเหตุ (comment) สามารถแทรกไว้ที่ใดก็ได้ ภายในโปรแกรม
ข้อความสั่งประกาศครอบคลุม (global declaration statements)
รหัสต้นฉบับ (source code) มีลําดับการเขียนดังนี้
ข้อความสั่งตัวประมวลผลก่อน (preprocessor statements)
ตัวแปร
กฎการตั้งชื่อตัวแปร
ประกอบด้วย a ถึง z, 0 ถึง 9 และ _ เท่านั้น
อักขระตัวแรกต้องเป็น a ถึง z และ _
ห้ามใช้ชื่อเฉพาะ
ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก มีความหมายที่แตกต่างกัน
ยาวสูงสุด 31 ตัวอักษร
ชนิดข้อมูล
char เก็บอักขระ
int เก็บจำนวนเต็ม
float เก็บจำนวนจริง
double เก็บสองเท่าของจำนวนจริง
การประกาศตัวแปร
1 ตัวแปร - ชนิดข้อมูล ชื่อตัวแปร; ตัวอย่าง int count;
2 ตัวแปร ชนิดเดียวกัน - ชนิดข้อมูล ตัวแปร1, ตัวแปร2; ตัวอย่าง int m, n;
ตัวคงที่
ความหมาย
ตัวคงที่มีลักษณะคล้ายตัวแปร แตกต่างจากตัวแปรตรงที่ ค่าที่เก็บในตัวคงที่จะคงเดิมไม่มีการเปลี่ยนแปลงจนกระทั่งจบโปรแกรม แต่ค่าที่เก็บในตัวแปรสามารถเปลี่ยนแปลงได้ตลอดเวลา
การประกาศตัวคงที่
แบบที่ 1 - const ชนิดข้อมูล ชื่อตัวแปร = ค่า;
แบบที่ 2 - #define ชื่อตัวคงที่ ค่าคงที่
การแสดงผลและการรับค่า
printf("สายอักขระควบคุม", ตัวแปร);
รูปแบบการแสดงผล
%c, %d, %f, %o, %x
ลำดับหลีก
\n ขึ้นบรรทัดใหม่ (new line)
\t เลื่อนไปยังจุดตั้งระยะ (tab) ถัดไป
\a เสียงกระดิ่ง (bell)
\b ถอยไปหนึ่งที่ว่าง (backspace)
\f ขึ้นหน้าใหม่ (form feed)
\ แสดงเครื่องหมายทับกลับหลัง (backslash)
\’ แสดงเครื่องหมายฝนทอง (single quote)
\” แสดงเครื่องหมายฟันหนู (double quote)
scanf(“%รูปแบบ”, &ตัวแปร);
นิพจน์
สิ่งที่ประมวลผลแล้วสามารถให้เป็นค่าตัวเลขได้
นิพจน์ที่มีระดับการประมวลผลแบบง่ายที่สุด จะประกอบด้วย ตัวแปรเพียงตัวเดียว หรือ ค่าคงที่
สําหรับนิพจน์ที่มีระดับการประมวลผลที่ซับซ้อน จะประกอบด้วย นิพจน์ที่มีระดับการประมวลผลอย่างง่ายหลายนิพจน์ และเชื่อมต่อกันด้วยตัวดําเนินการ
ข้อความสั่งกําหนดค่า
ตัวแปร = นิพจน์;
ข้อความสั่งที่ใช้สําหรับ สั่งให้นําผลลัพธ์ของนิพจน์ที่อยู่ด้านขวาของตัวดําเนินการเท่ากับ (=) มาเก็บไว้ในตัวแปรที่อยู่ด้านซ้ายของตัวดําเนินการเท่ากับ (=)
การคํานวณทางคณิตศาสตร์
ลบ (-) ตัวอย่าง c = a - b
คูณ (
) ตัวอย่าง c = a
b
บวก (+) ตัวอย่าง c = a + b
หาร (/) ตัวอย่าง c = a / b
มอดูลัส (%) ตัวอย่าง c = a % b (มอดูลัสคือการหารเอาเศษ)
ลำดับการดำเนินการ
()
.* /
.+ -
ตัวดำเนินการเอกภาค
การใช้ตัวดําเนินการกับตัวแปรตัวเดียว ในที่นี้จะแสดงการใช้ตัวดําเนินการ 2 ตัวกับตัวแปรตัวเดียว
ตัวดําเนินการเอกภาคเติมหลัง (postfix mode) หมายถึง ตัวดําเนินการเอกภาคอยู่หลังตัวแปร
เช่น a++ หมายถึง ให้เพิ่มค่าให้ตัวแปร a ขึ้นอีก 1
จะทํางานอื่นภายในข้อความสั่งเดียวกัน
ก่อน จึงจะเพิ่มค่าให้ตัวแปร
ตัวดําเนินการเอกภาคเติมหน้า (prefix mode) หมายถึง ตัวดําเนินการเอกภาคอยู่หลังตัวแปร
เช่น ++a หมายถึง ให้เพิ่มค่าให้ตัวแปร a ขึ้นอีก 1
จะเพิ่มค่าให้ตัวแปรก่อนแล้วจึงจะทํางานอื่น
ภายในข้อความสั่งเดียวกัน
ตัวดําเนินการประกอบ
เป็นการใช้ตัวดําเนินการหนึ่งตัวร่วมกับเครื่องหมายเท่ากับ การใช้ตัว
ดําเนินการประกอบจะช่วยให้เขียนข้อความสั่งได้สั้น และเร็วขึ้น
ตัวอย่าง x+= 5; มีค่า x = x + 5;
ลำดับการดำเนินการ
++ --
.* / %
.+ -
()
+= -= *= /= %=
การแปลงชนิดข้อมูล
ตัวแปร = (ชนิดข้อมูล นิพจน์;)
ตัวอย่าง x = (int) 5.6; มีค่า 5
การกําหนดค่าจากข้อมูลหลายชนิด
ถ้านิพจน์ในข้อความสั่งกําหนดค่าประกอบด้วย ตัวแปร หรือ ตัวคงที่ที่มีชนิดข้อมูลต่างกัน จะต้องแปลงให้เป็นชนิดเดียวกันก่อน แล้วจึงนํามาดําเนินการ
ถ้าตัวแปร หรือ ตัวคงที่ มีชนิดข้อมูลที่ต่างกัน จะต้องแปลงให้เป็นชนิดเดียวกันก่อน แล้วจึงดําเนินการ โดยในการแปลงจะต้องแปลงชนิดข้อมูลที่มีขนาดเล็กกว่าให้เป็นชนิดข้อมูลที่มีขนาดใหญ่กว่า
ดังนั้น ถ้าตัวแปร หรือ ตัวคงที่ ตัวหนึ่งเป็นชนิดจํานวนเต็ม (int) ส่วนอีกตัวหนึ่งเป็นชนิดจํานวนจริง (float) จะต้องแปลงตัวแปรหรือตัวคงที่ที่เป็นจํานวนเต็ม (int) ให้เป็นจํานวนจริง (float) ก่อน แล้วจึงดําเนินการ