ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6...

77
1 ภาษาซีเบื้องตน ภาษาซีเบื้องตน ( ( ตอ ตอ ) ) เครื่องหมายดําเนินการ เครื่องหมายดําเนินการ และคําสั่งควบคุมการทํางาน และคําสั่งควบคุมการทํางาน

Transcript of ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6...

Page 1: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

1

ภาษาซีเบื้องตนภาษาซีเบื้องตน ((ตอตอ))เครื่องหมายดําเนินการเครื่องหมายดําเนินการ และคําสั่งควบคมุการทํางานและคําสั่งควบคมุการทํางาน

Page 2: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

2

เครื่องหมายดําเนินการเครื่องหมายดําเนินการ OperatorsOperators+ การบวก- การลบ* การคณู/ การหาร โดยเอาแตสวน% การหาร โดยเอาแตเศษ-- การลดคาลงทีละ 1++ การเพิ่มคาขึน้ทีละ 1

Page 3: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

3

เครื่องหมายเปรียบเทยีบเครื่องหมายเปรียบเทยีบ== เทากับ!= ไมเทากับ> มากกวา>= มากกวาหรอืเทากับ< นอยกวา<= นอยกวาหรือเทากับ

Page 4: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

4

เครื่องหมายตรรกะเครื่องหมายตรรกะ

&& AND|| OR! NOT

Page 5: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

5

นิพจนนิพจน ExpressionExpressionนิพจน คือ การนําคาคงที่ ตัวแปร และตัวดําเนนิการมาเขยีนประกอบกัน เพื่อใหตัวแปลภาษาสามารถเขาใจและคํานวณหาผลลพัธไดตามที่เราตองการ

เชน กําหนดให int a=2, b=3;1. a+b = 52. a*b = 63. a+(a*b) = 8

Page 6: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

6

การดําเนินการกับนิพจนการดําเนินการกับนิพจนจะตองทําจากซายไปขวา และทําในวงเล็บในสุดกอน

/ * % กอน

+ - ทหีลัง

Page 7: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

7

ใบงานที่ใบงานที่ 77กําหนดให K=50 D=30 L=20 จงนําตัวแปรที่กําหนดใหมาใชในการทําโจทย ตอไปนี้

1. D+L =2. K+D+L =3. K-(D+L) =4. K*(D+L) =5. (K+D+L)/2 =6. K*L =7. (K+K)-(D+L) =8. D*10 =9. K/5 =10.L*(K+D+L) =

Page 8: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

8

Start

A=10, B=30, H

H=A+B;

H=A+(A*B);

Stop

พิมพ H

พิมพ H

ตัวอยางตัวอยาง

นิพจนที่นิพจนที่ 11

นิพจนที่นิพจนที่ 22

Page 9: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

9

#include<stdio.h>#include<conio.h>void main(){

int A=10, B=30, H;clrscr();H=A+B;

printf(“Total 1 %d \n",H);H=A+(A*B);

printf(“Total 2 %d \n",H);}

ตัวอยางตัวอยาง

นิพจนที่นิพจนที่ 11

นิพจนที่นิพจนที่ 22

Page 10: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

10

ผลลัพธผลลัพธ

Total 1 40Total 2 310

Page 11: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

11

ตัวอยางตัวอยาง วิเคราะหโจทยวิเคราะหโจทยใหเขยีนโปรแกรมรบัคาตวัเลข 2 จํานวน แลวมาบวกกัน และแสดงคาทีร่ับมาและผลลัพธที่ได โดยกําหนดตัวแปรและการแสดงผลเองตามความเหมาะสม

Page 12: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

12

Start

J, B, L

คํานวณ L=J+B;

Stop

พิมพ L

พิมพ J B

ตัวอยางตัวอยาง วิเคราะหโจทยวิเคราะหโจทย

รับคา Jรับคา B

Page 13: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

13

#include<stdio.h>#include<conio.h>void main(){

int J, B, L;clrscr();

printf(“Input J = ”);scanf(“%d”, &J);printf(“Input B = ”);scanf(“%d”, &B);

L=J+B;printf(“Total = %d", L);getch();

}

ตัวอยางตัวอยาง วิเคราะหโจทยวิเคราะหโจทย

Page 14: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

14

ตัวอยางตัวอยาง วิเคราะหโจทยวิเคราะหโจทย

ผลลัพธผลลัพธInput J = ?? Input B = ??

Total = ??

Page 15: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

15

ใบงานที่ใบงานที่ 88จงเขียนโปรแกรมรบัคะแนนวิชาภาษาไทย อังกฤษ คณิตศาสตร สังคม แลวรวมคะแนนทุกวิชา แสดงชื่อวิชาและคะแนนทีร่ับ และผลรวมโดยกําหนดชื่อตัวแปรและการแสดงผลตามความเหมาะสม

Page 16: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

16

ผลลัพธผลลัพธInput Thai = ?? Input English = ??Input Math = ??Input Social = ??

Total = ??

Page 17: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

17

ใบงานที่ใบงานที่ 99จงเขียนโปรแกรมคํานวณราคาสินคา รับคาราคาสินคาแตละอยาง คือ ปากกา ดินสอ สมุด ยางลบ ไมบรรทัด กระเปา กระดาษ แลวคิดราคารวม และคิดภาษี 7% และราคาสุทธิรวมภาษี

Page 18: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

18

ผลลัพธผลลัพธPen = ?? Pencil = ??Book = ??Bag = ??Rubber = ??Ruler = ??Paper = ??

Total = ??Vat 7 percent = ??Total price = ??

Page 19: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

19

ใบงานที่ใบงานที่ 1010จงเขียนโปรแกรมคํานวณหาคาเฉลี่ยน้ําหนักของนักเรยีน

10 คนในหอง โดยปอนน้าํหนกัของนักเรยีนแตละคน(การหาคาเฉลี่ยโดยการนําน้ําหนักของนกัเรียนทั้งหมดมารวมกนั แลวหารดวยจํานวนนักเรยีนทัง้หมด)

Page 20: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

20

ผลลัพธผลลัพธStudent 1 = ?? Student 2 = ??Student .. = ??Student .. = ??Student 10 = ??

Total weight = ??Average 0f weight = ??

Page 21: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

21

เฉลยใบงานที่เฉลยใบงานที่ 88Start

T, E, M, S, TT

คํานวณ TT=T+E+M+S;

Stop

พิมพ Total = TT

พิมพ Thai = T

รับคา T

รับคา M

พิมพ Math = M

พิมพ Science = S

รับคา Sพิมพ English = E

รับคา E

Page 22: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

22

#include<stdio.h>#include<conio.h>void main(){

int T, E, M, S, TT;clrscr();

printf(“Input Thai = ”);scanf(“%d”, &T);printf(“Input English = ”);scanf(“%d”, &E);printf(“Input Math = ”);scanf(“%d”, &M);

เฉลยใบงานที่เฉลยใบงานที่ 88

Page 23: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

23

เฉลยใบงานที่เฉลยใบงานที่ 88

printf(“Input Social = ”);scanf(“%d”, &S);

TT=T+E+M+S;printf(“Total = %d", TT);getch();

}

Page 24: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

24

StartP, Pe, B, Ba, R, Ru, Pa, T, V, TT

เฉลยใบงานที่เฉลยใบงานที่ 99

คํานวณ T =P+Pe+B+Ba+R+Ru+Pa;V =T*7/100TT =T+V

Stop

พิมพ Pen = P Pencil = PeBook = BBag = BaRubber = RRuler = RuPaper = Pa

พิมพ Total = TVat 7 percent = V Total price = TT

รับคา P, Pe, B, Ba, R, Ru, Pa

Page 25: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

25

#include<stdio.h>#include<conio.h>void main(){

int P, Pe, B, Ba, R, Ru, Pa;float T, V, TT;clrscr();

printf(“Pen = ”);scanf(“%d”, &P);printf(“Pencil = ”);scanf(“%d”, &Pe);printf(“Book = ”);scanf(“%d”, &B);

เฉลยใบงานที่เฉลยใบงานที่ 99

Page 26: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

26

printf(“Bag = ”);scanf(“%d”, &Ba);printf(“Rubber = ”);scanf(“%d”, &R);printf(“Ruler = ”);scanf(“%d”, &Ru);printf(“Paper = ”);scanf(“%d”, &Pa);

T =P+Pe+B+Ba+R+Ru+Pa;V=(T*7)/100;TT=T+V;

เฉลยใบงานที่เฉลยใบงานที่ 99

Page 27: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

27

เฉลยใบงานที่เฉลยใบงานที่ 99

printf(“Total = %f", T);printf(“Vat 7 percent = %f", V);printf(“Total price = %f", TT);getch();

}

Page 28: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

28

StartSt1, St2, St3, St4, St5, St6, St7, St8, St9, St10, T, A

คํานวณ T=St1+St2+…….+St10A=T/10

Stop

พิมพ Weight Total = TAverage = A

พิมพStudent 1 = St1

Student 2 = St2Student 3 = St3Student 4 = St4Student 5 = St5Student 6 = St6Student 7 = St7Student 8 = St8Student 9 = St9Student 10 = St10

เฉลยใบงานที่เฉลยใบงานที่ 1010

รับคา St1……….

รับคา St10

Page 29: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

29

#include<stdio.h>#include<conio.h>void main(){

int St1, St2, St3, St4, St5, St6, St7, St8, St9, St10;float T, A;clrscr();

printf(“Student 1 = ”);scanf(“%d”, &St1);printf(“Student 2 = ”);scanf(“%d”, &St2);

เฉลยใบงานที่เฉลยใบงานที่ 1010

Page 30: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

30

printf(“Student 3 = ”);scanf(“%d”, &St3);printf(“Student 4 = ”);scanf(“%d”, &St4);printf(“Student 5 = ”);scanf(“%d”, &St5);printf(“Student 6 = ”);scanf(“%d”, &St6);printf(“Student 7 = ”);scanf(“%d”, &St7);

เฉลยใบงานที่เฉลยใบงานที่ 1010

Page 31: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

31

printf(“Student 8 = ”);scanf(“%d”, &St8);printf(“Student 9 = ”);scanf(“%d”, &St9);printf(“Student 10 = ”);scanf(“%d”, &St10);

T =St1+St2+St3+St4+St5+St6+St7+St8+St9+St10;A=T/10;

printf(“Weight Total = %f", T);printf(“Average = %f", A);getch();

}

เฉลยใบงานที่เฉลยใบงานที่ 1010

Page 32: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

32

คําสั่งควบคุมทิศทางการทํางานของโปรแกรมคําสั่งควบคุมทิศทางการทํางานของโปรแกรมในทางปฏิบัตินัน้สภาพของปญหาที่เราตองเขียน

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

Page 33: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

33

Start

ตื่นนอนเขาเรียน

Stop

ชีวิตประจําวันชีวิตประจําวันพัก กินขาว

แปรงฟนกลบับานอาบน้ํากินขาวแตงตัวอาบน้ํากินขาว

ไปโรงเรียนเขาแถว

เขาเรียน นอน

ทําการบานแปรงฟน

Page 34: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

34

ชีวิตประจําวันStartตื่นนอน

Stop

ชีวิตประจําวัน

แปรงฟน

อยูบาน

ดูทีวี

ไปโรงเรียน

แตงตัว

นอนทําการบานกลบับาน

โรงเรียนปด

ใช

ไมใช

Page 35: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

35

การสอบการสอบStart

สอบปลายภาค

Stop

ฟงผลสอบ

ปดเทอม

ไปโรงเรียน

ไปเที่ยว

สอบแกตัว

ใช

ไมใชสอบผาน

Page 36: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

36

คําสั่งคําสั่ง ifif

เปนคาํสั่งที่สั่งใหมีการทดสอบเงื่อนไขกอนจะไปทํางานตามคําสั่งที่กําหนดไว ทางเลือกเดียว

Page 37: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

37

รูปแบบ if (condition){

statement 1;statement 2;statement n;

}

Condition คือ เงื่อนไขที่กําหนดเพื่อใชพิจารณาวาจะทําหรือไมทําตามคาํสั่ง

Statement คือ คําสั่งที่จะใหทํางานถาผลการตรวจสอบเงื่อนไขเปนจริง

Page 38: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

38

Start

A=10, B=20, C=70, D

Stop

ตัวอยางตัวอยาง

A+B+C

ใช

ไมใชD=100

พิมพ Total = D

Page 39: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

39

#include<stdio.h>#include<conio.h>void main(){

int A=10, B=20, C=70, D;clrscr();D=A+B+C;

if(D==100){printf(“Total = %d \n",D);}

}

ตัวอยางตัวอยาง

Page 40: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

40

คําสั่งคําสั่ง if if -- elseelse

เปนคําสั่งที่สั่งใหมีการทดสอบเงื่อนไขกอนจะไปทํางานตามคําสั่งที่กําหนดไว 2 ทางเลือก

Page 41: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

41

รูปแบบ if (condition){statement 1;statement 2;statement n;}else{statement 1;statement 2;statement n;}

Page 42: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

42

ตัวอยางตัวอยางStart

A=10, B=20, C=50, D

Stop

A+B+C

ใช

ไมใชD=100

พิมพ Total = D

พิมพ Fail

Page 43: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

43

#include<stdio.h>#include<conio.h>void main(){

int A=10, B=20, C=50, D;clrscr();D=A+B+C;

if(D==100){printf(“Total = %d \n",D);}else{printf(“Fail");}

}

ตัวอยางตัวอยาง

Page 44: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

44

คําสั่งคําสั่ง if if –– else ifelse ifเปนคําสั่งที่จะใชในกรณีที่มีทางเลือกใหทํางานมากกวา 2 ทางเลอืก

โดยแตละทางเลือกมีเงื่อนไขตางกัน ดังนั้นเราจึงตองใชเรียกคําสั่ง if หลายครั้งเพื่อกําหนดเงื่อนไขสําหรับแตละทางเลอืก

Page 45: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

45

รูปแบบ if(condition 1){statement;}

else if(condition 2){statement;}

else if(condition n){statement;}

else{statement;}

Page 46: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

46

Start

int point;

Stop

ตัวอยางตัวอยาง

ใช

ไมใช

point(<=100)และ(>=80)

พิมพ Grade = F

รับคา point

point(<=80)และ(>=70)

point(<=70)และ(>=60)

point(<=60)และ(>=50) พิมพ Grade = D

พิมพ Grade = C

พิมพ Grade = B

พิมพ Grade = Aพิมพ Enter your point = point ไมใช

ไมใช

ไมใช

ใช

ใช

ใช

Page 47: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

47

#include<stdio.h>#include<conio.h>void main( ){

int point;clrscr( );printf(“Enter your point = ”);scanf(“%d”, &point);

if((point<=100)&&(point>=80)){printf(“Grade = A\n ”);}else if((point<=80)&&(point>=70)){printf(“Grade = B\n ”);}

ตัวอยางตอตัวอยางตอ

Page 48: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

48

else if((point<=70)&&(point>=60)){printf(“Grade = C\n ”);

}else if((point<=60)&&(point>=50))

{printf(“Grade = D\n ”);

}else

{printf(“Grade = F\n ”);

}getch( );}

