Bài 2.3. Cộng hai số nguyên
Nội dung bài học này chúng ta tiếp tục thực hiện việc làm quen với các thao tác cơ bản trong ngôn ngữ lập trình C và công cụ Visual Studio. Cụ thể chúng ta sẽ thực hiện việc tính toán đơn giản: cộng hai số nguyên lại với nhau.
Chúng ta sẽ tìm hiểu:
- Cách viết chương trình C trong công cụ Visual Studio
- Cách nhập dữ liệu vào từ bàn phím
- Cách hiển thị kết quả ra màn hình
- Tìm hiểu chi tiết các thành phần cấu thành nên chương trình
Bắt đầu nhé!
Video bài học
Hướng dẫn fix lỗi, chạy file độc lập trong project của Visual Studio
- Trong máy tính có hai kiểu số mà ngôn ngữ lập trình C có thể lưu trữ, đó là: số nguyên và số thực. Số thực là các số có thể chứa cả phần thập phân như 3, 3.141592, 5.75…
- Để phục vụ chương trình hoạt động, dữ liệu khi đưa vào máy tính sẽ được lưu trữ tạm thời trong các biến. Nó giống như cái thùng chứa nước sau đó ta mang nước từ trong đó ra dùng vậy. Chương trình của chúng ta sẽ tạo ra hai biến để lưu trữ hai số nguyên được nhập vào từ bàn phím. Kết quả tổng sau khi cộng sẽ được lưu trữ vào một biến khác. Sau cùng ta sẽ in ra giá trị tổng này và kết thúc chương trình.
// Chuong trinh cong hai so nguyen nhap vao tu ban phim
#include <stdio.h>
// ham main la noi bat dau thuc thi chuong trinh
int main() {
int number1; // bien luu gia tri nguyen thu nhat
int number2; // bien luu gia tri nguyen thu hai
printf("Enter first integer number: ");
scanf("%d", &number1);
printf("Enter second integer number: ");
scanf("%d", &number2);
int sum; // bien de luu tong hai so nguyen
sum = number1 + number2; // gan tong vao bien sum
printf("%d + %d = %d", number1, number2, sum); // in ket qua ra man hinh
} // ket thuc ham main
Để chạy chương trình bạn ấn tổ hợp Ctrl F5 trong Visual Studio. Hoặc các tổ hợp phím tương ứng trong các công cụ khác. Sau đó nhập vào hai số và xem kết quả. Ví dụ như này:
Enter first integer number: 125
Enter second integer number: 456
125 + 456 = 581
Các thành phần của chương trình:
Chú thích
- Dòng đầu tiên gọi là comment dùng để mô tả mục đích của chương trình. Cụ thể là thực hiện cộng hai số nguyên và hai số này nhập vào từ bàn phím.
Khai báo và sử dụng biến
- Tiếp theo là 2 dòng khai báo hai số nguyên:
int number1; // bien luu gia tri nguyen thu nhat
int number2; // bien luu gia tri nguyen thu hai
- Trong đó int chính là kiểu của biến. C là ngôn ngữ mạnh về kiểu tức là mỗi biến đều phải có kiểu rõ ràng. Nó giống như mỗi con thú cưng của chúng ta đều phải thuộc một loài động vật nào đó vậy.
- Kiểu của biến sẽ quy ước tập các giá trị và đặc trưng của riêng kiểu đó. Tương tự như mỗi loài động vật có một đặc trưng riêng không giống loài khác. Ví dụ: chó thì sủa gâu gâu nhưng mèo làm gì sủa được?! Nó sẽ keo meo meo và tất nhiên nó không thể bay như con chim. Đó là do đặc trưng của từng loài. Tương tự số nguyên thì không thể chứa phần thập phân của số thực.
- Về bản chất thì biến là tên của vùng nhớ trong bộ nhớ RAM mà chương trình dùng để lưu trữ tạm thời các dữ liệu để chạy chương trình. Cụ thể về biến ta sẽ nói trong bài về phần biến và các bài sau nữa nhé.
- Mỗi khai báo luôn kết thúc bởi dấu chấm phẩy ; thể hiện đây là một câu lệnh hoàn chỉnh. Nếu bạn quên dấu chấm phẩy thì chương trình sẽ bị lỗi.
Lời nhắc và hàm scanf()
- Dòng: printf(“Enter first integer number: “); in ra lời nhắc để người dùng nhập vào giá trị số nguyên thứ nhất. Sau khi nhập bạn ấn phím Enter trên bàn phím và chương trình sẽ đọc giá trị này vào qua lệnh scanf(“%d”, &number1); gán giá trị đọc được cho biến number1.
Hàm và tham số của hàm
- Hàm scanf nhận vào hai tham số phân tách nhau bởi dấu phẩy.
- Tham số thứ nhất là “%d” gọi là chuỗi điều khiển định dạng cho hàm đọc vào. Nó chỉ rõ kiểu dữ liệu đọc vào là số nguyên. %d là định dạng chuyển đổi dùng riêng cho kiểu số nguyên. Mỗi kiểu trong ngôn ngữ lập trình C sẽ có một định dạng chuyển đổi dữ liệu riêng. Cụ thể sẽ bàn tới trong bài về kiểu dữ liệu sắp tới.
- Tham số thứ 2 của hàm scanf ở sau dấu phẩy là &number1. Nó bắt đầu với dấu &, đây là toán tử địa chỉ, theo sau đó là tên biến cần đẩy giá trị vào. Dấu & khi đi trước tên một biến sẽ bảo với hàm scanf địa chỉ trong bộ nhớ nơi biến đó được lưu trữ. Máy tính sau đó sẽ đọc và lưu giá trị số nguyên người dùng nhập vào cho biến number1 vào vị trí đó trong bộ nhớ.
- Hãy luôn điền dấu & trước tên biến trong hàm scanf để nhập đc giá trị vào cho biến cần chứa giá trị.
- Khi gặp scanf(), chương trình sẽ chờ người dùng nhập vào và ấn enter để gửi giá trị nhập vào đó đến máy tính. Sau đó máy tính gán giá trị này vào biến number1.
- Hàm scanf và printf cho phép người dùng và máy tính tương tác với nhau.
- Hai dòng tiếp theo thực hiện tương tự cho biến number 2:
printf("Enter second integer number: ");
scanf("%d", &number2);
Tính và gán kết quả
- Sau đó chúng ta khai báo biến tổng ở dòng: int sum;//…
- Tiếp theo ta thực hiện tính tổng hai số và gán kết quả cho biến sum ở dòng: sum = number1 + number2; // gan tong vao bien sum
- Khi thực hiện việc tính toán và gán (=) nhớ luôn thực hiện phép toán bên phải dấu = và bên trái dấu = luôn là một biến.
- Dòng printf(“%d + %d = %d”, number1, number2, sum); //… in kết quả tổng ra màn hình. Một lần nữa ta thấy sự xuất hiện của %d. Nó dùng để chuyển đổi giá trị số nguyên khi thao tác nhập xuất dữ liệu trong ngôn ngữ C.
Bắt đầu và kết thúc hàm
- Cú pháp int main() {… bắt đầu một hàm có tên là main
- Dấu } kết thúc nhiệm vụ của hàm main.
Vậy là chúng ta đã hoàn thành bài học này rồi! Đây là những kiến thức nền tảng mà bất kì một lập trình viên chuyên nghiệp nào cũng đều phải có.
19 Comments
giảng quá chi tiết rất phù hợp với người chưa biết lập trình
thank you e nha!
thay giang qua hay , chuc thay vui ve nha
thank you e nha
thầy ơi em khóa bài cũ lại rồi mà nó vẫn chạy bài cũ mà ko chạy bài mới thì làm sao đây thầy ơi
File cần chạy cần có hàm main và phải không bị lỗi nha
OK !
anh ơi .
Thầy ơi, máy em báo lỗi Severity Code Description Project File Line Suppression State
Error LNK1168 cannot open C:\Users\ngoch\source\repos\HelloC\Debug\HelloC.exe for writing HelloC C:\Users\ngoch\source\repos\HelloC\HelloC\LINK 1
thì em khắc phục ở đâu được ạ?
e tắt phần mềm diệt virus, sau đó chuột phải vào tên project chọn clean và chạy lại nhé. nếu vẫn không được thì tạo project khác.
thầy ơi em chạy chương trình thì nó bị lỗi như vầy ạ Severity Code Description Project File Line Suppression State
Warning C6031 Return value ignored: ‘scanf’. vantuanhoccode D:\LERNING\CODING\vantuanhoccode\Source.c 9
làm sao để sửa đươc ạ
Bạn thử thay scanf bằng scanf_s nhé
thầy ơi khi chạy chương trình visual nó hiện ra lỗi Unable to start program
‘C:\Users\admind\source\repos\cuccuuu\Debug\cuccuuu.exe’.
The system cannot find the file specified. Dạ thầy chỉ em cách fix với ạ
thầy cho em hỏi, em vào build nhấn comply nhưng chương trình nó ko hiện ra thì làm như nào ạ
tại sao trong video sau khi ctrl F5 thì phần điền số thứ 1 và số thứ 2 lại ở dòng tiếp theo mà trong đoạn code mẫu phần text lại ở luôn dòng đầu tiên ( mà không xuống dòng ) ạ? e thấy 2 đoạn code giống hệt nhau mà.
e có thể nhập dữ liệu vào theo dạng: nhập cả hai số cách nhau bởi dấu cách rồi nhấn enter hoặc nhập từng số xong ấn phím enter
Thầy ơi hàm printf và puts thì tốc độ thực thi của hàm nào nhanh hơn vậy thầy. Nếu chỉ sử dụng chỉ hiển thị 1 dòng chữ?
puts có thể là câu trả lời. https://stackoverflow.com/questions/2454474/what-is-the-difference-between-printf-and-puts-in-c
a ơi , cứ mỗi lần scanf nó lại ra cái lỗi 4996 , có cách nào xử lý ko a
trong video đầu tiên của bài học này đã có hướng dẫn cách fix. phút thứ 9:50. e có thể làm theo nhé.