You are on page 1of 34

TRƯỜNG ĐẠI HỌC THỦY LỢI

KHOA CƠ KHÍ

KỸ THUẬT LÂP TRÌNH


CƠ ĐIỆN TỬ
Bộ môn: Kỹ thuật Cơ điện tử
Email: g.bmcodientu@tlu.edu.vn

Hà Nội - 2020

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering


MỤC TIÊU CỦA HỌC PHẦN

 Nắm vững kiến thức cơ bản về ngôn ngữ lập trình C/C++;
 Phân tích và giải quyết các vấn đề của một bài toán lập
trình;
 Có khả năng làm việc độc lập và chủ động học tập;
 Có khả năng làm việc theo nhóm và giao tiếp hiệu quả;
 Có thái độ và ứng xử tích cực.

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 2


NỘI DUNG MÔN HỌC

 Chương 1: Mở đầu

 Chương 2: Cấu trúc điều khiển

 Chương 3: Hàm

 Chương 4: Con trỏ & Mảng

 Chương 5: Lớp & Lập trình hướng đối tượng

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 3


CHƯƠNG 1: MỞ ĐẦU

1.1. Giới thiệu về ngôn ngữ lập trình C/C++


1.2. Cấu trúc một chương trình C/C++
1.3. Biến & hằng
1.4. Toán tử

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 4


CHƯƠNG 1: MỞ ĐẦU

1.1. Giới thiệu về ngôn ngữ lập trình C/C++


1.2. Cấu trúc một chương trình C/C++
1.3. Biến & hằng
1.4. Toán tử

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 5
Ngôn ngữ lập trình C/C++

 Ngôn ngữ C:
• Tác giả: Dennis Ritchie.
• Ra đời trong những năm 1970, gắn liền với sự
phát triển HĐH Unix.
• Là một trong những ngôn ngữ phổ biến nhất
• Là ngôn ngữ cấp trung
 Ngôn ngữ C++:
• Tác giả: Bjarne Stroustrup.
• Ra đời năm 1979 bằng việc mở rộng ngôn ngữ
C.
• Bổ sung các tính năng mới so với C: lập trình
hướng đối tượng (OOP), lập trình tổng quát
(template), một số tính năng giúp cho lập trình
linh hoạt ...

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 6
Một số phần mềm lập trình phổ biến

 Microsoft Visual Studio


 Visual Studio Code
 Code::Blocks
 Eclipse
 Notepad++
 Dev-C++
 Sublime Text

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 7
Microsoft Visual Studio

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 8
Visual Studio Code

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 9
Code::Blocks

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 10
Eclipse

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 11
Notepad++

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 12
Dev-C++

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 13
Sublime Text

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Giới thiệu về ngôn ngữ lập trình C/C++ 14
CHƯƠNG 1: MỞ ĐẦU

1.1. Giới thiệu về ngôn ngữ lập trình C/C++


1.2. Cấu trúc một chương trình C/C++
1.3. Biến & hằng
1.4. Toán tử

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Cấu trúc một chương trình C/C++ 15
Chương trình: Nhập 𝒙 và in ra kết quả 𝒙𝟐

• Dòng 1: khai báo thư viện


iostream cho việc nhập xuất.
• Dòng 2: sử dụng thư viện
chuẩn
• Dòng 3: Hàm chính
• Dòng 5: Khai báo biến x
• Dòng 6: Nhập dữ liệu từ bàn
phím cho biến x
• Dòng 7: Xuất kết quả
• Dòng 8: Hàm trả về 0

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Cấu trúc một chương trình C/C++ 16
CHƯƠNG 1: MỞ ĐẦU

1.1. Giới thiệu về ngôn ngữ lập trình C/C++


1.2. Cấu trúc một chương trình C/C++
1.3. Biến & hằng
1.4. Toán tử

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Biến & hằng 17


Biến (Variable)

 Biến chứa giá trị, có thể thay đổi trong khi chạy
 Cần khai báo trước khi dùng và phải có kiểu dữ liệu
 Phạm vi sử dụng: Toàn cục/ nội bộ (global/local)
 Khai báo biến: <kiểu dữ liệu><danh sách biến>. Ví dụ:
• int a, b, c;
• unsigned char u;
 Biến có thể được khởi tạo giá trị khi khai báo:
• int count = 100;
• char key = 'K';

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Biến & hằng 18


Hằng (constant)

 Giống như biến nhưng giá trị nó không thay đổi trong quá
trình chạy.
 Khai báo bằng cách thêm từ khóa const phía trước:
• const double PI = 3.14159;
• const char* name = "Nguyen Viet Tung";
 Sử dụng macro để khai báo hằng:
• #define PI 3.14159

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Biến & hằng 19


Các kiểu dữ liệu cơ bản

Kích thước
Kiểu Loại Khoảng giá trị
(byte)
char 1 Ký tự -127 tới 127 hoặc 0 tới 255
int 4 Số nguyên -2147483648 tới 2147483647
long int 4 Số nguyên -2,147,483,647 tới 2,147,483,647
Số thực (dấu
float 4 +/- 3.4e +/- 38 (~7 chữ số)
chấm động)
Số thực (dấu
double 8 +/- 1.7e +/- 308 (~15 chữ số)
chấm động)
Không có ý nghĩa
void 0
xác định

 Kiểu int có kích thước tùy thuộc cấu hình

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Biến & hằng 20


Các kiểu dữ liệu cơ bản

 Một số kiểu dữ liệu khác:


• Kiểu liệt kê: enum <tên kiểu>{<các giá trị>}
• Kiểu cấu trúc: struct <tên kiểu>{<các thuộc tính>}
• Kiểu mảng array: <tên kiểu><tên>[<số phần tử>]
• Kiểu boolean (không có trong C)
• Kiểu chuỗi ký tư
• Kiểu union

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Biến & hằng 21


