Chờ người dùng nhập: Ngôn ngữ C

Wait User Input C Language



Trong ngôn ngữ lập trình C có một số hàm đầu vào. Sử dụng các chức năng này, chúng tôi có thể đợi người dùng nhập. Trong hướng dẫn này, chúng ta sẽ thảo luận chi tiết về các hàm đầu vào.

Định dạng chuỗi

Chuỗi định dạng là định dạng cho dữ liệu đã nhập. Định dạng này bắt đầu bằng dấu% và theo sau là từ định dạng. Định dạng chỉ định là một ký tự cụ thể được sử dụng cho loại dữ liệu đang được đọc.







arg1, arg2, arg3… là địa chỉ của các biến nơi dữ liệu đã nhập sẽ được lưu trữ.



Hàm scanf ()

Cú pháp: int scanf (chuỗi định dạng, arg1, arg2, arg3…)



Một số thông số kỹ thuật thường được sử dụng như sau:





  • NS - Dùng cho các giá trị nguyên.
  • NS - Dùng cho số nổi.
  • NS - Được sử dụng cho giá trị ký tự đơn.
  • NS - Dùng cho chuỗi.

Sử dụng đơn scanf () chức năng, một hoặc nhiều đầu vào có thể được lấy từ người dùng.

Các scanf () hàm nhận đầu vào từ đầu vào chuẩn (bàn phím) và lưu trữ giá trị trong một biến. Chức năng chờ người dùng nhập cho đến khi người dùng nhấn phím enter. Giá trị đã nhập đang được lưu trữ trong bộ đệm. Khi phím enter đang được nhấn, scanf () chức năng bắt đầu đọc.



Ví dụ 1: Nhập số nguyên

//Example1.c
#bao gồm

NSchủ chốt(){

NStôi;
printf ('Nhập giá trị số nguyên đầu tiên:');
scanf ('%NS'&tôi);
printf ('Bạn đã tham gia:% d ',tôi);

printf ('Nhập giá trị số nguyên thứ 2:');
scanf ('%NS'&tôi);
printf ('Bạn đã tham gia:% d ',tôi);

trở lại 0;
}

Trong Ví dụ1.c, chúng ta đã thấy rằng khi chúng ta nhập các giá trị số nguyên và nhấn phím enter. Các scanf () hàm nhận giá trị và lưu trữ nó trong biến. Nếu chúng ta nhập các giá trị được phân tách bằng dấu cách, hàm sẽ trả về khi gặp khoảng trống nhưng các giá trị sau dấu cách vẫn còn trong bộ đệm đầu vào. Đó là lý do tại sao thứ hai scanf () hàm sẽ không đợi người dùng nhập, thay vào đó nó lấy đầu vào từ bộ đệm.

Ví dụ 2: Nhập ký tự đơn

//Example2.c
#bao gồm

NSchủ chốt(){

charNS;
printf ('Nhập một ký tự:');
scanf ('% NS'&NS);
printf ('Bạn đã tham gia:% c ',NS);

trở lại 0;
}

Trong Ví dụ2.c, chúng ta đã thấy rằng khi chúng ta sử dụng % NS người chỉ định, scanf () hàm chỉ nhận một ký tự ngay cả khi chúng ta đã nhập nhiều hơn một ký tự.

Ví dụ 3: Nhập một ký tự (Nhiều lần)

//Example3.c
#bao gồm

NSchủ chốt(){

charNS;
printf ('Nhập ký tự đầu tiên:');
scanf ('% NS'&NS);
printf ('Bạn đã tham gia:% c ',NS);

printf ('Nhập ký tự thứ 2:');
scanf ('% NS'&NS);
printf ('Bạn đã tham gia:% c ',NS);

trở lại 0;
}

Ví dụ 4 :

//Example4.c
#bao gồm

NSchủ chốt(){

charNS;
printf ('Nhập ký tự đầu tiên:');
scanf ('% NS'&NS);
printf ('Bạn đã tham gia:% c ',NS);

printf ('Nhập ký tự thứ 2:');
scanf ('% NS'&NS);
printf ('Bạn đã tham gia:% c ',NS);

trở lại 0;
}

Ví dụ 5: Đầu vào chuỗi

//Example5.c
#bao gồm

NSchủ chốt(){

charTên[mười lăm];
printf ('Điền tên của bạn: ');
scanf ('%NS',Tên);
printf ('Bạn đã tham gia:% s ',Tên);

trở lại 0;
}

Hàm getc ()

Cú pháp: int getc (FILE * luồng)

getc () hàm được sử dụng để đọc một ký tự từ con trỏ FILE (luồng). Để đọc từ bàn phím, chúng ta phải sử dụng stdin . Hàm này trả về một giá trị nguyên của ký tự đọc.

Ví dụ 6:

//Example6.c
#bao gồm

NSchủ chốt(){

charNS;
printf ('Nhập ký tự đầu tiên:');
trong khi((NS= getc (stdin))==' ');
printf ('Bạn đã tham gia:% c ',NS);

trong khi( getc (stdin)! =' ');

printf ('Nhập ký tự thứ 2:');
trong khi((NS= getc (stdin))==' ');
printf ('Bạn đã tham gia:% c ',NS);

trở lại 0;
}

Hàm getchar ()

Cú pháp: int getchar (void)

getchar () chức năng giống như getc () . Sự khác biệt duy nhất là getc () hàm có thể đọc từ bất kỳ luồng đầu vào nào, trong khi getchar () chức năng chỉ đọc từ đầu vào tiêu chuẩn.

Ví dụ 7:

//Example7.c
#bao gồm

NSchủ chốt(){

charNS;
printf ('Nhập ký tự đầu tiên:');
trong khi((NS= getchar ())==' ');
printf ('Bạn đã tham gia:% c ',NS);

trong khi( getchar ()! =' ');

printf ('Nhập ký tự thứ 2:');
trong khi((NS= getchar ())==' ');
printf ('Bạn đã tham gia:% c ',NS);

trở lại 0;
}

Phần kết luận

Trong bài này, chúng ta đã biết cách sử dụng các hàm đầu vào trong ngôn ngữ C. Tất cả các chức năng này được lấy đầu vào từ bộ đệm đầu vào và khi chúng tôi sử dụng các chức năng này nhiều lần, chúng tôi phải xóa bộ đệm. Nếu không, các chức năng sẽ không đợi người dùng nhập và lấy đầu vào từ bộ đệm.