ตัวอยางตอตัวอยางตอ

Page 49: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

49

Start

int score;

Stop

หรือหรือ ตัวอยางตัวอยาง

ใช

ไมใช

score>=80

พิมพ Grade = F

รับคา score

score>=70

Score>=60

Score>=50 พิมพ Grade = D

พิมพ Grade = C

พิมพ Grade = B

พิมพ Grade = Aพิมพ Enter your point = score ไมใช

ไมใช

ไมใช

ใช

ใช

ใช

Page 50: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

50

#include<stdio.h>include<conio.h>void main(){

int score;clrscr();printf("Please input point : ");scanf("%d", &score);{if(score>=80)

printf("You have ..A..");else if(score>=70)

printf("You have ..B..");else if(score>=60)

printf("You have ..C..");else if(score>=50)

printf("You have ..D..");else

printf("You have ..0..");}getch();

}

ตัวอยางตอตัวอยางตอ

Page 51: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

51

คําสั่งคําสั่ง switchswitchเปนคําสั่งที่จะใชในกรณีที่มีทางเลือกใหทํางานหลายทางเลือกโดยใช

เงื่อนไขรวมกัน ซึ่งตัวแปลภาษา C จะทําการตรวจสอบเงื่อนไขเพียงครั้งเดียว ผลจากการตรวจสอบเงื่อนไขจะถูกนําไปพิจารณาอีกครั้งวาจะทํางานตามทางเลอืกใด

constant 1- n คาคงที่ชนิด int หรือ char ซึ่งตองเปนชนิดเดียวกับชนิดของตัวแปร โดยถาคาของตัวแปร ตรงกับคา constant ใน case ตัวใดก็จะทํางานตาม case นั้น

break; เปนคําสั่งสําหรับออกจากการทํางานของ switchdefault ในกรณีที่คาของตัวแปรไมตรงกับ constant ใดเลยก็จะ

ทํางานตามคําสั่งของ default กอนที่จะออกไปทํางานตามคําสั่งอื่น

Page 52: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

52

รูปแบบswitch(variable){case constant 1 :

statement;break;

case constant 2 :statement;break;

case constant n :statement;break;

default :statement;

}

Page 53: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

53

#include<stdio.h>#include<conio.h>void main( ){

int choice;clrscr( );printf(“\t M E N U”);printf(“1. Phadthai \n”);printf(“2. Hoi tord \n”);printf(“3. Phad see eiwt \n”);printf(“Enter your choice = ”);scanf(“%d”, &choice);

ตัวอยางตัวอยาง

Page 54: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

54

ตัวอยางตอตัวอยางตอswitch (choice){case 1:

printf(“Phadthai \n”);break;

case 2:printf(“Hoi tord \n”);break;

case 3:printf(“Phad see eiw \n”);break;

default:printf(“Thank you \n”);

}}

