งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

งานนำเสนอกำลังจะดาวน์โหลด โปรดรอ

บทที่ 2-3 ภาษาซีเบื้องต้น

งานนำเสนอที่คล้ายกัน


งานนำเสนอเรื่อง: "บทที่ 2-3 ภาษาซีเบื้องต้น"— ใบสำเนางานนำเสนอ:

1 บทที่ 2-3 ภาษาซีเบื้องต้น
ผู้สอน นางสาวรุ่งฟ้า สุขใส

2 รู้จักภาษา C ภาษา C เป็นภาษาคอมพิวเตอร์ ซึ่งมีคอมไพลเลอร์ (Compiler) ทำหน้าที่ในการคอมไพล์ (Compile) หรือแปลงคำสั่งทั้งหมดในโปรแกรมให้เป็นภาษาเครื่อง (Machine Language) เพื่อให้เครื่องคอมพิวเตอร์นำคำสั่งเหล่านั้นไปทำงานต่อไป

3 โครงสร้างของโปรแกรมภาษา C
1. ปรีโปรเซสเซอร์ไดเร็กทีฟ(Preprocessor directives) 2. ส่วนของฟังก์ชั่นหลัก(the main()function) 3. ส่วนประกาศตัวแปร(Global declaeation)

4 การใช้ Preprocessor Directive (ส่วนหัวโปรแกรม)
ทุกโปรแกรมต้องมี เริ่มต้นด้วยเครื่องหมาย # ใช้ประกาศแฟ้มและเรียกไฟล์ในแฟ้มมาใช้งานในโปรแกรม #include ใช้สำหรับเรียกไฟล์ที่โปรแกรมใช้ในการทำงาน

5 1.ปรีโปรเซสเซอร์ไดเร็กทีฟ(Preprocessor directives)
#include จะเรียกคำสั่งต่างๆที่ถูกเก็บในแฟ้มที่เราประกาศไว้ในเครื่องหมาย <……..> มาใช้งานในโปรแกรม ตัวอย่าง #include <stdio.h> คำอธิบาย #include จะเรียกคำสั่งที่ถูกเก็บในแฟ้ม<stdio.h> มาใช้งาน แฟ้ม stdio.h เก็บชุดคำสั่ง ดังนี้ คำสั่งรับข้อมูลเข้า เช่น คำสั่ง scanf(); - คำสั่งแสดงผล เช่น คำสั่ง printf();

6 1.ปรีโปรเซสเซอร์ไดเร็กทีฟ(Preprocessor directives)
ตัวอย่าง #include <stdlib.h> คำอธิบาย #include จะเรียกคำสั่งที่ถูกเก็บในแฟ้ม<stdlib.h> มาใช้งาน แฟ้ม stdlib.h เก็บชุดคำสั่ง ดังนี้ คำสั่งหยุดรอการแสดงผล system(“pause”); ตัวอย่าง #include <math.h> คำอธิบาย #include จะเรียกคำสั่งที่ถูกเก็บในแฟ้ม<math.h> มาใช้งาน แฟ้ม math.h เก็บชุดคำสั่ง ดังนี้ คำสั่งหาค่า รากที่ 2 คำสั่งหาเลขยกกำลัง pow(x,y); sqrt();

7 2.ฟังก์ชันหลักของโปรแกรม (Main Function)
ระหว่างปีกกาจะประกอบไปด้วยคำสั่ง(Statement) ต่างๆ ที่จะให้โปรแกรมทำงาน แต่ละคำสั่งจะต้องจบด้วยเซมิโคลอน ‘;’ (Semicolon) #include <stdio.h> main() { printf(“Hello”); }

8 3.ฟังก์ชันหลักของโปรแกรม (Main Function)
ตัวอย่าง #include <stdio.h> int feet,inches; main() { feet = 6; inches = feet * 12; printf("Height in inches is %d",inches); } ผลการทำงาน Height in inches is 72

