CƠ SỞ KỸ THUẬT LẬP TRÌNH
Chương 2: Biến, hằng,
kiểu dữ liệu và toán tử
Biên soạn: Trương Vĩnh Trường Duy
()
Từ tài liệu trên Internet và các nguồn khác
Nội dung
Cấu trúc của chương trình C
Biến
Kiểu dữ liệu
Các tốn tử số học, luận lý, so sánh
Phương pháp chạy thử bằng tay
Ngơn ngữ lập trình C
•Tập lệnh phù hợp lập trình cấu trúc
•Kiểu dữ liệu phong phú
•Cú pháp linh động
Ngơn ngữ lập trình C
Với C:
có thể đọc và viết mã
chương trình trên
hầu hết các hệ thống
chuyển lên C++ và có
thể viết các kịch bản
CGI (CGI script) cho
các Website
C là ngôn ngữ biên
dịch (complied
language)
Hello
Chương trình C
Chương trình C
Một chương trình phải có hàm void main()
Dấu { và } chỉ ra vị trí bắt đầu và kết thúc
của chương trình
Các câu lệnh ban đầu được dùng để khai
báo biến
Các câu lệnh sau phần khai báo là các câu
lệnh xử lý
Tất cả các câu lệnh đều kết thúc bằng dấu
chấm phẩy
Biến
Tham chiếu đến vùng nhớ mà tại đó có
lưu trữ giá trị
Kiểu dữ liệu quyết định kích thước của
vùng nhớ được cấp phát cho các biến
Dùng toán tử & để nhận địa chỉ của biến
&tên_biến;
Tên biến giúp chúng ta khôi phục dữ liệu
khi cần thiết
Biến (Ví dụ)
Diện tích của hình chữ nhật được tính bởi
cơng thức:
Diện
tích = A = Dài x Rộng = D x R
Lãi suất được tính theo cơng thức:
Lãi
suất = I = Vốn vay x Thời gian x Tỉ lệ lải
suất / 100
Tổng điểm của 5 sinh viên được tính bằng
cơng thức sau:
Sum
= 24 + 56 + 72 + 36 + 82
Để tính điểm trung bình, ta có thể sử dụng
biến Sum trong công thức sau:
Avg
= Sum / 5
Hướng dẫn đặt tên biến
Phải bắt đầu bằng một ký tự alphabet
Sau kí tự đầu tiên là một chuỗi các chữ cái
hoặc số hoặc ký tự ‘dấu gạch dưới’
Tránh dùng ký tự O do dễ nhầm lần với số
0 và chữ thường l có thể nhầm lẩn với số
1
Phân biệt chữ hoa và chữ thường
Tên của biến phải mô tả giá trị mà nó đang
lưu trữ
Biến đếm
Lưu lại số lần vòng lặp được thực hiện
Lúc đầu nó được khởi gán giá trị zero, sau
đó sẽ tăng dần lên khi vịng lặp được thực
hiện
Thường có tên là cnt
Biến đếm (Ví dụ)
Bắt đầu
cnt=0, odd=0, even=0
Nhập một số
cnt = cnt+1
Đếm
Là số lẻ?
Sai
even = even+1
odd = odd+1
Sai
cnt=5?
Đúng
Hiển thị số lẻ và số chẳn
Dừng
Kiểu dữ liệu
Quyết định kích thước vùng nhớ được cấp phát
cho một biến để lưu trữ dữ liệu
Khai báo một biến
Cấp phát vùng nhớ
Vùng nhớ được tham chiếu bằng tên biến
Cú pháp tổng quát để khai báo một biến
Kiểu_dữ_liệu danh_sách_tên_biến;
Những kiểu dữ liệu cơ sở
Kiểu ký tự (char)
Kiểu số nguyên (int)
Kiểu số thực dấu chấm động chính xác đơn (float),
chính xác kép (double)
Kiểu void
Kiểu dữ liệu
Kiểu ký tự (char)
Chiếm 1 byte và biểu diễn một ký tự ASCII đặt
trong dấu nháy đơn. VD: 48 cho ‘0’, 65 cho ‘A’, 97
cho ‘a’
Có hai kiểu: char biểu diễn -128 127 và unsigned
char biểu diễn 0 255
Khai báo: char ch1; unsigned char ch2;
Kiểu số nguyên (int)
int: 2 byte, biểu diễn -32768 32767
unsiged int biểu diễn 0 65535
long (int): 4 byte, -2147483648 2147483647
usigned long (int): 0 4294967295
Kiểu dữ liệu
Kiểu số thực dấu chấm động
float:
4 byte, biểu diễn 3.4E-38 3.4E+38
double:
8 byte, 1.7E-308 1.7E+308
double: 10 byte, 3.4E-4932
1.1E+4932
long
Số
con số chính xác được lưu trữ bằng kiểu
dữ liệu float và double phụ thuộc vào từng
hệ thống cụ thể
Kiểu void
Kiểu
khơng có giá trị
Biểu
diễn kết quả của hàm hay của con trỏ
Kiểu dữ liệu
Kiểu dữ liệu Date bao gồm
Ngày
(Day)
Tháng
Năm
(Month)
(Year)
Kiểu dữ liệu Time bao gồm
Giờ
(Hour)
Phút
(Minute)
Giây
(Second)
Kiểu dữ liệu
Kiểu dữ liệu luận lý (boolean)
Chỉ
có thể có hai giá trị - True hoặc
False
Trong
C, kiểu dữ liệu luận lý được thực
hiện bằng các giá trị 1 và 0 tương ứng
của kiểu dữ liệu số nguyên
Không
phải cơng cụ lập trình nào cũng
hỗ trợ kiểu này
Các kiểu dữ liệu đặc biệt
Vài cơng cụ lập trình hỗ trợ các kiểu dữ liệu đặc
biệt để lưu trữ dữ liệu:
Kích thước lớn
Âm thanh
Hình ảnh
Các kiểu dữ liệu đặc biệt thường dùng:
Blob
Memo
Long Binary
Kích thước các kiểu dữ liệu này phụ thuộc vào
dữ liệu được chứa , chúng có thể chứa 1.2
Gigabyte dữ liệu
Từ khố
Các tên dành riêng cho một mục đích nào
đó và lập trình viên khơng thể dùng những
tên đó để đặt tên cho tên biến
Tất cả các kiểu dữ liệu đều được xem như
là từ khoá
Từ khóa của C
auto
break
const
continue default
do
double
else
enum
extern
float
for
goto
if
int
long
register return
short
signed
sizeof
static
struct
switch
typedef
union
unsigned void
case
char
volatile while
Biểu thức và toán tử
Biểu thức là sự kết hợp hợp lệ của những
phép toán (toán tử) thực hiện trên các
biến, hằng hoặc các giá trị của hàm (toán
hạng)
Các loại toán tử
Các
toán tử số học
Các
toán tử so sánh
Các
toán tử luận lý
Các
toán tử tăng giảm
Câu
lệnh gán
Toán
tử điều kiện – biểu thức điều kiện
Các tốn tử số học
Toá
n tử
Chứ
c nă
ng
Ví dụ
Kế
t quả
+
Cộ
ng
9+2
11
-
Trừ
9-2
7
/
Chia
9/2
4.5
*
Nhâ
n
9*2
18
^
Sốmũ
9^2
81
-
Phủđịnh
-9
-9
%
Modulus
9%2
1
Độ ưu tiên các toán tử số học
Các toán tử có cùng độ ưu tiên thì thứ tự
thực hiện sẽ là từ trái sang phải
Độ ưu tiên
Toán tử
1
-
2
^
3
*,/
4
+, -
5
%
Độ ưu tiên các toán tử số học
4+3*6/2-5+5
Được giải quyết như sau:
4 + [3 * 6 / 2] - 5 + 5
4 + [18 / 2] - 5 + 5
[4 + 9] - 5 + 5
[13 - 5] + 5
8+5
13
Các tốn tử so sánh
Toá
n tử
<
<=
>
Chứ
c nă
ng
Nhỏhơn
Nhỏhơn hoặ
c bằ
ng
Lớ
n hơn
Ví dụ
Kế
t
quả
2<9
True
9<2
False
2<2
False
2<=9
True
9<=2
False
2<=2
True
2>9
False
9>2
True
2>2
False
Các tốn tử so sánh
Toá
n tử
>=
=
!=
Chứ
c nă
ng
Lớ
n hơn hoặ
c bằ
ng
Bằ
ng
Khá
c
Ví dụ
Kế
t
quả
2>=9
False
9>=2
True
2>=2
True
2=9
False
9=2
False
2=2
True
2!=9
True
9!=2
True
2!=2
False