Page 55: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

55

คําสั่งคําสั่ง whilewhileเปนคําสั่งที่จะใชในการควบคมุทิศทางแบบวนรอบ loop จะเริ่มตนทํางานจาก

การตรวจสอบเงื่อนไข ถาเปนจริงจะทํางานตามคําสั่งของ while เมื่อเสร็จแลวก็จะวนกลับไปตรวจสอบเงื่อนไขใหมเรื่อยๆ จนกวาเงื่อนไขจะไมเปนจริงจึงจะหลุดออกจากการทํางาน

รูปแบบwhile(condition)

{statement 1 statement n}

Page 56: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

56

Start

D=0

ตัวอยางตัวอยาง

Stop

D++

ใช

ไมใชD<=10

พิมพ Total = D

Page 57: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

57

#include<stdio.h>#include<conio.h>void main( ){

int D=9;clrscr( );printf(“\t Show number \n\n”);while(D>=0){printf(“%d ”, D); หรือ printf(“%d \n”, D); D++;}getch();

}

ตัวอยางตัวอยาง

ผลลัพธ0 1 2 3 4 5 6 7 8 9

ผลลัพธ 0 1 2 3 4 5 6 7 8 9

Page 58: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

58

#include<stdio.h>#include<conio.h>void main( ){

int D=0;clrscr( );printf(“\t Show number \n\n”);while(D<=10){printf(“%d ”, D); หรือ printf(“%d \n”, D); D--;}getch();

}

ตัวอยางตัวอยาง

ผลลัพธ987654321

ผลลัพธ 9 8 7 6 5 4 3 2 1 0

Page 59: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

59

คําสั่งคําสั่ง do whiledo whileเปนคําสั่งที่จะคลายกับ while แตจะทํางานตามคําสั่งของ do กอนหนึ่ง

รอบแลวจึงตรวจสอบเงื่อนไขไปที่ while เปนครั้งแรก โดยถาเงื่อนไขเปนจริงจะวนกลับไปทาํงานอีกครั้ง แลวกลับมาตรวจสอบเงื่อนไขใหม เปนอยางนี้ไปจนกวาผลการตรวจสอบเงื่อนไขจะออกมาไมเปนจริง จึงจะเลิกการทํางาน

รูปแบบdo do

statement; หรือ {while (condition); statement 1;

statement n;}while (condition);

Page 60: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

60

ตัวอยางตัวอยางStart

D=0

Stop

D++ใช

ไมใชD<=10

พิมพ Total = D

Page 61: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

61

#include<stdio.h>#include<conio.h>void main( ){

int Number=0;clrscr( );do{printf(“\t Show number : %d \n”,Number);Number++;}while(Number<=10);getch();

}

ตัวอยางตัวอยาง

ผลลัพธ0 1 2 3 4 5 6 7 8 9

ผลลัพธ 0 1 2 3 4 5 6 7 8 9

Page 62: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

62

คําสั่งคําสั่ง forforเปนคําสั่งที่จะคลายกบั while และ do while แตรูปแบบการเรยีกใช

แตกตางกันรูปแบบ

for(initial; condition; change){statement 1; statement n;}

initial สวนที่กําหนดคาเริ่มตนใหกบัตัวแปรchange สวนทําการเปลีย่นแปลงคาของตัวแปร ซึ่งอาจจะลดหรือเพิ่มคาของ

ตัวแปร

Page 63: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

63

ตัวอยางตัวอยางStart

Font=a

Stop

เปลี่ยนแปลงคาตัวแปร Font

ใช

ไมใชFont<=z

พิมพ คาที่เปลี่ยนใน Font

Font++

Page 64: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

64