9 3. ส่วนประกาศตัวแปร(Global declaeation)
เป็นการประกาศตัวแปรเพื่อใช้งานในโปรแกรม โดยตัวแปรนั้นสามารถใช้ได้ในทุกที่ในโปรแกรม เป็นส่วนที่ใช้ในการประกาศ Function Prototype ของโปรแกรม ส่วนนี้ในบางโปรแกรมอาจจะไม่มีก็ได้ ตัวอย่าง int summation(float x, float y) ; (ประกาศ function summation) int x,y ; (กำหนดตัวแปร x,y เป็นจำนวนเต็ม) float z=3; (กำหนดตัวแปร z เป็นทศนิยม)

10 3. ส่วนประกาศตัวแปร(Global declaeation)
ตัวอย่าง #include <stdio.h> int feet,inches; main() { feet = 6; inches = feet * 12; printf("Height in inches is %d",inches); return(0); } ผลการทำงาน Height in inches is 72

11 3. ส่วนประกาศตัวแปร(Global declaeation)
ตัวอย่าง #include <stdio.h> main() { int feet,inches; feet = 6; inches = feet * 12; printf("Height in inches is %d",inches); return(0); } ผลการทำงาน Height in inches is 72

12 โปรแกรมภาษา C เบื้อง #include<ชื่อแฟ้มที่เก็บชุดคำสั่ง> main() {
\\ประกาศตัวแปร\\ \\ชุดคำสั่ง\\ } ส่วนหัวของโปรแกรม 1 ส่วนฟังก์ชั่นหลัก 2 ประกาศตัวแปร 3 ทุกโปรแกรมจะต้องมีเฮดเดอร์ไฟล์ของโปรแกรมอย่างน้อง 1 เฮดเดอร์ไฟล์ ทุกโปรแกรมจะต้องมีฟังก์ชั่น main() การเขียนโปรแกรมจะต้องปิดท้ายชุดคำสั่งด้วยเครื่องหมาย ; บรรทัด ภายฟังก์ชั่นหลักจะประกอบไปด้วย \\ส่วนประกาศตัวแปร\\ (ในกรณีที่มีการใช้ตัวแปร) \\ส่วนเขียนโปรแกรม\\ โดยจะต้องเขียนภายในเครื่องหมาย {}

13 ตัวอย่างโปรแกรม #include<stdio.h> #include<stdlib.h>
main() { int A=5; printf("Hello %d",A); system("pause"); } ส่วนหัวของโปรแกรม ส่วนฟังก์ชั่นหลัก

14 ตัวอย่างโปรแกรม #include<stdio.h> #include<conio.h> main()
{ int A=5; printf("Hello %d",A); getch(); } ส่วนหัวของโปรแกรม ส่วนฟังก์ชั่นหลัก

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

16 กฎการตั้งชื่อตัวแปร 1. ใช้ตัวอักษรภาษาอังกฤษ a-z , A-Z ตัวเลข 0-9 และ เครื่องหมาย _ ในการตั้งชื่อตัวแปร 2. ขึ้นต้นด้วยตัวอักษรภาษาอังกฤษ a-z,A-Z หรือ _ เท่านั้น 3. ต้องมีความยาวไม่เกิน 31 ตัวอักษร 4. ชื่อตัวแปร จะต้องไม่ตรงกับคำสงวน 5. ชื่อของตัวแปรต้องไม่มีช่องว่าง

17 คำสงวน คำสงวนมักเป็นคำสั่ง หรือ ศัพท์ต่างๆที่ใช้ในโปรแกรมภาษาซี auto
extern sizeof break float static case for struct char goto switch const if typedef continue int union default long unsigned do register void double return volatile else short while enum signed

18 ตัวอย่าง ตัวอย่างที่ถูก ตัวอย่างที่ผิด name _class tax_rate net01
_1234 ตัวอย่างที่ผิด int @mail s&p 1money 1234

19 ชนิดของข้อมูล ข้อมูลแต่ละชนิดมีหน้าที่แตกต่างกัน ต้องเลือกใช้ชนิดข้อมูลให้ถูกต้องตามความเหมาะสม char (Character) ตัวอักษร int (Integer) จำนวนเต็ม float (Floating Point) ทศนิยม char [n] (String) ข้อความ

20 c o m \0

21 การประกาศตัวแปร รูปแบบที่ 1 การประกาศตัวแปรโดยไม่กำหนดค่า
ชนิดของข้อมูล ชื่อตัวแปร; ตัวอย่าง int age; float area; char grade; char name[10];

22 ชนิดของข้อมูล ชื่อตัวแปร , ชื่อตัวแปร , ชื่อตัวแปร;
การประกาศตัวแปร รูปแบบที่ 2 การประกาศตัวแปรหลายตัวพร้อมกัน ชนิดของข้อมูล ชื่อตัวแปร , ชื่อตัวแปร , ชื่อตัวแปร; ตัวอย่าง int age , class ; float area , pi; char ch1 , ch2 , ch3 , ch4; char name[10] , last[15];

23 ชนิดของข้อมูล ชื่อตัวแปร = ค่าของตัวแปร;
การประกาศตัวแปร รูปแบบที่ 3 การประกาศตัวแปรพร้อมกำหนดค่า ชนิดของข้อมูล ชื่อตัวแปร = ค่าของตัวแปร; ตัวอย่าง int age = 15; float pi = 3.14; char ch1 = ‘A’; char nickname[5]=“Ying”;

24 ความแตกต่าง การประกาศตัวแปรแบบอักขระตัวเดียวกับข้อความ
ประกาศแบบอักขระตัวเดียว char a,n; char a=‘y’; ประกาศแบบข้อความ char name[3]; char name[3]=“fa”;

25 การรับและพิมพ์ข้อมูลเบื้องต้น
คำสั่งรับข้อมูลและส่งข้อมูล จะอยู่ในแฟ้มไลบราลี stdio.h ซึ่งจะเรียกออกมาด้วย #include

26 คำสั่ง printf(); คำสั่ง printf ถือว่าเป็นคำสั่งพื้นฐานที่สุดในการแสดงผลข้อมูลทุกชนิดออกทางหน้าจอ #include <stdio.h> main() { printf("Welcome to RMUT"); printf("Department"); }

27 คำสั่ง printf printf(“ข้อความ”); printf(“Hello”); Hello
รูปแบบที่ 1 แสดงข้อความธรรมดา printf(“ข้อความ”); ตัวอย่าง printf(“Hello”); ผลลัพธ์ Hello

28 printf(“ format code”, data list);
รูปแบบที่ 2 ใช้สัญลักษณ์แทนการแสดงผลต่างๆ printf(“ format code”, data list); %d แสดงผลค่าที่เป็นจำนวนเต็ม %s แสดงผลค่าที่เป็นข้อความ %f แสดงผลค่าที่เป็นเลขทศนิยม %c แสดงผลค่าที่เป็นอักษรตัวเดียว ** ต้องเลือกใช้ให้เหมาะสม คือ ข้อมูลที่จะแสดงผลตรงส่วน format code เช่น ค่าตัวแปรค่านิพจน์

29 คำสั่ง printf printf(“%d”,5+2); 7
ตัวอย่างรูปแบบที่ 2 printf(“%d”,5+2); ผลลัพธ์ 7

30 คำสั่ง printf printf(“%d”,m); 5
ตัวอย่างรูปแบบที่ 2 printf(“%d”,m); ผลลัพธ์ 5 กำหนดตัวแปร m=5

31 printf(“%d%c%f”,m,n,p);
ตัวอย่างรูปแบบที่ 2 printf(“%d%c%f”,m,n,p); ผลลัพธ์ 5 U 3.2 กำหนดตัวแปร m =5 กำหนดตัวแปร n =‘U’ กำหนดตัวแปร p =3.2

