Please enable JavaScript.
Coggle requires JavaScript to display documents.
ความรู้พื้นฐานภาษาซี:smiley:, :star:, image, image, image, image, image,…
ความรู้พื้นฐานภาษาซี:smiley:
:one:โครงสร้างโปรแกรมภาษาซี :explode:
ลําดับการเขียน :star:
:two:รหัสต้นฉบับ (source code)
:one:ข้อความสั่งประกาศครอบคุม (golbal declaration statements)
:two:ต้นแบบฟังก์ชั่น (function prototypes)
:four:ฟังก์ชั่น (functions)
:three:ฟังก์ชั่นหลัก (main function)
:three:หมายเหตุ (comments)
:one:ข้อความสั่งตัวประมวลผลก่อน (preprocessor statements)
:two:ตัวแปร (variables) :star:
:one: คือ ชื่อของหน่วยควาจําที่ตําแหน่ง นั้นๆ
:two: ชนิดของตัวแปร
:one:จํานวนเต็ม
:two:จํานวนจริง
:three:อักขระ
:four:สายอักขระ
:three: กฏการตั้งชื่อตัวแปร
:one:ประกอบด้วย a-z, 0-9 และ _ เท่านั้น
:two:อักขระแรกต้องเป็น a-z และ _
:three: ห้ามใช้ชื่อเฉพาะ
:four: ตัวพิมพ์ใหญ่ ตัวพิมพ์เล็ก มีความหมายต่างกัน
:five: ยาวได้สูงสุด 31 ตัวอักษร
:four: ชนิดข้อมูล(data types)
:two: int 2 byte -32768 ถึง 32767
:three: float 4 byte 1.2x10^-38 ถึง 3.4x10^38
:one: char 1 byte -128 ถึง 127
:four: double 8 byte 2.2x10^-308 ถึง 1.8x10^308
:five: ตัวแปรชนิดตัวเลข(numeric variable types)
:one: ตัวแปรจํานวนเต็ม(integer viriables)
:two: ตัวแปรจํานวนจริง(real variables)
:six:การประกาศตัวแปร :tada:
:one:วิธีการประกาศตัวแปร :confetti_ball:
:two:การประกาศตัวแปรหลายตัว :arrow_right: ชนิดข้อมูล ชื่อตัวแปร1 ,ชื่อตัวแปร2, ... ;
:one: การประกาศตัวแปรตัวเดียว :arrow_right: ชนิดข้อมูล ชื่อตัวแปร;
:two:การกําหนดค่าตัวแปรชนิดตัวเลข
:one: int ชื่อตัวแปร = จํานวนค่า;
:two: int ชื่อตัวแปร;
ชื่อตัวแปร = ค่าตัวแปร;
:three: ค่าคงที่ (constant) :lock:
การประกาศตัวคงที่ :tada:
:one: const ชนิดข้อมูล ชื่อตัวแปร = ค่าทื่เก็บในตัวแปร;
:two:#define ชื่อตัวคงที่ ค่าคงที่
:four: การแสดงผลและการรับค่า:computer:
:one:ฟังก์ชั่น printf()
printf("สายอักขระควบคุม",ตัวแปร);
:two:รูปแบบการแสดงผล(format specifiers)
:one: ขึ้นต้นด้วยเครื่องหมาย %
:two: ตามด้วยอักขระ 1 ตัวหรือหลายตัว ดังข้อ :three:
:three:
:one: c : char : อักขระเดียว
:two: d : int :จํานวนเต็มฐานสิบ
:three:o : int :จํานวนเต็มฐานแปด
:four:x : int จํานวนเต็มฐานสิบหก
:five: f : float จํานวนที่มีทศนิยม ในรูปฐานสิบ
:four: ลําดับหลีก
:two: \t เลื่อไปยังจุดตั้งระยะ (tab ถัดไป)
:four: \b ถอยไปหนึ่งที่ว่าง
:five: \f ขึ้นหน้าใหม่
:six: \\ แสดงเครื่องหมายทับกลับหลัง (\)
:one: \n ขึ้นบรรทดใหม่
:seven: \" แสดงเครื่องหมายฟันหนู (")
:three: \a เสียงกระดิ่ง
:five: ฟังก์ชั่น scanf()
:one: คือการรับข้อมูลจาก คีย์บอร์ดแล้วส่งไปยังที่อยู่ของตัวแปร
:two: รูปแบบ scanf ("%ข้อมูลที่รับมาจากคีย์บอร์ด", &ตัวแปร);
:three: & ด้านหลัง มีข้อยกเว้นคือ %s
:four: &ตัวแปร มีความหมายคือ เลขที่อยู่ของตัวแปรที่จะรับค่ามาเก็บไว้
:five:นิพจย์ (expression) :!?:
:four:นิพจน์ตัวแปร
:two:int count;
:three:char ch;
:one:float amount;
:two:นิพจน์แบบง่าย
:one:100
:two:'g'
:one: นิพจน์ คือ สิ่งที่ประมวลผลแล้วสามารถแปลงเป็นค่าตัวเลขได้
:three: นิพจน์คงที่ ที่เป็นสัญลักษณ์
:two:const int a = 35; ,const char ch = 'm';
:one:#define VAT 7
:five: นิพจน์ที่ซับซ้อน
:one: 37 + 6
:two: 37 และ 6 คือนิพจน์
+ คือ ตัวดําเนินการ
:six: ข้อความสั่งกําหนดค่า (assignment statement) :speech_balloon:
:one: คือ ข้อความสั่งที่ใช้สําหรับ สั่งให้นําผลลัพธ์ของนิพจน์ที่อยู่ด้านขวาของตัวดําเนินการเท่ากับ (=) มาเก็บบไว้ในตัวแปรที่อยู่ด้านซ้ายของตัวดําเนินการเท่ากับ (=)
:two: รูปแบบ คือ ตัวแปร = นิพจน์;
:seven: การคํานวณทางคณิตศาสตร์ 🖩
:one: วิธีการใช้งาน และการทํางาน
:two: ลบ (-)
:one: c = a-b;
:two: นําค่า b ลบออกจาก a แล้วเก็บค่าไว้ที่ c
:five: มอดูลัส (%)
:one: c = a%b;
:two:นําค่า a เป็นตัวตั้ง แล้ว b เป็นตัวหาร จากนั้นเก็บเศษไว้ที่ c
:one: บวก (+)
:one: c = a+b;
:two:นําค่า a บวก b แล้วเก็บค่าไว้ที่ c
:four: หาร (/)
:one: c = a/b;
:two:นําค่า a เป็นตัวตั้ง แล้ว b เป็นตัวหาร จากนั้นเก็บผลหารไว้ที่ c
:three: หากค่า a และ b เป็นจํานวนเต็ม ค่า c จะเป็นจํานวนเต็ม แต่หากค่า a หรือ b เป็นจํานวนทศนิยม ค่า c จะเป็นจํานวนทศนิยม
:three: คูณ (*)
:one: c = a*b;
:two: นําค่า a มาคูณกับ b แล้วเก็บค่าไว้ที่ c
:two: ลําดับการดําเนินการในนิพจน์ที่มีตัวดํานวนการหลายตัว
:one: ()
:two: * , / . %
:three: + , -
:four: หากตัวดําเนินการมีลําดับเท่ากันจะดําเนินการจาก ซ้าย ไป ขวา :arrow_right:
:eight: ตัวดําเนินการเอกภาค (unary operator) ⚡
:one:ตัวดําเนินการเอกภาคเติมหลัง (postfix mode) หมายถึง ตัวดําเนินการเอกภ่คอยู่หลังตัวแปร (ทําคนอื่นก่อน)
:two:ตัวดําเนินการเอกภาคเติมหลัง (prefix mode) หมายถึง ตัวดําเนินการเอกภ่คอยู่หลังตัวแปร (ทําตัวเองก่อน)
:three: การใข้ตัวดําเนินการทั้งสองแบบ
:one:เพิ่มค่าตัวถูกดําเนินการทีละหนึ่ง (++) Ex. x++ :arrow_right: x = x+1
:two:เพิ่มค่าตัวถูกดําเนินการทีละหนึ่ง (++) Ex. ++x :arrow_right: x = x+1
:three:ลดค่าตัวถูกดําเนินการทีละหนึ่ง (--) Ex. x-- :arrow_right: x = x-1
:four:ลดค่าตัวถูกดําเนินการทีละหนึ่ง (--) Ex. --x :arrow_right: x = x-1
🔟 การแปลงชนิดข้อมูล (type cast) ⚡:arrows_clockwise:
:one: คือ การแปลงชนิดข้อมูลโดยการกําหนดไว้ที่หน้าข้อมูล
:two: รูปแบบ :arrow_right: ตัวแปร = (ชนิดข้อมูล) นิพจน์
:three: Ex. int x;
x = 5.6;
x = (int)5.6;
// แปลงให้ 5.6 เป็น 5
:nine: ตัวดําเนินการประกอบ (compound operator) ⚡⚡
:one:คือ การใช้ตัวดําเนินการหนึ่งตัวร่วมกับเครื่องหมายเท่ากับ (=)
:three: ลําดับในการดําเนินการ
:two: ++ , --
:four: + , -
:five: += ,*= ,/= , -= ,%=
:three: * , / , %
:one: ()
:six: หากตัวดําเนินการมีลําดับเท่ากันจะดําเนินการจาก ซ้าย ไป ขวา :arrow_right:
:two: การใช้ตัวดําเนินการ
:two: (-=) Ex. x-=5 :arrow_right: x=x-5
:three:(*=) Ex. x*=y :arrow_right: x=x*y
:four: (\=) Ex. x\=y :arrow_right: x=x\y
:five: (%=) Ex. x%5 :arrow_right: x=x%5
:six: (+=) Ex. x+=y/8 :arrow_right: x=x+y/8
:one: (+=) Ex. x+=5 :arrow_right: x=x+5
การกําหนดค่าจากข้อมูลหลายชนิด 🔊⚡⚡
ถ้านิพจน์ในข้อมูลสั่งกําหนดค่าประกอบด้วย ตัวแปร หรือตัวคงที่ที่มีชนิดข้อมูลต่างกัน จะต้องแปลงให้เป็นชนิดเดียวกันก่อน แล้วจึงมาดําเนินการ
:one:ถ้าตัวแปร หรือ ตัวคงที่ มีชนิดข้อมูลต่างกัน จะต้องแปลงให้เป็นชนิดเดียวกันก่อน แล้วจึงดําเนินการ โดยจะต้องแปลงข้อมูลที่มีขนาดเล็กกว่า ให้เป็นข้อมูลที่ขนาดใหญ่กว่า
:two: Ex.
--------------Input------------
#include <stdio.h>
void main(){
int a,b;
float c = 2.9;
a = 20;
b = a+c;
//แปลงชนิดข้อมูลของ a ให้เป็น float และนําค่า a + c นําผลลัพธ์ที่ได้ปัดเศษทิ้ง แล้วนําค่าที่ได้ไปไว้ที่ b
//ที่ปัดเศษทิ้งเพราะชนิดข้อมูลของ b เป็น intiger (จํานวนเต็ม)
printf("b = %d",b);
}
--------------Output----------
b = 22
:star: