Tìm giá trị ASCII của một ký tự trong C / ++
Trong bài viết này, codehow sẽ hướng dẫn các bạn tìm giá trị ASCII của một ký tự trong C / C++. Đầy là một dạng bài tập thường gặp khi bắt đầu học lập trình. Các bạn cần nắm được các giá trị trong bảng ASCII để có thể làm việc dễ dàng với kiểu dữ liệu char và string.
Vậy mã ASCII của một ký tự là gì? Và có bao nhiêu mã ASCII thì hãy xem hình ảnh dưới đây.
Như các bạn đã thấy thì mỗi ký tự đều có một mã riêng. Giá trị ASCII này đại diện cho các ký tự tiếng anh dưới dạng số. Mỗi ký tự như vậy được gán một số từ 0 đến 127.
Ví dụ: các chữ cái in hoa từ A - Z sẽ bắt đầu từ 65 - 90. Các chữ cái in thường bắt đầu từ 97 - 122.
Mã ASCII của chữ cái in hoa bằng mã ASCII của chữ cái in thường trừ đi 32. Ví dụ A = 65 = 97 - 32.
Vậy làm thế nào để có thể lấy được giá trị ASCII của một ký tự trong C / C++, hãy cùng xem chương trình dưới đây nhé.
Tìm giá trị ASCII của một ký tự trong C / C++
Trong chương trình này, mình sẽ thực hiện tìm giá trị ASCII của một ký tự trong C / C++, cụ thể như sau.
Đầu tiên mình sẽ khai báo một biến kyTu kiểu char để lưu ký tự cần tìm giá trị ASCII. Sau đó yêu cầu người dùng nhập vào một ký tự bất kì từ bàn phím.
Vì mã ASCII là một số nguyên, vì vậy chúng ta sẽ ép kiểu int cho biến kyTu rồi hiển thị nó ra màn hình. Và lưu ý rằng ta phải trừ trường hợp người dùng nhập vào khoảng trắng nhá, giá trị của khoảng trắng là 27.
Chương trình C:
#include <stdio.h> int main(void) { //khai báo biến kyTu kiểu char để lưu ký tự cần tìm giá trị ASCII char kyTu; //yêu cầu người dùng nhập vào một ký tự bất kì printf("Nhập vào một ký tự: "); scanf("%c", &kyTu); //nếu ký tự khác khoảng trắng (27) thì hiển thị ra màn hình //lưu ý mã ascii là số nguyên vậy nên nhớ ép kiểu qua int nhé if ((int)kyTu != 27) { printf("Mã ASCII Của ký tự %c là: %d\n",kyTu,(int)kyTu); } printf("\n----------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); }
Kết quả:
Chương trình C++:
#include <iostream> using namespace std; int main(){ //khai báo biến kyTu kiểu char để lưu ký tự cần tìm giá trị ASCII char kyTu; //yêu cầu người dùng nhập vào một ký tự bất kì cout << "Nhập vào một ký tự: "; cin >> kyTu; //nếu ký tự khác khoảng trắng (27) thì hiển thị ra màn hình //lưu ý mã ascii là số nguyên vậy nên nhớ ép kiểu qua int nhé if (int(kyTu) != 27) { cout << "Mã ASCII Của ký tự " << kyTu << " là: " << int(kyTu) << endl; } cout<<"\n----------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
In bảng giá trị ASCII trong C / C++
Trong chương trình này, mình sẽ thực hiện một chương trình in bảng giá trị ASCII trong C / C++. Để làm được điều này các bạn chỉ cần sử dụng một vòng lặp for lặp từ giá trị 32 đến 127 nhé. Sẽ có một số ký tự đặc biết sẽ không hiển thì kết quả những nó vẫn có nhé các bạn.
Chương trình C:
#include <stdio.h> int main(void) { unsigned char count; for (count=32; count< 127; count+=1) { printf(" %3d - %c", count, count); if(count % 6==0) printf("\n"); } printf("\n----------------------------\n"); printf("Chương trình này được đăng tại codehow.net"); }
Chương trình C++:
#include <iostream> using namespace std; int main(){ unsigned char count; for (count=32; count< 127; count+=1) { cout<<(int)count <<" - "<<count<<"\t"; if(count % 6==0) cout<<"\n"; } cout<<"\n----------------------------\n"; cout<<"Chương trình này được đăng tại codehow.net"; }
Kết quả:
Như vậy là chúng ta đã cùng nhau tìm hiểu cách tìm giá trị ASCII của một ký tự trong C / C++, cũng như cách in bảng ký tự ASCII trong C / C++. Hãy ghé thăm serries bài tập C / C++ của codehow để thực hành nhiều dạng bài tập hơn nữa nhé, cảm ơn các bạn rất nhiều