32 printf(“ ข้อความ format code”, data list);
รูปแบบที่ 3 ข้อความธรรมดาปนกับใช้สัญลักษณ์แทนการแสดงผลต่างๆ printf(“ ข้อความ format code”, data list); ตัวอย่างรูปแบบที่ 3 printf(“ Hello %d”,555); ผลลัพธ์ Hello 555

33 การใช้รหัสBackslash \n \t \xhh \a \\ \" ขึ้นบรรทัดใหม่
จากตัวอย่างที่ 3 จะเห็นได้ว่าหากต้องการให้แสดงผลข้ามบรรทัดจะต้องเพิ่ม \n ลงไป เรียกว่า backslash นอกจากนี้ยังมีตัวอื่นๆ เช่น \n ขึ้นบรรทัดใหม่ \t เว้นระยะ 1 tab \xhh ใส่ตัวอักษร hh เมื่อ hh เป็นเลขฐานสิบหก เช่น 41 = 'A', 42 = 'B' \a ส่งเสียงปิ้บ \\ แสดง \ \" แสดง "

34 ตัวอย่างโปรแกรมที่ใช้คำสั่ง printf
#include<stdio.h> #include<stdlib.h> main() { printf(“*************\n"); printf(“* *\n"); system("pause"); }

35 ตัวอย่างโปรแกรมที่ใช้คำสั่ง printf
#include<stdio.h> #include<stdlib.h> main() { int a=5,b=2; printf(“%d+%d=%d\n",a,b,a+b); printf(“%d-%d=%d\n",a,b,a-b); printf(“%d*%d=%d\n",a,b,a*b); system("pause"); }

36 ตัวอย่างโปรแกรมที่ใช้คำสั่ง printf
#include<stdio.h> #include<stdlib.h> main() { int a=5,b=2,c; c=a+b; printf(“%d+%d=%d\n",a,b,c); system("pause"); }

37 คำสั่งรับข้อมูลเข้า scanf()

38 scanf(“format code”, &ตัวแปร);
รูปแบบของคำสั่ง scanf(“format code”, &ตัวแปร); %d รับค่าที่เป็นจำนวนเต็ม %s รับค่าที่เป็นข้อความ %f รับค่าที่เป็นเลขทศนิยม %c รับค่าที่เป็นอักษรตัวเดียว ** ต้องเลือกใช้ให้เหมาะสม ตัวแปรที่นำมาเก็บข้อมูลที่รับค่าเข้าต้องเป็นชนิดเดียวกับ format code

39 ตัวอย่าง scanf(“%f”, &gpa); scanf(“%c”, &abc); scanf(“%s”, name);
รูปแบบที่ 1 รับค่าเข้า 1 ค่า scanf(“%d”, &age); scanf(“%f”, &gpa); scanf(“%c”, &abc); scanf(“%s”, name);

40 ตัวอย่าง รูปแบบที่ 2 รับค่าเข้าหลายค่าพร้อมๆกัน
scanf(“%d%f%c”,&age,&gpa,&abc);

41 #include<stdio.h> #include<stdlib.h> main() {
char subjectID[4],numberID[8] ; int seatID; printf("Enter subject ID :"); scanf("%s", subjectID); printf("Enter indentification number :"); scanf("%s",numberID); printf("Enter seat number :"); scanf("%d",&seatID); printf("\n\nDATA:%s %s %d\n", subjectID , numberID , seatID); system("pause"); }

42 โจทย์ 1 เขียนโปรแกรมรับค่า ชื่อ นามสกุล รหัสประจำตัว GPA เข้ามาในโปรแกรม แล้วแสดงผลทางหน้าจอ ดังนี้

43 #include<stdio. h> #include<stdlib
#include<stdio.h> #include<stdlib.h> main() { float a,b=5,c; printf("Enter number1:"); scanf("%f",&a); c=a+b; printf("sum=%.2f\n",c); system("pause"); }

