26
INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

  • Upload
    others

  • View
    2

  • Download
    0

Embed Size (px)

Citation preview

Page 1: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

INPUT AND MATH IN C030523300- Computer Programming

Asst. Prof. Dr. Choopan Rattanapoka

Page 2: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

การปอนขอมลทางแปนพมพ

การปอนขอมลทางแปนพมพเปนวธหนงทใชในการก าหนดคาใหกบตวแปร

ในโปรแกรมตนฉบบ

ซงการท างานนนกคอการน าคาทไดรบจากแปนพมพไปเกบไวใน

หนวยความจ าโดยต าแหนงของหนวยความจ านนกคอต าแหนงทตวแปรใชใน

การเกบขอมล

ในภาษาซมฟงกชนส าหรบปอนขอมลทนยมใชคอ

scanf ( )

getchar ( )

getche ( )

getch ()

Page 3: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ฟงกชน scanf( )

เมอโปรแกรมท างานถงฟงกชนนจะหยดรอเพอใหผใชปอนขอมลโดยขอมลท

ปอนจะแสดงบนจอภาพ เมอปอนขอมลเสรจกด Enter ขอมลจะผานตว

ฟงกชน scanf เพอแปลงคาทไดไปเกบไวยงหนวยความจ าหลก

Page 4: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

การใชงาน scanf

scanf (“format code” , &var);

Format code จะมลกษณะการใชงานคลายกบ format code ทใช

กบฟงกชน printf ซงเปนตวก าหนดประเภทของขอมลทตองการรบ

ผานแปนพมพ

var คอชอตวแปรทตองการใชในการเกบขอมลทรบจากแปนพมพ

Page 5: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

Format code ส าหรบ scanf

Page 6: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ตวอยางโปรแกรม 1

#include<stdio.h>

