ใบความรู้นี้จะกล่าวถึงวิธีการรับข้อมูลผ่านคีย์บอร์ดเข้ามาในโปรแกรม (input) เพื่อนำมาประมวลผล รวมทั้งวิธีการแสดงผลข้อความหรือผลลัพธ์ของโปรแกรมออกทางจอภาพ (output)
การแสดงผลข้อมูล (output)
ฟังก์ชั่นที่ใช้ในการแสดงผลข้อมูลออกทางจอภาพ คือ printf (print formatted)
รูปแบบของฟังก์ชั่น printf คือ
printf(“string_format”, data_list);
|
data_list คือ ข้อมูลที่จะแสดงผล ซึ่งอาจเป็นค่าคงที่, ตัวแปร, หรือนิพจน์ใดๆ
ตัวอย่างการใช้งานฟังก์ชั่น printf()
ตัวอย่างที่ 8.1
printf(“Hello World”);
ผลลัพธ์ของโปรแกรม
Hello World
อธิบายโปรแกรม
การใช้งานฟังก์ชั่น printf() ในลักษณะนี้เป็นการแสดงข้อความที่กำหนดออกทางจอภาพเท่านั้น ไม่ได้ต้องการแสดงผลข้อมูลอื่นเพิ่มเติม ดังนั้นจึงรับค่าพารามิเตอร์เพียงตัวเดียวเท่านั้น คือ รับค่า string format ไม่จำเป็นต้องรับพารามิเตอร์ data list
ตัวอย่างที่ 8.2
printf(“1+1 = %d”, 2);
ผลลัพธ์ของโปรแกรม
1+1 = 2
|
ฟังก์ชั่น printf() ในข้อนี้มีการใช้ string format ในรูปแบบของข้อความธรรมดาผสมกับตัวแทนชนิดข้อมูล ดังนั้นเมื่อมีการแทนที่ชนิดข้อมูลแล้ว จะต้องมีการรับค่าพารามิเตอร์อีกตัวหนึ่งสำหรับเป็นข้อมูลที่จะนำมาแทนที่ลงในตัวแทนชนิดข้อมูลนั้น ซึ่งในที่นี้ทำการรับค่าพารามิเตอร์ data list เป็นข้อมูลค่าคงที่เข้ามา
ตัวอย่cางที่ 8.3
char X = ‘x’;
printf(“Hello %cyz”, X);
|
Hello xyz
อธิบายโปรแกรม
ข้อนี้คล้ายกับข้อที่ผ่านมา แต่มีสิ่งหนึ่งที่แตกต่าง คือ data list ในข้อนี้เป็นตัวแปร แต่ในข้อที่ผ่านมาเป็นค่าคงที่
ตัวอย่างที่ 8.4
int x = 3;
char y[5] = “five”;
printf(“%d + %d = %s”, 2, x, y);
ผลลัพธ์ของโปรแกรม
2+3 = five
|
จากตัวอย่างที่ผ่านมาจะเห็นว่าฟังก์ชั่น printf() รับค่าพารามิเตอร์ได้หลายตัว ซึ่งขอบเขตของพารามิเตอร์ string format จะถูกกำหนดอยู่ภายในเครื่องหมาย “ ” แต่สำหรับพารามิเตอร์ data list ไม่ต้องใช่เครื่องหมาย “ ” คลุม
ฟังก์ชั่น printf() จะจับคู่ข้อมูลที่จะแสดงผลกับตัวแทนชนิดข้อมูลเรียงตามลำดับ เช่น จากตัวอย่าง
1. จับคู่ตัวแทนชนิดข้อมูล %d เข้ากับค่าคงที่ (ค่า 2)
2. จับคู่ตัวแทนชนิดข้อมูล %d เข้ากับตัวแปร x ซึ่งเป็นข้อมูลชนิดเลขจำนวนเต็ม
3. จับคู่ตัวแทนชนิดข้อมูล %s เข้ากับตัวแปร y ซึ่งเป็นข้อมูลชนิดสตริง
รหัสที่ขึ้นต้นด้วยเครื่องหมาย “\” (Backslash)
รหัสที่ขึ้นต้นด้วยเครื่องหมาย “\” (Backslash) เรียกวา Escape Character มักใช้กำหนดไว้ในส่วนของ string format ของฟังก์ชั่น printf() เพื่อช่วยในการจัดการแสดงผลตัวอักษรออกทางจอภาพ ซึ่งแบ่งออกเป็นหลายประเภทดังนี้
ตารางที่ 8.2 แสดง Escape Character
รหัส
|
ความหมาย
|
\0
|
ค่าว่าง (null character)
|
\a
|
ส่งเสียง 1 ครั้ง (bell)
|
\b
|
ถอยหลัง 1 ช่องตัวอักษร (backspace)
|
\f
|
ขึ้นหน้าใหม่ (form feed)
|
\n
|
ขึ้นบรรทัดใหม่ (new line)
|
\r
|
เลื่อนเคอร์เซอร์ไปทางซ้ายสุด (carriage return)
|
\t
|
แท็บแนวนอน (horizontal tab)
|
\v
|
แท็บแนวตั้ง (vertical tab)
|
\’
|
พิมพ์เครื่องหมาย ‘
|
\”
|
พิมพ์เครื่องหมาย “
|
\\
|
พิมพ์เครื่องหมาย \
|
ฟังก์ชั่นที่ใช้ในการรับข้อมูลจากคีย์บอร์ด คือ scanf (scan formatted)
รูปแบบของฟังก์ชั่น scanf คือ
scanf(“string_format”, address_list);
|
address_list เป็นตัวระบุที่อยู่ (address) ในหน่วยความจำที่จะใช้ในการเก็บข้อมูลที่รับเข้ามา โดยใช้ ampersand (&) นำหน้าชื่อตัวแปรที่ต้องการรับข้อมูลเข้ามาเก็บไว้
ตัวอย่างที่ 8.5
scanf(“%d %d %c”, &a, &b, &c);
printf(“%d %d %c”, a, b, c);
ผลลัพธ์ของโปรแกรม
10 20 c
10 20 c
|
#include <stdio.h>
main() {
char name[10];
int a, b, c;
float d, e, f;
printf(“Enter your name : ”);
scanf(“%s”, name);
printf(“Enter integer number1 : ”);
scanf(“%d”, &a);
printf(“Enter integer number2 : ”);
scanf(“%d”, &b);
printf(“Enter integer number3 : ”);
scanf(“%d”, &c);
printf(“Enter integer number4 : ”);
scanf(“%d”, &d);
printf(“Enter integer number5 : ”);
scanf(“%d”, &e);
f = (a+b+c+d+e) / 5;
printf(“\nHi %s\n”, name);
printf(“Average of your number is %.2f”, f);
Enter your name : somsak
Enter integer number1 : 1
Enter integer number2 : 2
Enter integer number3 : 3
Enter integer number4 : 4.5
Enter integer number5 : 5.5
Hi Somsak
Average of your number is 3.20
|
#include <stdio.h>
main() {
char c;
c = getchar();
putchar(c);
}
|
a
b
c
d
e
D
E
|
abcdeDE
|
ไม่มีความคิดเห็น:
แสดงความคิดเห็น