44 โจทย์ 2 1. ชื้อมังคุดมา 20 % ของผลไม้ทั้งหมด ถ้าชื้อผลไม้ทั้งหมดมา N จำนวน จะเป็นมังคุดกี่ผล 2. ญาญ่าไปตลาดชื้อผักบุ้งมา N กิโลกรัม ชื้อ แตงกวามา N กิโลกรัม รวมญาญ่าชื้อผักทั้งหมดกี่กรัม 3. แพนเค้กชื้อเครื่องซักผ้ามาราคา N บาท ขายขาดทุน 12% แพนเค้ก ขายเครื่องซักผ้าไปกี่บาท

45 4. เมญ่าได้รับเงินรางวัล ในการประกวด มิสเวิลด์ 2014 ณ กรุงลอนดอนจำนวน N ปอนด์แต่ต้องเสียภาษี 15% ของเงินทั้งหมดเพื่อนๆช่วยเมญ่าเขียนโปรแกรมคำนวณรายรับสุทธิ(เงินบาท)หน่อยนะค่ะ (อัตราแลกเปลี่ยน 1 GBP = 52 THB) 5. งานแต่งชมพู่ อารยา ต้องการเชิญแขกมาร่วมงานเป็นจำนวนมากทางออแกไนซ์เซอร์จึงจำเป็นต้องจัดสถานที่ให้เพียงพอต่อผู้เข้าร่วมงานโดยบ่าว-สาวต้องการได้พื้นที่ 1.5 ตารางเมตรต่อ 1คน แต่ในพื้นที่ในห้องจัดเลี้ยงของโรงแรมเป็นห้องที่มีขนาดกว้าง N ซม. และ ยาว N ซม. ช่วยออแกไนซ์เซอร์คำนวนว่าจากขนาดห้องนี้สามารถเชิญแขกมาร่วมงานได้กี่คน

46 การหารเอาเศษ (mod) 10 % 3 = 1 12 % 5 = 2 100 % 60 = 40 40%10 = 0
เป็นตัวดำเนินการชนิดหนึ่งเขียนแทนด้วยเครื่องหมาย % ผลลัพธ์ที่ได้คือเศษที่เหลือจากการหารของนิพจน์ 10 % 3 = 1 12 % 5 = 2 100 % 60 = 40 40%10 = 0

47 โจทย์ 3 1. เขียนโปรแกรมรับค่าเวลา หน่วยเป็นวินาที แล้วคำนวณหา ชั่วโมง นาที และวินาที แสดงออกทางจอภาพ ดังนี้

48 2. เขียนโปรแกรมรับจำนวนเงิน (บาท) แล้วหาว่าสามารถแลกเป็น ธนบัตรใบละ 1000, 500, 100, 50, 20 และเหรียญ 10, 5, 2, และ 1 บาทได้อย่างละเท่าไร

49 ตัวดำเนินการในภาษาซี

50 ตัวดำเนินการแบ่งเป็น 4 ประเภท
ตัวดำเนินการทางคณิตศาสตร์ ตัวดำเนินการเปรียบเทียบ ตัวดำเนินการตรรกะ ตัวดำเนินการกำหนดค่าหรือเพิ่มลดค่า

51 ตัวดำเนินการทางคณิตศาสตร์(mathematical operators)
สัญลักษณ์ การดำเนินการ ตัวอย่าง + การบวก 2+5 ผลลัพธ์ 7 - การลบ 7-4 ผลลัพธ์ 3 * การคูณ 2*6 ผลลัพธ์ 12 / การหาร 8/2 ผลลัพธ์ 4 % การหารหาเศษ 9%4 ผลลัพธ์ 1

