Chương 3
Các kiểu dữ liệu cơ bản
Các kiểu dữ liệu cơ bản
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT 2
Các kiểu dữ liệu cơ bản
Các kiểu dữ liệu cơ bản
Kiểu ký tự (char)
Kiểu số nguyên (int)
Kiểu dấu phẩy động
−
Độ chính xác đơn – float
−
Độ chính xác kép – double
Kiểu void
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT 3
Kiểu kí tự
Kiểu kí tự
Kiểu char
−
Chiếm 1 byte trong bộ nhớ
−
Biểu diễn ký tự thông qua bảng mã ASCII
Ví dụ
char ch1, ch2;
ch1= 65;
ch2=‘A’;
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT 4
Kiểu ký tự
Kiểu ký tự
Kiểu char
Chiếm 1 byte trong bộ nhớ
Biểu diễn ký tự thông qua bảng mã ASCII
Kiểu kí tự đồng thời cũng là kiểu số nguyên
Có hai kiểu char: : signed char và unsinged char
Kiểu kí tự Kích thước Miền giá trị
signed char 1 byte -128 127
unsigned char 1 byte 0 255
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT 5
Kiểu số nguyên
Kiểu số nguyên
Có nhiều kiểu số nguyên
Kiểu Phạm vi biểu diễn Kích thước
int -32768 ~ 32767 2 byte
unsigned int 0 ~ 65535 2 byte
long -2147483648 ~ 2147483647 4 byte
unsigned long 0 ~ 4294967295 4 byte
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT 6
Kiểu số thực
Kiểu số thực
Có nhiều kiểu số thực
Kiểu Phạm vi biểu diễn Số chữ số có nghĩa Kích thước
float 3.4E-38 ~ 3.4E+38 7-8 4 byte
double 1.7E-308 ~ 1.7E+308 15-16 8 byte
long
double
3.4E-4932 ~ 3.4E+4932 17-18 10 byte
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT 7
Kiểu void
Kiểu void
Không có giá trị
Dùng để biểu diễn kết quả của hàm hay của con trỏ.
…
int gtr1()
{
…
return 1;
}
…
void gtr2()
{
…
return;
}
Chương 4
8
Các khái niệm: Câu lệnh, hằng,
biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
9
Nội dung
Nội dung
Câu lệnh
1
1
Hằng, biến, biểu thức, phép toán
2
2
Nhập/xuất dữ liệu
3
3
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
10
Câu lệnh - Statement
Câu lệnh - Statement
Một câu lệnh (statement) xác định một công việc mà chương
trình phải thực hiện
Mỗi câu lệnh được kết thúc bởi dấu ;
Phân loại
Câu lệnh đơn
VD: x=x+1;
Câu lệnh có cấu trúc
−
Là lệnh trong đó chứa các lệnh khác.
−
Các lệnh con được gom vào trong cặp dấu {}.
VD: if (x >0) {
x=x+1;
y=y+1;
}
1. Câu lệnh
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
11
Tên (identifier)
Tên (identifier)
Dùng để định danh các thành phần của chương
trình
Tên biến, tên hàm, tên hằng, …
Tên là một dãy các kí tự gồm các chữ cái [a-z, A-Z,
0-9] và gạch nối “_”
Lưu ý:
−
Tên không đuợc chứa kí tự trống,
−
Tên không được bắt đầu bằng một chữ số,
−
Tên không được trùng với từ khóa
−
Nên đặt các tên gợi nhớ, có ý nghĩa
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
12
Hằng
Hằng
Là đại lượng có giá trị không thay đổi được trong
chương trình
Khai báo
C1: #define <tên hằng> <giá trị hằng>
VD: #define pi 3.14
C2: const <kiểu dữ liệu> <tên hằng> = <giá trị
hằng>;
VD: const float pi=3.14;
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
13
Hằng
Hằng
VD
//Khai báo thư viện
#include<stdio.h>
//Định nghĩa hằng
#define pi 3.14
void main()
{
int r; //r là bán kính hình tròn
printf(“Nhap ban kinh:”); scanf(“%d”, &r);
dientich=pi*r*r;
chuvi=2*pi*r;
…
getch();
}
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
14
Biến
Biến
Là đại lượng có thể thay đổi được giá trị trong chương
trình
Phải được khai báo trước khi sử dụng
Khai báo
<kiểu dữ liệu> <danh sách tên biến>;
int a, b; //dùng dấu , để ngăn cách giữa các biến
float x;
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
15
Biến
Biến
Khởi tạo biến:
int a, b=4, d=5; //khai báo kết hợp khởi tạo giá trị
ban đầu
Truy xuất đến địa chỉ biến:
dùng toán tử &
Vd: &ten_bien;
4
5
memory
Mỗi ô nhớ có 1 địa chỉ xác định
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
16
Biểu thức
Biểu thức
Biểu thức: sự kết hợp hợp lệ của những phép toán
trên các biến, hằng hoặc các giá trị của hàm
VD: (a+6*b-1)/2
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
17
Phép toán
Phép toán
Phép gán
Phép toán số học
Phép toán quan hệ và logic
Phép toán tăng giảm
2. Hằng, biến, biểu thức, phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
18
Phép gán
Phép gán
Gán giá trị cho một biến
Cú pháp: <tên biến> = <biểu thức>;
Ví dụ
x = 0;
y = z + 1;
Phép gán kép
x = y = z = 1;
x = y + (z = 2);
Các phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
19
Phép toán số học
Phép toán số học
+, -, *, / thực hiện trên các kiểu dữ liệu số nguyên,
số thực
Phép modulo (%): lấy phần dư của phép chia
nguyên, thực hiện trên số nguyên
VD
9/4 = ?
9%4 = ?
Các phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
20
Phép toán quan hệ và logic
Phép toán quan hệ và logic
Phép toán quan hệ: ==, !=, >, >=, <, <=
So sánh giá trị của các toán hạng
Cho kết quả đúng (1) hoặc sai (0).
VD: a==b, a!=b, a<b
Phép toán logic: ! (phép phủ định), && (phép AND),
|| (phép OR)
Kết hợp các biểu thức khác nhau thành một biểu thức
logic
Cho kết quả đúng (1) hoặc sai (0).
VD: (a%5==0) && (a<100)
Các phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
21
Phép toán tăng, giảm
Phép toán tăng, giảm
++ (phép tăng 1), (phép giảm 1)
Dùng để tăng hoặc giảm một trị đối với các biến
nguyên hoặc thực
Có 2 dạng:
++bien hoặc bien
bien++ hoặc bien
VD:
a = 5; b = ++a; kết quả a=? b= ?
a = 5; b = a++; kết quả a=? b= ?
Các phép toán
a=6 b=6
a=6 b=5
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
22
f=3.333333
Chuyển đổi kiểu dữ liệu
Chuyển đổi kiểu dữ liệu
Khi 2 toán hạng trong một biểu thức khác kiểu dữ
liệu kiểu dữ liệu thấp được nâng thành kiểu dữ
liệu cao trước khi tính toán.
float f=1.5; int i=3; f+i = 4.5 hay f+i = 4?
Ép kiểu:
int a=10, b=3;
int f=a/b;
f=?
int a=10, b=3;
float f=a/b;
int a=10, b=3;
float f=(float)a/b;
f = ?
f=?
f = 3.00000f = 3
Các phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
23
Ví dụ minh họa
Ví dụ minh họa
Ví dụ 4.1
int a, b=4, c=5;
float x, y=6.8, z=3.8;
a=y;
a=-y;
x=a/b+c
x=a/b+(float)c;
x=(float)a/b +c
a=y-z;
//a=6
//a=-6
//x=4.0
//x=4.0
//x=3.5
//x=3
Các phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
24
Ví dụ minh họa
Ví dụ minh họa
Ví dụ 4.2
int a, b=5, c=8;
1. a=b++ + c++;
2. a=b++ + ++c;
3. a=++b + c++;
4. a=++b + ++c;
Cho biết a,b,c=?
Lưu ý: Các lệnh thực hiện theo thứ tự
(Thực hiện lệnh 2 khi lệnh 1 đã xong)
Các phép toán
THĐC 2010 - Văn Thị Thiên Trang - Khoa CNTT
25
Ví dụ minh họa
Ví dụ minh họa
Ví dụ 4.3
Cho biết giá trị của j sau đoạn chương trình:
int j;
char c=‘1’;
j=(c<=‘9’)&&(c>=‘0’);
Cho biết kết quả của biểu thức sau:
int a,b=2;
a=(b= =2)?1:2;
Các phép toán