Các Kiểu Dữ Liệu Cơ Bản Trong Ngôn Ngữ C/C++
Có thể bạn quan tâm
- Sign in / Join
Các Ngôn Ngữ Lập Trình đều có một hệ thống các kiểu dữ liệu cơ sở cùng với các phép toán để người lập trình có thể thực hiện các tính toán và dựa vào kiểu cơ sở để xây dựng những kiểu dữ liệu phức tạp hơn trong quá trình viết chương trình.
Xem thêm Phương pháp học tập hiệu quả học phần ngôn ngữ lập…
Các kiểu dữ liệu bao gồm kiểu số nguyên (có dấu và không dấu), kiểu số thực, kiểu luận lý và kiểu ký tự, Kiểu void.
Độ lớn của từng kiểu dữ liệu phụ thuộc vào nền tảng lập trình, Để nắm rõ vấn đề này chúng ta cùng xem xét:
- Khi chương trình chạy, mỗi biến hay hằng của chương trình sẽ được kết buộc với một ô nhớ bên trong bộ nhớ của máy tính.
- Tùy theo kiểu dữ liệu, kích thước (hay độ dài) của ô nhớ này (cũng được gọi là kích thước của biến hay hằng tương ứng) sẽ chiếm một số byte nhất định trong bộ nhớ.
- Toán tử sizeof dùng để xác định kích thước của kiểu dữ liệu, biến hay hằng trong C/C++
Để biết chính xác độ lớn của kiểu dữ liệu trên nền hiện tại có thể sử dụng từ khóa sizeof.
Cú pháp: sizeof(kiểu dữ liệu)
Ví dụ (chương trình C)
#include <stdio.h> void main() { short Delta=9; printf("Kich thuoc bien Delta = %d\n", sizeof(Delta)); printf("Kich thuoc kieu int = %d\n", sizeof(int)); printf("Kich thuoc kieu long = %d\n", sizeof(long)); printf("Kich thuoc kieu float = %d\n", sizeof(float)); printf("Kich thuoc kieu double = %d\n", sizeof(double)); printf("Kich thuoc kieu char = %d\n", sizeof(char)); }Ví dụ (chương trình C++)
#include <iostream> using namespace std; void main() { short Delta=9; cout << "Kich thuoc bien Delta = " << sizeof(Delta) << endl; cout << "Kich thuoc kieu int = " << sizeof(int) << endl; cout << "Kich thuoc kieu long = " << sizeof(long) << endl; cout << "Kich thuoc kieu float = " << sizeof(float) << endl; cout << "Kich thuoc kieu double = " << sizeof(double) << endl; cout << "Kich thuoc kieu char = " << sizeof(char) << endl; }Kiểu số nguyên có dấu
- Miền giá trị (số n-bit): -2n-1 .. +2n-1 – 1
Kiểu số nguyên không dấu
- Miền giá trị (số n-bit): 0 .. 2n – 1
- Hằng số nguyên có thể biểu diễn ở 3 dạng
- Bát phân: viết bắt đầu bằng số 0
- Thập phân: viết bắt đầu bằng số từ 1 đến 9
- Thập lục phân: viết đầu bằng 0x
- Các phép toán số học
- Phép cộng: +, phép trừ: –, phép nhân: *
- Phép chia lấy phần nguyên: /
- Phép chia lấy phần dư: %
- Các phép toán trên bit cho số nguyên không dấu (được áp dụng khi muốn lập trình thao tác trên các bit của dữ liệu hay muốn tăng tốc độ xử lý của chương trình trong một vài tình huống nhất định)
- Phép and bit: &
- Phép or bit: |
- Phép xor bit: ^
- Phép not bit: ~
Ví dụ toán tử trên bit
#include <stdio.h> void main() { unsigned char a = 45; // 00101101 unsigned char b = 58; // 00111010 int c1, c2, c3, c4, c5, c6; c1 = a & b; // 00101000 c2 = a | b; // 00111111 c3 = a ^ b; // 00010111 c4 = ~a; // 11010010 c5 = a >> 4; // 11010000 c6 = a << 4; // 00000010 }Kiểu số thực
Cấu trúc lưu trữ bên trong của số thực được thiết kế theo chuẩn số chấm động (floating-point) của IEEE.
- Các phép toán số học
- Các hàm toán học như căn số, lũy thừa, logarit, …
Kiểu ký tự
- Kiểu ký tự 8-bit
–Kiểu char hoặc unsigned char.
–Lưu mã ASCII của ký tự, giá trị từ 0 đến 255.
–Một số ký tự nên nhớ
- Đổi ký tự từ ký tự thường sang ký tự hoa:
- Nếu ‘a’ ≤ ch ≤ ’z’ thì ch (mới) = ch – (‘a’ – ‘A’)
- Ngược lại ch (mới) = ch
- Trong mọi trường hợp ta có công thức:
- Tương tự ta cũng có công thức chuyển ký tự thành ký tự thường:
- Ví dụ:
- Kiểu ký tự 16-bit
–Kiểu wchar_t (#include <wchar>)
–Lưu trữ dựa trên bảng mã quốc tế UTF-16 (một dạng mã Unicode) Mã UTF-16 của ký tự thông thường (‘0’ đến ‘9’, ‘A’ đến ‘Z’, ‘a’ đến ‘z’, …) trùng mã ASCII.
–Hằng ký tự kiểu wchar_t được đặt trước bằng chữ L
Lưu ý, ‘B’ và L’B’ như nhau (cùng giá trị 66) nhưng kích thước trong bộ nhớ khác nhau (sizeof(‘B’) = 1, sizeof(L’B’) = 2)
Ví dụ: Viết chương trình nhập vào 1 kí tự bất kỳ. Xuất ra mã ASCII của ký tự đó. Nếu ký tự là chữ hoa thì biến thành chữ thường và ngược lại.
#include<stdio.h> #include<conio.h> void main() { printf("Nhap ky tu: "); char c; scanf("%c", &c); printf("Ma ASCII cua %c la %d\n", c, c); char hoa = (c >= 97 && c <= 122)?(c-32):(c+32; printf("Hoa/thuong: %c", hoa); getch(); }Kiểu luận lý
- Trong C chuẩn không có kiểu luận lý. Giá trị sai (false) là 0, giá trị đúng (true) là khác 0 (thường là 1).
- Khai báo kiểu bool đối với C++ chuẩn hoặc kiểu số nguyên bất kỳ (char, int, …)
- Giá trị khác 0 nghĩa là đúng (true).
- Giá trị bằng 0 nghĩa là sai (false). Lưu ý: Kết quả lượng giá một biểu thức luận lý bất kỳ thực hiện bởi C++ luôn cho kết quả là 0 (false) hay 1 (true).
- Các phép toán
- Kết hợp: && (and), || (or), ! (not)
- So sánh: >, >=, <, <=, ==, !=
Kiểu void
- Không lưu bất cứ dữ liệu gì
- Báo cho trình biên dịch không có giá trị trả về
Xem thêm Biến-Hằng-Câu lệnh và biểu thức trong C/C++
RELATED ARTICLESMORE FROM AUTHOR
C/C++Sự khác nhau giữa Inline function và Macro trong C
C/C++Trong ngôn ngữ C/C++ có bao nhiêu vùng nhớ (Memory layout)
C/C++Cấu trúc dữ liệu danh sách nhân viên
C/C++Tổng quan File trong C
C/C++Cấu trúc kiểu dữ liệu sinh viên
C/C++Cấu trúc mô tả một điểm trên tọa độ xOy
LEAVE A REPLY Cancel reply
Log in to leave a comment
This site uses Akismet to reduce spam. Learn how your comment data is processed.
Danh sách các bài học
Các kiểu dữ liệu cơ bản trong ngôn ngữ C/C++
Mr Good - April 16, 2016 0Hướng dẫn Tạo Project Visual C++ trong Visual Studio 2012
April 16, 2016Biến-Hằng-Câu lệnh và biểu thức trong C/C++
April 16, 2016Cấu trúc IF-ELSE
April 16, 2016Cấu trúc switch – case
April 16, 2016Vòng lặp For
April 16, 2016Cấu trúc While, Do-while
April 16, 2016Cách sử dụng hàm trong lập trình
April 16, 2016Mảng một chiều
April 16, 2016 Load moreBài viết mới nhất
DownloadDownload Cisco Packet Tracer
Windows 10Hướng dẫn cài đặt webserver trên localhost để chạy wordpress
HPEHướng dẫn cấu hình IP ILO máy chủ HP DL380 Gen10
CentOSCentOS 8 – Giới thiệu về hệ điều hành Linux (P1)
Load more © Copyright 2016, All Rights Reserved. Donations are always appreciated! MEW: 0x296f1a39d5Ca3cb83C76724eA38af3B90B90109D MORE STORIESVí dụ về mảng trong C# (phần 1)
Nguyễn Văn Hiếu - August 6, 2016 0Soạn thảo công thức toán học và Gõ tắt – sửa lỗi tự động...
Mr Good - June 14, 2016 0Từ khóa » Các Kiểu Dữ Liệu Trong Ngôn Ngữ Lập Trình C
-
Các Kiểu Dữ Liệu Trong Lập Trình C/C++ (Data Type) | TopDev
-
Bài 4: Các Kiểu Dữ Liệu Trong Lập Trình C - Khuê Nguyễn
-
Bài 5. Kiểu Dữ Liệu Trong C - Lập Trình Không Khó
-
Kiểu Dữ Liệu Trong Lập Trình C
-
Kiểu Dữ Liệu Trong C/C++
-
Các Kiểu Dữ Liệu Cơ Bản Trong C++ - Góc Học IT
-
Bài 2: Biến Và Kiểu Dữ Liệu Trong C | Tìm ở đây
-
Các Kiểu Dữ Liệu Trong Ngôn Ngữ Lập Trình C
-
Các Kiểu Dữ Liệu Căn Bản Trong C - Lập Trình Từ Đầu
-
Các Kiểu Dữ Liệu Trong C ( Int - Float - Double - Char ...) - Freetuts
-
Các Kiểu Dữ Liệu Trong C++ - Thủ Thuật
-
Kiểu Dữ Liệu Trong C - VietTuts
-
Lập Trình C Và Kiểu Dữ Liệu Trong C - IT DESIGN - Thầy Nhuộm
-
Các Kiểu Dữ Liệu Trong C++ Và Cách Khai Báo - Freetuts