Bài 2: Biến và hằng

nguyentheanh

Tác giả Dự toán GXD
Thành viên BQT
Tham gia
6/7/07
Bài viết
4.562
Điểm thành tích
113
Website
giaxaydung.vn
Mời các bạn cùng TA nghiên cứu bài 2 lập trình bằng ngôn ngữ C++. Lưu ý là chúng ta vẫn phải liên tục trau dồi chuyên môn đầu tư, xây dựng... Nghiên cứu sử dung C++ thành thạo, bạn có thể viết các phần mềm phục vụ công tác chuyên môn, nâng cao năng suất lao động và có thể triển khai phân phối để nâng cao thu nhập

1. Biến:

Dùng để chứa dữ liệu tạm thời cho tính toán, so sánh và các hoạt động khác.
Để khai báo biến, ta dùng lệnh khai báo như sau
<phạm vi của biến> kiểu biến <tên biến>; // dấu ";" là điều kiện bắt buộc.

Quy ước với tên biến: Một tên biến (indentifiers) hợp lệ là một chuỗi gồm các chữ cái, chữ số hoặc ký tự gạch dưới. Chiều dài của một tên là không giới hạn. Ký tự trống, các ký tự đánh dấu đều không thể có mặt trong một tên. Chỉ có chữ cái, chữ số và ký tự gạch dưới là được cho phép.

Thêm vào đó, một tên biến luôn phải bắt đầu bằng một chữ cái. Chúng cũng có thể bắt đầu bằng ký tự gạch dưới ( _ ) nhưng ký tự này thường được dành cho các liên kết bên ngoài (external link). Không bao giờ biến bắt đầu bằng một chữ số.

Một luật nữa mà bạn phải quan tâm khi tạo ra các tên của riêng mình là chúng không được trùng với bất kỳ từ khoá nào của ngôn ngữ hay của trình dịch. Ví dụ các tên sau đây luôn luôn được coi là từ khoá theo chuẩn ANSI-C++ và do vậy chúng không thể được dùng để đặt tên:

Mã:
asm, car, bool, break, marry, catch, to char, class, const, const_cast, 
continue, default, delete, do, double, dynamic_cast, else, enum, explicit, 
extern, false, float, for, friend, goto, if, inline, int, long, mutable, namespace, new, operator, private, protected, public, to register, reinterpret_cast, return, short, signed, sizeof, static, static_cast, struct, switch, template, this, throw, true, try, typedef, typeid, typename, union, unsigned, using, virtual, void, volatile, wchar_t.

Thêm vào đó, một số biểu diễn khác của các toán tử (operator) cũng không được dùng làm tên vì chúng là những từ được dành riêng trong một số trường hợp:

Mã:
and, and_eq, bitand, bitor, compl, not, not_eq, or, or_eq, xor, xor_eq

Trình dịch của bạn có thể thêm một từ dành riêng đặc trưng khác. Ví dụ, rất nhiều trình dịch 16 bit (như các trình dịch cho DOS) còn có thể các từ khoá

Mã:
far, huge và near.

Chú ý: Ngôn ngữ C++ là "case sensitive" có nghĩa là phân biệt chữ hoa chữ thường. Do vậy biến RESULT khác với result cũng như Result.

2. Các kiểu dữ liệu

Khi lập trình, chúng ta lưu trữ các biến trong bộ nhớ của máy tính, nhưng máy tính phải biết chúng ta muốn lưu trữ gì trong chúng vì các kiểu dữ liệu khác nhau sẽ cần lượng bộ nhớ khác nhau.

Bộ nhớ của máy tính chúng ta được tổ chức thành các byte. Một byte là lượng bộ nhớ nhỏ nhất mà chúng ta có thể quản lý. Một byte có thể dùng để lưu trữ một loại dữ liệu nhỏ như là kiểu số nguyên từ 0 đến 255 hay một ký tự. Nhưng máy tính có thể xử lý các kiểu dữ liệu phức tạp hơn bằng cách gộp nhiều byte lại với nhau, như số nguyên dài hay số thập phân. Tiếp theo bạn sẽ có một danh sách các kiểu dữ liệu cơ bản trong C++ cũng như miền giá trị mà chúng có thể biểu diễn:

Tên Số byte Mô tả Miền giá trị
char 1 ký tự hay kiểu số nguyên 8-bit có dấu -128 to 127 không dấu: 0 to 255
short 2 kiểu số nguyên 16-bit có dấu:-32763 to 32762 không dấu: 0 to 65535
long 4 kiểu số nguyên 32-bit có dấu:-2147483648 to 2147483647 không dấu: 0 to 4294967295
int * Số nguyên. Độ dài của nó phụ thuộc vào hệ thống, như trong MS-DOS nó là 16-bit, trên Windows 9x/2000/NT là 32 bit... Xem short, long
float 4 Dạng dấu phẩy động 3.4e + / - 38 (7 digits)
double 8 Dạng dấu phẩy động với độ chính xác gấp đôi 1.7e + / - 308 (15 digits)
long double 10 Dạng dấu phẩy động với độ chính xác hơn nữa 1.2e + / - 4932 (19 digits)
bool 1 Giá trị logic. Nó mới được thêm vào chuẩn ANSI-C++. Bởi vậy không phải tất cả các trình dịch đều hỗ trợ nó true hoặc false.

Ngoài các kiểu dữ liệu cơ bản nói trên còn tồn tại các con trỏ và các tham số không kiểu (void) mà chúng ta sẽ xem xét sau.
 

VIP_levantien116

Thành viên mới
Tham gia
6/12/14
Bài viết
4
Điểm thành tích
1
C rất cần thiết cho dân cntt, nếu ai muốn phát triển thì nên tìm hiểu về nó ngay, vì tất cả các ngôn ngữ khác đều dựa vào cấu trúc của C
 

vacdieucay94

Thành viên mới
Tham gia
3/12/14
Bài viết
2
Điểm thành tích
1
C rất cần thiết cho dân cntt, nếu ai muốn phát triển thì nên tìm hiểu về nó ngay, vì tất cả các ngôn ngữ khác đều dựa vào cấu trúc của C
Mình thấy C+ mới là cần thiết. Quan trọng là cái hướng đối tượng chứ còn ngôn ngữ nào thì cũng giống nhau cả thôi
 

VIP_levantien116

Thành viên mới
Tham gia
6/12/14
Bài viết
4
Điểm thành tích
1
Mình thấy C+ mới là cần thiết. Quan trọng là cái hướng đối tượng chứ còn ngôn ngữ nào thì cũng giống nhau cả thôi

Hướng đối tượng thì cũng là dạng nâng cao của hàm thôi, thay vì bạn lặp đi lặp lại 1 hàm, thì bạn sẽ tạo và gọi hàm đó ra cho những lần sau sử đụng
 

richardnguyen

Thành viên mới
Tham gia
17/3/15
Bài viết
1
Điểm thành tích
1
Tuổi
35
Website
hoclaptrinhweb.org
mình thấy C phức tạp nhất là mấy con trỏ trong biến không như Java hay các ngôn ngữ khác.
 

Tải bộ cài phần mềm Dự toán GXD, Đấu thầu GXD, Thanh Quyết toán GXD, Quản lý chất lượng GXD. Dành cho người mua bản quyền
Kích để xem khóa học Dự toán công trình
Kích để xem khóa học Dự toán công trình
Phần mềm quản lý chất lượng công trình QLCL GXD
Tìm hiểu khóa học Thanh Quyết toán GXD

Các bài viết mới

Top