Introduction to C Programming BC322 : Computer Programming (ครั้งที่ 2)
การทำงานของภาษาซี จัดทำโปรแกรมต้นฉบับ(Source Program) โดยบันทึกไฟล์เป็นนามสกุล .c แปลงรหัสคำสั่งเป็นภาษาเครื่อง(Compile) ซึ่งจะได้ไฟล์นามสกุล . obj การเชื่อมโยงโปรแกรม(Link) เป็นการเชื่อมโยงโปรแกรมกับไลบรารี ซึ่งจะเป็นผลให้เกิดไฟล์ .exe BC322 : Computer Programming (ครั้งที่ 2)
กระบวนการแปลรหัสของภาษาซี เขียนคำสั่ง Compile Link Run Test.c Test.obj Test.ilk Test.exe BC322 : Computer Programming (ครั้งที่ 2)
ส่วนประกอบของภาษาซี Preprocessor directives main function ส่วนหัวของโปรแกรม ส่วนฟังก์ชันหลัก BC322 : Computer Programming (ครั้งที่ 2)
แจ้งให้คอมไพเลอร์อ่านไฟล์อื่นเข้ามา compile ด้วย ส่วนหัวของโปรแกรม ใช้ระบุ ไฟล์header ที่ควบคุมการทำงานของฟังก์ชันมาตรฐาน ไฟล์ header จะมีนามสกุลเป็น .h ตัวอย่าง #include<stdio.h> แจ้งให้คอมไพเลอร์อ่านไฟล์อื่นเข้ามา compile ด้วย BC322 : Computer Programming (ครั้งที่ 2)
ตัวอย่างไลบรารีต่าง ๆ ในภาษาซี BC322 : Computer Programming (ครั้งที่ 2)
main function main function เป็นฟังก์ชันหลักที่ทุกโปรแกรมจะต้องมี เริ่มทำงานที่จุดนี้ วิธีการเขียน int main() { return 0; } void main() { } หรือ BC322 : Computer Programming (ครั้งที่ 2)
ตัวอย่างโปรแกรม #include < stdio.h > void main() { int money; float money_tax,TAX; money = 1000; TAX = 0.07; money_tax = money * TAX; printf("value of money = %d\n",money); printf("value of tax = %.2f\n",money_tax ); } BC322 : Computer Programming (ครั้งที่ 2)
ตัวแปร (Variable) ตัวแปรคือ ที่เก็บข้อมูลที่โปรแกรมต้องการใช้ คุณสมบัติที่ต้องมี ชื่อ บอกได้ว่าข้อมูลที่เราเก็บเป็นอะไร ชนิด ขึ้นอยู่กับค่าของข้อมูลที่เป็นไปได้ ค่า ข้อมูลที่เราจะนำไปใช้ BC322 : Computer Programming (ครั้งที่ 2)
การตั้งชื่อตัวแปร ตัวอักษร, ตัวเลข, _ ตัวแรกต้องเป็นตัวอักษร _ อยู่ระหว่างตัวอักษรหรือตัวเลข ห้ามตั้งชื่อซ้ำกับคำสงวน (Reserved word) เช่น if, case, for ชื่อตัวแปรตัวอักษรตัวเล็กตัวใหญ่ถือเป็นคนละชื่อ BC322 : Computer Programming (ครั้งที่ 2)
Ex ข้อใดใช้ในการตั้งชื่อไม่ได้ Hello 1234A 3. Program 4. A*B 5. 712-7000 6. A1243 7. Hot Dog 8. $XYZ 9. Oh-George 10. 4x2 11. Show_Money 12. S____B BC322 : Computer Programming (ครั้งที่ 2)
ชนิดตัวแปร ตัวเลข ตัวอักษร จำนวนเต็ม ทศนิยม 1 ตัว มากกว่า 1 ตัว BC322 : Computer Programming (ครั้งที่ 2)
ช่วงของข้อมูลที่เก็บได้ ชนิดของตัวแปร ประเภท ช่วงของข้อมูลที่เก็บได้ ขนาดหน่วยความจำ char -128 - 127 1 ไบต์ unsigned char 0 - 255 signed char -128 - 127 int -32,768 - 32,767 2 ไบต์ unsigned int 0 - 65,535 signed int short int unsigned short int signed short int long int -2,147,483,648 - 2,147,483,647 4 ไบต์ unsigned long int 0 - 4,294,967,295 signed long int -2,147,483,648 - 2,147,483,647 float 3.4x10-38 - 3.4x10 38 double 8 ไบต์ long double 10 ไบต์ BC322 : Computer Programming (ครั้งที่ 2)
วิธีการประกาศตัวแปร เช่น int x; int a,b,c; int j = 0; float avg; ชนิดตัวแปร ชื่อตัวแปร; รูปแบบ ถ้าไม่ใส่ค่าให้ในครั้งแรก ค่าที่อยู่ในตัวแปรจะเป็นขยะ ในหน่วยความจำ ตัวแปรใดที่ไม่ใช้ในโปรแกรม คอมไพเลอร์อาจจะแจ้งเตือน ต้องประกาศตัวแปรก่อนใช้ทุกครั้ง เช่น int x; int a,b,c; int j = 0; float avg; double sum =0; BC322 : Computer Programming (ครั้งที่ 2)
การประกาศค่าคงที่ ตัวแปรที่มีค่าคงที่ตลอดทั้งโปรแกรม/เปลี่ยนแปลงไม่ได้ รูปแบบ const ชนิดตัวแปร ชื่อตัวแปร = ค่าคงที่; เช่น const int Rate = 20 ; BC322 : Computer Programming (ครั้งที่ 2)
Ex ลอง ประกาศค่าคงที่ต่อไปนี้ pi เก็บค่าคงที่ในการคำนวณพื้นที่วงกลม Num เก็บค่าตัวเลขจำนวนเต็มที่น้อยที่สุด Data เก็บรหัสวิชาComputer Programming BC322 : Computer Programming (ครั้งที่ 2)
การกำหนดค่าให้กับตัวแปร รูปแบบ ตัวแปร = นิพจน์; เช่น a = 20; z = x * y; BC322 : Computer Programming (ครั้งที่ 2)
การเปลี่ยนประเภทข้อมูล ระบุชนิดที่ต้องการไว้ข้างหน้า เช่น int y; y = (int)2.4; -> y = 2 float x; x = (float)15; BC322 : Computer Programming (ครั้งที่ 2)
Operators Relational Operators Logical Operators Arithmetic Operators BC322 : Computer Programming (ครั้งที่ 2)
1. Arithmetic Operators ( ) ++, -- (ขวา->ซ้าย) *, / , % (Modulus) ++, -- (ขวา->ซ้าย) *, / , % (Modulus) +, - BC322 : Computer Programming (ครั้งที่ 2)
Ex จงหาคำตอบของผลลัพธ์ต่อไปนี้ 3 * 4 - (3 - 7) ? 5 % 2 + 14 / 3 – 6 2 1 3 4 BC322 : Computer Programming (ครั้งที่ 2)
2.Relational Operators == (Equal) != (Not Equal) <= (Less Than or Equal) >= (More Than or Equal) > (More Than) < (Less Than) BC322 : Computer Programming (ครั้งที่ 2)
Ex กำหนดให้ a= 3, b=4,c=0 จงหาคำตอบของนิพจน์ต่อไปนี้ a-c == 5 BC322 : Computer Programming (ครั้งที่ 2)
3.Logical Operators && (And) || (Or) ! (Not) BC322 : Computer Programming (ครั้งที่ 2)
A B A && B A || B !(A) T F BC322 : Computer Programming (ครั้งที่ 2)
Ex กำหนดให้ a = 9 จงหาผลลัพธ์ต่อไปนี้ (a>0)&&(a<5); (a>0)||(a<5); !(a>0); BC322 : Computer Programming (ครั้งที่ 2)
Increment and Decrement (ตัวดำเนินการเพิ่มและลด) ++ เช่น x++; ++x; -- เช่น x--; --x; x = x + 1; x = x - 1; BC322 : Computer Programming (ครั้งที่ 2)
Ex จงหาผลลัพธ์ต่อไปนี้ y = ++x; x = ? y = ? x = 10; y = x++; x = ? y = ? 11 10 11 x = 10; y = x--; x = ? y = ? x = 10; y = --x; x = ? y = ? 9 10 9 BC322 : Computer Programming (ครั้งที่ 2)
Compound Assignment *= เช่น x = x * y; -> x *= y; BC322 : Computer Programming (ครั้งที่ 2)
Expression Arithmetic Expression นิพจน์คณิตศาสตร์ ห้ามเขียนตัวแปรติดกัน ตัวแปรต่างชนิดกัน -> ผลลัพธ์มีชนิดที่ใหญ่ เช่น char กับ int -> int float กับ double -> double int กับ long int -> long int int กับ double -> double BC322 : Computer Programming (ครั้งที่ 2)
int double float double double char ch; int i; float f; double d; result = (ch / i) + (f * d) – (f + i); int double float double double BC322 : Computer Programming (ครั้งที่ 2)
เตรียมกระดาษ 1 แผ่น BC322 : Computer Programming (ครั้งที่ 2)