Important Announcement
PubHTML5 Scheduled Server Maintenance on (GMT) Sunday, June 26th, 2:00 am - 8:00 am.
PubHTML5 site will be inoperative during the times indicated!

Home Explore การโปรแกรมคอมพิวเตอร์

การโปรแกรมคอมพิวเตอร์

Published by weerathum, 2018-04-10 10:01:10

Description: หน่วยที่ 13 การเปลี่ยนชนิดข้อมูล

Search

Read the Text Version

AR Book การโปรแกรมคอมพวิ เตอร(Computer Programming) หนวยที่ 13 การเปลย่ี นชนดิ ขอ มลู (Data Type Conversion) จดั ทําโดย นายจกั ราวุธ แสนแกว

เนื้อหาสาระพอสงั เขปการเปลย่ี นชนิดขอมูล หลักการทํางานของตัวดําเนินการของภาษาซีน้ัน ขอมลู ที่นํามาดําเนินการกนั นน้ั จะตองมีชนิดขอมูลเดียวกัน หากขอมูลมีชนิดแตกตางกันจําเปนที่จะตองแปลงชนิดของขอมูลใหเปนชนิดเดียวกันกอน ซึ่งในภาษาซีมีการเปล่ียนชนิดของขอมูลอยู 2 วธิ ี ดังนี้

การเปลยี่ นชนดิ ของขอ มลู โดยอตั โนมตั ิ ในการคํานวณหาคานิพจนที่มีขอมูลตางชนิดกอนที่จะไดผลลัพธสุดทาย คอมไพเลอรจะแปลงชนดิ ของขอมูลท่ีนาํ มากระทาํ ตอกันใหเปนประเภทเดียวกันโดยอัตโนมัติ ซ่ึงมีการแปลงชนิดท่ีมีนัยสําคัญต่ํากวาไปเปนชนิดขอมูลท่ีมีนัยสําคัญสูงกวา เสมอ

ตาราง แสดงระดบั นัยสาํ คญั ของชนดิ ขอมูลชนดิ ของขอ มูล ระดับนัยสาํ คัญlong double นัยสาํ คญั สูงสดุDouble นยั สาํ คัญต่าํ สดุFloatunsigned long intlong intunsigned intIntShortChar

ตวั อยาง แสดงการเปลีย่ นชนิดขอ มูล แบบอตั โนมตั ขิ องนิพจน (c * a) + (d % b) – (a / d) โดยกําหนดให int a; float b; double c; char d; แสดงการแปลงนิพจนไ ดด ังนี้ (c * a) + (d % b) – (a / d) (double * int) + (char / float) – (int /char) double + float – int

double – int double ดังน้ัน ผลลพั ธสดุ ทายของนิพจนจะเปน ชนดิขอ มูล double การเปลย่ี นชนิดขอ มลู โดยใชค ําสงั่ การแปลงชนิดขอมูลจากชนิดหน่ึงไปเปนอีกขอมูลชนิดหน่ึง โดยใชคําส่ังโดยการแปลงเน่ืองจากชนิดของขอมูลในการเก็บผลลัพธไมสอดคลอ งกบั ขอมูล เชน กําหนดให int x; x = 5 * 10.5

x = 60 จะเห็นวา 5 * 10.5 = 52.5 แต x มีขอมูลเปน จํานวนเต็ม ดงั นน้ั x = 52 สว นทศนิยมจะถกูตดั ทิ้ง ดังนน้ั คา ของขอ มูลในนิพจน เราสามารถกําหนดไดเ อง ซง่ึ มีรูปแบบท่ัวไปดังนี้รูปแบบ (data type) expression; โดย data type คือ ชนดิ ของขอมูลปลายทาง Expression คือ นพิ จนหรือตวั แปรท่ีเองการเปลี่ยนชนดิ ขอมูล

ตวั อยา ง แสดงการเปล่ียนชนดิ ขอ มลู โดยใชคําสั่งกําหนดให double x = 10.5;int y = 2;ประโยคคาํ สั่ง ผลลัพธx + y ; 12.50(int) (x + y) ; 12x = (int) x + y ; 12.0x / y 5.25(int) x / y 5x = (int) x / y 5.25

โปรแกรม แสดงการแปลงชนดิ ขอ มูล 1 #include<stdio.h> 2 int main( ) 3 { int a,b; 4 float c,d; 5 b=5; 6 c=10.25; 7 printf(\"b+c = %f\n\",b+c); 8 printf(\"(int)(b+c) = %d\n\n\",(int)(b+c)); 9 printf(\"c/b = %f\n\",c/b);10 printf(\"(int)c/b = %d\n\n\",(int)c/b); a=(int)(d=c*(float)b);11 printf(\"a = %d, b = %d, d =

%f\n\",a,b,d); d =(c=(float)10)+0.5;12 printf(\"New value c = %f \nNew value13 d = %f\n\",c,d);14 getch( );15 return 0;16 }ผลลัพธข องโปรแกรม หนว ยที่ 13 การเปลย่ี นชนดิ ขอ มูล long double Double Float unsigned long int long int unsigned int Int Short Char


Like this book? You can publish your book online for free in a few minutes!
Create your own flipbook