logo

Kiểu dữ liệu char có phạm vi giá trị là

Câu trả lời chính xác nhất:

Kiểu dữ liệu Char có phạm vi giá trị là -128 tới 127 hoặc 0 tới 255. Để hiểu rõ hơn câu trả lời trên đây, mời các bạn đọc thêm phần kiến thức khái quát và tham khảo các bài tập trắc nghiệm về Ngôn ngữ lập trình và các kiểu dữ liệu dưới đây nhé.


1. Tổng quan về kiểu ký tự (Character)

Một chương trình nếu chỉ hiển thị số thì người dùng có nhìn vào cũng không hiểu được, lúc này bạn sẽ cần những biến để lưu trữ ký tự, hay những câu thông báo cho người dùng. Để làm được điều đó, bạn cần học qua kiểu char trong C++.

Kiểu dữ liệu char có phạm vi giá trị là

Trong C++, char là một kiểu dữ liệu đặc biệt, nó vừa là kiểu số nguyên, cũng vừa là kiểu ký tự. Do đó, kiểu char tuân thủ tất cả các quy tắc của một số nguyên bình thường (+-*/…).

Một biến kiểu char sẽ có độ lớn 1 bytes (8 bits), dùng để lưu trữ một ký tự trong bảng mã ASCII như (a, b, c, … 1, 2, 3, …)

ASCII (American Standard Code for Information Interchange - Chuẩn mã trao đổi thông tin Hoa Kỳ) là bộ kí tự và bộ mã kí tự dựa trên bảng chữ cái La Tinh trong tiếng Anh.

>>> Xem thêm: Lệnh cout trong C++ có tác dụng gì?


2. Khai báo biến kiểu kí tự như thế nào?

Để khai báo biến kiểu kí tự trong C/C++, ta dùng từ khóa char như sau:

char character; //declare a variable type char

char ch(65); //declare a variable type char and initialze with ASCII code

char a = 'a'; //declare a variable type char and initialize with a symbol of ASCII table

Cú pháp hoàn toàn giống việc thực hiện khai báo biến thông thường.

Biến kiểu kí tự (char) thực tế cũng là một kiểu số nguyên kích thước 1 byte (tương đương với int8_t), nó lưu trữ giá trị là mã Code của kí tự đó, nhưng khi hiển thị lên màn hình, nó cho ra kết quả là kí tự (Symbol) chứ không in ra mã ASCII của kí tự đó.

Vì thế, chúng ta có thể khởi tạo cho biến kiểu char bằng cách gán một kí tự đặt giữa cặp dấu nháy đơn. Ví dụ:

char ch = 'a';

ch = 'b';

Hoặc cũng có thể gán trực tiếp mã Code của kí tự đó trong bảng mã ASCII. Ví dụ:

char ch = 97; //kí tự 'a' trong bảng mã ASCII có mã là 97

ch = 98; //kí tự 'b' trong bảng mã ASCII có mã là 98


3. Các kiểu dữ liệu khác trong C++

Loại dữ liệu Kiểu dữ liệu Số ô nhớ Miền giá trị
Boolean bool 1 byte 0 hoặc 1. Trong đó 0 => FALSE và 1 => TRUE
Ký tự char 1 byte -128 ... 127 hoặc 0 ... 255
- unsign char 1 byte 0 ... 255
- sign char 1 byte -128 ... 127
Số nguyên int 4 byte -2147483648 ... 2147483647
- unsign int 4 byte 0 ... 4294967295
- sign int 4 byte -2147483648 ... 2147483647
- short 2 byte -32768 .. 32767
- long 4 byte -215 ... 215 - 1
Số thực float 4 byte ±10-37 ... ±10+38
- double 8 byte ±10-307 ... ±10+308

Đây là các kiểu dữ liệu đơn giản có sẵn trong C++.

Các kiểu giữ liệu này giúp tiết kiệm bộ nhớ là linh động hơn trong việc lưu dữ liệu.

