อินพุต เอาต์พุต พื้นฐาน

Input-output กับประเภทข้อมูล

ในบทเรียนนี้คุณจะได้เรียนเกี่ยวกับการรับค่าและการแสดงผลโดยการใช้ฟังก์ชันของภาษา C โดยปกติในการเขียนโปรแกรม เรามักจะมีการรับค่าและการแสดงผลจากผู้ใช้ ในการรับค่าโดยทั่วไปแล้วจะเป็นการรับค่าจากคีย์บอร์ดและการแสดงผลจะเป็นทางหน้าจอคอมพิวเตอร์

ในภาษา C มีฟังก์ชันให้เราสามารถรับค่าและแสดงผลได้ โดยจะมีรูปแบบในการรับค่าและแสดงผลของข้อมูลขึ้นกับประเภทของข้อมูล นี่เป็นข้อมูลส่วนมากที่เราจะพบในการทำงาน โดยจะเป็น specifier ที่จะใช้ในการรับข้อมูลแต่ละแบบ

specifierDescriptionUsage
dintegerใช้กับตัวเลขจำนวนเต็ม
ffloating, doubleใช้กับตัวเลขจำนวนจริง
cCharacterใช้กับตัวอักษรหนึ่งตัวอักษร
sString of charactersใช้กับสตริงหรือตัวอักษรหลายตัว
pPointerใช้กับค่าที่อยู่ของหน่วยความจำ
%%เครื่องหมายที่จะตามโดย specifier ตัวอื่นๆ

ฟังก์ชัน printf

ในการแสดงผลในภาษา C ฟังก์ชันที่ใช้คือฟังก์ชัน printf ซึ่งเป็นฟังก์ชันที่สามารถแสดงข้อมูลประเภทต่างออกทางหน้าจอภาพได้ โดยมันมีรูปแบบการใช้งานดังนี้

printf ("string pattern", value1, value2, ...);

ในการใช้ฟังก์ชัน อากิวเมนต์ตัวแรกคือรูปแบบการแสดงผล และอากิวเมนต์ตัวต่อไปเป็นข้อมูลที่ตรงกับ specifier ที่เรากำหนดไว้ตามลำดับ มาดูตัวอย่างการใช้งานจริง

printf ("Hello, my name is Mateo\n");

int age = 20;
printf ("I\'m %d year old\n", age);

printf ("I have %f USD and %d cents\n", 10.5, 4);

จากตัวอย่างเป็นการใช้ฟังก์ชัน printf เพื่อการแสดงผลแบบต่างๆ อันแรกเป็นการแสดงผลข้อความโดยที่ไม่มี specifier อันที่สองเราต้องการแสดงอายุที่เป็น integer เราจึงใช้ %d เพื่อแทนการแสดงผลของมัน อันสุดท้ายแสดงให้เห็นถึงการแสดงหลาย ค่าโดยเราต้องกำหนด specifier ให้ตรงกับค่าของเรา

และนี่เป็นตัวอย่างผลลัพธ์ของโปรแกรม

Hello, my name is Mateo
I'm 20 years old
I have 4.5 USD and 4 cents

ฟังก์ชัน scanf

ในการรับค่านั้นเราจะใช้ฟังก์ชัน scanf ในการรับค่า โดยการรับค่าเรามักจะหมายถึงการรับค่าจากคีย์บอร์ด โดยรูปแบบการใช้งานของฟังก์ชันเป็นดังนี้

scanf ("%specifier1 %specifier2 ...", variable1, variable2, ...);

ฟังก์ชัน scanf นั้นมีรูปแบบที่คล้ายกันกับฟังก์ชัน printf โดยอากิวเมนต์ในฟังก์ตัวแรกเป็นสตริงของ specifier input ที่เราต้องการรับ และเป็นลำดับของตัวแปรที่ตรงกับ specifier ที่เราได้กำหนดไว้ในอากิวเมนต์ตัวแรก และใส่ตัวแปรให้ตรงกับลำดับของ specifier ที่กำหนด

ต่อไปมาดูตัวอย่าง ของการรับค่าโดยการใช้ฟังก์ชัน scanf

int a;
float b;
scanf ("%d%f", &a, &b);
printf ("value of a is %d\n", a);
printf ("value of b is %f\n", b);

ในอย่างเราได้มีตัวแปรสองตัวคือ a และ b และมีประเภทของตัวแปรเป็น integer และ floating ตามลำดับ ดังนั้นใน specifier input เราจึงใส่ %d สำหรับตัวแปร a และ %f สำหรับตัวแปร b อากิวเมนต์ตัวต่อไปเราจะใส่ลำดับของตัวแปร โดยลำดับของจัวแปรจะแตกต่างจากฟังก์ชัน printf โดยจะนำหน้าด้วยเครื่องหมาย & ซึ่งมันหมายถึงที่อยู่ของตัวแปร ถ้าในกรณีที่ตัวแปรเป็นอาเรย์ของตัวอัการเราต้องใส่

และนี่เป็นตัวอย่างของโปรแกรมเมื่อใส่ค่าเป็น 5 และ 10.5 ตามลำดับ

5 10.5
value of a is 5
value of b is 10.500000

Escape characters

Escape characters เป็นตัวอักษรพิเศษในภาษา C ที่จะต้องใช้สัญลักษณ์เครื่องหมาย \ นำหน้าเสมอ เพื่อไม่ให้เกิดข้อผิดพลาดในการคอมไพล์โปรแกรม ตัวอักษรพิเศษในภาษา C ที่ใช้บ่อยมีดังนี้

Escape characterCharacter represented
\aAlarm
\bBackspace
\nNewline
\rCarriage Return
\tHorizontal Tab
\vVertical Tab
\\Backslash
\'Single quotation mark
\"Double quotation mark
\?Question mark

บทความเกี่ยวกับ อินพุต เอาต์พุต พื้นฐาน

อินพุต เอาต์พุต พื้นฐาน ในภาษา C#

ในการเขียนโปรแกรม สิ่งที่สำคัญอย่างหนึ่งคือโปรแกรมต้องมีการติดต่อกับผู้ใช้ โดยพื้นฐานแล้วเป็นการแสดงผลลัพธ์ของโปรแกรมซึ่งเรียกว่า output โดยทั่วไปมักจะเป็นหน้าจ...

อินพุต เอาต์พุต พื้นฐาน ในภาษา Java

ในการเขียนโปรแกรมนั้น สิ่งที่สำคัญคือการที่โปรแกรมสามารถติดต่อกับผู้ใช้ ซึ่งจะมีในสองลักษณะคือ Input คือการรับข้อมูลมาจากผู้ใช้ และนำมาประมวลผลในโปรแกรม และ Out...

อินพุต เอาต์พุต พื้นฐาน ในภาษา C++

สิ่งที่สำคัญที่สุดในการเขียนโปรแกรมคือ Input และ output ของโปรแกรม เพราะว่าทุกๆ โปรแกรมจำเป็นต้องติดต่อกับผุ้ใช้ ในภาษา C++ มันใช้ stream เพื่อทำการกับ input แล...

อินพุต เอาต์พุต พื้นฐาน ในภาษา PHP

ในบทนี้ คุณจะได้เรียนรู้การรับค่าและการแสดงผลพื้นฐานในภาษา PHPในการเขียนโปรแกรม การติดต่อกับผู้ใช้นั้นเป็นส่วนหนึ่งที่สำคัญ เพื่อการแลกเปลี่ยนข้อมูลระหว่างผู้ใช...