การทำงานของโปรแกรมส่วนใหญ่มักจะเป็นการเชื่อมโยงกับผู้ใช้แบบ 2 ทิศทาง นั่นก็คือ ทั้งภาคของการแสดงผลการทำงานออกทางจอภาพ และภาคการรับข้อมูลจากผู้ใช้เข้ามาทางแป้นพิมพ์ เพื่อร่วมในการประเมินผลของโปรแกรม ซึ่งในภาครับข้อมูลจากผู้ใช้ ในภาษาซีกำหนดฟังก์ชันมาตรฐานเอาไว้ให้เรียกใช้แล้ว เช่นเดียวกับภาคของการแสดงผล ซึ่งอธิบายรายละเอียดของฟังก์ชัน เหล่านั้นได้ดังนี้คือ การรับข้อมูลจากแป้นพิมพ์ด้วยฟังก์ชัน scanf(); ฟังก์ชันนี้อยู่ใน header ไฟล์ชื่อ stdio.h เป็นฟังก์ชันสำหรับรับข้อมูลมาจากแป้นพิมพ์ ที่สามารถรับข้อมูลได้ทุกประเภทไม่ว่าจะเป็นชนิด char , short , int , long , float , double , string โดยมีรูปแบบการเรียกใช้ดังนี้ scanf("ตัวแทนตัวแปร",&ชื่อตัวแปร); โดยที่... ตัวแทนตัวแปร คือ ส่วนที่ใช้รหัสควบคุมรูปแบบ เพื่อกำหนดชนิดของข้อมูลที่จะรับเข้ามา จากแป้นพิมพ์ โดยรหัสควบคุมรูปแบบจะใช้รหัสเดียวกันกับ รหัสรูปแบบของฟังก์ชัน printf () ชื่อตัวแปร คือชื่อตัวแปรที่ใช้เก็บค่าของข้อมูลที่รับเข้ามาจากแป้นพิมพ์ โดยชนิดของตัวแปรจะต้องตรงกับรหัสควบคุมที่กำหนดไว้ นอกจากนี้จะต้องใช้ เครื่องหมาย & นำหน้าชื่อตัวแปรด้วย ยกเว้นตัวแปรที่เป็นชนิด string อาจละเว้นการใช้เครื่องหมาย & ได้ ตารางแสดงตัวแทนตัวแปรตามชนิดของข้อมูล
ตัวอย่างที่ 1 การใช้ฟังก์ชัน scanf เพื่อรับข้อมูลมาจากแป้นพิมพ์เพื่อรับชื่อและนามสกุล
ความหมายของการแสดงผล การแสดงผลหมายถึง การสั่งให้คอมพิวเตอร์นำข้อมูลและผลลัพธ์ที่มีอยู่ในหน่วยความจำ ไปแสดงผลออกที่อุปกรณ์แสดงผล (Output device) ของคอมพิวเตอร์ การแสดงผลที่อุปกรณ์แสดงผลอาจมีเพียงอุปกรณ์เดียว หรือหลาย ๆ อุปกรณ์พร้อมกันก็ได้ เช่น แสดงผลที่จอภาพ เครื่องพิมพ์ ลำโพง แผ่นดิสก์เป็นต้น การแสดงผลข้อมูลด้วยฟังก์ชัน printf ฟังก์ชันที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพคือ printf() ซึ่งเป็นฟังก์ชันที่อยู่ใน ไฟล์ stdio.h การเรียกใช้ฟังก์ชันนี้จะต้องทำการ preprocessor ด้วยการสั่ง #include <stdio.h> ก่อนเสมอ ฟังก์ชัน printf มีหน้าที่หลักคือ แปลงข้อมูลในลักษณะของเลขฐานสอง (binary) ที่คอมพิวเตอร์ ประมวลผลได้ ให้อยู่ในรูปแบบ ที่มนุษย์เข้าใจ ก่อนแสดงผลข้อมูลออกทางจอภาพ รูปแบบของฟังก์ชัน printf() printf("string_format",data_list); เมื่อ string_format คือ ส่วนที่ใช้ควบคุมลักษณะการแสดงผล นิยมเขียนอยู่ในเครื่องหมาย ".... " สิ่งที่อยู่ในเครื่องหมาย "......." อาจเป็น สตริง หรือข้อความที่ต้องการแสดงผล ซึ่งอาจเป็นข้อความธรรมดา เช่น Hello, world หรืออาจจะเป็นสัญลักษณ์ที่ใช้เป็นตัวแทนชนิดของข้อมูลต่าง ๆ ที่เรียกว่า format code โดยฟังก์ชันจะแสดงค่าที่อยู่ในตัวแปรที่กำหนดโดย data_list data_list คือข้อมูลที่จะแสดงผล ซึ่งอาจเป็นค่าคงที่ ตัวแปร หรือนิพจน์ใด ๆ โดยถ้ามีมากกว่าหนึ่งตัวให้คั่นด้วยเครื่องหมาย , (comma) การใช้ฟังก์ชัน printf() ร่วมกับอักขระควบคุม อักขระควบคุม เป็นอักขระที่ใช้ในการควบคุมการแสดงผลข้อความ โดยลักษณะของอักขระคบคุมจะใช้เครื่องหมาย \ (Back slash) นำหน้า และตามด้วยตัวอักษร ในการควบคุมซึ่งมีรายละเอียดตามตารางด้านล่างนี้ ส่วนการใช้งานอักขระควบคุม จะต้องพิมพ์อักขระควบคุมภายใต้เครื่องหมาย " " ของฟังก์ชัน printf()
ภาพแสดงการทำงานของฟังก์ชัน printf จากภาพด้านบน ถ้าตัวแปร x เก็บค่า 10 และตัวแปร y เก็บค่า 4 เมื่อฟังก์ชันทำงาน จะให้ค่าในตัวแปร x ไปแสดงในของ control คือ %d ( %d เป็น control เพื่อแสดงผลจำนวนเต็ม หรือ decimal) ตัวแรก และนำค่าในตัวแปร b ไปแสดงใน control คือ %d ตัวที่สอง และนำค่าของนิพจน์ x+y คือ 14 ไปแสดงใน control คือ %d ตัวที่สาม ซึ่งจะทำให้ได้ผลลัพธ์ดันี้ 10 + 4 =
14 ตัวอย่างที่ 7 การใช้ฟังก์ชัน printf เพื่อแสดงตัวแปรชนิด string และค่าคงที่ string
ผลที่ได้จากการ Run This is C language. This is C compiler. ตัวอย่างที่ 8 การใช้ฟังก์ชัน printf เพื่อแสดงตัวแปรชนิด char และ
ผลที่ได้จากการ Run
ผลที่ได้จากการ Run
ตากปกติในการแสดงผลข้อมูลคอมไพเลอร์จะเตรียมขนาดความยาวของข้อมูลให้พอดีกับข้อมูลที่ต้องการแสดงเช่นต้องการแสดงข้อความ COMPUTER ซึ่งมีขนาดความยาว 8 ตัวอักษร คอมไพเลอร์ก็จะแสดงผลข้อความให้พอดีกับข้อความที่แสดงคือ 8 ตัวอักษรพอดี ดังนี้ เพื่อให้การแสดงผลเป็นไปตามที่ผู้เขียนโปรแกรมต้องการ ในภาษาซี สามารถกำหนดขนาดความยาวของการแสดงผลได้ตามต้องการ เช่น ต้องการแสดง ข้อความ COMPUTER ด้วยขนาดความยาว 12 ตัวอักษร โปรแกรมจะแสดงข้อความชิดด้านขวาของความยาวของพื้นที่ที่จองไว้แสดงผล โดยจะเว้นพื้นที่ว่างด้านซ้ายไว้อีก 4 ตัวอักษรดังรูป วิธีการกำหนดความยาวของการแสดงผลทำได้โดยการใส่ตัวเลขลงไปหลังเครื่องหมาย % ใน format_string ซึ่งสามารถนำไปใช้ได้กับข้อมูลทั้งชนิด char string int หรือ float ดังตารางดังนี้ ตารางแสดงการควบคุมพื้นที่การแสดงผลแบบชิดขวา
ในกรณีที่ต้องการเปลี่ยนทิศทางการแสดงผลจากการแสดงชิดทางด้านขวามือไปเป็นให้ชิดทางด้านซ้ายแทน สามารถทำได้โดยการใส่เครื่องหมาย - (ลบ) ไว้หน้าตัวเลขที่ระบุขนาดความยาวของการแสดงผล ดังนี้ ตารางแสดงการควบคุมพื้นที่การแสดงผลแบบชิดซ้าย
การควบคุมตำแหน่งตัวเลขหลังจุดทศนิยม การแสดงผลตัวเลขที่เป็นจำนวนจริง หรือเลขที่มีทศนิยม ถ้าไม่มีการกำหนดค่าใด ๆ เมื่อใช้รหัสควบคุมรูปแบบ %f (format_string) คอมไพเลอร์ก็จะแสดงด้วยทศนิยม 6 ตำแหน่งดังตัวอย่างต่อไปนี้ ตารางแสดงการแสดงผลข้อมูลแบบเลขทศนิยมโดยไม่กำหนดขนาดการแสดงผล
ในกรณีที่ต้องการให้แสดงผลเลขจำนวนจริงด้วยขนาดความกว้างและเลขทศนิยมตามที่ต้องการนั้นจะต้องระบุตัวเลขเข้าไปหลังเครื่องหมาย % ใน string_fomat ด้วยเลขและทศนิยม เช่น %6.2f หรือ %8.4f ดังต่อไปนี้ ตารางแสดงการแสดงผลข้อมูลแบบเลขทศนิยมโดยกำหนดขนาด
ผลที่ได้จากการ Run
|