










Preview text:
Kiến Thức Cơ Bản Cần Nắm Khi Bắt Đầu Học C++
Khi bắt đầu học lập trình, có r t ấ nhi u
ề ngôn ngữ để lựa ch n. ọ C/C++ là
một ngôn ngữ lâu đời, có t c
ố độ nhanh, các kiểu dữ liệu rõ ràng. N u ế
như làm chủ được ngôn ngữ n n
ề tảng như C/C++ thì sau này học các
ngôn ngữ khác trở nên dễ dàng hơn, do đó rất phù hợp với người mới bắt đầu.(H ọ c l ậ p
trình C/C++ (có rất nhiều ứng dụng và mở ra cho bạn
cực kỳ đa dạng các cơ hội để làm việc cho các công ty/tập đoàn lớn.
Theo mình thấy, với người mới học thì C hay C++ không có quá nhiều sự khác
biệt trong cú pháp, C++ còn có thể sử dụng để lập trình hướng đối tượng -" Phần này s không ẽ được gi i thi ớ
ệu vì trong khuôn khổ bài viết là hướng dẫn lập tình C++ c
ơ bản. Hiện tại Codelearn đã có khóa học"C++ cho ng ườ i m ớ i b ắ t đầ u "dành riêng cho các bạn.
Trong bài viết này mình sẽ đưa ra các hướng dẫn để làm quen C++ c ơ bản nhé. Cài đặt IDE nào?
Trên thị trường có rất nhiều"IDE
và Text Editor dành cho l ậ p trình C/C++ . Với các bạn m i
ớ bắt đầu, mình khuyên các bạn nên sử dụng"Dev C++"làm ide
chính để học. Bạn chỉ cần tải v
ề và cài đặt như nhiều hướng dẫn trên internet,
Khi muốn code một chương trình thì chỉ cần tạo 1 file mới và code là chạy được
bình thường, không cần tạo project gì cả, compile cũng nhanh. Ngoài ra các
bạn cũng có thể sử dụng codeblock, visual studio code, ...
Hướng dẫn học C++
1. Các kiểu dữ liệu trong C++, khung chương trình và cách khai báo bi n ế
Một chương trình C++ cơ bản thường được bắt đầu bởi dòng include khai báo thư viện, sau ó
đ là hàm" main . Tất cả mọi thứ của chương trình đều sẽ chạy dọc
theo hàm" main "từ trên xuống dưới, có nghĩa là nếu bạn viết một hàm
ngoài" main "và trong" main "không gọi n
đế hàm đấy có nghĩa là hàm đấy sẽ
không chạy trong chương trình, một hàm luôn luôn phải kết thúc bởi dấu chấm phẩy" (;) ". Dưới ây đ
là bộ khung cơ bản của chương trình" Hello world "bằng C++. #include using namespace std; int main() { cout << "Hello world !"; return 0; }
Có rất nhiều kiểu dữ liệu trong C++, đối với các bạn mới bắt đầu và để làm các bài tập cơ ả
b n thì nên tìm hiểu trước về" int ," long ," long
long ," float ," double ," long double ," char ," string , về cách bi u ể diễn và
khoảng của mỗi kiểu dữ liệu. Sau khi đã làm các bài tập và hiểu rõ rồi thì có thể
tìm hiểu thêm các kiểu dữ li u
ệ khác. Dưới đây là một vài ví dụ về cách khai báo biến trong C++. #include using namespace std; int main() {
int a = 10; // Khai báo biế& n a kiế( u int có giá trị nguyến là 10
float b = 1.5; // Khai báo biế& n b kiế( u float có giá trị thực là 1.5
char c; // khai báo biế& n c có kiế(
u dữ liệu là ký tự char
c = 'a'; // gán giá trị cho biế& n c là ký tự 'a'
string d; // khai báo biế& n d có kiế( u dữ liệu là xâu string
d = "ok" // gán giá trị cho biế& n d là xâu "ok" return 0; }
Dưới đây là một vài kiểu dữ liệu và khoảng lưu trữ của các kiểu dữ liệu đó.
2. Các câu lệnh nhập xuất và cấu trúc các câu lệnh đi u khi ề n ể a. Câu l nh nh ệ ập xuất. Trong C++ thì một cách n đơ giản
để nhập là sử dụng câu lệnh" cin , và xuất sử dụng câu lệnh" cout . #include using namespace std; int main() { int a; cin >> a; cout << a; return 0; } b. Câu lệnh rẽ nhánh.
Cách 1: Sử dụng" if else #include using namespace std; int main() { int a; cin >> a; if (a > 0) { cout << "a la so duong"; } else if (a < 0) { cout << "a la so am"; } else { cout << "a bang khong"; } return 0; }
Cách 2: Sử dụng" switch case #include using namespace std; int main() { int a; cin >> a; switch(a) { case 0: cout << "a bang khong"; break; default: cout << "a khac khong"; } return 0; } c. Vòng lặp. Vòng lặp" for #include using namespace std; int main() { int n = 10;
for (int i = 0; i < n; i++) { cout << i << " "; } return 0; } Vòng lặp" while #include using namespace std; int main() { int n = 10; int i = 0; while (i < n) { cout << i << " "; } return 0; } Vòng lặp do while #include using namespace std; int main() { int n = 10; int i = 0; do { cout << i << " "; } while (i < n); return 0; } Bình thường thì s
ẽ sử dụng chủ yếu vòng lặp" for "và" while "thôi. Tác dụng
chính của vòng lặp for là lặp theo một số lượng mà mình cần, còn vòng lặp
while thì sẽ lặp theo một đi u
ề kiện nhất định, do đó sẽ"linh ho t ạ hơn"vòng lặp
for. Tùy mục đích sử dụng mà lựa chọn vòng lặp phù hợp. 3. Mảng Mảng 1 chi u ề #include using namespace std; int main() { int a[10];
for (int i = 0;i < 10; i++) { cin >> a[i]; }
for (int i = 0;i < 10; i++) {
cout << a[i] << " "; } return 0; } Mảng 2 chi u: ề #include using namespace std; int main() { int a[2][3];
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) { cin >> a[i][j]; } }
for (int i = 0; i < 2; i++) {
for (int j = 0; j < 3; j++) {
cout << a[i][j] << " "; } } return 0; }
Cũng tương tự như mảng 1 chi u
ề và 2 chiều, các mảng nhiều chi u ề hơn đều có
thể sử dụng tùy theo mục ích đ
của bài toán mà các bạn cần giải. Lưu ý là khi
cấp phát cho mảng một độ lớn là n thì chỉ được lưu các giá trị vào các vị trí từ 0 đến n-1. 4. Lập trình hàm
Khi viết chương trình, nếu như tất cả mọi thứ đều được viết" tuần tự trong hàm
main thì rất khó để theo dõi. Nếu như một số hàm và phần vi c ệ được sử dụng
nhiều lần thì viết một hàm con ra ngoài là một đi u
ề hết sức cần thiết, giúp cho code của bạn tr ở nên gọn gàng và d
ễ theo dõi cũng như code hơn. Tham khảo
đoạn code sau cho hàm tính tổng. #include using namespace std; int sum(int a,int b) { return a + b; } int main() { cout << sum (3, 4) endl; << int a = 1, b = 2;
cout << sum(a,b) << endl; cin >> a >> b;
cout << sum(a,b) << endl; return 0; }
5. Xử lý xâu trong C++
Trong C++, xâu biểu diễn bởi kiểu dữ liệu là" string , mỗi string là một xâu
gồm các ký tự (được biểu diễn bằng ki u ể char) liên ti p. ế Khác v i ớ xâu trong C
là một mảng các char và có kết thúc mảng bới ký tự NULL. Các phép xử lý trong xâu khác so v i
ớ các phép toán xử lý logic. Việc sử dụng kiểu string trong C++ khi n
ế cho việc xử lý xâu trở nên d
ễ dàng hơn so với kiểu mảng các ký tự char trong C.
Nếu các bạn muốn nhập một xâu thì có 2 cách như sau: #include using namespace std; int main() { string s;
cin >> s; // nhập một xâu không có dâ& u cách
getline(cin, s); // nhập xâu trong một dòng bao gôD m ca ( câ& u
cách, nến thếm fflush(stdin) ở ( đâD u hàm main đế( xóa bộ nhớ đệm return 0; }
Ngoài ra các bạn có thể tham khảo một số hàm xử lý xâu sau. #include using namespace std; // nô& i 2 xâu string (string a, string b) { noixau string res = a + b; return res; } // chuyế( n toàn bộ xâu vếD ký tự in thường string toLower(string a) {
for (int i = 0; i < a.size(); i++) {
if (a[i] >= 'A' && a[i] <= 'Z') a[i] += 'a' - 'A'; } return a; } // chuyế(
n toàn bộ xâu thành ký tự in hoa string toUpper(string a) {
for (int i = 0; i < a.size(); i++) {
if (a[i] >= 'a' && a[i] <= 'z') a[i] += 'A' - 'A- a'; } return a; } // chuâ(
n hóa các từ cách nhau nhiếD u dâ& u cách vếD một dâ& u cách và viế& t hoa chữ cái đâD
u, những chữ cái sau đế( in thường string chuanhoa(string a) { int start = 0; string res = "";
while (start < a.size() && start a[start] == ' ') start++;
if (start == a.size()) return res;
if (a[start] >= 'a' && a[start] <= 'z') a[start] += 'A' - 'a'; res += a[start];
for (int i = start + 1; i< a.size(); i++) {
if (a[i-1] != ' ' && a[i != ] ' ') {
if (a[i] >= 'A' && a[i] <= 'Z') a[i] += 'a'-'A'; res += a[i]; }
else if (a[i-1] == ' ' && a[i] != ' ') {
if (a[i] >= 'a' && a[i] <= 'z') a[i] += 'A'-'a'; res += a[i]; } } return res; } int main() { string s = " cOde learn io "; string a = ; " Trang weB" string b = " cOde learN Io "; string s = (a, b); noixau cout << s << endl; cout << toLower(s) endl; << cout << toUpper(s) endl; << cout << chuanhoa(s); return 0; } Tạm kết Qua bài vi t, ế mình đã gi i
ớ thiệu các kiến thức cơ bản cần phải bi t ế khi mới bắt
đầu học lập trình C++. Để hiểu rõ hơn về C++ thì mọi người có thể tìm kiếm
các bài tập và luyện tập thêm trên"https://codelearn.io/training"vì một khi đã
xác định theo con đường lập trình viên là luôn phải học hỏi không ngừng. Làm
nhiều bài tập thì các bạn sẽ càng hiểu rõ ngôn ngữ hơn. Hy vọng bài viết này hữu ích v i các b ớ ạn.