Ví dụ: khi lưu tuổi một người ta chỉ cần dùng kiểu char hoặc unsigned char. Vừa tiết kiệm bộ nhớ nhưng vẫn đảm bảo có thể lưu tất cả các tuổi có thể xảy ra. Nhưng với trường hợp dữ liệu lớn hơn, như số người trong một quốc gia thì lên tới con số hàng triệu. Do đó ta phải sử dụng loại dữ liệu khác như int.


4. Câu hỏi trắc nghiệm bổ sung kiến thức về Ngôn ngữ lập trình và các kiểu dữ liệu

Câu 1: Chương trình dịch Pascal sẽ cấp phát bao nhiêu byte bộ nhớ cho các biến trong khai báo sau?

VAR M, N, P: Integer; A. B: Real; C: Longint;

B. 24 byte

C. 22 byte

D. 18 byte

Trả lời:

Kiểu Interger bộ nhớ lưu trữ một giá tri là 2 byte → 3 biến M, N, P cần 3 x 2= 6 byte

Kiểu Real  bộ nhớ lưu trữ một giá tri là 6 byte → 2 biến A. B cần 2 x 6 = 12 byte

Kiểu Longint  bộ nhớ lưu trữ một giá tri là 4 byte → 1 biến C cần 1 x 4 = 4 byte

→ Vậy cần cấp 6+ 12+ 4 = 22 byte bộ nhớ cho các biến.

Đáp án: C

Câu 2: Biến X có thể nhận các giá trị 1; 100; 150; 200 và biến Y có thể nhận các giá trị 1; 0.2; 0.3; 10.99. Khai báo nào trong các khai báo sau là đúng nhất?

A. Var X,,Y: byte;

B. Var X, Y: real;

C. Var X: real; Y: byte;

D. Var X: byte; Y: real;

Trả lời:

Các giá trị 1; 100; 150; 200 là các số nguyên→ kiểu dữ liệu của X là byte,

Các giá trị 1; 0.2; 0.3; 10.99 là các số thực → kiểu dữ liệu của Y là real.

Đáp án: D

Câu 3: Trong ngôn ngữ lập trình Pascal, kiểu dữ liệu nào trong các kiểu sau có miền giá trị lớn nhất?

A. Byte

B. Longint

C. Word

D. Integer

Trả lời:

+ Byte có miền giá trị từ 0 đến 255.

+ Integer có miền giá trị từ -32768 đến 32767

+ Word có miền giá trị từ 0 đến 65535

+ Longint có miền giá trị từ -2147483648 đến 2147483647

Đáp án: B

Câu 4: Chọn phát biểu đúng trong các phát biểu sau:

A. Dữ liệu kiểu byte có 256 giá trị từ 0, 1, 2, …, 255;

B. Dữ liệu kiểu kí tự chỉ có 256 giá trị;

C. Mọi ngôn ngữ lập trình đều có các kiểu dữ liệu chuẩn là: kiểu nguyên, kiểu thực, kiểu kí tự, kiểu logic;

D. Quy định về phạm vi giá trị và kích thước bộ nhớ lưu trữ một giá trị của các kiểu dữ liệu chuẩn trong mọi ngôn ngữ lập trình là như nhau;

Đáp án: A

Câu 5: Trong INTEGER và WORD, phạm vi giá trị của kiểu nào lớn hơn?

A. Kiểu INTEGER có phạm vi giá trị bằng với kiểu WORD.

B. Kiểu INTEGER có phạm vi giá trị lớn hơn kiểu WORD.

C. Kiểu WORD có phạm vi giá trị nhỏ hơn kiểu INTEGER.

D. Kiểu WORD có phạm vi giá trị lớn hơn kiểu INTEGER.

Đáp án: D

Như vậy, qua bài viết trên, các đã biết “Kiểu dữ liệu char có phạm vi giá trị là". Với những kiến thức khái quát về kiểu dữ liệu Char và các kiểu dữ liệu khác do Top lời giải tổng hợp, biên soạn, chúng tôi hi vọng các bạn đã có thêm nhiều kiến thức hữu ích phục vụ cho việc học. Chúc các bạn học tốt!

icon-date
Xuất bản : 26/05/2022 - Cập nhật : 26/05/2022