TÀI LIỆU BỒI DƯỠNG HỌC SINH GIỎI LÝ LUẬN VĂN HỌC NĂM HỌC 2023-2024 - MÔN NGỮ ...
Baigiang022 bien va kieu
1. Trường Đại học Sư phạm
Khoa Tin
học
Bài giảng 2.1
Biến và kiểu
2. Nội dung
• Biến
• Tên biến
• Khai báo biến
• Hằng
(const)
• Biểu thức
• Phép gán
• Các kiểu cơ bản
• Xuất qua
hàm printf()
• Nhập bằng hàm scanf()
• Định dạng kiểu dữ liệu cơ bản và chuỗi
2014 Nguyễn
Thanh
Tuấn 2
3. Biến
• Được sử dụng để lưu một mảnh dữ liệu.
• Được gọi là biến vì có thể thay đổi giá trị lưu trữ.
• Biến có tên,
kiểu và giá trị lưu trữ.
– Tên biến:
tên cần đơn nhất để xác định giá trị và lấy lại
giá trị lưu trữ.
– Kiểu:
• Int:
cho số nguyên
• double:
cho số thực.
• Mỗi biến chỉ lưu giá trị của một kiểu duy nhất.
2014 Nguyễn
Thanh
Tuấn 3
5. Tên biến
• Là một chuỗi ký tự có độ độ dài xác định (tùy vào
trình biên dịch,
chừng 255
ký tự).
• Gồm chữ hoa,
chữ thường (a-‐z,
A-‐Z),
số (0-‐9)
và
dấu gạch dưới (“_”).
• Không có khoảng trắng và các ký tự đặt biệt khác.
• Phải bắt đầu bằng một chữ hoặc dấu gạch dưới
(“_”).
• Không được trùng với từ khóa của chương trình.
• Phân biệt chữ hoa,
chữ thường.
2014 Nguyễn
Thanh
Tuấn 5
6. Quy định đặt tên biến
• Là danh từ hoặc đoạn danh từ.
• Từ đầu tiên viết thường,
từ còn lại viết hoa
chữ cái đầu.
• Không sử dụng khoảng trắng giữa các từ.
• Ví dụ:
theFontSize,
roomNumber,
xMax,
yMin,
xTopLeft và thisIsAVeryLongVariableName
2014 Nguyễn
Thanh
Tuấn 6
7. Các lưu ý
khi đặt tên
• Chọn tên có ý
nghĩa với vai trò của biến.
Vd:
numberOfStudentshay
numStudents.
• Không dùng các tên vô nghĩa như:
a,
b,
c,
d,
i,
j,
k,
i1,
j99…
• Tránh dùng tên là một chữ đơn trừ khi dùng các tên
như x,
y,
z
cho tọa độ,
i cho đếm.
• Có thể dùng tên dài hơn 30
ký tự miễn có nghĩa.
• Thận trọng khi dùng danh từ số nhiều,
số ít khi đặt
tên biến.
Vd:
row
để chỉ một hàng đơn,
rows
để chr
nhiều hàng (dùng đặt tên mảng của các hàng).
2014 Nguyễn
Thanh
Tuấn 7
8. Khai báo biến
2014 Nguyễn
Thanh
Tuấn 8
// Khai báo một biến với kiểu dữ liệu
type identifier;
// Khai báo nhiều biến cùng kiểu, cách nhau bởi dấu phẩy
type identifier-‐1, identifier-‐2, ..., identifier-‐n;
// Khai báo và gán cho một giá trị ban đầu
type identifier = value;
// Khai bái nhiều biến và khởi tạo giá trị
type identifier-‐1 = value-‐1, ..., identifier-‐n = value-‐n;
int option;
double sum, difference, product, quotient;
int magicNumber = 88;
double sum = 0.0, product = 1.0;
9. Lưu ý
• Cần khai báo biến trước khi dùng
• Mỗi biến chỉ có một kiểu duy nhất.
• Mỗi biến chỉ khai báo một lần
• Có thể khai báo biến bất kỳ đâu trong chương
trình và trước khi dùng (Nên khai báo ngay khi
dùng lần đầu).
• Kiểu của biến không thể thay đổi trong
chương trình.
2014 Nguyễn
Thanh
Tuấn 9
10. Biến không khởi tạo
1
2
3
4
5
6
7
8
#include <stdio.h>
int main() {
int number; // Khai báo không khởi tạo
printf("%dn", number); // Sử dụng trước khi khởi tạo
// Không cảnh báo/lỗi, nhưng kết quả sai
return 0;
}
2014 Nguyễn
Thanh
Tuấn 10
11. Hằng
• Là biến không thể thay đổi.
• Khai báo với từ khóa const.
• Giá trị không đổi khi chương trình thực thi.
• Phải được khởi tạo khi khai báo.
• Vd
const double
PI
=
3.1415926
• Đặt tên hằng:
Sử dụng từ in
hoa,
kết hợp với
nhau bởi dấu gạch dưới.
Vd:
MIN_VALUE,
MAX_SIZE.
2014 Nguyễn
Thanh
Tuấn 11
12. Biểu thức
• Biểu thức là tổ hợp các phép toán (+,
-‐,
*,
/
…)
và toán hạng (biến hoặc giá trị)
và cho ra một
giá trị duy nhất của một kiểu xác định.
• Vd:
2014 Nguyễn
Thanh
Tuấn 12
1 + 2 * 3 // cho int 7
int sum, number;
sum + number // xác định một giá trị int
double principal, interestRate;
principal * (1 + interestRate) // xác định một giá trị double
13. Phép gán
• Một lệnh gán:
– Dùng để truyền giá trị cho một biến
– Định giá trị của một biến cho một biểu thức.
• Ví dụ:
2014 Nguyễn
Thanh
Tuấn 13
variable = literal-‐value;
variable = expression;
14. Các kiểu cơ bản
• Kiểu số nguyên:
– C
hỗ trợ các kiểu:
char,
short,
int,
long,
long
long.
Là các kiểu có dấu (trừ char)
– Sử dụng từ khóa unsigned
[char
|
short
|
int |
long
|
long
long]
để khai báo số nguyên không
dấu.
– Tổng cộng có 10
kiểu số nguyên.
2014 Nguyễn
Thanh
Tuấn 14
15. Các kiểu cơ bản
• Kiểu ký tự:
– Các ký tự (vd:
‘a’,
‘Z’,
‘0’,
‘9’)
là mã nguyên trong
bảng mã ASCII
– Kiểu char.
– Char
có thể là có dấu hoặc không dấu,
sử dụng với
từ khóa signed
hoặc unsighed.
2014 Nguyễn
Thanh
Tuấn 15
16. Các kiểu cơ bản
• Số con
trỏ động
– Có 3
kiểu con
trỏ động:
float,
double
và long
double.
• float:
±1.40239846×10^-‐45
:
±3.40282347×10^38.
• double:
±4.94065645841246544×10^-‐324
:
±1.79769313486231570×10^308
2014 Nguyễn
Thanh
Tuấn 16
17. Toán tử sizeof
2014 Nguyễn
Thanh
Tuấn 17
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
/*
* In khich thuoc cua cac kieu co ban (SizeofTypes.cpp).
*/
#include <stdio.h>
int main() {
printf("sizeof(char) is %d bytes.n", sizeof(char));
printf("sizeof(short) is %d bytes.n", sizeof(short));
printf("sizeof(int) is %d bytes.n", sizeof(int));
printf("sizeof(long) is %d bytes.n", sizeof(long));
printf("sizeof(long long) is %d bytes.n", sizeof(long long));
printf("sizeof(float) is %d bytes.n", sizeof(float));
printf("sizeof(double) is %d bytes.n", sizeof(double));
printf("sizeof(long double) is %d bytes.n", sizeof(long double));
return 0;
}
18. Xuất qua
hàm printf
• Nằm trong thư viện stdio (#include
<stdio.h>
• Sử dụng để in
output
ra console
printf(“Hello
worldn”);
• n:
ký tự newline,
chuyển con
trỏ sang
dòng
tiếp theo.
2014 Nguyễn
Thanh
Tuấn 18
19. Xuất qua
hàm printf
• Định dạng output
bằng printf():
printf(chuỗi được định dạng,
biến 1,
biến 2,
…);
2014 Nguyễn
Thanh
Tuấn 19
1
2
3
4
5
6
7
8
9
10
11
12
13
14
/*
* Định dạng cho kiểu int (TestPrintfInt.c)
*/
#include <stdio.h>
int main() {
int number1 = 12345, number2 = 678;
printf("Hello, number1 is %d.n", number1); // Định dạng một biến
printf("number1=%d, number2=%d.n", number1, number2); // Định dạng 2 biến
printf("number1=%8d, number2=%5d.n", number1, number2); // Chiều rộng trường
printf("number1=%08d, number2=%05d.n", number1, number2); // Điền đầy số 0
printf("number1=%-‐8d, number2=%-‐5d.n", number1, number2); // Canh trái
return 0;
}
20. Nhập bằng hàm scanf()
• Nằm trong thư viện stdio (#include
<stdio.h>
• Sử dụng để đưa input
từ console
vào chương
trình.
• Sử dụng như hàm printf()
2014 Nguyễn
Thanh
Tuấn 20