#include<stdio.h>#include<conio.h>void main( ){

char Font=‘a’;clrscr( );for(Font=‘a’; Font<=‘z’; Font++){printf(“ %c ”, Font);}getch();

}

ตัวอยางตัวอยาง

ผลลัพธ A B C D E F G H I J K L M N O P Q R S T U V WX Y Z

Page 65: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

65

ตัวแปรแถวลําดับตัวแปรแถวลําดับ อาเรยอาเรย ArayArayเปนเนือ้ที่ในหนวยความจําที่เรยีงตอกัน ใชในการเก็บขอมูลชนิดเดยีวกัน

หลายจาํนวนการประกาศตัวแปรเปนแถวลําดับจะทําใหตัวแปรนัน้เก็บขอมูลไดหลาย

จํานวนและสามารถเขาถึงขอมูลไดโดยใชตัวแปรชือ่เดียวกันตามดรรชนกีํากับ (subscript) ที่บอกถึงตําแหนงของขอมูลในแถวลําดับนัน้

รูปแบบVariable type variable[n];ชนิดตัวแปร ชื่อตัวแปรแถวลําดับ[member]

Variable type ชนิดขอมูลตัวแปรVariable ชื่อตัวแปร[n] จํานวนสมาชิกของตัวแปรแถวลําดับ เปนจํานวนเตม็บวก

Page 66: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

66

ตัวอยางตัวอยางการระบุตําแหนงของขอมูล ที่เก็บอยูในตัวแปร

A[0][0] A[1][0] A[2][0] A[3][0] A[4][0] A[5][0] A[6][0] A[7][0] A[8][0] A[9][0]

A[0][1] A[1][1] A[2][1] A[3][1] A[4][1] A[5][1] A[6][1] A[7][1] A[8][1] A[9][1]

A[0][2] A[1][2] A[2][2] A[3][2] A[4][2] A[5][2] A[6][2] A[7][2] A[8][2] A[9][2]

A[0][3] A[1][3] A[2][3] A[3][3] A[4][3] A[5][3] A[6][3] A[7][3] A[8][3] A[9][3]

A[0][4] A[1][4] A[2][4] A[3][4] A[4][4] A[5][4] A[6][4] A[7][4] A[8][4] A[9][4]

A[0][5] A[1][5] A[2][5] A[3][5] A[4][5] A[5][5] A[6][5] A[7][5] A[8][5] A[9][5]

A[0][6] A[1][6] A[2][6] A[3][6] A[4][6] A[5][6] A[6][6] A[7][6] A[8][6] A[9][6]

A[0][7] A[1][7] A[2][7] A[3][7] A[4][7] A[5][7] A[6][7] A[7][7] A[8][7] A[9][7]

A[0][8] A[1][8] A[2][8] A[3][8] A[4][8] A[5][8] A[6][8] A[7][8] A[8][8] A[9][8]

A[0][9] A[1][9] A[2][9] A[3][9] A[4][9] A[5][9] A[6][9] A[7][9] A[8][9] A[9][9]

Page 67: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

67

#include<stdio.h>#include<conio.h>void main( ){

int A[10][10];clrscr();A[0][0]=5; A[1][0]=6;A[0][1]=10; A[1][1]=11;A[0][2]=2; A[1][2]=20;

printf(“%d %d %d \n”, A[0][0], A[1][0]);printf(“%d %d %d \n”, A[0][1], A[1][1]);printf(“%d %d %d \n”, A[0][2], A[1][2]);}

ตัวอยางตัวอยาง

Page 68: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

68

ตัวอยางตัวอยาง อาเรยอาเรยแบบตัวเลขแบบตัวเลขผลลัพธที่ได

5 6 A[2][0] A[3][0] A[4][0] A[5][0] A[6][0] A[7][0] A[8][0] A[9][0]

10 11 A[2][1] A[3][1] A[4][1] A[5][1] A[6][1] A[7][1] A[8][1] A[9][1]

2 20 A[2][2] A[3][2] A[4][2] A[5][2] A[6][2] A[7][2] A[8][2] A[9][2]

A[0][3] A[1][3] A[2][3] A[3][3] A[4][3] A[5][3] A[6][3] A[7][3] A[8][3] A[9][3]

A[0][4] A[1][4] A[2][4] A[3][4] A[4][4] A[5][4] A[6][4] A[7][4] A[8][4] A[9][4]

