C Programming

2,690 views

Published on

พื้นฐานโปรแกรมภาษา C

Published in: Education
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
2,690
On SlideShare
0
From Embeds
0
Number of Embeds
5
Actions
Shares
0
Downloads
102
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

C Programming

  1. 1. บทท 3 พนฐานโปรแกรมภาษา C อ.วราวฒ แขงขนมหาวทยาลยราชภฏสวนดสต ศนยพษณโลก
  2. 2. เนอหา 1.ประวตความเปนมา 2.ข!อดของภาษา C 3.กระบวนการแปลโปรแกรมภาษา C 4.ตดตงโปรแกรม 5.โครงสร!างโปรแกรมภาษา C 6.กฎเกณฑ(ของโปรแกรมภาษา CK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 2
  3. 3. เนอหา (ตอ) 7.ตวแปรในภาษา C 8.ตวด*าเนนการในภาษา C 9.นพจน(ในภาษา C 10.การเปลยนชนดข!อม.ลของตวแปรในภาษา C 11.การแสดงผลในภาษา C 12.การรบข!อม.ลในภาษา C 13.หมายเหต1 (Comment)K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 3
  4. 4. 1. ประวตความเปนมา ภาษา ภาษา ภาษา BCPL B CBasic Combined บนเครอง พ.ศ. 2515 Programming PDP-7 โดย เดนนช รทช Language (Unix) พ.ศ. 2513K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 4
  5. 5. 2. ขอดของภาษา C ● เปนภาษาระดบส.ง (High Level Language) ● ไม3ข4นกบระบบปฏบตการ (OS Independent) ● ไม3ข4นกบชนดของเครองคอมพวเตอร( (Hardware Independent) ● เปนภาษาโครงสร!าง (Structural Language)K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 5
  6. 6. 3. กระบวนการแปลโปรแกรมภาษา C Source Code Program CompileK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 6
  7. 7. 4. ตดต!งโปรแกรม ● โปรแกรม Editor ต3างๆ เช3น Notepad, Notepad++, EditPlus2, Turbo C, Turbo C++ เปนต!น ● โปรแกรมทใช!ในการจดการเรยนการสอน คอ Bloodshed Dev-C++ Version 4.9.9.2 เปน Freeware (http://www.bloodshed.net/)K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 7
  8. 8. 5. โครงสรางโปรแกรมภาษา C#include <stdio.h> /* Comment */… Data Declarations ...;int main ( ) { … Executable Statements ...; return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 8
  9. 9. 5. โครงสรางโปรแกรมภาษา C#include <stdio.h> /* Comment */… Data Declarations ...; Commentint main ( ) { … Executable Statements ...; return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 9
  10. 10. 5. โครงสรางโปรแกรมภาษา C#include <stdio.h> /* Comment */ Header File… Data Declarations ...; Directive Preprocessorint main ( ) { … Executable Statements ...; return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 10
  11. 11. 5. โครงสรางโปรแกรมภาษา C#include <stdio.h> /* Comment */… Data Declarations ...; int n;int main ( ) { char c; … Executable Statements ...; return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 11
  12. 12. 5. โครงสรางโปรแกรมภาษา C#include <stdio.h> /* Comment */… Data Declarations ...; Start Programint main ( ) { … Executable Statements ...; [ return 0;} 12
  13. 13. 6. กฎเกณฑของโปรแกรมภาษา C ● ฟ8งก(ชนแรกต!องเปน main( ) เสมอ ● ใช!ป9กกา ({ }) เปนตวก*าหนดขอบเขตการท*างาน ● ใช!เครองหมาย ; (semi colon) ป:ดท!ายค*าสงเสมอ ● ใช!เครองหมาย , (comma) เปนตวคนตวแปรและ พารามเตอร( ● ใช!เครองหมาย /* … */ เปนการอธบายการท*างาน ของโปรแกรมK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 13
  14. 14. Example 1 (ex0301_1.c) #include <stdio.h> /* #include “stdio.h” */ #include <conio.h> int main( ) { printf(“Hello World!!!n”); getch(); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 14
  15. 15. Example 1 (ex0301_2.c) #include <stdio.h> /* #include “stdio.h” */ #include <stdlib.h> int main( ) { printf(“Hello World!!!n”); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 15
  16. 16. Example 2 (ex0302.c) #include “stdio.h” #include “conio.h” int main( ) { printf(“Hello “); printf(“World!!!”); printf(“n”); getch(); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 16
  17. 17. Example 3 (ex0303.c) #include <stdio.h> #include <stdlib.h> int main( ) { printf(“Hello n”); printf(“World”); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 17
  18. 18. 7. ต!วแปรในภาษา C (Variable in C) ● ต!วแปร (Variable) คอ การจองพนทในหน3วยความ จ*า เพอใช!ในการเก<บข!อม.ล เปรยบเสมอนการ ก*าหนดชอให!สงของหรอห!องพก ในการเรยกใช! ข!อม.ลก<จะท*าการเรยกผ3านตวแปรทเราก*าหนดข4นK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 18
  19. 19. ชนดของต!วแปรในภาษา C ● ต!วแปรพนฐาน (Scalar) หมายถ4ง ตวแปรทเก<บ ข!อม.ลได!เพยงค3าเดยว ภายในตวแปรตวเดยว ● ต!วแปรช*ด (Array) หมายถ4ง ตวแปรทเก<บข!อม.ลได! หลายค3า ภายในตวแปรตวเดยว และมชนดข!อม.ล เปนชนดเดยวกน ● ต!วแปรโครงสราง (Structure) หมายถ4ง ตวแปรท เก<บข!อม.ลได!หลายค3า ภายในตวแปรตวเดยว และม ชนดข!อม.ลหลายชนดK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 19
  20. 20. ต!วแปรพนในฐานในภาษา C แบ3งออกเปน 2 ชนด ดงน ● Integer Types ● Real TypesK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 20
  21. 21. K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 21
  22. 22. K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 22
  23. 23. Example 4 (ex0104.c)#include <stdio.h>#include <stdlib.h>#include <limits.h>int main( ){ printf("Minimum char = %d, ", CHAR_MIN); printf("Maximum char = %dn", CHAR_MAX); printf("Minimum int = %i, ", INT_MIN); printf("Maximum int = %in", INT_MAX); system(“PAUSE”); return 0;}Minimum char = -128, Maximum char = 127 23Minimum int = -2147483648, Maximum int = 2147483647
  24. 24. การต!งชอต!วแปรในภาษา C ● ต!องข4นต!นด!วยตวอกษร A-Z หรอ a-z หรอ เครองหมาย _ ● ภายในชอตวแปรสามารถใช!ตวอกษร A-Z หรอ a-z หรอ 0-9 หรอเครองหมาย _ ● ภายในชอตวแปรห!ามเว!นช3องว3าง หรอใช!สญลกษณ( อนนอกเหนอจากทระบ1ไว! ● ตวอกษรตวเล<กและตวใหญ3มความหมายแตกต3างกนK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 24
  25. 25. การต!งชอต!วแปรในภาษา C (ตอ) ● ห!ามตงชอซ*ากบค*าสงวน (Reserved Word) หรอ ค*าสงทใช!ในภาษา C auto break case char const continue default do double else enum extern float for goto it int long register return short signed sizeof static struct switch typedef union unsigned void volatile while etc.K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 25
  26. 26. ต.ย. การต!งชอต!วแปรในภาษา C Correct Incorrect average pi 3rd_entry all$done number_of_students the end int entry_total entryTotal all_total allTotalK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 26
  27. 27. การประกาศต!วแปร ร-ปแบบ: type name; Example: int n; โดยท: float f; type คอ ชนดของตวแปร char c; name คอ ชอของตวแปร double d;K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 27
  28. 28. การก.าหนดคาใหก!บต!วแปร ร-ปแบบ: type name = value; Example: int n = 10; โดยท: float f = 10.5; type คอ ชนดของตวแปร char c = A; name คอ ชอของตวแปร double d = 250.00; value คอ ค3าทก*าหนดให!กบตวแปรK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 28
  29. 29. 8. ต!วด.าเนนงานในภาษา C ● Assignment Statement ● Arithmetic Operators ● Increment/Decrement Operators ● Other Assignment Operators ● Comparison Operators ● Logical OperatorsK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 29
  30. 30. Assignment Statement ● ใช!เครองหมาย = ● ใช!ในการก*าหนดค3าให!กบตวแปร ร-ปแบบ: variable = expression; โดยท: variable คอ ชอของตวแปร expression คอ นพจน(หรอค3าทต!องการก*าหนดK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 30
  31. 31. Example Assignment StatementK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 31
  32. 32. Example 5 (ex0305.c)#include <stdio.h>#include <stdlib.h>int main( ) { int term; int term_2; int term_3; term = 15 term_2 = 30 term = 3 * 5; term_3 = 45 term_2 = 2 * term; term_3 = 3 * term; printf("term = %dn", term); printf("term_2 = %dn", term_2); printf("term_3 = %dn", term_3); system(“PAUSE”); return 0; 32 }
  33. 33. K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 33
  34. 34. Example 6 (ex0306.c)#include <stdio.h>#include <stdlib.h>int main( ) { int a = 5, b = 2; int z; a+b=7 a-b=3 z = a + b; a * b = 10 printf("a + b = %dn", z); z = a – b; printf("a - b = %dn", z); z = a * b; printf("a * b = %dn", z); system(“PAUSE”); return 0; 34}
  35. 35. Example 7 (ex0307.c)#include <stdio.h>#include <stdlib.h>int main( ) { int a = 5, b = 2; int z; div = 2 z = a / b; mod = 1 printf(“div = %dn", z); z = a % b; printf(“mod = %dn", z); // printf(“a %% b = %dn”, z); system(“PAUSE”); return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 35
  36. 36. Increment/Decrement Operators ● เปนการเพมค3า/ลดค3าทละหน4ง ● การเพมค3าทละหน4ง ใช!เครองหมาย ++ ● การลดค3าทละหน4ง ใช!เครองหมาย – int i = 5, j = 4; i++; // i = i + 1; result = 6 --j; // j = j – 1; result = 3 ++i; // i = i + 1; result = 7K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 36
  37. 37. K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 37
  38. 38. Example 8 (ex0308.c) #include <stdio.h> #include <stdlib.h> n=5 int main( ) { n=6 int n = 5; n=6 n=7 printf(“n = %dn”, n); printf(“++n = %dn”, ++n); printf(“n++ = %dn”, n++); printf(“n = %dn”, n); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 38
  39. 39. Example 9 (ex0309.c) #include <stdio.h> #include <stdlib.h> int main( ) { int value = 1, result; result = 8 value = 3 result = (value++ * 5) + (value++ * 3); printf(“result = %dn”, result); printf(“value = %dn”, value); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 39
  40. 40. ต!วด.าเนนการทางคณตศาสตร ประเภทลดร-ปK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 40
  41. 41. Example 10 (ex0310.c)#include <stdio.h>#include <stdlib.h>int main( ) { int a = 5, b = 1; Before b = 1 After b = 6 printf(“Before b = %dn”, b); b += a; // b = b + a; printf(“After b = %dn”, b); system(“PAUSE”); return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 41
  42. 42. Comparison OperatorsK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 42
  43. 43. Logical OperatorsK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 43
  44. 44. Table Logical Operators A B A && B A || B !A !B TRUE TRUE TRUE TRUE FALSE FALSE TRUE FALSE FALSE TRUE FALSE TRUE FALSE TRUE FALSE TRUE TRUE FALSE FALSE FALSE FALSE FALSE TRUE TRUEK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 44
  45. 45. 9. นพจนในภาษา C ● นพจน (Expression) คอ การน*าข!อม.ล ซ4งอาจจะ อย.3ในร.ปของค3าคงทหรอตวแปรมาด*าเนนการ โดยใช! เครองหมายต3างๆ เปนตวสงงาน ส*าหรบนพจน(ทเรา พบเห<นกนทวไปในชวตประจ*าวน เช3น y = 2x + 5, 2xy – 5 เปนต!นK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 45
  46. 46. 9. นพจนในภาษา C (ตอ) ● การเขยนนพจนในภาษา C คอ การน*าข!อม.ลและตวแปรในภาษา C มาด*าเนน การด!วยเครองหมายทางคณตศาสตร( ตรรกศาสตร( หรอ เครองหมายเปรยบเทยบในภาษา C เปนตวสง งานK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 46
  47. 47. 9. นพจนในภาษา C (ตอ) ● นพจนทางคณตศาสตร การเขยนจะเหมอนกบการเขยนนพจน(ทาง คณตศาสตร(ตามปกต เพยงแต3เปลยนมาใช! เครองหมายทางคณตศาสตร(ของภาษา C แทน ซ4ง ต!องระวงเครองหมายบางตวทใช!ไม3เหมอนกน เช3น การค.ณจะใช!เครองหมาย * แทน x หรอหารจะใช! เครองหมาย / แทนK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 47
  48. 48. 9. นพจนในภาษา C (ตอ) ● นพจนทางตรรกศาสตร คอ การเขยนนพจน(โดยใช!เครองหมายการด*าเนน การทางตรรกศาสตร(ในภาษา C (&&, ||, !) เปนตวสง งาน ซ4งส3วนใหญ3แล!วนพจน(ทางตรรกศาสตร(จะอย.3 รวมกบนพจน(ประเภทอนๆ เช3น c && (a <= b), (b >= c) || (c <= a)K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 48
  49. 49. 9. นพจนในภาษา C (ตอ) ● ล.าด!บเครองหมายในการค.านวณ ส3วนใหญ3นพจน(ทเขยนข4นในโปรแกรมมกจะมความ ซบซ!อน มการด*าเนนการหลายอย3างปะปนอย.3 ภายในนพจน(เดยวกน เช3น a / b + 15 * c หรอ (a – b) * 10 / c && d + 5 ซ4งผลลพธ(จะออกมาเปนอย3างนน ต!องพจารณา จากล*าดบความส*าคญก3อนหลงของเครองหมายท ภาษา C ก*าหนดไว!K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 49
  50. 50. ล.าด!บของเครองหมายในการค.านวณ ล.าด!บความส.าค!ญ เครองหมาย 1 () 2 !, ++, --, (typecast) 3 *, /, % 4 +, - 5 <, <=, >, >=K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 50
  51. 51. 10. การเปลยนชนดขอม-ลของต!วแปร ในภาษา C ถ!าน*าตวแปรต3างชนดมาด*าเนนการร3วมกน เช3น int + float หรอ int – char การทจะด*าเนนการตาม เครองหมายได!นนจะต!องเปลยนชนดของตวแปรให!เปน ชนดเดยวกนก3อน โดยวธการเปลยนตวแปรในภาษา C เรยกว3า Casting ซ4งมอย.3 2 ร.ปแบบ คอ ● การเปลยนชนดข!อม.ลของตวแปรอตโนมต ● การเปลยนชนดข!อม.ลของตวแปรโดยใช!ค*าสงK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 51
  52. 52. การเปลยนชนดขอม-ลของต!วแปร อ!ตโนม!ต ● เราไม3ต!องท*าอะไร ตวแปลภาษา C จะจดการให! ทงหมด โดยใช!หลกการเปลยนชนดของตวแปร ขนาดเล<กกว3าไปตามชนดของตวแปรทมขนาดใหญ3 กว3าK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 52
  53. 53. ตารางการเปลยนชนดขอม-ลของ ต!วแปรแบบอ!ตโนม!ต Var.1 Var. 2 Var. 3 char int char → int int long int → long int unsinged int int → unsinged int int float int → float int double int → double float double float → double long double long → double double long double double → long doubleK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 53
  54. 54. Example 11 (ex0311.c) #include <stdio.h> #include <stdlib.h> int main( ) { int n = 5; float f = 3.5, r; r = 8.500000 r = n + f; printf(“r = %fn”, r); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 54
  55. 55. ตารางรห!สควบค*มร-ปแบบการแสดง ผล รห!สควบค*ม น.าไปใช %d หรอ %i แสดงตวเลขจ*านวนเต<ม %u แสดงตวเลขจ*านวนเต<มบวก %0 แสดงตวเลขฐานแปด %x แสดงตวเลขฐานสบหก %f แสดงตวเลขจ*านวนทศนยม (6 หลก) %e แสดงตวเลขทศนยมร.ปแบบของ E หรอ e ยกก*าลง %c แสดงอกขระ 1 ตว (char) %s แสดงข!อความ (string) %p แสดงตวชต*าแหน3ง (pointer)K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 55
  56. 56. ตารางอ!กขระควบค*มการแสดงผล อกขระควบค1ม ความหมาย n ข4นบรรทดใหม3 t เว!นช3องว3างเปนระยะ 1 tab (เท3ากบ 6 ตวอกษร) r ก*าหนดให! cursor ไปอย.ต!นบรรทด 3 f เว!นช3องว3างเปนระยะ 1 หน!าจอ b ลบอกขระส1ดท!ายออก 1 ตวK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 56
  57. 57. การเปลยนชนดขอม-ลของต!วแปร โดยใชค.าส!ง ● เปนการใช!ค*าสงเพอเปลยนชนดของตวแปร เรา สามารถเลอกชนดของตวแปรทต!องการจะเปลยนไป ใช!ได! ● ร-ปแบบ: (type) expression; โดยท: type คอ ชนดของตวแปรทต!องการจะเปลยน expression คอ ตวแปรหรอข!อม.ลทต!องการจะ เปลยนK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 57
  58. 58. Example 12 (ex0312.c) #include <stdio.h> #include <stdlib.h> int main( ) { int n = 5; n = 5.000000 float f = 3.5; f=3 n+f=8 printf(“n = %fn”, (float)n); printf(“f = %dn”, (int)f); printf(“n + f = %dn”, (n + (int)f)); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 58
  59. 59. 11. การแสดงผลในภาษา C ● สามารถท*าได!หลายวธ แต3วธทนยมใช!กนมากทส1ด คอ การเรยกใช!ฟ8งก(ชน printf( ) ซ4งเปนฟ8งก(ชน มาตรฐานทใช!ในการแสดงผลข!อม.ลท1กชนดออก ทางหน!าจอ (Monitor) ไม3วาจะเปนจ*านวนเต<ม 3 ทศนยม อกขระ หรอข!อความK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 59
  60. 60. 11. การแสดงผลในภาษา C (ตอ) ร-ปแบบ: printf(format, expression-1, expression-2); โดยท: format คอ ส3วนทใช!ควบค1มร.ปแบบการแสดงผล expression-1, expression-2 คอ นพจน(หรอ ตวแปรทต!องการแสดงผลK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 60
  61. 61. 11. การแสดงผลในภาษา C (ตอ)K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 61
  62. 62. Example 13 (ex0313.c) #include <stdio.h> #include <stdlib.h> int main( ) { int a = 5, b = 10, c; 5 10 15 printf(“%dt%dn”, a, b); c = a + b; printf(“%d”, c); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 62
  63. 63. แสดงผลทละอ!กขระดวยค.าส!ง putchar( ) ร-ปแบบ: putchar(expression); โดยท: expression คอ ตวแปรหรอข!อม.ลทเปนชนดข!อม.ล เปนอกขระ เขยนอย.3ในเครองหมาย เช3น AK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 63
  64. 64. Example 14 (ex0314.c) #include <stdio.h> #include <stdlib.h> Function printf( ) : A int main( ) { Function putchar( ) : A char ch = A; printf(“Function printf( ) : %cn”, ch); printf(“Function putchar( ) : “); putchar(ch); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 64
  65. 65. แสดงผลเป3นขอความดวยค.าส!ง puts( ) ร-ปแบบ: puts(expression); โดยท: expression คอ ตวแปรหรอข!อม.ลทเปนชนดข!อม.ล เปนอกขระ เขยนอย.3ในเครองหมาย “ “ เช3น “ABC”K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 65
  66. 66. Example 15 (ex0315.c) #include <stdio.h> #include <stdlib.h> Function printf( ) : ABC int main( ) { Function puts( ) : ABC char str[ ] = “ABC”; printf(“Function printf( ) : %sn”, str); printf(“Function puts( ) :); puts(str); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 66
  67. 67. 12. การร!บขอม-ลในภาษา C ● รบข!อม.ลจากแปDนพมพ(ในภาษา C สามารถเรยกใช! ฟ8งก(ชน scanf( ) ซ4งเปนฟ8งก(ชนมาตรฐานส*าหรบรบ ข!อม.ลจากแปDนพมพ( โดยสามารถรบข!อม.ลได!ท1ก ประเภท ไม3ว3าจะเปนจ*านวนเต<ม ทศนยม อกขระ หรอข!อความK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 67
  68. 68. 12. การร!บขอม-ลในภาษา C (ตอ) ร-ปแบบ: scanf(format, &variable-1, &variable-2); โดยท: format คอ ส3วนทใช!ควบค1มร.ปแบบการรบข!อม.ล variable-1, variable-2 คอ ตวแปรทใช!ในการเก<บ ค3า และจ*าเปนต!องมเครองหมาย & น*าหน!าตวแปร ยกเว!นตวแปรชนด string ทไม3จ*าเปนต!องมเครองหมาย & น*าหน!าตวแปรK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 68
  69. 69. ร!บขอม-ลมากกวาหน4งคาดวยค.าส!ง scanf( ) ● scanf(%d %f %d”, &var1, &var2, &var3); ● scanf(%d/%f/%d”, &var1, &var2, &var3); ● scanf(%d,%f,%d”, &var1, &var2, &var3); ● scanf(%s %s %s”, var1, var2, var3);K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 69
  70. 70. Example 16 (ex0316.c) #include <stdio.h> #include <stdlib.h> Input number to 2 value : 3 6 int main( ) { a+b=9 int a, b, c; printf(“Input number to 2 value : “); scanf(“%d %d”, &a, &b); c = a + b; printf(“a + b = %dn”, c); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 70
  71. 71. Example 17 (ex0317.c)#include <stdio.h>#include <stdlib.h> Input number to a : 3int main( ) { Input number to b : 6 int a, b, c; a+b=9 printf(“Input number to a : “); scanf(“%d”, &a); printf(“Input number to b : “); scanf(“%d”, &b); c = a + b; printf(“a + b = %dn”, c); system(“PAUSE”); return 0; 71}
  72. 72. ร!บขอม-ลทละอ!กขระดวย getchar( ) และ getch( ) ร-ปแบบ: variable = getchar( ); variable = getch( ); โดยท: variable คอ ตวแปรทเปนชนดข!อม.ลเปนช1ดอกขระ (ข!อความ) เขยนอย.3ในเครองหมาย เช3น AK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 72
  73. 73. ร!บขอม-ลทละอ!กขระดวย getchar( ) และ getch( ) (ตอ) ● getchar( ) ปDอนข!อม.ลจากแปDมพมพ( 1 ค3า (1 อกขระ) ตามด!วย Enter ● getch( ) ปDอนข!อม.ลจากแปDนพมพ( 1 ค3า (1 อกขระ) ไม3ต!องกด Enter และไม3สามารถค3าทปDอนพมพ(ขณะ ทพมพ(K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 73
  74. 74. Example 18 (ex0318.c) #include <stdio.h> #include <stdlib.h> int main( ) { char ch; printf(“Enter character : “); scanf(“%c”, &ch); printf(“Result ch : %cn“, ch); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 74
  75. 75. Example 19 (ex0319.c)#include <stdio.h>#include <stdlib.h>int main( ) { char ch1, ch2; printf(“Enter character 1 : “); ch1 = getchar( ); printf(“Result ch1 : %cn“, ch1); printf(“Enter character 2: “); ch2 = getch( ); system(“PAUSE”); return 0;} บทท 3 พนฐานของโปรแกรมภาษา C 75
  76. 76. ร!บขอม-ลเป3นขอความดวย gets( ) ร-ปแบบ: gets(expression); โดยท: variable คอ ตวแปรหรอข!อม.ลทเปนชนดข!อม.ลเปน ช1ดอกขระ (ข!อความ) เขยนอย.3ในเครองหมาย “ “ เช3น “ABC”K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 76
  77. 77. Example 20 (ex0320.c) #include <stdio.h> #include <stdlib.h> int main( ) { char str[ ] = “”; printf(“Input string : “); scanf(“%s”, str); printf(“String : %sn“, str); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 77
  78. 78. Example 21 (ex0321.c) #include <stdio.h> #include <stdlib.h> int main( ) { char str[ ] = “”; printf(“Input string : “); gets(str); printf(“String : %sn“, str); system(“PAUSE”); return 0; }K.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 78
  79. 79. 13. หมายเหต* (Comment) ● ช3วยอธบายการท*างานของโปรแกรม เพอให!เกด ความเข!าใจในสงทเขยน ● ไม3มผลกบโปรแกรมทเขยนข4น ● ร.ปแบบหมายเหต1 – /* */ → อธบายได!หลายบรรทด – // → อธบายในบรรทดเดยว เรมตงแต3ม เครองหมาย // ก*ากบK.Warawut บทท 3 พนฐานของโปรแกรมภาษา C 79

×