หน้าหลัก
แนะนำรายวิชา
แบบทดสอบก่อนเรียน
บทที่ 1 ภาษาคอมพิวเตอร์
บทที่ 2 แนวคิดการโปรแกรม
บทที่ 3 ผังงาน
บทที่ 4 รหัสเทียม
บทที่ 5 โครงสร้างภาษาซี
บทที่ 6 ติดตั้งโปรแกรม Dev-c
บทที่ 7 ตัวแปรภาษาซี
บทที่ 8 ตัวดำเนินการภาษาซี
บทที่ 9 การแสดงผล
บทที่10 การรับข้อมูล
บทที่ 11 การเลือกทำตามเงื่อนไข
บทที่ 12 คำสั่งวนซ้ำ
แบบทดสอบหลังเรียน
แหล่งศึกษาเพิ่มเติม

 

                   ในภาษาซี การรับข้อมูลจากคีย์บอร์ดสามารถทำได้โดยการเรียกใช้ฟังก์ชัน scanf() ซึ่งเป็นฟังก์ชันมาตรฐานสำหรับ

รับข้อมูลจากคีย์บอร์ด โดยสามารถรับข้อมูลได้ทุกประเภท ไม่ว่าจะเป็นจำนวนเต็ม ทศนิยม อักขระ หรือข้อความ โดยมีรูปแบบ

scanf("format",&variable);

โดยที่

control string คือ รหัสรูปแบบข้อมูล (format code) โดยจะต้องเขียนอยู่ภายใต้เครื่องหมายอัญประกาศ “……..”

argument list   คือ  ชื่อตัวแปรที่ใช้เก็บข้อมูลโดยจะต้องใช้เครื่องหมาย  &  (ampersand)  นำหน้าชื่อตัวแปร

ยกเว้นตัวแปรชนิด  string  ไม่ต้องมีเครื่องหมาย  &  นำหน้าชื่อ  ถ้ามีตัวแปรมากกว่า  1  ตัวแปร  

ให้ใช้เครื่องหมาย  ,  (comma)  คั่นระหว่างตัวแปรแต่ละตัว

Library Function เป็นฟังก์ชันสำหรับการทำงานหนึ่งๆ ที่ผู้พัฒนา complier ภาษาซี ได้ทำการพัฒนามาเตรียมไว้ให้เราเรียกใช้

มีผลดีคือลดเวลาในการพัฒนา โปรแกรมคอมพิวเตอร์ บ้างก็เรียกว่าห้องสมุดของภาษาซี

Library Function ของภาษา C จะเก็บอยู่ใน ไฟล์นามสกุล.h (หรือที่เรียกว่า Header File) อย่างเช่น stdio.h math.h

การเรียกใช้ Library Function เราต้องรู้ว่า Function ที่ต้องการอยู่ในไฟล์ใด จากนั้นทำการ #include ไฟล์นั้นไว้ในส่วนหัวของ

โปรแกรมก่อนที่จะเรียกใช้ Function เช่น #include <stdio.h>  #include <math.h> ฟังก์ชั่น scanf( ) เรียกใช้ Libratu Function stdio.h


ตารางที่
  3.1  แสดงรหัสแบบข้อมูลที่สามารถใช้ในฟังก์ชัน  scanf( )
รหัสรูปแบบ 
(format  code)

ความหมาย
%c
ใช้กับข้อมูลชนิดตัวอักขระตัวเดียว  (single  character :  char)
%d
ใช้กับข้อมูลชนิดตัวเลขจำนวนเต็ม (integer : int) โดยสามารถใช้กับ ตัวเลขฐาน  10  เท่านั้น
%e
ใช้กับข้อมูลชนิดตัวเลขจุดทศนิยม  (floating  point : float)
%f, %lf
ใช้กับข้อมูลชนิด  float  และ  double  ตามลำดับ
%g
ใช้กับข้อมูลชนิด  float
%h
ใช้กับข้อมูลชนิด  short  integer
%l
ใช้กับข้อมูลชนิด  int  โดยใช้กับตัวเลขฐาน 8, ฐาน 10 และฐาน 16
%o
ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  8  เท่านั้น
%u
ใช้กับข้อมูลชนิด  unsigned  int  โดยใช้กับตัวเลขฐาน  10  เท่านั้น
%x
ใช้กับข้อมูลชนิด  int  โดยสามารถใช้กับตัวเลขฐาน  16  เท่านั้น
%s
ใช้กับข้อมูลชนิด  string

ที่มา  :  Gottfried, S. Byron, 1990 : 481.

 

ตัวอย่าง

ผลลัพธ์

หน้าจอให้ป้อนตัวเลขอายุ

 

ตัวอย่าง การรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบ1ค่า(int)

#include <stdio.h>
main()
{
int A;
scanf("%d",&A);
printf("A = %d",A);
getch();
}

 

ตัวอย่างการรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบ1ค่า(float)

#include <stdio.h>
main()
{
float B;
scanf("%f",&B);
printf( "B = %f",B);
getch();
}

3.การรับข้อมูลทางคีย์บอร์ดโดยรับข้อมูลแบบ2ค่า(int, float)
#include <stdio.h>
main()
{
int A;
float B;
scanf("%d %f",&A,&B);
        printf( "A = %d , B = %f",A,B);
        getch();
}