1 / 34

Component of C

Component of C. รายวิชา ง 40102 หลักการแก้ปัญหาและการโปรแกรม. ชุดอักขระในภาษาซี. แบ่งหมวดหมู่ของตัวอักขระออกเป็น 3 ชนิดหลักๆ คือ ตัวอักษร ตัวเลข และตัวอักขระ “ _ ” (underscore) ตัวอักขระพิเศษอื่น (Special Characters) ตัวดำเนินการ เครื่องหมายวรรคตอน ฯลฯ

benita
Download Presentation

Component of C

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. Component of C รายวิชา ง40102 หลักการแก้ปัญหาและการโปรแกรม

  2. ชุดอักขระในภาษาซี • แบ่งหมวดหมู่ของตัวอักขระออกเป็น 3 ชนิดหลักๆ คือ • ตัวอักษร ตัวเลข และตัวอักขระ “ _ ” (underscore) • ตัวอักขระพิเศษอื่น (Special Characters) • ตัวดำเนินการ เครื่องหมายวรรคตอน ฯลฯ • ! " # % & ( ) ‘ * + , - . / : ; < = > ? [ \ ] ^ { | } ~ • ตัวอักขระ White Space • ไม่สามารถมองเห็นด้วยตาใช้เป็นตัวแบ่งแยกเช่น ช่องว่าง, ขึ้นบรรทัดใหม่, ขึ้นหน้าใหม่ฯลฯ

  3. รหัสควบคุม (Control code) • รหัสที่ใช้แทนอักขระพิเศษอื่น และอักขระ White Space • มักใช้ร่วมกับคำสั่งที่ใช้ในการรับและแสดงผลข้อมูล เช่น คำสั่ง printf , cprintf , scanf , cscanf ฯลฯ • มีอักขระแบคสแลช ( \ ) นำหน้า แล้วตามด้วยตัวอักษรหรือตัวเลข • แต่ละรหัสใช้เพื่อเป็นตัวแทนของอักขระ white space หรือรหัสพิเศษอื่นจำนวนหนึ่งอักขระ

  4. รหัสควบคุม (Control code) \t คือ horizontal tab \n คือ new line \r คือ carriage return \b คือ backspace \a คือ bell \” คือ ” \0 คือ null character \’ คือ ’ \? คือ ? \\ คือ \ ฯลฯ

  5. ตัวแปร • ชื่อสำหรับอ้างอิงถึงพื้นที่ในหน่วยความจำ , ชื่อที่ใช้ในการอ้างถึงข้อมูล • ตัวแปรในภาษาซีมีหลายชนิดและหลายขนาด เพื่อให้เราสามารถเลือกใช้ชนิดของตัวแปรได้ตรงกับชนิดของข้อมูล

  6. การประกาศตัวแปร (Variable Declaration) <Type> <variable-list> ; Type คือชนิดของตัวแปร (ชนิดของข้อมูล) variable-list คือ ชื่อของตัวแปรที่ประกาศ ถ้ามีมากกว่า หนึ่งตัวจะต้องใช้คอมม่า (,) เป็นตัวแยก Ex. int a ; int lower,upper ; short int man,ratio; double point; char ch,c,name; float rate,ratio ;

  7. ชนิดของข้อมูล (Data type) • ชนิดของข้อมูลพื้นฐานในภาษาซีมีหลายชนิดเช่น • char : ตัวอักษร • int : จำนวนเต็ม • unsigned int : จำนวนเต็มไม่มีเครื่องหมาย • long ,long int : จำนวนเต็ม ขนาดเป็น 2 เท่าของ int • float : จำนวนจริง • double : จำนวนจริง ขนาดเป็น 2 เท่าของ float • long double : จำนวนจริง มีขนาดยาวเป็นพิเศษ

  8. ขนาดและขอบเขตของตัวแปร (Turbo C)

  9. หลักการตั้งชื่อตัวแปรหลักการตั้งชื่อตัวแปร • ตัวอักขระตัวแรกต้องเป็นตัวอักษรเท่านั้น ( underscore ‘_’ เป็นอักษรตัวหนึ่งแต่จะไม่นิยมใช้เป็นตัวแรก) • ตัวอักขระตัวถัดไปอาจตามด้วยตัวอักษร ตัวเลข หรือ ‘_’ • มีความยาวเท่าไหร่ก็ได้ แต่จะรับรู้แค่ 31 ตัวแรกเท่านั้น • ชื่อตัวแปรที่เป็นอักษรตัวเล็กล้วน ตัวอักษรตัวใหญ่ล้วน หรือตัวอักษรเล็กปนตัวอักษรใหญ่ จะถือว่าเป็นคนละ ตัวแปรกัน (Case sensitive) เช่น DATA, data, Data • ห้ามใช้คำสงวนมาเป็นชื่อ ยกเว้นแต่จะประกอบเป็นส่วนหนึ่งของชื่อ

  10. คำสงวน • คำที่ภาษาซีสงวนไว้เพื่อเป็นคำสั่งพื้นฐานหรือเป็นสัญลักษณ์ในการประกาศค่าต่างๆ • ตัวแปรเช่น unsigned, short, int, long, float, double • คำสั่งพื้นฐาน เช่น void, return, for, goto, if, else, do, while, switch ฯลฯ ข้อสังเกต เมื่อเราพิมพ์คำสงวน standard turbo C จะแสดงเป็นตัวอักษรสีขาว

  11. ตัวแปรที่ดี • นอกจากหลักการตั้งชื่อเบื้องต้นแล้ว สิ่งที่สำคัญอีกอย่างในการสร้างตัวแปรคือ • ตัวแปรควรเป็นชื่อที่สื่อความหมาย เช่น ตัวแปรที่ใช้เก็บค่าอุณหภูมิ อาจตั้งชื่อเป็น degC (degree in Celsius) , degF (degree in Fahrenheit) ฯลฯ • ตัวแปรควรมีชนิดข้อมูลที่เหมาะสม • ข้อมูลที่อาจมีจุดทศนิยม -> float , double ฯลฯ • ข้อมูลที่ไม่ต้องมีจุดทศนิยม -> int, long ฯลฯ

  12. การกำหนดค่าให้กับตัวแปรการกำหนดค่าให้กับตัวแปร <var1>[=var2]….=<expression> var1, var2 คือ ชื่อตัวแปรที่จะถูกกำหนดค่า expression คือ นิพจน์ ซึ่งอาจเป็นตัวแปร ค่าคงที่ หรือเป็นการดำเนินการระหว่างตัวแปร =คือ ตัวดำเนินการให้นำค่านิพจน์ด้านขวาของตัวดำเนินการ “=” ไปกำหนดค่าให้กับตัวแปรด้านซ้ายของตัวดำเนินการ “=”

  13. ตัวอย่างการประกาศและกำหนดค่าให้ตัวแปรตัวอย่างการประกาศและกำหนดค่าให้ตัวแปร voidmain() { int val1, val2, val3; val1 = val2 = val3 = 1; } void main() { int begin; begin = 0; } voidmain() { float temperature; temperature = 37.5; } voidmain() { char ch1, ch2; ch1 = ‘A’; ch2 = ‘X’; }

  14. ตัวอย่างการประกาศและกำหนดค่าให้ตัวแปรตัวอย่างการประกาศและกำหนดค่าให้ตัวแปร #include <stdio.h> void main() { int var1 , var2 , var3; var1 = 3; var2 = 5; printf(“var1 = %d\n” , var1); printf(“var2 = %d\n” , var2); var3 = var1 + var2; printf(“var1 + var2 = %d\n” ,var3); printf(“var1 + var2 = %d\n” , var1+var2); }

  15. ex1.cpp เขียนโปรแกรมโดยทำตามขั้นตอนต่อไปนี้ • ประกาศตัวแปรแบบ float ขึ้นมา 3 ตัว ตั้งชื่อตัวแปรเป็นอะไรก็ได้ • กำหนดให้ตัวแปรตัวแรกมีค่าเท่ากับ 10.5 • กำหนดให้ตัวแปรตัวที่ 2 มีค่าเท่ากับ 5.8 • กำหนดให้ตัวแปรตัวที่ 3 มีค่าเท่ากับผลคูณของ 2 ตัวแปรแรก • พิมพ์ค่าที่จัดเก็บในตัวแปรทั้ง 3 ตัวออกทางหน้าจอ [ ตัวแปรชนิด float ใช้ format เป็น %f ]

  16. ค่าคงที่ (constant) • คือ ข้อมูลหรือค่าที่ไม่สามารถเปลี่ยนแปลงได้ แยกเป็น 2 ชนิด • ค่าคงที่ที่ใช้ในการคำนวณ • ค่าคงที่ที่ไม่ใช่ในการคำนวณ (string)

  17. ค่าคงที่ที่ใช้ในการคำนวณค่าคงที่ที่ใช้ในการคำนวณ • ค่าคงที่จำนวนเต็ม (Integer Constants)ได้แก่ค่าคงที่ที่เป็นจำนวนเต็มไม่มีจุดทศนิยม เช่น 568, -96 , + 645 • ค่าคงที่ที่มีจุดทศนิยม (Floating-point Constants) • ค่าคงที่ที่มีจุดทศนิยมธรรมดา เช่น 20.65 , -35.02 , 000.24 • ค่าคงที่ที่มีจุดทศนิยมในรูปแบบวิทยาศาสตร์ (Science Notation ) เช่น 1E+04 , 1.5E-06

  18. ค่าคงที่ที่ใช้ในการคำนวณค่าคงที่ที่ใช้ในการคำนวณ • ค่าคงที่ที่เป็นอักขระ (Character Constants) ได้แก่ ค่าคงที่ที่เป็นตัวเลข หรือตัวอักษร หรืออักขระที่เป็นรหัสควบคุม มีขนาด 1 ไบต์ และเขียนอยู่ภายใต้อักขระ Apostrophe เช่น ‘A’ • ค่าคงที่ในระบบเลขฐานแปด (Octal constants) เช่น 0250 มีค่าเท่ากับ (250)8 • ค่าคงที่ในระบบเลขฐานสิบหก (Hexadecimal constants) เช่น 0x35F มีค่าเท่ากับ (35F)16

  19. ค่าคงที่ที่ไม่ใช้ในการคำนวณ (String constants) • ค่าคงที่ที่ไม่สามารถนำไปคำนวณได้ • อาจประกอบด้วย ตัวเลข ตัวอักษร หรืออักขระพิเศษอื่นที่ต้องเขียนภายใต้อักขระคำพูด • ตัวอักขระภายในเครื่องหมายคำพูดจะถูกบันทึกในหน่วยความจำต่อเนื่องกันไป เช่น “Hello”, “2”, “This is C programming”

  20. สัญลักษณ์คงที่ (Symbolic constants) • ค่าคงที่บางค่าอาจถูกนำไปใช้บ่อยในโปรแกรม ซึ่งเราสามารถเขียนแทนค่าคงที่ค่านั้นด้วยสัญลักษณ์เพื่อช่วยในการสื่อความหมายได้ • ในการกำหนดสัญลักษณ์จะใช้คำสั่ง #define ซึ่งต้องประกาศอยู่นอกเหนือฟังก์ชัน main()#define PI 3.14159 #define TXT “Hello World” • PI และ TXT ไม่ใช่ตัวแปรและไม่สามารถเปลี่ยนแปลงค่าได้

  21. ตัวอย่างการใช้ค่าคงที่ตัวอย่างการใช้ค่าคงที่ #include <stdio.h> #define PI 3.14159 void main() { int area , r = 5; area = PI * r * r ; printf(“area = %d\n”,area); } #include <stdio.h> #define TXT “Hello World” void main() { printf(“%s\n”,TXT); }

  22. การแสดงผลข้อมูล • การแสดงผลข้อมูลออกทางจอภาพในภาษาซี ส่วนใหญ่จะเรียกใช้งานฟังก์ชัน printf (อยู่ใน stdio.h) รูปแบบ printf (“format”, argument1, argument2, …); formatคือ รูปแบบการแสดงผลที่ถูกระบุเพื่อกำหนดรูปแบบของ ผลลัพธ์ที่ต้องการ ซึ่งจะประกอบด้วย • ข้อความที่ต้องการแสดงผลโดยตรง • format ของการพิมพ์ข้อมูล (อักษรที่มีเครื่องหมาย % นำหน้า) argument คือ ข้อมูล ซึ่งอาจเป็นค่าคงที่ ตัวแปร หรือนิพจน์ที่ต้องการจะพิมพ์ค่า ซึ่งจะพิมพ์ตามรูปแบบที่กำหนดไว้ในส่วน format

  23. ตัวอย่างคำสั่งแสดงผลข้อมูลตัวอย่างคำสั่งแสดงผลข้อมูล printf(“Hello World”); printf(“%d got score %d .\n”, ID, mark); printf(“The value of PI is %f\n”, pi); printf(“This computer cost %c%d”,‘$’, cost);

  24. การกำหนด format ใน printf • โดยปกติ เราจะใช้ format ในการกำหนดลักษณะการแสดงผลของตัวแปร หรือนิพจน์ต่างๆ • ซึ่งต้องกำหนดให้ถูกกับชนิดของตัวแปรด้วย • int, unsigned int - กำหนด format เป็น %d, %o, %x • long - กำหนด format เป็น %ld, %lo, %lx, • float, double - กำหนด format เป็น %f, %e • char – กำหนด format เป็น %c

  25. การกำหนด format ใน printf • ให้ทดลองพิมพ์โปรแกรมดังนี้ void main() { int i = 16; long l = 16; float f = 12.345; char c = ‘a’; printf(“%d\t %o\t %x\n” , i , i , i ); printf(“%ld\t %lo\t %lx\n” , l , l , l ); printf(“%f\t %e\n” , f , f); printf(“%c\n” , c ); }

  26. การกำหนด format ใน printf %d : พิมพ์ int ด้วยตัวเลขฐานสิบ %o : พิมพ์ int ด้วยตัวเลขฐานแปด %x: พิมพ์ int ด้วยตัวเลขฐานสิบหก %ld, %lo , %lx : พิมพ์ long (รูปแบบตามหลังเหมือน int) %f : พิมพ์ float, double แบบจุดทศนิยม (หกตำแหน่ง) %e : พิมพ์ float, double แบบวิทยาศาสตร์ เช่น 1.23e+23 %c : พิมพ์ char %s : พิมพ์ข้อความเช่น “Hello”

  27. คำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผลคำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผล • ใช้ร่วมกับ format ต่างๆ ที่นิยมใช้บ่อย คือ • เครื่องหมาย + • ใช้ร่วมกับการแสดงผลข้อมูลที่เป็นตัวเลข • พิมพ์เครื่องหมายบวกหน้าข้อมูลถ้าข้อมูลมีค่าเป็นบวก ตัวอย่างfloat w=15.2 , x=-13.3; printf (“w=%f x=%f\n” , w , x); printf (“w=%+f x=%+f\n” , w , x); ผลลัพธ์w=15.200000 x=-13.300000 w=+15.200000 x=-13.300000

  28. คำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผลคำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผล • ตัวเลข • ใช้กำหนดจำนวนช่องที่ใช้ในการแสดงผล • ถ้าจำนวนข้อมูลมีน้อยกว่าช่อง จะแสดงผลโดยจัดชิดด้านขวา • ถ้าจำนวนข้อมูลมีมากกว่าช่อง จะแสดงผลโดยไม่สนใจจำนวนช่อง ตัวอย่าง float w=15.2 ; printf (“%f|%5f|%9f|%10f|%12f|”,w,w,w,w,w); ผลลัพธ์ 15.200000|15.200000|15.200000| 15.200000| 15.200000|

  29. คำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผลคำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผล • จุดทศนิยมตามด้วยตัวเลข (.Number) • ใช้กำหนดจำนวนตัวเลขหลังจุดทศนิยมที่จะแสดงผลโดยจะแสดงตัวเลขหลังจุดทศนิยมเป็นจำนวนตำแหน่งเท่ากับ Number • นิยมใช้ตามหลังคำสั่งตัวเลข ตัวอย่างfloat w=32.5762 ; printf (“%f|%.f|%.2f|%7.2f|”,w,w,w,w); ผลลัพธ์ 32.576200|32|32.58| 32.58|

  30. คำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผลคำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผล • เครื่องหมาย - • ให้พิมพ์ข้อมูลชิดขอบซ้ายของฟิลด์ (ปกติข้อมูลจะชิดขวา) • มักใช้ร่วมกับคำสั่งจัดรูปแบบแสดงผลแบบอื่นๆ ตัวอย่างfloat w=32.5762 ; printf (“%f|%8.f|%+8.2f|\n”,w,w,w); printf (“%f|%-8.f|%-+8.2f|\n”,w,w,w); ผลลัพธ์ 32.576200| 32| +32.58| 32.576200|32 |+32.58 |

  31. การรับข้อมูล • การรับข้อมูลจากคีย์บอร์ดในภาษาซีส่วนใหญ่จะเรียกใช้งานฟังก์ชัน scanf ซึ่งเป็นฟังก์ชันมาตรฐานที่บรรจุอยู่ใน header file ที่ชื่อ stdio.h เช่นเดียวกับฟังก์ชัน printf รูปแบบ scanf (“format”, argument1, argument2, …); formatคือ รูปแบบของข้อมูล(argument)ที่ใช้รับข้อมูลที่ผู้ใช้ป้อนเข้ามา argument คือ ตำแหน่ง (Address) ของตัวแปรที่ใช้รับข้อมูลที่ผู้ใช้ป้อนเข้ามา • สามารถระบุตำแหน่งของตัวแปรได้โดยการเพิ่มเครื่องหมาย & ไว้หน้าตัวแปรนั้น • ตัวแปรต้องเป็นชนิดเดียวกับที่กำหนดไว้ใน format

  32. ตัวอย่าง #include <stdio.h> #include <conio.h> void main() { clrscr(); int integer1, integer2, sum; printf( "Enter first integer : " ); scanf( "%d", &integer1 ); printf( "Enter second integer : " ); scanf( "%d", &integer2 ); sum = integer1 + integer2; printf( "Sum is %d\n", sum ); }

  33. ex2.cpp ให้เขียนโปรแกรมคำนวณหาพื้นที่, และความยาวเส้นรอบวงของวงกลม และแสดงผลลัพธ์ที่ได้จากการคำนวณออกทางหน้าจอ ให้ใช้ค่าของ pi = 3.14159

  34. ex3.cpp ในการแปลงค่าอุณหภูมิระหว่าง องศาเซลเซียส กับ องศาฟาเรนไฮต์ สามารถหาได้จากสูตรว่า C = ( 5 / 9 ) * ( F – 32 ) เมื่อ C คืออุณหภูมิมีหน่วยเป็นองศาเซลเซียส F คืออุณหภูมิมีหน่วยเป็นองศาฟาเรนไฮต์ จงเขียนโปรแกรมเพื่อรับข้อมูลอุณหภูมิจากผู้ใช้ โดยมีหน่วยเป็นองศาฟาเรนไฮต์ แล้วแปลงเป็นองศาเซลเซียส และแสดงผลลัพธ์ที่ได้ออกทางหน้าจอ

More Related