1 / 39

Component of C

Component of C. อาจารย์ธนวรรณ กิริยะ. เนื้อหาที่สอน. ชุดอักขระ รหัสควบคุม ตัวแปร – การประกาศ, ชนิด, ขนาด, ขอบเขต, หลักการตั้งชื่อ, คำสงวน และการกำหนดค่าให้ตัวแปร ค่าคงที่ การแสดงผลข้อมูล การรับข้อมูล. ชุดอักขระในภาษาซี. แบ่งหมวดหมู่ของตัวอักขระออกเป็น 3 ชนิดหลักๆ คือ

gay-holt
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 อาจารย์ธนวรรณ กิริยะ

  2. เนื้อหาที่สอน • ชุดอักขระ • รหัสควบคุม • ตัวแปร – การประกาศ, ชนิด, ขนาด, ขอบเขต, หลักการตั้งชื่อ, คำสงวน และการกำหนดค่าให้ตัวแปร • ค่าคงที่ • การแสดงผลข้อมูล • การรับข้อมูล Component of C

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

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

  5. รหัสควบคุมการพิมพ์ (format code) • เป็นตัวบอกให้พิมพ์เลขฐานสิบ • เครื่องหมาย % เรียกว่า format specification ได้แก่ Component of C

  6. Component of C

  7.  \t horizontal tab \n new line \r carriage return \b backspace \a bell \” (”) \0 (null character) \’ (') \? (?) \\ (\) ฯลฯ Component of C

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

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

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

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

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

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

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

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

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

  17. voidmain() { int val1, val2, val3; val1 = val2 = val3 = 1; } void main() { int begin; begin = 0; } voidmain() { char ch1, ch2; ch1 = ‘A’; ch2 = 65; } voidmain() { float temperature; temperature = 37.5; } Component of C

  18. Ex2_1.c #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); } Component of C

  19. Ex2_2.c • ประกาศตัวแปรแบบ float ขึ้นมา 3 ตัว ตั้งชื่อตัวแปรเป็นอะไรก็ได้ • กำหนดให้ตัวแปรตัวแรกมีค่าเท่ากับ 10.5 • กำหนดให้ตัวแปรตัวที่ 2 มีค่าเท่ากับ 5.8 • กำหนดให้ตัวแปรตัวที่ 3 มีค่าเท่ากับผลคูณของ 2 ตัวแปรแรก • พิมพ์ค่าที่จัดเก็บในตัวแปรทั้ง 3 ตัวออกทางหน้าจอ • ตัวแปรชนิด float ใช้ format เป็น %f Component of C

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

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

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

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

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

  25. #include <stdio.h> #define MSG “Hello World” void main() { printf(“%s\n”,MSG); } #include <stdio.h> #define PI 3.14159 void main() { int area , r = 5; area = PI * r * r ; printf(“area = %d\n”,area); } Component of C

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

  27. argument: ข้อมูล ซึ่งอาจเป็นค่าคงที่ ตัวแปร หรือนิพจน์ที่ต้องการจะพิมพ์ค่า ซึ่งจะพิมพ์ตามรูปแบบที่กำหนดไว้ในส่วน format Ex. printf(“Hello World”); printf(“%d got score %d .\n”, ID, mark); printf(“The value of PI is %f\n”, pi); printf(“Dang is %d years old , and Dum is %d years old too.\n”,age,age); printf(“This computer cost %c%d”,‘$’, cost); Component of C

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

  29. การกำหนด 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 ); } Component of C

  30. การกำหนด 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”     Component of C

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

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

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

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

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

  36. argument: ตำแหน่ง (Address) ของตัวแปรที่ใช้รับข้อมูลที่ผู้ใช้ป้อนเข้ามา • สามารถระบุตำแหน่งของตัวแปรได้โดยการเพิ่มเครื่องหมาย & ไว้หน้าตัวแปรนั้น • ตัวแปรต้องเป็นชนิดเดียวกับที่กำหนดไว้ใน format Example int day , month ,year; char ch; scanf (“%d , %d , %d , %c ”, &day , &month , &year, &ch); Component of C

  37. Ex2_3.c #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 ); } Component of C

  38. Ex2_3.c • ให้เขียนโปรแกรมคำนวณหาพื้นที่, และความยาวเส้นรอบวงของวงกลม และแสดงผลลัพธ์ที่ได้จากการคำนวณออกทางหน้าจอ • กำหนดให้ผู้ใช้ใส่ข้อมูล รัศมีของวงกลม • ให้ใช้ค่าของ pi = 3.14159 Component of C

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

More Related