170 likes | 363 Views
Output of C. การแสดงผลข้อมูล. การแสดงผลข้อมูลออกทางจอภาพในภาษาซี ส่วนใหญ่จะเรียกใช้งานฟังก์ชัน printf ( อยู่ใน stdio.h) รูปแบบ printf (“format”, argument1, argument2, …); format : รูปแบบการแสดงผลที่ถูกระบุเพื่อกำหนดรูปแบบของผลลัพธ์ที่ต้องการ ซึ่งจะประกอบด้วย ข้อความที่ต้องการแสดงผลโดยตรง
E N D
การแสดงผลข้อมูล • การแสดงผลข้อมูลออกทางจอภาพในภาษาซี ส่วนใหญ่จะเรียกใช้งานฟังก์ชัน printf (อยู่ใน stdio.h) • รูปแบบ printf (“format”, argument1, argument2, …); • format : รูปแบบการแสดงผลที่ถูกระบุเพื่อกำหนดรูปแบบของผลลัพธ์ที่ต้องการ ซึ่งจะประกอบด้วย • ข้อความที่ต้องการแสดงผลโดยตรง • format ของการพิมพ์ข้อมูล (อักษรที่มีเครื่องหมาย % นำหน้า) Introduction to C
argument: ข้อมูล ซึ่งอาจเป็นค่าคงที่ ตัวแปร หรือนิพจน์ที่ต้องการจะพิมพ์ค่า ซึ่งจะพิมพ์ตามรูปแบบที่กำหนดไว้ในส่วน format Ex. printf(“Hello World”); printf(“%d got score %d .\n”, ID, mark); printf(“The value of PI is %f\n”, pi); printf(“Dang is %d years old , and Dum is %d years old too.\n”,age,age); printf(“This computer cost %c%d”,‘$’, cost); Introduction to C
การกำหนด format ใน printf • โดยปกติ เราจะใช้ format ในการกำหนดลักษณะการแสดงผลของตัวแปร หรือนิพจน์ต่างๆ • ซึ่งต้องกำหนดให้ถูกกับชนิดของตัวแปรด้วย • int, unsigned int - กำหนด format เป็น %d, %o, %x • long - กำหนด format เป็น %ld, %lo, %lx, • float, double - กำหนด format เป็น %f, %e • char – กำหนด format เป็น %c Introduction to C
การกำหนด format ใน printf • ให้ทดลองพิมพ์โปรแกรมดังนี้ void main() { int i = 16; long l = 16; float f = 12.345; char c = ‘a’; printf(“%d\t %o\t %x\n” , i , i , i ); printf(“%ld\t %lo\t %lx\n” , l , l , l ); printf(“%f\t %e\n” , f , f); printf(“%c\n” , c ); } Introduction to C
การกำหนด format ใน printf %d : พิมพ์ int ด้วยตัวเลขฐานสิบ %o : พิมพ์ int ด้วยตัวเลขฐานแปด %x : พิมพ์ int ด้วยตัวเลขฐานสิบหก %ld , %lo , %lx : พิมพ์ long (รูปแบบตามหลังเหมือน int) %f : พิมพ์ float, double แบบจุดทศนิยม (หกตำแหน่ง) %e : พิมพ์ float, double แบบวิทยาศาสตร์ เช่น 1.23e+23 %c : พิมพ์ char %s : พิมพ์ข้อความเช่น “Hello” Introduction to C
คำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผลคำสั่งเพิ่มเติมของการจัดรูปแบบการแสดงผล • ใช้ร่วมกับ format ต่างๆ ที่นิยมใช้บ่อย คือ • เครื่องหมาย + • ใช้ร่วมกับการแสดงผลข้อมูลที่เป็นตัวเลข • พิมพ์เครื่องหมายบวกหน้าข้อมูลถ้าข้อมูลมีค่าเป็นบวก Ex. float w=15.2 , x=-13.3; printf (“w=%f x=%f\n” , w , x); printf (“w=%+f x=%+f\n” , w , x); Re. w=15.200000 x=-13.300000 w=+15.200000 x=-13.300000 Introduction to C
ตัวเลข • ใช้กำหนดจำนวนช่องที่ใช้ในการแสดงผล • ถ้าจำนวนข้อมูลมีน้อยกว่าช่อง จะแสดงผลโดยจัดชิดด้านขวา • ถ้าจำนวนข้อมูลมีมากกว่าช่อง จะแสดงผลโดยไม่สนใจจำนวนช่อง Ex. float w=15.2 ; printf (“%f|%5f|%9f|%10f|%12f|”,w,w,w,w,w); Re.15.200000|15.200000|15.200000| 15.200000| 15.200000| Introduction to C
จุดทศนิยมตามด้วยตัวเลข (.Number) • ใช้กำหนดจำนวนตัวเลขหลังจุดทศนิยมที่จะแสดงผลโดยจะแสดงตัวเลขหลังจุดทศนิยมเป็นจำนวนตำแหน่งเท่ากับ Number • นิยมใช้ตามหลังคำสั่งตัวเลข Ex.float w=32.5762 ; printf (“%f|%.f|%.2f|%7.2f|”,w,w,w,w); Re.32.576200|32|32.58| 32.58| Introduction to C
เครื่องหมาย - • ให้พิมพ์ข้อมูลชิดขอบซ้ายของฟิลด์ (ปกติข้อมูลจะชิดขวา) • มักใช้ร่วมกับคำสั่งจัดรูปแบบแสดงผลแบบอื่นๆ Ex.float w=32.5762 ; printf (“%f|%8.f|%+8.2f|\n”,w,w,w); printf (“%f|%-8.f|%-+8.2f|\n”,w,w,w); Re.32.576200| 32| +32.58| 32.576200|32 |+32.58 | Introduction to C
การรับข้อมูล • การรับข้อมูลจากคีย์บอร์ดในภาษาซีส่วนใหญ่จะเรียกใช้งานฟังก์ชัน scanf ซึ่งเป็นฟังก์ชันมาตรฐานที่บรรจุอยู่ใน header file ที่ชื่อ stdio.h เช่นเดียวกับฟังก์ชัน printf • รูปแบบ scanf (“format”, argument1, argument2, …); • format : รูปแบบของข้อมูล(argument)ที่ใช้รับข้อมูลที่ผู้ใช้ป้อนเข้ามา Introduction to C
argument: ตำแหน่ง (Address) ของตัวแปรที่ใช้รับข้อมูลที่ผู้ใช้ป้อนเข้ามา • สามารถระบุตำแหน่งของตัวแปรได้โดยการเพิ่มเครื่องหมาย & ไว้หน้าตัวแปรนั้น • ตัวแปรต้องเป็นชนิดเดียวกับที่กำหนดไว้ใน format Example int day , month ,year; char ch; scanf (“%d , %d , %d , %c ”, &day , &month , &year, &ch); Introduction to C
Ex2_3.c #include <stdio.h> #include <conio.h> void main() { clrscr(); int integer1, integer2, sum; printf( "Enter first integer : " ); scanf( "%d", &integer1 ); printf( "Enter second integer : " ); scanf( "%d", &integer2 ); sum = integer1 + integer2; printf( "Sum is %d\n", sum ); } Introduction to C
Ex2_3.c • ให้เขียนโปรแกรมคำนวณหาพื้นที่, และความยาวเส้นรอบวงของวงกลม และแสดงผลลัพธ์ที่ได้จากการคำนวณออกทางหน้าจอ • กำหนดให้ผู้ใช้ใส่ข้อมูล รัศมีของวงกลม • ให้ใช้ค่าของ pi = 3.14159 Introduction to C
การบ้าน • ในการแปลงค่าอุณหภูมิระหว่าง องศาเซลเซียส กับ องศาฟาเรนไฮต์ สามารถหาได้จากสูตรว่า C = ( 5 / 9 ) * ( F – 32 ) • เมื่อ C คืออุณหภูมิมีหน่วยเป็นองศาเซลเซียส F คืออุณหภูมิมีหน่วยเป็นองศาฟาเรนไฮต์ • จงเขียนโปรแกรมเพื่อรับข้อมูลอุณหภูมิจากผู้ใช้ โดยมีหน่วยเป็นองศาฟาเรนไฮต์ แล้วแปลงเป็นองศาเซลเซียส และแสดงผลลัพธ์ที่ได้ออกทางหน้าจอ Introduction to C