int main(int argc, char **argv) {

int x; // ก าหนดตวแปร x ทเปนชนด integer

printf("Enter your ID: ");

scanf("%d”, &x); // รบขอมลเกบไวใน x

printf(" Your ID = %d\n”, x); // พมพจ านวนเตม x

return 0;

}

Page 7: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

รปแบบการใช scanf เกบคามากกวาหนงตวแปร

Page 8: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ตวอยางโปรแกรม 2

#include<stdio.h>

int main(int argc, char **argv) {

int a, b, c;

printf("Enter three integer number: ");

scanf("%d %d %d”, &a, &b, &c);

printf("a = %d b = %d c = %d\n“, a, b, c);

}

Page 9: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ตวอยางโปรแกรม 3

#include<stdio.h>

int main(int argc, char **argv) {

int a, b, c;

printf("Enter three integer number: ");

scanf("%d/%d/%d", &a, &b, &c);

printf("a = %d b = %d c = %d\n", a, b, c);

}

Page 10: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ตวอยางโปรแกรม 4

#include<stdio.h>

int main(int argc, char **argv) {

int a, b;

char c;

printf("Enter code: ");

scanf("%d %c %d”, &a, &c, &b);

printf("a = %d b = %d c = %c\n“, a, b, c);

}

Page 11: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ฟงกชน getchar( ), getche(), getch()

ทง 3 ฟงกชนนจะเปนการรบคาตวอกษรเพยง 1 ตวจากทางแปนพมพ

getchar()

รปแบบการใชงาน ch = getchar( );

แสดงตวอกษรทปอนออกทางหนาจอ ผใชตองกด Enter หลงจากปอนขอมล

getche()

รปแบบการใชงาน ch = getche();

แสดงตวอกษรออกทางหนาจอ ไมตองกด Enter หลงปอนขอมล

getch()

รปแบบการใชงาน ch = getch();

ไมแสดงตวอกษรออกทางหนาจอ ไมตองกด Enter หลงปอนขอมล

Page 12: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

คณตศาสตรในภาษาซ

ตวด าเนนการทางคณตศาสตรพ นฐานในภาษาซ คอ

+ บวก

- ลบ

* คณ

/ หาร(ถาเปนจ านวนเตม จะไมคดเศษ)

% หารเอาแตเศษ (ใชไดเฉพาะกบจ านวนเตม)

Page 13: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

แบบฝกหด 1

จงหาคาของตวแปร i, j, k ตามค าสงตอไปนตามล าดบ

int i = 1, j = 2 , k;

k = i + j;

i = i + (k * j);

j = i / 2;

k = i % 2;

i = (j + k) * 3;

1 2 ?

1 2 3

7 2 3

7 3 3

7 3 1

12 3 1

i j k

Page 14: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

แบบฝกหด 2

จงหาคาของตวแปร i, j, k ตามค าสงตอไปนตามล าดบ

double x=1.0, y=2.0;

x = y + 5.0;

y = x / 2.0;

y = (x * 3.0) + 4.0;

x = -0.5 - y;

1.0 2.0

7.0 2.0

7.0 3.5

7.0 25.0

-25.5 25.0

x y

Page 15: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

เครองหมาย ++ (1)

Page 16: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

เครองหมาย ++ (2)

Page 17: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

เครองหมาย -- และตวอยาง

เครองหมาย --

ท างานเหมอนกบเครองหมาย ++ แตเปนการลดคาตวแปรลง 1 คา

X -- ; X = X – 1;

ตวอยางint i=1, j=2, k;

i++;

--j;

j = i++;

k = ++j + i -- ;

k = j++ + --i;

1 2 ?i j k

2 2 ?

2 1 ?

3 2 ?

2 3 6

1 4 4

Page 18: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

การเขยนนพจนในรปยอ

ตวแปร = ตวแปร ตวปฏบตการ นพจน

ตวแปร ตวปฏบตการ = นพจน

ชอตวแปรเดยวกน

Page 19: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

แบบฝกหด 3

int x=1, y=2;

x += 9;

x /= y;

y *= (x + 5);

y -= (x % 3);

1 2x y

10 2

5 2

5 20

5 18

Page 20: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

นพจนคณตศาสตร

นพจนคณตศาสตรประกอบดวยคาคงท ตวแปร ฟงกชน หรอการรวมกนของ

คาคงท ตวแปรฟงกชน ตวปฏบตการทางคณตศาสตร และเครองหมาย

วงเลบเปดปด

ล าดบในการประมวลผล

วงเลบครอมนพจนจะถกประมวลผลกอน

ถามวงเลบหลายชน นพจนทอยชนในสดจะถกประมวลผลกอน

เครองหมายคณตศาสตรทมล าดบเดยวกน

จะถกประมวลผลจาก

ซายไปขวา

Page 21: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

แบบฝกหด 4

-2 + 5 * 2

10/2 * 3

6 / 2 + 3 * (4 % 2)

(5+2) * 15 % 4

6 + 2 * 2 – 6 / 2

Page 22: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

การเปลยนประเภทของขอมล

เมอใหคากบตวแปรทรบขอมลไดชวงกวางกวา

+ - * / หรอ % ในนพจนรบขอมลตางประเภทกน

เมอมการค านวณทางคณตศาสตร ตวถกกระท าทอยในระดบต ากวาจะถก

เปลยนชนดใหเหมอนกบตวทอยสงกวา ตามล าดบขนดงรป

Page 23: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ตวอยาง : การเปลยนประเภทของขอมล

int main(void) {

int x = 10;

float y = 20.5, z;

z = x + y;

}

10 20.5

x (int) y (float)

?

z (float)

ยกระดบประเภทตวแปร

เปน float

10.0 + 20.5 30.5

Page 24: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

ตวอยาง : การเปลยนประเภทของขอมล

int main(void) {

float x = 7.3;

float y = 3.5;

int z;

z = x + y;

}

7.3 3.5

x (float) y (float)

?

z (int)

ตวแปล z มประเภทของขอมลเปน int

ไมสามารถเกบตวเลขทมจดทศนยมได ดงนนคาทค านวณ

ไดจะถกตดจดทศยมทง เพอแปลงเปนจ านวนเตม

(ไมมการปดจด)

10.8

+

10

Page 25: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

การเปลยนประเภทขอมลโดยตรง (Cast)

รปแบบ

(Data type) expression

ตวอยาง

(float)a

(float)(x+y)

(int)(a/10) มคาไมเทากบ (int)a/10

Page 26: INPUT AND MATH IN Cchoopanr.staff.kmutnb.ac.th/files/course/030523300/04.pdf · INPUT AND MATH IN C 030523300- Computer Programming Asst. Prof. Dr. Choopan Rattanapoka

แบบฝกหด 5

จงหาคาของ a,b,c,d, และ e

float a; a = (int)5.5 + (float)10.4;

int b; b = (int)5.5 + 10.4;

int c; c = (int)(5.5/1.1);

int d; d = (int)5.5/1.1;

int e; e = 5.5/(int)1.1;