A[0][5] A[1][5] A[2][5] A[3][5] A[4][5] A[5][5] A[6][5] A[7][5] A[8][5] A[9][5]

A[0][6] A[1][6] A[2][6] A[3][6] A[4][6] A[5][6] A[6][6] A[7][6] A[8][6] A[9][6]

A[0][7] A[1][7] A[2][7] A[3][7] A[4][7] A[5][7] A[6][7] A[7][7] A[8][7] A[9][7]

A[0][8] A[1][8] A[2][8] A[3][8] A[4][8] A[5][8] A[6][8] A[7][8] A[8][8] A[9][8]

A[0][9] A[1][9] A[2][9] A[3][9] A[4][9] A[5][9] A[6][9] A[7][9] A[8][9] A[9][9]

Page 69: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

69

#include<stdio.h>#include<conio.h>void main( ){

char *data[50]={“Saharat”, “Bouthong”, “ID 49523”, “Male”};clrscr();printf(“Your Name \t : %s %s \n”, data[0], data[1]);printf(“Your ID Number \t : %s \n”, data[2]);printf(“Your sex \t : %s \n”, data[3]);}

ตัวอยางตัวอยาง อาเรยอาเรยแบบขอความแบบขอความ

Page 70: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

70

ตัวอยางตัวอยางผลลัพธที่ได

Data[0] Saharat

Data[1] Bouthong

Data[2] ID 49523

Data[3] Male

ตําแหนง ขอมูล

Page 71: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

71

ตัวอยางตัวอยางผลลัพธที่ได

Your Name : Saharat BouthongYour ID Number : ID 49523Your sex : Male

Page 72: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

72

#include<stdio.h>#include<conio.h>void main(){

int i, j, number;clrscr();printf("Enter Number ");

scanf("%d", &number);for(i=number; i<=number; i++){

for(j=1; j<=12; j++){printf(“\t\t\t %d x %d = %d \n", i, j, i*j);}

}getch();

}

ตัวอยางตัวอยาง สูตรคูณสูตรคูณ

Page 73: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

73

ผลลัพธผลลัพธ สูตรคูณสูตรคูณ

Page 74: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

74

กิจกรรมกิจกรรม

ใหนักเรียนทดลองรันโคดตัวอยาง และลองเปลี่ยนรูปแบบการแสดงผลหรือคาตางๆ ของตวัอยางแตละคําสั่ง หรือลองนําตัวอยางของคําสั่งมาใชรวมกัน

Page 75: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

75

ใบงานที่ใบงานที่ 1111จงเขียนโปรแกรมโดยใชคําสั่ง switch แสดงรายการสินคาอะไร

ก็ได 5 รายการสําหรับใหลูกคาเลือกซื้อ เมื่อลูกคาตัดสินใจเลือกก็ใหแสดงรายการสินคาที่ลูกคาเลือกดวย โดยเพิ่มรายละเอียดตางๆ ตามความเหมาะสม เชน

Product1. Paper2. Pen3. Bag

Please select : 2Your select : Pen

Page 76: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

76

ใบงานที่ใบงานที่ 1212จงเขียนโปรแกรมโดยใชคําสั่ง while หรือ do while หรือ for

แสดงตัวอักษร A – Z, Z – A, 0 – 9, 9 – 0 แยกเปนบรรทัดลงมาตามแนวนอน 4 บรรทัดโดยใหใชคําสั่ง printf(“\n\n”); ชวยในการเวนบรรทัด

A B C D E F G H I J K L M N O P Q R S T U V W X Y ZZ Y X W V U T S R Q P O N M L K J I H G F E D C B A0 1 2 3 4 5 6 7 8 99 8 7 6 5 4 3 2 1 0

Page 77: ภาษาซีีเบื้องตเบ นต อ file2. a*b = 6 3. a+(a*b) = 8. 6 การดํิิาเนนการกัิิพจนบนพจน จะต

77

การสอบการสอบทําการสอบครั้งละ 1 หองนั่งตามเลขที่ รับโจทยคําสั่งและเขียน

โคดสงภายใน 1 คาบเรียน พรอมกับสงสมุด โคดที่เขียนสง 10 คะแนนผลลัพธที่รันบนหนาจอ 10 คะแนน

ซึ่งโคดและผลลัพธที่รันบนหนาจอจะตองตรงกัน ถาโคดผิดคะแนนสวนของผลลัพธที่รันบนหนาจอก็จะไมได