CHƯƠNG 1: MỞ ĐẦU

1.1. Giới thiệu về ngôn ngữ lập trình C/C++


1.2. Cấu trúc một chương trình C/C++
1.3. Biến & hằng
1.4. Toán tử

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Toán tử 22


Toán tử số học

 Cơ bản: +, - , *, /
 Chia lấy số dư: %
 Tăng giảm một đơn vị: ++, --. Chú ý phân biệt: a++ và ++a
(tương tự cho a-- và --a).
• Ví dụ 1: x = 1; y = ++x;
• Ví dụ 2: x = 1; y = x++;
Kết quả x, y ?

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Toán tử 23


Toán tử logic và so sánh

 Logic: &&, ||, !


 So sánh: ==, !=, >, <, >=, <=
 Ví dụ 3: x = 10; y = 11. Kết quả của các biểu thức sau
• ((x <= y) && (y <= x + 2))
• ((y <= x) || (x + 5 <= y))
• (x && (!y))
• ((!x) || y)

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Toán tử 24


Toán tử bit

 Bao gồm : &, |, ^, ~, >>, <<


 Chỉ áp dụng với kiểu số nguyên
 Chú ý tránh nhầm lần với các toán tử logic

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Toán tử 25


Toán tử gán

 Cơ bản: a = b
 Các toán tử gộp:

Toán tử gán Tương đương Toán tử gán Tương đương


a += b a=a+b a &= b a=a&b
a -= b a=a–b a |= b a=a|b
a *= b a=a*b a ^= b a=a^b
a /= b a=a/b a <<= b a = a << b
a %= b a=a%b a >>= b a = a >> b

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Toán tử 26


Các toán tử đặc biết khác

 sizeof: trả về kích thước của kiểu/ biến/ hằng


 Phần tử mảng: a[4]
 Con trỏ: *a
 Địa chỉ: &a
 Lấy thành phần: sv.ten, sv->tuoi
 Ép kiểu: (int) a
 Điều kiện: <điều kiện>?<biểu thức 1>:<biểu thức 2>
Ví dụ: bigger = (a > b)? a : b;

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering Toán tử 27


Hàm std::cin

 Nhập dữ liệu là số
• cin >> variables;
• cin >> variable_1 >> variable_2 >> … >> variable_n;
 Nhập dữ liệu là chuỗi/ xâu ký tự: sử dụng thư viện string
để khai báo
• string A; getline(cin, A);
Chú ý: nên sử dụng lệnh fflush(stdin) trước lệnh getline để
không bị trôi lệnh

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 28


Hàm std::cout

 cout << expression;


 cout << expression_1 << expression_2 << … << expression_n;

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 29


Bài tập

Bài 1: Tìm giá trị của biến x, y, z sau khi thực thi chương trình
sau: int x, y, z; x = 1; y = (x++) + (++x); z = (++x) + (x++);
Bài 2: Viết chương trình nhập vào tên, năm sinh, MSSV, lớp và
in ra màn hình các thông tin: tên, tuổi, MSSV
Bài 3: Nhập 3 số từ bàn phím, tính và xuất ra giá trị trung bình
của chúng.
Bài 4: Tính toán diện tích hình thang với số liệu nhập từ bàn
phím.
Bài 5: Nhập góc α và xuất ra các giá trị hàm lượng giác thông
dụng.
Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 30
Bài tập

Bài 6: Nhập 2 số thực a, b. Tính toán và in ra màn hình 𝑎𝑏 (sử


dụng hàm pow và trong thư viện cmath)
Bài 7: Nhập tọa độ hai điểm trên mặt phẳng xOy. Tim độ dài
đoạn thẳng đó
Bài 8: Tính và in ra màn hình diện tích của tam giác ABC trên
mặt phẳng xOy với tọa độ 3 đỉnh A, B, C là dữ liệu nhập
từ bàn phím.
Bài 9: Nhập số nguyên có 5 chữ số. Xuất ra số có các chữ số
sắp theo thứ tự ngược lại.

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 31


Bài tập

Bài 10: Nhập dữ liệu cho hai biến a, b. Xuất ra màn hình giá trị a
và b mà giá trị của chúng trao đổi cho nhau (ví dụ: nhập:
a = 3, b = 4. Xuất ra màn hình: a = 4; b = 3)
Bài 11: Tương tự như Bài 10 nhưng chương trình không sử
dụng thêm biến phụ.
Bài 12: Tính quãng đường đi được của một vật rơi tự do tại các
thời điểm t = 1, 2, 3,…, 20s.
Bài 13: Vẫn bài toán trên, nhập thêm độ cao ban đầu, chỉ tính
tới thời điểm mà vật chạm đất

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 32


Bài tập

Bài 14: Nhập 3 số bất kì. Xuất 3 số này theo thứ tự từ bé đến
lớn.
Bài 15: Mô phỏng phép nhân tay: Nhập 2 số có 3 chữ số. Lập
trình theo từng bước của việc tính toán bằng tay. In ra
màn hình kết quả như thực hiện trên giấy viết.
Bài 16: Nhập số tiền (VNĐ), quy đổi số tiền đó thành các tờ tiền
theo quy chuẩn tiền tệ của Việt Nam (lớn nhất là
500.000đ, nhỏ nhất là 1000đ). In ra màn hình kết quả.
Bài 17: Nhập số tiền (VNĐ), in ra màn hình số tiền bằng chữ.

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 33


Bài tập

Trên lớp: 1, 2, 3, 4, 6
BTVN: 9, 10, 14, 16, 17

Bộ môn Kỹ thuật Cơ điện tử | Department of Mechatronic Engineering 34

You might also like