1 / 35

บทที่ 2

บทที่ 2. เริ่มต้นใช้งานภาษาซี. Outline. องค์ประกอบของภาษาซี ชื่อ ชนิดข้อมูล เครื่องหมายคณิตศาสตร์ นิพจน์คณิตศาสตร์ เครื่องหมายเปรียบเทียบ กำหนดตัวแปร. ภาษาซี.

derora
Télécharger la présentation

บทที่ 2

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. บทที่ 2 เริ่มต้นใช้งานภาษาซี

  2. Outline • องค์ประกอบของภาษาซี • ชื่อ • ชนิดข้อมูล • เครื่องหมายคณิตศาสตร์ • นิพจน์คณิตศาสตร์ • เครื่องหมายเปรียบเทียบ • กำหนดตัวแปร

  3. ภาษาซี • ภาษาซีได้พัฒนาขึ้นในปี ค.ศ.1972 โดย เดนิส ริชชี่ (Dennis Ritchie) นักคณิตศาสตร์ประจำห้องปฏิบัติการเบลล์ (Bell Laboratories) มลรัฐนิวเจอร์ซี (New Jersey) ประเทศสหรัฐอเมริกา • ภาษาซี รวบรวมจุดเด่นของภาษาระดับสูงผนวกเข้ากับภาษาระดับต่ำ โดยใช้ตัวแปรภาษาชนิด Compiler จึงมีความสามารถในการใช้งานสูงมาก โปรแกรมมีความกะทัดรัด และที่สำคัญ มีการนำภาษาซีไปเขียนโปรแกรมประยุกต์ต่าง ๆ ขึ้นมาใช้งานอีกเป็นจำนวนมาก

  4. #include <stdio.h> main() { int a; a = 30; printf(“a = %d”, a) } Header file Function’s name Declaration Program องค์ประกอบของภาษาซี

  5. ภาษา C จะมีเฮดเดอร์ที่ใช้งานปกติทั้งหมด 15 ไฟล์ ดังต่อไปนี้

  6. สำหรับเฮดเดอร์ไฟล์ที่ใช้งานประจำสำหรับเฮดเดอร์ไฟล์ที่ใช้งานประจำ • ctype.hใช้สำหรับการประกาศฟังก์ชันเกี่ยวกับตัวอักษร • conio.hใช้สำหรับการประกาศฟังก์ชันเกี่ยวกับการแสดงผล • math.hใช้สำหรับการประกาศฟังก์ชันคณิตศาสตร์ • stdio.hใช้สำหรับการประกาศฟังก์ชันสำหรับรับและแสดงผลข้อมูลมาตรฐาน • stdlib.hใช้สำหรับการประกาศฟังก์ชันสำหรับจัดการหน่วยความจำ ควบคุมกระบวนการทำงาน และการแปลงค่าต่าง ๆ • string.hใช้สำหรับการประกาศใช้ฟังก์ชันสำหรับข้อมูลชนิดข้อความ

  7. ชื่อ (Identifiers) • กฎการตั้งชื่อ • ประกอบด้วยอักษร ตัวเลข และเครื่องหมาย underscore ( _ ) • ตัวแรกต้องเป็นตัวอักษร • underscoreต้องอยู่ระหว่างตัวอักษร หรือตัวเลข • ความยาว 1-32 ตัวอักษร (ในเทอร์โบซี) • ห้ามมีเครื่องหมายอื่นยกเว้น $ • Case sensitive ชื่อที่เขียนด้วยตัวอักษรตัวเล็ก และตัวใหญ่ ถือว่าเป็นชื่อคนละตัวกัน • ห้างตั้งชื่อซ้ำกับคำสงวน (Reserve words)

  8. คำสงวนในภาษาC auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while

  9. ตัวแปร(Variable) • ตัวอย่าง ชื่อตัวแปรที่ถูก ชื่อตัวแปรที่ผิด count 1count test123 hi ! High_balance high…balance

  10. ชนิดข้อมูล (Data Type) • ภาษาซีจะมีชนิดของข้อมูล 5 ชนิด ดังนี้ • ข้อมูลชนิดจำนวนเต็ม(Integer Type)เช่น 17, 500, -80, +755 • ข้อมูลชนิดทศนิยม (Floating Point Type)เช่น15.00, -85.23, .1E05, 15.55E-50 • ข้อมูลชนิดทศนิยมละเอียดสองเท่า(Double Precision Floating Point) • ข้อมูลชนิดตัวอักษร (Character Type) • ข้อมูลชนิดไม่มีค่า(Valueless Type)

  11. ข้อมูลชนิดจำนวนเต็ม

  12. ข้อมูลชนิดจำนวนเต็ม

  13. ข้อมูลชนิดทศนิยมและทศนิยมละเอียดสองเท่าข้อมูลชนิดทศนิยมและทศนิยมละเอียดสองเท่า

  14. ข้อมูลชนิดตัวอักษร • ตัวอักษร A-Z, 0-9 และสัญลักษณ์ต่าง ๆ ข้อมูล ชนิดตัวอักษรจะใช้จำนวน 8 บิตในการเก็บตัวอักษร 1 ตัว ซึ่งในภาษาซีไม่มีข้อมูลชนิดข้อความ หรือ สตริง (String) ข้อมูลชนิดข้อความจะประกอบด้วยตัวอักษรหลาย ๆ ตัวเรียงติดกันเป็นข้อความ โดยใช้อาร์เรย์ (Array) ในการจัดเก็บ ซึ่งเราเรียกว่า Array of Character อาร์เรย์ที่ใช้เก็บข้อมูลชนิดข้อความ จะต้องมีจำนวนมากกว่าความยาวของข้อความ หรือสตริงอย่างน้อย 1 ตัวอักษร เพื่อใช้เก็บสตริงศูนย์ (Null String) เพื่อบอกให้ทราบว่า สิ้นสุดความยาวของข้อความ ซึ่งในภาษาซีจะใช้ \0 แทนสตริงศูนย์

  15. เครื่องหมายคณิตศาสตร์เครื่องหมายคณิตศาสตร์ • เครื่องหมายคณิตศาสตร์ (Arithmetic Operators) • เครื่องหมาย ความหมาย ตัวอย่าง • +การบวกA + B • -การลบ A - B • *การคูณA * B • /การหารA / B • %การหารเอาแต่เศษไว้5%3 = 2 • (Modulus) • --การลดค่าลงครั้งละ 1A--มีค่าเท่ากับ • A = A-1 • ++การเพิ่มค่าขึ้นครั้งละ 1A++มีค่าเท่ากับ • A = A+1

  16. นิพจน์คณิตศาสตร์ (Expression) • นิพจน์คณิตศาสตร์ประกอบด้วย ตัวแปร หรือ ค่าคงที่ ที่เชื่อมกันด้วยเครื่องหมายคณิตศาสตร์ การเขียนนิพจน์คณิตศาสตร์จะคล้ายกับสมการคณิตศาสตร์ เช่น x = (n1 + n2) x10 • เมื่อเขียนเป็นนิพจน์คณิตศาสตร์จะได้ดังนี้ x = (n1 + n2) * 10 • นิพจน์ที่อยู่ชั้นในสุดจะถูกประมวลผลก่อน เครื่องหมายคณิตศาสตร์ที่มีลำดับเดียวกันจะถูกประมวลผลจากซ้ายไปขวา

  17. ลำดับการประมวลผลเครื่องหมายคณิตศาสตร์ลำดับการประมวลผลเครื่องหมายคณิตศาสตร์

  18. ตัวอย่าง เช่น • 2+8*2 = 18 นำ 8 คูณ 2 ได้ 16 แล้วบวกด้วย 2 • (2+8)*2 = 20 นำ 8 บวก 2 ได้ 10 แล้วคูณด้วย 2 • 4/2*3 = 6 นำ 4 หารด้วย 2 ได้ 2 แล้วคูณด้วย 3 • ++ n หมายถึง เพิ่มค่า n อีก 1 • -- n หมายถึง ลดค่า n ลง 1 • y = x+1 หมายถึง การเพิ่มค่า y อีก 1 หรือมีค่าเท่ากับ y = x++ หรือ ++x • y = x-1 หมายถึง การลดค่า y ลง 1 หรือมีค่าเท่ากับ y = x-- หรือ --x

  19. ตัวอย่างโปรแกรม #include <stdio.h> #include <conio.h> void main(void) { // BeforePlus int n1 = 2,n2 = 3; float s; clrscr(); printf("n1 = %d n2 = %d\n",n1,n2); s = n1*n2++; printf("s = %.2f\n", s); printf("n1 = %d n2 = %d",n1,n2); getch(); }

  20. จะได้ผลลัพธ์ คือ n1 = 2 n2 = 3 s = 6.00 n1 = 2 n2 = 4 จากโปรแกรม กำหนดค่าเริ่มต้นให้ n1 เท่ากับ 2 และ n2 = 3 เมื่อดำเนินการตามนิพจน์s = n1*n2++; จะดำเนินการนำ 2 คูณกับ 3 แล้วจึงเพิ่มค่าของ n2 อีก 1 ซึ่งมีผลให้ตัวแปร s มีค่าเป็น 6.00 และเมื่อประมวลผลตามนิพจน์ข้างต้นแล้ว ค่าของตัวแปร n2 จะเพิ่มเป็น 4

  21. เครื่องหมายเปรียบเทียบ (Relational Operators) • เป็นเครื่องหมายที่ใช้ในการเปรียบเทียบและตัดสินใจ ผลของการเปรียบเทียบจะเป็นไปได้ 2 กรณี คือ จริง (1) และเท็จ (0) • เครื่องหมาย ความหมาย ตัวอย่าง • >มากกว่า A > B • >=มากกว่าหรือเท่ากับA >= B • <น้อยกว่า A < B • <= น้อยกว่าหรือเท่ากับA <= B • == เท่ากับ A == B • !=ไม่เท่ากับA != B

  22. เครื่องหมายตรรก(Logical Operators) • เป็นเครื่องหมายที่ใช้ในการเปรียบเทียบและตัดสินใจ โดยเอาเงื่อนไขตั้งแต่ 2 เงื่อนไขมาเปรียบเทียบกัน ผลที่เป็นไปได้มี 2 กรณี คือ จริง (1) และ เท็จ (0) • && (AND) P Q P && Q 0 0 0 0 1 0 1 0 0 1 1 1

  23. เครื่องหมายดำเนินการ • เครื่องหมายตรรก (ต่อ) • || (OR) P Q P || Q 0 0 0 0 1 1 1 0 1 1 1 1

  24. เครื่องหมายดำเนินการ • เครื่องหมายตรรก (ต่อ) • ! (NOT) P !P 0 1 1 0

  25. กำหนดตัวแปร (Declaration of Variable) • รูปแบบการประกาศชนิดตัวแปร • variable-list หมายถึงชื่อตัวแปรที่ต้องการประกาศ ถ้ามี มากกว่า 1 ตัว แยกกันด้วยเครื่องหมาย คอมม่า ( , ) • type หมายถึงชนิดของตัวแปร • valueหมายถึงค่าเริ่มต้นที่ต้องการกำหนดให้กับตัวแปร type variable-list [= value] ;

  26. ชนิดของตัวแปร(Type of Variable) • ตัวอย่าง int a; short int lower; float man, ratio; double point; char ch, c, name;

  27. ตัวอย่าง • int x; หมายถึง การกำหนดตัวแปรชื่อ x เป็นชนิดข้อมูลเลขจำนวนเต็ม • int a,b;หมายถึง กำหนดตัวแปรชื่อ a และ b เป็นชนิดข้อมูลเลขจำนวนเต็ม • float area;หมายถึง กำหนดตัวแปรชื่อ area เป็นชนิดข้อมูลเลขจำนวนจริง • char ch;หมายถึง การกำหนดตัวแปรชื่อ ch เป็นชนิดข้อมูลตัวอักษร • char name[30];หมายถึง การกำหนดตัวแปรชื่อ name เป็นข้อมูลชนิดข้อความที่เก็บตัวอักษรได้ 29 ตัวอักษร

  28. ตัวแปรชุด(Array Variable) • เป็นการประกาศตัวแปรหลายๆ ตัวภายใต้ชื่อเดียวกัน และใช้ตัวเลข กำกับเพื่อบอกตำแหน่งของตัวแปรแต่ละตัว (Subscriptหรือindex) • ตัวแปรชุดชนิด 1 มิติ(One Dimension) • ตัวแปรชุดที่มีตัวเลขแสดงตำแหน่งเพียงตัวเดียว • รูปแบบ • ตัวอย่างchar name[80]; char test[4] = {‘a’, ‘b’, ‘c’, ‘d’}; type array-name[n] [= {value}];

  29. ตัวแปรชุด(Array Variable) • ตัวแปรชุด 2 มิติ(Two-Dimension) • ตัวแปรที่เก็บข้อมูลเป็นตาราง ซึ่งมีลักษณะข้อมูลเป็นแถว และคอลัมน์ จะมีตัวเลขแสดงตำแหน่ง 2 ตัว • รูปแบบ • ตัวอย่างint twodim[3][4]; int twodim2[2][2] = {1, 2, 3, 4}; type array-name[n][m] [= {value}];

  30. แบบฝึกหัดท้ายบท • จงหาผลลัพธ์ของนิพจน์ต่อไปนี้ เมื่อกำหนดให้ n1=5 และ n2=10 1.1 x = (n1 + n2) / 3 1.2 x = n1 + n2 / 3 1.3 x=n2%n1 1.4 x=n1-- 1.5 x=n2++

  31. แบบฝึกหัดท้ายบท 2. จงหาค่าของนิพจน์ต่อไปนี้ ถ้ากำหนดให้ a = 2, b = 3, c = 4, d = 5, e = 6 และ f = 8 2.1 a + e / f -- * c 2.2 (f - e) * (c / a) 2.3 a * d / a + e / b 2.4 a * (d / (a + e)) / b

  32. แบบฝึกหัดท้ายบท 3. จงหาผลลัพธ์ของการเปรียบเทียบต่อไปนี้ เมื่อกำหนดให้ a=5 ,b=3 และ c=10 3.1 a>b 3.2 a>=b && a>c 3.3 a>=b && b<=c 3.4 c>=a || c<b 3.5 !a>b

  33. แบบฝึกหัดท้ายบท 4. ให้กำหนดชนิดตัวแปร และชื่อตัวแปร ตามเงื่อนไขต่อไปนี้ 4.1 กำหนดให้ตัวแปร x เป็นชนิดข้อมูลเลขจำนวนเต็มยาว 4.2 กำหนดให้ตัวแปร x และ y เป็นชนิดข้อมูลเลขจำนวนเต็ม และมีค่าเริ่มต้นเป็น 100 และ 200 ตามลำดับ 4.3 กำหนดให้ตัวแปร check เป็นชนิดข้อมูลตัวอักษร โดยกำหนดค่าเริ่มต้นเป็น ‘Y’ 4.4 กำหนดให้ตัวแปร book เป็นชนิดข้อมูลข้อความ โดยกำหนดค่าเริ่มต้นเป็น “Thailand” 4.5 กำหนดให้ตัวแปร n เป็นชนิดข้อมูลค่าคงที่เลขจำนวนเต็ม และมีค่าเริ่มต้นเป็น 10

  34. แบบฝึกหัดท้ายบท 5. จงเขียนนิพจน์ต่อไปนี้ให้เป็นนิพจน์ภาษา C 5.1 a + b c + d 5.2 2xy + 3y2. 5.3 z2 – 5xy + y2 5.4 1 ab x + y a – b 5.5 (p-e) (1-q)

  35. แบบฝึกหัดท้ายบท 6. จงเขียนนิพจน์ตามคำสั่งต่อไปนี้ 6.1 ให้เพิ่มค่า x ขึ้นอีก 1 6.2 ให้ลดค่าของ a ลงอีก 5 6.3 หาค่าผลคูณของ p กับ q แล้วนำค่าผลคูณนั้นมาลบด้วยค่าของ r + 1

More Related