Khái niệmDanh hiệu là tên của biến, hằng, hàm… hay các ký hiệu được quy định đặc trưng cho một thao tác nào đó... Danh hiệuDanh hiệu là các từ khóa của ngôn ngữ hoặc tên của biến, hằng,
Trang 1Giảng viên: Nguyễn Đức Hoàng
Bộ môn Điều Khiển Tự Động
Khoa Điện – Điện Tử Đại Học Bách Khoa Tp.HCM Email: ndhoang@hcmut.edu.vn
MÔN HỌC
Trang 2Nội dung môn học (10
chương)
(14 tuần = 28 tiết LT + 14 tiết BT)
Chương 1: Ôn lại các kiến thức cơ bản về máy tính
Chương 2: Các kiểu dữ liệu và thao tác
Chương 3: Giới thiệu ngôn ngữ lập trình C
Chương 4: Các thành phần cơ bản và
kiểu dữ liệu của C
Chương 5: Các lệnh điều khiển và vòng lặp
Trang 3Tài liệu tham khảo
Tài liệu: Tin Học 2
Trang 4Đánh giá
Thi giữa kỳ : 20%
Thi cuối kỳ : 80%
Trang 5CÁC THÀNH PHẦN CƠ BẢN VÀ
CÁC KiỂU DỮ LiỆU CỦA C
CHƯƠNG 4
Trang 6Nội dung chương 4
Trang 7Danh hiệu
Trang 8Khái niệm
Danh hiệu là tên của biến, hằng, hàm… hay các ký hiệu được quy định đặc trưng cho một thao tác nào đó
Có 2 loại:
1.Ký hiệu
2.Danh hiệu
Trang 10Danh hiệu
Danh hiệu là các từ khóa của ngôn ngữ hoặc tên của biến, hằng, hàm trong C Gồm từ khóa và danh hiệu.
Trang 11Từ khóa
Từ khóa là các danh hiệu mà C đã định nghĩa sẵn cho lập trình viên sử dụng khi viết chương trình
VD: int, double, char, if, for, while, sizeof, typedef,…
Trang 12VD: printf, scanf, main,
Danh hiệu không chuẩn: do lập trình viên khai báo và định nghĩa khi thiết kế chương trình
VD: double a, b, c a, b, c : danh hiệu không chuẩn
Trang 13Nguyên tắc đặt tên
danh hiệu không
chuẩn
- Không trùng với từ khóa
- Không trùng với danh hiệu chuẩn
- Ký tự đầu phải là chữ hoặc dấu gạch nối
VD: a, a1, a_1, _a, A, _A, _1, Case, …
(đúng)
: 1a, 1_, case, a 1,… (sai)
Trang 14Các kiểu dữ liệu chuẩn
của C
Trang 15Tổng quát
C có 4 kiểu dữ liệu chuẩn: char, int, float, double.
Mỗi kiểu yêu cầu về bộ nhớ và tầm trị
char 8 bit -128 ÷+127 int 16 bit -32768 ÷+32767 float 32 bit 3.4E-37 ÷ 3.4E38 double 64 bit 1.7E-307 ÷ 1.7E308
Trang 16char c;
c = 65;
printf(“%d”,c);
Trang 17Kiểu int
int là kiểu dữ liệu số nguyên, kích thước
số nguyên do máy quy định, đối với máy
PC và bộ dịch Borland C/C++ thì chiều dài của kiểu int là 16 bit có dấu.
Trang 18Kiểu float và double
float là kiểu số thực dấu chấm động, có độ chính xác đơn
double là kiểu số thực dấu chấm động, có
Trang 19Để bổ sung cho 4 kiểu dữ liệu, C đưa ra
short, long kết hợp với các kiểu cơ bản
char char signed
Trang 20Hằng
Trang 21Khái niệm
Hằng là những giá trị cố định có giá trị hoàn toàn xác định và không thể thay đổi chúng trong quá trình thực thi chương trình.
Trang 22Hằng số
Hằng số là các trị số đã xác định, có thể là
số nguyên hoặc số thực
Trang 23Hằng số nguyên
phân, bát phân, thập lục phân
vào sau số đó.
+ Có thể viết hằng số nguyên ở dạng bát
số đó).
Trang 25Hằng thực
+ Số thực có thể ở dạng dấu chấm tĩnh hoặc dấu chấm động.
+ Hằng thực dấu chấm động có các thành phần:
Trang 26Lưu ý về hằng số
thập phân hoặc số mũ số nguyên, lưu
double
Trang 27Hằng ký tự
Hằng ký tự biểu diễn một giá trị ký tự đơn, ký tự này được viết giữa dấu nháy
trong bảng mã của máy, thường là ASCII Một ký tự khi in ra màn hình có nhiều dạng tùy vào chuỗi định dạng xuất
VD:
printf(“%d, %c, %o, %x”,’A’,’A’,’A’,’A’); Kết quả in ra màn hình: 65, A, 101, 41
Trang 28VD:
Phân biệt hằng ký tự và chuỗi ký tự
Một chuỗi ký tự có thể viết trên nhiều
Trang 30Biến
Trang 31Khai báo biến
- Tất cả các biến sử dụng trong chương
trình C đều phải được khai báo trước
- Tên biến là một danh hiệu không chuẩn
hợp lệ
VD: Var, _denta, a1,… là tên biến hợp lệ
1var, printf, a b,… là tên biến không hợp lệ
- C phân biệt chữ hoa, chữ thường
VD: VAR, VAr, Var, var,… là những biến khác nhau
Trang 32Khai báo biến (tt)
- Cú pháp khai báo biến: kiểu ds_tb
VD: unsigned int i, j, k;
double x, y, delta;
- Có thể khởi động trị cho biến ngay sau
khi khai báo
VD: long i = 1, j = i;
double x = 3.14, y = 2*x;
Trang 33Khai báo biến (tt)
- Có thể khai báo biến ở một trong ba vị
trí sau:
+ Ngoài tất cả các hàm biến toàn cục
+ Đầu phần thân hàm hoặc khối lệnh biến cục bộ
+ Trong phần định nghĩa đối số của hàm
VD:
float a;
main(){ int i, j;
……
}int giaithua(int n);
Biến toàn cục
Đối số hàm Biến cục
bộ
Trang 34Các bổ túc kiểu const
và volatile
- Từ khóa const khi được khai báo cho biến thì nó xác định rằng biến không bị thay đổi trong quá trình thực thi chương trình
- Cú pháp: const kiểu ds_tb [=trị khởi tạo];
VD: const int i = 1;
- Nếu kiểu không nêu cụ thể thì biến
- Từ khóa volatile chỉ rằng một biến có thể bị thay đổi bởi một tác nhân không nằm trong chương trình (ngắt,…)
VD: volatile int t_time;
Trang 35Biểu thức
Trang 36Khái niệm
Biểu thức là một sự kết hợp giữa các phép toán và các toán hạng để tạo ra trị Biểu thức có thể là phép gọi hàm, biểu thức gán, biểu thức luận lý,…
VD: p = (a+b+c)/2;
s = sqrt(p*(p-a)*(p-b)*(p-c));
z = x%2 + (y==1);
Trang 37Các phép toán của C
Trang 38double x = 2.0;
int i = 2;
x = x/i; (double)double)i 2.0
Trang 40kt = !y || (x&&y);
Toán hạng 1 hạng 2 Toán Kết quả
Trang 41Toán tử trên bit
C có các toán tử trên bit: ~, &, |, ^, <<,
Trang 42Toán tử tăng giảm
Trang 44Toán tử gán (tt)
Nếu 2 toán hạng khác kiểu, toán hạng bên phải sẽ được chuyển theo kiểu của toán hạng bên trái
Trang 45Toán tử phẩy – Biểu
thức phẩy
Toán tử phẩy cho phép tạo ra biểu thức phẩy gồm 2 biểu thức cách nhau dấu phẩy Việc tính toán biểu thức phẩy được thực hiện từ trái qua phải, kết quả là giá trị và kiểu của kết quả biểu thức bên phải
Trang 46Toán tử điều kiện
Toán tử điều kiện
Biểu thức điều kiện
Nếu dieukien khác 0 thì kết quả là kết quả của bieuthuc1 , ngược lại kết quả là kết
VD: double s,a = 1.2, b = 2.124;
s = (a>b?a:b);
printf(“%5.2lf\n”,s); 2.12
Trang 48Độ ưu tiên của các
toán tử
Trang 50Cấu trúc tổng quát của chương trình C
Trang 51Một số lưu ý khi viết
chương trình C
1 Mỗi câu lệnh có thể viết trên một hay
2 Các lời giải thích cần được đặt giữa các
nhiều dòng, phần còn lại của dòng
3 Trong chương trình, khi sử dụng các hàm
thư viện chuẩn chứa các hàm này đầu
4 Một chương trình chỉ có một hàm chính