Bài giảng Lập trình C++ Chương 1: Tổng quan về ngôn ngữ lập trình C++

Dịchmã nguồnsangmãmáy -Cách 1: ẤnphímF7 -Cách 2: ChọnBuild/Build Saukhi cửa sổra, xuất hiệnthôngbáo: –0error(s),0warning(s) thìquátrìnhbiên dịchđãxong Soạn thảo tệp tiêu đề .h Hoàn toàn giống như soạn thảo tệp nguồn, nhưng sau khi chọn Tab file, ta tiến hành chọn C/C++ Header file

pdf60 trang | Chia sẻ: maiphuongtl | Lượt xem: 3663 | Lượt tải: 1download
Bạn đang xem trước 20 trang tài liệu Bài giảng Lập trình C++ Chương 1: Tổng quan về ngôn ngữ lập trình C++, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
1/64Ngôn ngữ lập trình C++ LẬP TRÌNH C++ (3 Tín chỉ) Gv: Nguyễn Văn Hùng Khoa: Khoa học máy tính Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 2/64  Cung cấp cho sinh viên các kiến thức cơ bản của ngôn ngữ lập trình C++  Nắm được cấu trúc của một chương trình C++, các thành phần cơ bản, các kiểu dữ liệu, …  Các khái niệm, kiến thức cơ bản về lập trình hướng đối tượng trong C++  Nắm vững lý thuyết và vận dụng nó vào việc giải quyết các bài toán từ đơn giản đến phức tạp. MỤC TIÊU CỦA HỌC PHẤN Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 3/64 1) Bài giảng Ngôn ngữ lập trình C++ 2) Quách Tuấn Ngọc. Ngôn ngữ lập trình C++. NXB Thống kê, 2003. 3) Phạm Văn Ất. C++ và lập trình hướng đối tượng. NXB Khoa học và kỹ thuật. Hà Nội, 2000. 4) Nell Dale and Chip Weems. Programming in C++ Jone and Bartlett, Third Edition, 2005. 5) Một số Websites, forums,… về C, C++ TÀI LIỆU THAM KHẢO Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 4/64  Chương 1: Tổng quan về ngôn ngữ lập trình C++  Chương 2: Cấu trúc của một chương trình C++  Chương 3: Biểu thức Logic và các cấu trúc điều khiển  Chương 4: Kiểu mảng và chuỗi ký tự NỘI DUNG Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 5/64  Chương 5: Kiểu con trỏ và kiểu cấu trúc  Chương 6: Hàm  Chương 7: Lập trình hướng đối tượng  Chương 8: Lớp và đối tượng  Chương 9: Tái định nghĩa và thừa kế NỘI DUNG Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 6/64 Chương 1: TỔNG QUAN VỀ NNLT C++  Mục tiêu  Giới thiệu tổng quan về ngôn ngữ lập trình C++; các thành phần cơ bản; các kiểu dữ liệu và các phép toán  Nội dung  Lịch sử ra đời  Các thành phần của C++  Các kiểu dữ liệu cơ bản  Hằng, biến và biểu thức  Các phép toán Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 7/64 - C++ về bản chất được xây dựng trên nền của Ngôn ngữ lập trình C - Ngôn ngữ lập trình C++ được phát minh bởi Bjarne Stroupstroup vào năm 1979 với phiên bản đầu tiên gọi là “C with classes” - Phiên bản đầu tiên của C++ được sử dụng vào tháng 8 năm 1983 tại công ty AT&T - Phiên bản thương mại đầu tiên ra mắt năm 1985  C++ cơ bản là C ở mức độ mới. Điểm khác biệt giữa C++ và C là C++ bên cạnh hỗ trợ tất cả các lệnh của C, còn có mở rộng và hỗ trợ hướng đối tượng 1.1 Lịch sử ra đời Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 8/64  Bảng ký tự  Từ khóa  Định danh  Câu lệnh và khối lệnh  Lời chú thích 1.2 Các thành phần của C++ Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 9/64 - Mọi ngôn ngữ lập trình đều được xây dựng từ một bảng ký tự nào đó. - Ngôn ngữ C++ được xây dựng từ bảng ký tự sau: - 26 chữ cái hoa: A B C … Z và 26 chữ cái thường: a b c … z - 10 chữ số: 0 1 2 … 9 - Các ký hiệu toán học: + - * / = > < ( ) … Bảng ký tự (1/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 10/64 - Dấu gạch nối dưới: _ - Các ký tự đặc biệt: . , ; : [ ] “ ” { } … - Các ký tự không nhìn thấy như dấu cách (space), dấu nhảy tab, dấu xuống dòng (return) Ví dụ: LAPTRINH gồm 8 ký tự, LAP TRINH gồm 9 ký tự Bảng ký tự (2/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 11/64 Lưu ý: - C++ có phân biệt chữ hoa và chữ thường Ví dụ: SO, So, sO, so là khác nhau - Khi viết chương trình ta không được sử dụng bất kì ký hiệu nào khác ngoài bảng ký tự nói trên. Có nghĩa là không được sử dụng các ký tự    … hay các chữ cái tiếng việt â, ă, ê, …để viết các lệnh. Nhưng ta có thể sử dụng tiếng Việt để viết các câu chú thích các câu hiển thị văn bản trên màn hình, máy in … Bảng ký tự (3/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 12/64 - Từ khóa là một từ được quy định trước trong ngôn ngữ lập trình với một ý nghĩa nào đó, thường dùng để chỉ các loại dữ liệu hoặc kết hợp thành câu lệnh. - Có thể tạo ra những từ mới để biểu diễn các đối tượng nào đó nhưng không được phép trùng với từ khóa. Ví dụ: do, double, else, externe, float, for, goto, if, int, long, return, short, sizeof, static, struct, switch, typedef, union, unsigned, while ... Từ khóa (1/2) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 13/64 Lưu ý: - Các từ khóa trong C++ luôn được viết bằng chữ thường. - Không được dùng từ khóa để đặt tên cho các hằng, biến, mảng, … Từ khóa (2/2) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 14/64 - Định danh (identificater) là tên sử dụng cho đối tượng trong chương trình như: tên biến, tên hằng, tên hàm, tên mảng, … - Quy tắc đặt định danh (tên):  Là một dãy các ký tự liền nhau bao gồm chữ cái, chữ số và dấu gạch nối dưới ( _ )  Ký tự đầu tiên của định danh phải là chữ cái hoặc dấu gạch nối dưới ( _ )  Định danh không được trùng từ khóa. Định danh (1/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 15/64 Ví dụ: Xét các định danh sau: Hoc_phan_C++ Lớp_hoc Tuoi# 2000Diem Ngay-Thang-Nam int del ta main ChieuDai Dien_tich@ Định danh (2/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 16/64 Chú ý: Thông thường:  Dùng chữ hoa để đặt tên cho các hằng, chữ thường để đặt tên cho các đại lượng khác: biến, mảng, hàm, …  Nên đặt tên sao cho dễ nhớ: Giai_thua, Dien_tich, …  Một số trình biên dịch C++ chỉ nhận dạng 32 ký tự đầu có ý nghĩa. Chẳng hạn: Ten_bien_dai_toi_da_32_ky_tu_dau_tien_1 Ten_bien_dai_toi_da_32_ky_tu_dau_tien_2 Định danh (3/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 17/64  Câu lệnh - 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 để xử lý dữ liệu đã được mô tả và khai báo. - Câu lệnh trong C++ được thiết lập từ các từ khóa và các hằng, biến, biểu thức, … - Câu lệnh luôn luôn phải được kết thúc bằng dấu chấm phẩy (;) và các câu lệnh có thể được viết trên cùng một dòng hoặc nhiều dòng. Câu lệnh và khối lệnh (1/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 18/64 Ví dụ: Xét đoạn chương trình sau: cin>>x>>y; x = 3 + x; y = (x = sqrt(x)) + 1; cout<<x; cout<<y; - Tuy nhiên, trong chương trình nhiều chỗ không dùng đến dấu (;) vì đó không phải là câu lệnh. Ví dụ:#include int main() Câu lệnh và khối lệnh (2/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 19/64 Một số kiểu dữ liệu cơ bản:  Kiểu ký tự  Kiểu số nguyên  Kiểu số thực 1.3 Các kiểu dữ liệu cơ bản Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 20/64 - Một giá trị kiểu ký tự (char) chiếm 1 byte (8bits) và biểu diễn được một ký tự thông qua bảng mã ASCII. - Có hai loại kiểu ký tự: Ký tự có dấu: Char có miền giá trị từ -128 -> 127 Ký tự không dấu: Unsigned char có miền giá trị 0 -> 255 - Ký tự trong C++ được đặt giữa cặp dấu nháy đơn ‘ ’ Ví dụ: ‘a’, ‘A’, ‘*’, … Kiểu ký tự (1/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 21/64 Ta có thể chia 256 ký tự thành 3 nhóm: - Nhóm 1: Các ký tự điều khiển có mã từ 0 đến 31. Nhóm các ký tự này không hiển thị ra màn hình, được dùng để điều khiển các thiết vị ngoại vi, các thủ tục trao đổi thông tin, … - Nhóm 2: Các ký tự văn bản có mã từ 32 đến 126. Các ký tự này có thể đưa được ra màn hình và máy in - Nhóm 3: Các ký tự đồ họa có mã từ 127 đến 255. Các ký tự này có thể đưa ra màn hình nhưng không in được. Kiểu ký tự (2/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 22/64 - C++ cung cấp một số ký tự điều khiển để định dạng các hằng ký tự char. Các ký tự này còn gọi là ký tự thoát (escape sequence) Ký hiệu Tác dụng \n Tạo dòng mới \t Tab ngang \v Tab dọc \b Dấu backspace \\ Dấu backslash \a Tiếng beep cảnh báo \’ Dấu nháy đơn \” Dấu nháy kép \0 Ký tự null Ví dụ: cout << “\a Hello! \n”; cout << “She said \“Hi\””; Phát ra tiếng beep và chuỗi Hello! Sau đó con trỏ xuống dòng Xuất hiện trên màn hình chuỗi: She said “Hi” Kiểu ký tự (3/3) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 23/64 - Kiểu số nguyên là kiểu dữ liệu dùng để lưu các giá trị nguyên hay còn gọi là đếm được. - Kiểu số nguyên trong C++ được chia thành các kiểu dữ liệu con có kích thước và miền giá trị như sau:  Kiểu int, short có kích thước 2 bytes, miền giá trị - 32,768 -> 32,767  Kiểu unsigned int, unsigned short có kích thước 2 bytes, miền giá trị 0 -> 65,535  Kiểu long có kích thước 4 bytes, miền giá trị -215 -> 215-1  Kiểu unsigned long có kích thước 4 bytes, miền giá trị 0 -> 4294967295 Kiểu số nguyên Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 24/64 - Kiểu số thực dùng để lưu các số thực hay các số có dấu phẩy động. - Trong C++ có các kiểu số thực như sau:  Kiểu float có kích thước 4 bytes, miền giá trị 3.4E-38 -> 3.4E+38  Kiểu double có kích thước 8 bytes, miền giá trị 1.7E-308 -> 1.7E+308  Kiểu long double có kích thước 10 bytes, miền giá trị 3.4E- 4932 -> 1.1E+4932 Kiểu số thực Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 25/64  Khái niệm biến - Biến là một đại lượng dùng để chứa dữ liệu mà các giá trị của nó có thể bị thay đổi trong quá trình thực hiện chương trình - Biến được định nghĩa bởi người lập trình và được đặt tên thông qua khai báo biến dau phay (,); Danh sach cac ten bien cach nhau boi  Cú pháp khai báo biến 1.4 Biến, hằng và biểu thức (1/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 26/64  Gán giá trị cho biến - Sau khi khai báo biến, có thể gán giá trị cho biến bằng toán tử gán “=”, có thể gán một giá trị cho nhiều biến. Ví dụ: Khai báo biến Gán giá trị cho biến string firstName ; char letter ; int ChieuDai; int ChieuRong; firstName = “Viet-Han-ITC” ; letter = ‘*’ ; ChieuDai = ChieuRong = 12 ; 1.4 Biến, hằng và biểu thức (2/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 27/64 Ten_bien 1= gia_tri, . . . ;  Cú pháp vừa khai báo vừa khởi tạo giá trị cho biến Lưu ý: Ta có thể vừa khai báo vừa khởi tạo giá trị ban đầu cho biến thông qua lệnh gán (=) theo cú pháp sau: Ví dụ: Xét một số lệnh khai báo và khởi tạo giá trị cho biến: int a = 5; float b = 150.05; char ch = ‘c’, kt = ‘T’; 1.4 Biến, hằng và biểu thức (3/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 28/64  Khái niệm hằng Hằng là đại lượng mà giá trị của nó không thay đổi trong suốt quá trình thực hiện chương trình  Cú pháp khai báo/ định nghĩa hằng const Kieu_du_lieu Ten_hang = Gia_tri ; #define Ten_hang Gia_tri Ví dụ: Xét các khai báo sau: const int a=10; const char ch=‘a’; #define a 10 #define ch ‘a’ 1.4 Biến, hằng và biểu thức (4/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 29/64 Lưu ý: Hằng có thể được phân thành các loại như sau: - Hằng số nguyên - Hằng số thực - Hằng ký tự, xâu ký tự - Hằng biểu thức 1.4 Biến, hằng và biểu thức (5/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 30/64 Ví dụ: Xét các khai báo sau: const int a=10; const char ch=‘a’; const string st=“hello”; const float b=0.25; const int c=6*7+3; const int kt=‘a’- ‘b’+ ‘c’; const char kt=‘a’ – ‘b’ + ‘c’; 1.4 Biến, hằng và biểu thức (6/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 31/64  Biểu thức - Biểu thức là sự kết hợp giữa các phép toán (toán tử) và các toán hạng để diễn đạt một công thức toán học nào đó. - Trong đó, toán hạng có thể là biến, hằng, hàm, phần tử mảng hay một biểu thức khác - Khi viết biểu thức ta có thể và nên dùng cặp dấu ngoặc tròn ( ) để thể hiện đúng trình tự tính toán trong biểu thức  Biểu thức thường được dùng trong các trường hợp: - Vế phải của câu lệnh gán - Làm chỉ số mảng - Sau các toán tử if, for, while, << 1.4 Biến, hằng và biểu thức (7/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 32/64 Ví dụ: ta có biểu thức x = (-b + sqrt(delta))/(2*a); Trong đó: b, delta, a, 2 là các toán hạng +, /, *, - là các toán tử 1.4 Biến, hằng và biểu thức (8/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 33/64  Câu lệnh gán Câu lệnh gán là phép toán cơ bản của bất cứ ngôn ngữ lập trình nào. Tùy vào từng ngôn ngữ mà câu lệnh gán cũng có những hình thức khác nhau.  Cú pháp câu lệnh gán Câu lệnh gán đơn giản Câu lệnh gán mở rộng Trong đó: pt có thể là một trong các phép toán hai ngôi: +, -, *, /, %,… Ten_bien = Bieu_thuc; Ten_bien pt= Bieu_thuc ; 1.4 Biến, hằng và biểu thức (9/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 34/64 Ví dụ: Xét một số lệnh gán sau: int a = 5; b = a * 5/2; a += 2; n *= (a+10); Ngoài ra, để thực hiện việc gán cùng một giá trị hay biểu thức cho các biến khác nhau ta cũng có thể thực hiện theo cú pháp Ten_bien 1 = Ten_bien 2 = … = Bieu_thuc; Ví dụ: ta có thể viết lại các lệnh gán: a = 3; b = 3; c = 3; => a = b = c = 3; 1.4 Biến, hằng và biểu thức (10/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 35/64  Câu lệnh typedef - Câu lệnh typedef cho phép tạo tên mới cho kiểu dữ liệu đã có. - Cú pháp như sau: typedef Kieu_dl_cu Kieu_dl_moi; Ví dụ: typedef int Boolean; const Boolean true = 1; const Boolean false = 0; … Boolean dataOK; dataOK = true; 1.4 Biến, hằng và biểu thức (11/11) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 36/64 Các phép toán trong C++ bao gồm:  Các phép toán số học  Các phép toán quan hệ  Các phép toán logic  Các phép toán thao tác trên bit  Các phép toán chuyển đổi kiểu giá trị  Các phép toán tăng giảm  Biểu thức điều kiện  Thứ tự thực hiện các phép toán  Một số hàm toán học thường dùng 1.5 Các phép toán Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 37/64 - Dùng để tính toán 2 hoặc nhiều toán hạng + Các phép toán số học 2 ngôi: Phép toán Ý nghĩa Ví dụ + - * / % Cộng Trừ Nhân Chia Lấy phần dư 2 + 2 = 4 9 – 5 = 4 3 * 2 = 6 6 / 3 = 2, 6 / 4 = 1 6 % 4 = 2 + Phép toán 1 ngôi: Chỉ có dấu (-) đứng trước một toán hạng. Ví dụ: -a, -3, -b, … Các phép toán số học Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 38/64 Thứ tự ưu tiên các phép toán số học: Phép toán Độ ưu tiên Phép đảo dấu (-) * / % + - 1 2 3 Ví dụ: Xét các biểu thức: a, x = a + b * c b, y = - a/ b * c + d c, z = (a + b) * c + d Các phép toán số học Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 39/64 Lưu ý: + Trong một biểu thức chứa các phép toán số học có cùng độ ưu tiên thì thứ tự tính toán được thực hiện từ trái qua phải + Trong một biểu thức chứa các phép toán số học không có cùng độ ưu tiên thì thứ tự tính toán được thực hiện theo độ ưu tiên + Khi áp dụng phép chia nguyên (/) cho các số nguyên (hay ký tự) thì kết quả thu được sẽ bị cắt bỏ phần thập phân + Phép lấy phần dư (%) chỉ được áp dụng có số nguyên (hay ký tự) Các phép toán số học Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 40/64 - Cho ta hoặc giá trị đúng (==1) hoặc giá trị sai (== 0). Dùng để tạo các biểu thức quan hệ, nếu biểu thức đúng thì giá trị của biểu thức là 1, ngược lại giá trị của biểu thức là 0 - Các phép toán quan hệ gồm: Phép toán Ý nghĩa Ví dụ Độ ưu tiên > >= < <= == != Lớn hơn Lớn hơn hoặc bằng Bé hơn Bé hơn hoặc bằng Bằng Khác a=(5>10) b=(10>=10) c=(5<10) d=(5<=10) e=(5==10) f=(5!=10) 1 1 1 1 2 2 Các phép toán quan hệ Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 41/64 Lưu ý: + Kết quả của biểu thức quan hệ luôn luôn là một số nguyên int. Do đó, nó có thể tham gia vào các phép toán đối với số nguyên. + Các phép toán quan hệ được dùng để thiết lập điều kiện rẽ nhánh hay kết thúc vòng lặp trong các cấu trúc điều khiển. + Các phép toán quan hệ: =, ==, != luôn phải được viết liền nhau (nghĩa là không có dấu cách trống giữa chúng) + Các phép toán quan hệ cũng được áp dụng cho các toán hạng kiểu ký tự. + Các phép toán quan hệ có độ ưu tiên thấp hơn các phép toán số học. Các phép toán quan hệ Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 42/64 Chỉ trả về một trong hai giá trị 1 (nếu đúng) và 0 (nếu sai). Dùng để tạo các biểu thức Logic Các phép toán Logic gồm: Phép toán Ý nghĩa Độ ưu tiên ! && || Phép phủ định một ngôi Phép và (AND) Phép hoặc (OR) 1 2 3 Các phép toán Logic Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 43/64 Ta có bảng giá trị: a b a&&b a||b !a Ví dụ Khác 0 Khác 0 Bằng 0 Bằng 0 Khác 0 Bằng 0 Khác 0 Bằng 0 1 0 0 0 1 1 1 0 0 0 1 1 x = 3 && 7; y = 4 || 0; z = 0 && 7; t = !10 Các phép toán Logic Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 44/64 Lưu ý: + Kết quả của biểu thức logic luôn luôn là một số nguyên int. Do đó, nó cũng có thể tham gia vào các phép toán đối với số nguyên. + Các phép toán logic cũng được dùng để thiết lập điều kiện rẽ nhánh hay kết thúc vòng lặp trong các cấu trúc điều khiển + Các phép toán logic: &&, || luôn phải được viết liền nhau (nghĩa là không có dấu cách trống giữa chúng) + Các phép toán logic cũng được áp dụng cho các toán hạng kiểu ký tự. Các phép toán Logic Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 45/64 Lưu ý: + Trong một biểu thức có cả phép toán số học, quan hệ và logic thì cần chú ý thứ tự ưu tiên tính toán: Phép toán Độ ưu tiên ! (-) Phép đảo dấu * / % + - > >= < <= == != && || 1 2 3 4 5 6 7 Ví dụ: Tính giá trị các biểu thức a = (3 && 6) + 7 * 2 b = 3 && 6 + 7 * 2 c = 3 && 6 + 7 < 15 d = 3 && 6 + 7 < !15 Các phép toán Logic Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 46/64 Các phép toán thao tác trên bit gồm: Phép toán Ý nghĩa Độ ưu tiên & | ^ << >> ~ Phép và (AND) theo bit Phép hoặc (OR) theo bit Phép hoặc loại trừ (XOR) theo bit Phép dịch trái theo bit Phép dịch phải theo bit Phép lấy phần bù theo bit 3 5 4 2 2 1 Các phép toán thao tác trên bit Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 47/64 Các phép toán thao tác trên bit: Bảng giá trị: 1 & 1 == 1 1 & 0 == 0 0 & 1 == 0 0 & 0 == 0 1 | 1 == 1 1 | 0 == 1 0 | 1 == 1 0 | 0 == 0 1 ^ 1 == 0 1 ^ 0 == 1 0 ^ 1 == 1 0 ^ 0 == 0 a << n == a*2n a >> n == a/2n ~1 == 0 ~0 == 1 Các phép toán thao tác trên bit Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 48/64 Ví dụ: a = 10 b = 4 a & b a | b a ^ b ~a a << 1 a >> 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 1 0 0 1 1 0 0 0 0 1 0 1 1 1 1 1 1 0 0 1 1 0 0 0 0 0 0 0 0 1 0 1 10 4 0 14 14 245 20 5 Các phép toán thao tác trên bit Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 49/64 Việc chuyển đổi giá trị của kiểu dữ liệu này sang kiểu dữ liệu khác. Gồm có: + Ép kiểu: Thường diễn ra một cách tự động Ví dụ: Giá trị in ra là bao nhiêu? int x = number = 12.4; float y = money = 22; + Đúc kiểu: Là quá trình chuyển đổi kiểu tường minh. Cú pháp: (Ten_kieu)bieu_thuc hoặc Ten_kieu(bieu_thuc); Các phép toán chuyển đổi kiểu giá trị Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 50/64 Ví dụ: Giá trị in ra là bao nhiêu? i, int a=float(4/3); float b=(float)4/3; float c=int(4.8); ii, int i=int(3*float(30/4)-2); int j=int(3*(float)30/4-2 Các phép toán chuyển đổi kiểu giá trị Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 51/64 C++ đưa ra 2 phép toán một ngôi để tăng (++) và giảm (--) giá trị của các biến (nguyên, ký tự) Phép toán ++ sẽ tăng giá trị của toán hạng lên 1 giá trị và phép -- sẽ giảm giá trị của toán hạng đi 1. Chẳng hạn: để tăng biến i lên 1 đơn vị ta viết: ++i hoặc i++ để giảm biến i đi 1 giá trị ta viết: --i hoặc i-- Các phép toán tự tăng giảm Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 52/64 Lưu ý: Có sự khác nhau giữa i++ và ++i. Phép toán i++: sử dụng i rồi mới tăng i lên một đơn vị còn phép toán ++i: tăng i lên một đơn vị rồi mới sử dụng. Sự khác nhau giữa i-- và --i cũng tương tự. Ví dụ: Tính giá trị của a và x sau mỗi lệnh gán: int a = 6, x; x = a++; x = ++a; Các phép toán tự tăng giảm Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 53/64 Biểu thức điều kiện có dạng: bien = dieu_kien ? bieu_thuc_1 : bieu_thuc_2; Ý nghĩa: Nếu điều kiện đúng (!=0) thì bien nhận giá trị của bieu_thuc_1; ngược lại điều kiện sai (==0) thì bien nhận giá trị của bieu_thuc_2. Ví dụ: Tìm max 2 số a và b max = a > b ? a : b; Tìm max 3 số a, b, c max = (max1 = a > b ? a : b) > c ? max1 : c; Biểu thức điều kiện Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 54/64 C++ qui định thứ tự thực hiện các phép toán theo mức độ ưu tiên như sau: 1. Các biểu thức trong cặp dấu ngoặc tròn ( ) 2. Các phép toán 1 ngôi 3. Các phép toán số học 4. Các phép toán quan hệ 5. Các phép toán thao tác trên bit 6. Các phép toán Logic 7. Toán tử điều kiện 8. phép gán Thứ tự thực hiện các phép toán Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 55/64 Ký hiệu i là tham số nguyên; x, y là các tham số thực Tệp tiêu đề Tên hàm Ví dụ gọi hàm Giá trị abs(i) abs(-6) 6 pow(x,y) pow(2.0,3.0) 8.0 fabs(x) fabs(-6.4) 6.4 sqrt(x) sqrt(100.0) 10.0 log(x) log(2.0) .693147 setprecision(n) setprecision(3) Một số hàm toán học thường dùng Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 56/64  Khởi động: - Chọn Start/ programs/Microsoft Visual Studio 6.0 - Click vào mục: Microsoft Visual C++ 6.0  Thoát khỏi: Chọn Menu File rồi chọn Exit 1.6 Giới thiệu Visual C++ 6.0 Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 57/64 - C++ là một chuẩn ngôn ngữ lập trình - Công cụ lập trình: Borland C++, Turbo C++, Visual C++, Cbuilder ++, … - Mỗi công cụ lập trình có các quy ước và thư viện riêng - Visual C++ 6.0 là một công cụ lập trình C++ của Microsoft - Phần chính của Visual C++ là Develper Studio, không gian này cho phép các công cụ phát triển và chương trình dịch Visual C++ - Cùng với thư viện có sẵn trong không gian hỗ trợ phát triển sẽ giúp lập trình viên tạo ra một chương trình trong khoảng thời gian rất ngắn. 1.6 Giới thiệu Visual C++ 6.0 (1/5) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 58/64  Tạo tệp nguồn .cpp - Chọn File/New - Chọn Tab File. Lúc đó xuất hiện màn hình như sau: 1.6 Giới thiệu Visual C++ 6.0 (2/5) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 59/64  Soạn thảo mã nguồn - Tiến hành nhập nội dung mã nguồn vào cửa sổ tài liệu - Lưu tệp: Chọn File/Save 1.6 Giới thiệu Visual C++ 6.0 (3/5) Ngôn ngữ lập trình C++ Chương 1: Tổng quan về Ngôn ngữ lập trình C++ 60/64  Dịch mã nguồn sang mã máy - Cách 1: Ấn phím F7 - Cách 2: Chọn Build / Build Sau khi cửa sổ ra, xuất hiện thông báo: – 0 error(s), 0 warning(s) thì quá trình biên dịch đã xong  Soạn thảo tệp tiêu đề .h Hoàn toàn giống như soạn thảo tệp nguồn, nhưng sau khi chọn Tab file, ta tiến hành chọn C/C++ Header file 1.6 Giới thiệu Visual C++ 6.0 (4/5)

Các file đính kèm theo tài liệu này:

  • pdfchuong1c_2011_046.pdf
Tài liệu liên quan