52 ตัวดำเนินการเปรียบเทียบ (relational operators)
สัญลักษณ์ การดำเนินการ ตัวอย่าง < น้อยกว่า 2<3 ผลลัพธ์ จริง(1) > มากกว่า 2>3 ผลลัพธ์ เท็จ <= น้อยกว่าหรือเท่ากับ 2<= 3 ผลลัพธ์ จริง(true) >= มากกว่าหรือเท่ากับ 2>= 3 ผลลัพธ์ เท็จ(false) == เท่ากับ 4==4 ผลลัพธ์ จริง(true) != ไม่เท่ากับ 2!= 2 ผลลัพธ์ เท็จ(false)

53 ตัวดำเนินการตรรกะ (logical operators)
สัญลักษณ์ การดำเนินการ ตัวอย่าง && และ(AND) (2<3)&&(3>1) ผลลัพธ์ จริง || หรือ(OR) (2>3)||(4<1) ผลลัพธ์ เท็จ(false) ! ไม่(NOT) 2!> 3 ผลลัพธ์ จริง(true)

54 ตัวดำเนินการกำหนดค่า หรือ เพิ่มลดค่าตัวแปร
สัญลักษณ์ การดำเนินการ ตัวอย่าง = กำหนดค่า(assignment) a=2 ความหมายคือ กำหนดให้a มีค่าเป็น2 += การบวก(addition) a+=b ความหมายคือ(a=a+b) *= การคูณ(multiplication) a*=b ความหมายคือ(a=a*b) -= การลบ(subtraction) a-=b ความหมายคือ(a=a-b) /= การหาร(division) a/=b ความหมายคือ(a=a/b) %= การหารหาเศษ(remainder) a%=b ความหมายคือ(a=a%b) ++ เพิ่มค่า(increment) a++ หรือ ++a ความหมายคือ a=a+1 -- ลดค่า(decrement) a-- หรือ --a ความหมายคือ a=a-1 ตัวดำเนินการกำหนดค่า หรือ เพิ่มลดค่าตัวแปร

55 การเพิ่มค่าและลดค่าตัวแปร
++n เพิ่มค่า n อีก 1 - -n ลดค่า n ลง 1 ความแตกต่างระหว่าง count++ และ ++count เช่น count = 5; x = count++; จะได้ค่า x เท่ากับ 5 แล้วค่า count เท่ากับ 6 x = ++count; จะได้ค่า x เท่ากับ 6

56 ความแตกต่างของเครื่องหมาย = และ ==
เครื่องหมาย = เป็นตัวกำหนดค่า ในขณะที่เครื่องหมาย == เป็นเครื่องหมายเปรียบเทียบ ตัวอย่างเช่น point = 44; หมายถึง เป็นการกำหนดค่าให้กับตัวแปร point ให้มีค่าเท่ากับ 44 point == 44; หมายถึง เป็นการตรวจสอบว่าค่า point มีค่าเท่ากับ 44 หรือไม่

57 ลำดับความสำคัญของตัวดำเนินการ
( ) วงเล็บ ++,-- *, / , % + – <, >, <=, >= ==, != ! && ││ ถ้าลำดับเท่ากันให้ประมวลผลจากซ้ายไปขวา

58 ค่าของตัวแปรหลังจบชุดคำสั่ง
กำหนดให้ a,b และ c เป็นตัวแปรชนิด int และมีค่าเท่ากับ 4, 5 และ 2 ตามลำดับจงหาผลลัพธ์ของนิพจน์ต่อไปนี้ นิพจน์ ผลลัพธ์ของนิพจน์ ค่าของตัวแปรหลังจบชุดคำสั่ง a b c a++;++b;c++; 2. b++-a+c; b*c+a; 4. a*=b; b%=c; c/=a; a*c+b++; 6. a*=c+(b*5); 7. c*=a/b-(c*2); 8. a -- -(b++- c); 9. a++%--b; 10. (a/=c)+ ++b;


ดาวน์โหลด ppt บทที่ 2-3 ภาษาซีเบื้องต้น

งานนำเสนอที่คล้ายกัน


Ads by Google