Bài giảng Ngôn ngữ lập trình C++ - Chương 1: Giới thiệu ngôn ngữ C++
Mã máy, Hợp ngữ, và ngôn ngữ bậc cao
Một số ngôn ngữ lập trình bậc cao
Lịch sử C và C++
Hệ thống và môi trường lập trình C++
Giới thiệu về C++
ví dụ về chương trình C++ đơn giản
khái niệm biến
vào ra dữ liệu
các phép toán số học
ra quyết định - các phép toán quan hệ
Ngôn ngữ Lập trình C++Chương I - Giới thiệu ngôn ngữ C++ Nội dung chính Mã máy, Hợp ngữ, và ngôn ngữ bậc cao Một số ngôn ngữ lập trình bậc cao Lịch sử C và C++ Hệ thống và môi trường lập trình C++ Giới thiệu về C++ ví dụ về chương trình C++ đơn giản khái niệm biến vào ra dữ liệu các phép toán số học ra quyết định - các phép toán quan hệ 1.1 Mã máy, Hợp ngữ, và Ngôn ngữ bậc cao Mã máy (machine language) Là ngôn ngữ duy nhất máy tính trực tiếp hiểu được, là “ngôn ngữ tự nhiên” của máy tính Được định nghĩa bởi thiết kế phần cứng, phụ thuộc phần cứng Gồm các chuỗi số, => chuỗi các số 0 và 1 Dùng để lệnh cho máy tính thực hiện các thao tác cơ bản, mỗi lần một thao tác Nặng nề, khó đọc đối với con người Ví dụ: +1300042774+1400593419+1200274027 1.1 Mã máy, Hợp ngữ, và Ngôn ngữ bậc cao Hợp ngữ (assembly) Những từ viết tắt kiểu tiếng Anh, đại diện cho các thao tác cơ bản của máy tính Dễ hiểu hơn đối với con người Máy tính không hiểu Cần đến các chương trình dịch hợp ngữ (assembler) để chuyển từ hợp ngữ sang mã máy Ví dụ: LOAD BASEPAYADD OVERPAYSTORE GROSSPAY 1.1 Mã máy, Hợp ngữ, và Ngôn ngữ bậc cao Các ngôn ngữ bậc cao (high-level languages) Tương tự với tiếng Anh, sử dụng các ký hiện toán học thông dụng Một lệnh thực hiện được một công việc mà hợp ngữ cần nhiều lệnh để thực hiện được. Ví dụ: grossPay = basePay + overTimePay Các chương trình dịch (compiler) để chuyển sang mã máy Các chương trình thông dịch (interpreter program) trực tiếp chạy các chương trình viết bằng ngôn ngữ bậc cao. Chậm hơn Thuận tiện khi đang phát triển chương trình 1.2 Một số ngôn ngữ lập trình bậc cao FORTRAN FORmula TRANslator (1954-1957: IBM) Tính toán toán học phức tạp, thường dùng trong các ứng dụng khoa học và kỹ thuật COBOL COmmon Business Oriented Language (1959) Thao tác chính xác và hiệu quả đối với các khối lượng dữ liệu lớn, Các ứng dụng thương mại Pascal Tác giả: Niklaus Wirth Dùng trong trường học. Java Tác giả: Sun Microsystems (1991) Ngôn ngữ điều khiển theo sự kiện (event-driven), hoàn toàn hướng đối tượng, tính khả chuyển (portable) rất cao. Các trang Web với nội dung tương tác động Phát triển các ứng dụng quy mô lớn 1.2 Một số ngôn ngữ lập trình bậc cao BASIC Beginner’s All-Purpose Symbolic Instruction Code Từ giữa những năm1960 Visual Basic GUI, xử lý sự kiện (event handling), sử dụng Win32 API, lập trình hướng đối tượng (object-oriented programming), bắt lỗi (error handling) Visual C++ C++ của Microsoft và mở rộng Thư viện của Microsoft (Microsoft Foundation Classes -MFC) Thư viện chung GUI, đồ họa, lập trình mạng, đa luồng (multithreading), … Dùng chung giữa Visual Basic, Visual C++, C# C# Bắt nguồn từ C, C++ và Java Ngôn ngữ điều khiển theo sự kiện (event-driven), hoàn toàn hướng đối tượng, ngôn ngữ lập trình trực quan (visual programming language) 1.3 Lịch sử ngôn ngữ C và C++ C Dennis Ritchie (Bell Laboratories) Là ngôn ngữ phát triển của hệ điều hành UNIX Độc lập phần cứng => có thể viết các chương trình khả chuyển Chuẩn hóa năm 1990 – ANSI C Kernighan & Ritchie “The C Programming Language”, 2nd, 1988 C++ Là mở rộng của C Đầu những năm 1980: Bjarne Stroustrup (phòng thí nghiệm Bell) Cung cấp khả năng lập trình hướng đối tượng. Ngôn ngữ lai Lập trình cấu trúc kiểu C Lập trình hướng đối tượng Cả hai Có cần biết C trước khi học C++? 1.4 Hệ thống C++ Môi trường phát triển chương trình (Program-development environment) Ngôn ngữ Thư viện chuẩn (C++ Standard Library) 1.4 Môi trường cơ bản cho lập trình C++ Các giai đoạn của chương trình C++: Soạn thảo - Edit Tiền xử lý - Preprocess Biên dịch - Compile Liên kết - Link Nạp - Load Chạy - Execute 1.4 Môi trường cơ bản cho lập trình C++ Soạn thảo File có kiểu mở rộng *.cpp, *cxx, *.cc, *.C Unix/Linux: vi, emacs MS.Windows: các môi trường soạn thảo tích hợp: Dev-cpp, Microssoft Visual C++, Borland C++ Builder, … Chú ý mức độ hỗ trợ C++ chuẩn – ANSI/ISO C++ Ví dụ 1: Hello World! 1 /* A first program in C++. 2 Print a line of text to standard output */ 3 #include 4 5 // function main begins program execution 6 int main() 7 { 8 std::cout Được xử lý ngay trước khi biên dịch Bắt đầu bằng # Ví dụ 1 - mở rộng 1 1 // Printing a line with multiple statements. 2 #include 3 4 // function main begins program execution 5 int main() 6 { 7 std::cout 3 4 // function main begins program execution 5 int main() 6 { 7 std::cout 3 4 // function main begins program execution 5 int main() 6 { 7 int integer1; // first number to be input by user 8 int integer2; // second number to be input by user 9 int sum; // variable in which sum will be stored 10 11 std::cout > integer1; // read an integer 13 14 std::cout > integer2; // read an integer 16 17 sum = integer1 + integer2; // assign result to sum 18 19 std::cout > integer1; giả sử người dùng nhập 45 std::cin >> integer2; giả sử người dùng nhập 72 sum = integer1 + integer2; 1.6 Vào ra dữ liệu Các đối tượng vào/ra cơ bản cin dòng dữ liệu vào chuẩn - Standard input stream thường là từ bàn phím cout dòng dữ liệu ra chuẩn - Standard output stream thường là màn hình máy tính cerr dòng báo lỗi chuẩn - Standard error stream hiện các thông báo lỗi 1.6 Vào ra dữ liệu In dòng văn bản ra màn hình std::cout > integer1; // read an integer Đối tượng dòng dữ liệu vào - Input stream object >> (toán tử đọc từ dòng dữ liệu vào) được sử dụng với std::cin đợi người dùng nhập giá trị, rồi gõ phím Enter (Return) lưu giá trị vào biến ở bên phải toán tử đổi giá trị được nhập sang kiểu dữ liệu của biến = (toán tử gán) gán giá trị cho biến toán tử hai ngôi - Binary operator Ví dụ: sum = variable1 + variable2; 1.7 Tính toán số học Các phép toán số học * Phép nhân / Phép chia Phép chia với số nguyên lấy thương là số nguyên và bỏ phần dư 7 / 5 cho kết quả 1 Phép chia với số thực cho kết quả là số thực 7.0 / 5.0 cho kết quả 1.4 % Phép lấy số dư 7 % 5 cho kết quả 2 1.7 Tính toán số học Các quy tắc ưu tiên - Rules of operator precedence Các phép toán trong ngoặc được tính trước ngoặc lồng nhau các phép toán ở bên trong nhất được tính trước nhất tiếp theo là các phép nhân, chia, và phép lấy số dư các phép toán được tính từ trái sang phải cộng và trừ được tính cuối cùng các phép toán được tính từ trái sang phải Ví dụ khai báo biến điều kiện 1 // Using if statements, relational 2 // operators, and equality operators. 3 #include 4 5 using std::cout; // program uses cout 6 using std::cin; // program uses cin 7 using std::endl; // program uses endl 8 9 // function main begins program execution 10 int main() 11 { 12 int num1; // first number to be read from user 13 int num2; // second number to be read from user 14 15 cout > num1 >> num2; // read two integers 18 19 if ( num1 == num2 ) 20 cout num2 ) 28 cout = num2 ) 35 cout 3 4 using namespace std; 5 // function main begins program execution 6 int main() 7 { 8 cout > somevariable; ...
File đính kèm:
- Bài giảng Ngôn ngữ lập trình C++ - Chương 1 Giới thiệu ngôn ngữ C++.ppt