Cách Sử Dụng C Free 5 – Hướng Dẫn Cài Đặt Và Sử Dụng C

C/C++ trên website o7planning chúng tôi sử dụng Eclipse IDE. Bạn cần cài đặt và cấu hình Eclipse và môi trường C/C++ trước khi bắt đầu. Bạn có thể xem chỉ dẫn tại:
C là ngôn ngữ ra đời trước, và là ngôn ngữ hướng thủ tục, nó dễ dàng được triển khai và chạy trên các hệ điều hành. C++ ra đời sau mở rộng từ C nó mang vào khái niệm lập trình hướng đối tượng, C là nền tảng của C++, và C++ không ra đời để thay thế C, các thư viện của nó được mở rộng lên rất nhiều.

Các tài liệu hướng dẫntrên websitechúng tôi sử dụng. Bạn cần cài đặt và cấu hìnhvà môi trườngtrước khi bắt đầu. Bạn có thể xem chỉ dẫn tại:là ngôn ngữ ra đời trước, và là ngôn ngữ hướng thủ tục, nó dễ dàng được triển khai và chạy trên các hệ điều hành.ra đời sau mở rộng từnó mang vào khái niệm lập trình hướng đối tượng,là nền tảng của, vàkhông ra đời để thay thế, các thư viện của nó được mở rộng lên rất nhiều.

Bạn đang xem: Cách sử dụng c free 5

Lập trình hướng thủ tục ở đây có nghĩa là: Các file nguồn (Chứa code của bạn) sẽ chứa các hàm. Trong khi đó hướng đối tượng file nguồn chứa một class (lớp) và trong class có chứa các phương thức. Để gọi một phương thức trong một class bạn cần tạo ra một đối tượng của class và sau đó gọi hàm thông qua đối tượng này, trong khi đó với hướng thủ tục bạn có thể gọi trực tiếp.
Trong tài liệu hướng dẫn này tôi sẽ hương dẫn bạn làm việc trên C. Còn C++ sẽ được đề cập tới trong một tài liệu khác.
Nếu bạn làm việc với: Windows 64bit + Eclipse 64bit + Java64bit, bạn cần phải mở Eclipse với quyền Administrator, có một rắc rối là Eclipse không in các message ra màn hình Console trong trường hợp chạy ở chế độ thông thường.
*
Trong tài liệu này tôi sẽ hướng dẫn bạn lập trình C (C++ sẽ hướng dẫn trong tài liệu khác). Tuy nhiên project mà chúng ta tạo ra tại đây là C++, nhưng chúng ta chỉ sử dụng những thư viện của C.
*
*
*
*
Project đã được tạo ra, thực tế mã (code) của ví dụ HelloWorld này có mã C++. Tuy nhiên chưa cần phải quan tâm tới nó.
Tiếp theo bạn cần phải cấu hình để có thể chạy được project trực tiếp trên Eclipse, việc này rất quan trọng.

Lập trình hướng thủ tục ở đây có nghĩa là: Các file nguồn (Chứa code của bạn) sẽ chứa các hàm. Trong khi đó hướng đối tượng file nguồn chứa một class (lớp) và trong class có chứa các phương thức. Để gọi một phương thức trong một class bạn cần tạo ra một đối tượng của class và sau đó gọi hàm thông qua đối tượng này, trong khi đó với hướng thủ tục bạn có thể gọi trực tiếp.Trong tài liệu hướng dẫn này tôi sẽ hương dẫn bạn làm việc trên. Cònsẽ được đề cập tới trong một tài liệu khác.Nếu bạn làm việc với:, bạn cần phải mởvới quyền, có một rắc rối làkhông in cácra màn hìnhtrong trường hợp chạy ở chế độ thông thường.Trong tài liệu này tôi sẽ hướng dẫn bạn lập trìnhsẽ hướng dẫn trong tài liệu khác). Tuy nhiên project mà chúng ta tạo ra tại đây là, nhưng chúng ta chỉ sử dụng những thư viện của C.Project đã được tạo ra, thực tế mã (code) của ví dụnày có mã. Tuy nhiên chưa cần phải quan tâm tới nó.Tiếp theo bạn cần phải cấu hình để có thể chạy được project trực tiếp trên, việc này rất quan trọng.

Xem thêm: Thực Hiện Một Bản Ghi Âm Cuộc Gọi Trên Iphone 6S, Thực Hiện Một Bản Ghi Trong Ghi Âm Trên Iphone

Khi một chương trình C được chạy nó sẽ tìm hàm main() để thực thi, chẳng hạn thực thi hàm main() của ví dụ HelloWorld nói trên.Một chương trình C có thể có nhiều file nguồn, mỗi file nguồn có thể nhiều hàm. Tuy nhiên chỉ cho phép duy nhất một hàm main() trên toàn bộ Project của bạn.
Trên kia bạn vừa tạo ra một file CBasicTutorial.cpp nó có một hàm main(), giờ bạn tạo ra một file khác để thực hành chẳng hạn PrimitiveExample.cpp và có hàm main() bạn cần đổi tên hàm main() của CBasicTutorial.cpp thành một tên khác để nó không xung đột và bạn có project thể biên dịch được, sau đó có thể thực hành những gì viết trong PrimitiveExample.cpp.

Khi một chương trìnhđược chạy nó sẽ tìm hàmđể thực thi, chẳng hạn thực thi hàmcủa ví dụnói trên.Một chương trìnhcó thể có nhiều file nguồn, mỗi file nguồn có thể nhiều hàm. Tuy nhiên chỉ cho phép duy nhất một hàmtrên toàn bộ Project của bạn.Trên kia bạn vừa tạo ra một filenó có một hàm, giờ bạn tạo ra một file khác để thực hành chẳng hạnvà có hàmbạn cần đổi tên hàmcủathành một tên khác để nó không xung đột và bạn có project thể biên dịch được, sau đó có thể thực hành những gì viết trong

Chú ý: Hãy đổi tên hàm main của file nguồn CBasicTutorial.cpp thành mainCBasicTutorial vì một project của C chỉ cho phép một hàm main trên toàn bộ Project.

// Khai báo sử dụng thư viện vào ra chuẩn stdio.h// (Standard IO / Standard Input Output)#includeint main() {// printf là một hàm của thư viện stdio.h// Đây là một hàm để in ra màn hình Console một dòng chữ.// \n là ký tự xuống dòngprintf(“Hello!, This is your first C example.\n”);// In ra dòng thông báo ứng dụng sẽ kết thúc.printf(“Exit!”);// Hàm này trả về 0.return 0;}
Có một vài chú ý: Có một số hàm trong thư viện conio.h của C đã không được hỗ trợ trong C++. Chẳng hạn như getch() – Vốn là một hàm tạm dừng chương trình chờ cho tới khi người dùng gõ một ký tự bất kỳ mới tiếp tục chạy tiếp. Vì vậy trong hướng dẫn này tôi cố gắng không sử dụng các hàm như vậy trong các ví dụ.

#includeint main() {// Làm gì đó tại đây ….// Dừng chương trình tại đây,// chờ cho tới khi người dùng gõ một ký tự bất kỳ mới tiếp tục chạy.// (Hàm này không được hỗ trợ đầy đủ)getch();// Làm gì đó tiếp tại đây.}

TypeStorage sizeValue rangeFormatchar1 byte-128 to 127 or 0 to 255%cunsigned char1 byte0 to 255%csigned char1 byte-128 to 127%sint2 or 4 bytes-32,768 to 32,767 or -2,147,483,648 to 2,147,483,647%dunsigned int2 or 4 bytes0 to 65,535 or 0 to 4,294,967,295%ushort2 bytes-32,768 to 32,767unsigned short2 bytes0 to 65,535long4 bytes-2,147,483,648 to 2,147,483,647%ldunsigned long4 bytes0 to 4,294,967,295
Kiểu dữ liệuKích thước lưu trữTập giá trịPhần thập phânfloat4 byte1.2E-38 to 3.4E+386 vị trí sau thật phândouble8 byte2.3E-308 to 1.7E+30815 vị trí sau thật phânlong double10 byte3.4E-4932 to 1.1E+493219 vị trí sau thật phân
// Khai báo sử dụng thư viện vào ra chuẩn stdio.h// (Standard IO / Standard Input Output)#include // Khai báo sử dụng thư viện float.h#include int main() {// Hàm sizeof(type)// trả về số byte cần thiết để lưu trữ kiểu dữ liệu này.printf(“Storage size for float : %d \n”, sizeof(float));// FLT_MIN là hằng số, giá trị nhỏ nhất của kiểu float.// Hằng số này được định nghĩa trong thư viện float.hprintf(“Minimum float positive value: %E\n”, FLT_MIN);// FLT_MAX là hằng số, giá trị lớn nhất của kiểu dữ liệu float.// Hằng số này được định nghĩa trong thư viện float.hprintf(“Maximum float positive value: %E\n”, FLT_MAX);// FLT_DIG là hằng số, số vị trí tối đa của phần thập phân.// Hằng số này được định nghĩa trong thư viện float.hprintf(“Precision value: %d\n”, FLT_DIG);return 0;}
Toán tửÝ nghĩaVí dụ>Lớn hơn5 > 4 là đúng (true)=Lớn hơn hoặc bằng4 >= 4 là đúng (true) 4 && a
// Chú ý rằng sẽ chỉ có nhiều nhất một khối lệnh được chạy.// Chương trình kiểm tra điều kiện từ trên xuống dưới.// Khi bắt gặp một điều kiện đúng khối lệnh tại đó sẽ được chạy,// và chương trình không kiểm tra tiếp các điều kiện còn lại….// Nếu điều kiện 1 đúng thì …if ( condition1) {// Làm gì đó khi điều kiện 1 đúng.}// Ngược lại nếu điều kiện 2 đúng thì ….else if( condition2 ) {// Làm gì đó khi điều kiện 2 đúng// (Điều kiện 1 sai).}// Ngược lại nếu điều kiện N đúng thì …else if( conditionN ) {// Làm gì đó khi điều kiện N đúng// (Các điều kiện ở trên sai).}// Các trường hợp còn lại.else {// Làm gì đó ở đây.}
// Khai báo sử dụng thư viện vào ra chuẩn stdio.h// (Standard IO / Standard Input Output)#include int main_IfElseExample() {// Khai báo một số đại diện cho tuổi của bạn.int age;printf(“Please enter your age: \n”);// Đôi khi sử dụng printf không in ra ngay lập tức thông báo của bạn.// Sử dụng fflush(stdout) để in thông báo ra màn hình Console ngay lập tức.// Chú ý: stdout là một biến của luồng (stream) ghi ra màn hình Console// (Nó được định nghĩa trong thư viện stdio.h)fflush (stdout);// Hàm scanf sẽ đợi bạn gõ vào một đoạn văn bản từ bàn phím// (Và nhấn Enter để hoàn thành).// Nó sẽ quét lấy một số (Chỉ định bởi tham số %d)// và gán vào biến age.scanf(“%d”, &age);// Kiểm tra nếu age nhỏ hơn 80 thì …if (age = 80 && age
// Sử dụng switch để kiểm tra một giá trị của một biến.switch ( a_variable ) {case value1:// Làm gì đó ở đây, nếu giá trị của biến == value1break;case value2:// Làm gì đó ở đây, nếu giá trị của biến == value2break;default:// Làm điều gì đó tại đây// nếu giá trị của biến không thuộc các giá trị liệt kê ở trên.break;}
#include int main() {// Đề nghị người dùng chọn 1 lựa chọn.printf(“Please select one option:\n”);printf(“1 – Play a game \n”);printf(“2 – Play music \n”);printf(“3 – Shutdown computer \n”);fflush (stdout);// Khai báo một biến “option”.int option;// Hàm scanf sẽ đợi bạn gõ vào một đoạn text từ bàn phím// (Và nhấn enter để hoàn thành).// Nó sẽ quét lấy một số (Chỉ định bởi tham số %d)// Chuyển thành số tự nhiên (integer) và gán vào biến option.scanf(“%d”, &option);// Kiểm tra giá trị của “option”.switch (option) {case 1:printf(“You choose to play the game \n”);break;case 2:printf(“You choose to play the music \n”);break;case 3:printf(“You choose to shutdown the computer \n”);break;default:printf(“Nothing to do…\n”);break;}fflush(stdout);return 0;}
Có một vấn đề bạn đặt ra câu lệnh break trong trường hợp này có ý nghĩa gì?.break trong trường hợp này nói với chương trình rằng thoát ra khỏi switch. Trong trường hợp bạn không sử dụng break câu chương trình sẽ tiếp tục thực hiện các khối lệnh trong ‘case’ ở phía dưới (hoặc cả default) cho tới khi nó bắt gặp break, kể cả giá trị của biến trong trường hợp đó khác với giá trị trong ‘case’.
#include int main() {// Khai báo biến option và gán giá trị 3 cho nó.int option = 3;printf(“Option = %d \n”, option);// Kiểm tra giá trị của optionswitch (option) {case 1:printf(“Case 1 \n”);break;case 2:printf(“Case 2 \n”);// No breakcase 3:printf(“Case 3 \n”);// No breakcase 4:printf(“Case 4 \n”);// No breakcase 5:printf(“Case 5!!! \n”);break;default:printf(“Nothing to do…\n”);break;}fflush (stdout);return 0;}
Vòng lặp được sử dụng để chạy lặp lại một khối lệnh. Nó làm chương trình của bạn thực thi lặp đi lặp lại một khối lệnh nhiều lần, đây là một trong các nhiệm vụ cơ bản trong lập trình.
// variable_initialization: Khởi tạo một biến.// condition: Điều kiện.// variable_update: Cập nhập giá trị mới cho biến.for ( variable_initialization; condition; variable_update ) {// Các code cần thực thi khi điều kiện còn đúng.}

// Khai báo sử dụng thư viện vào ra chuẩn stdio.h// (Standard IO / Standard Input Output)#include // Khai báo sử dụng thư viện float.h#include int main() {// Hàm sizeof(type)// trả về số byte cần thiết để lưu trữ kiểu dữ liệu này.printf(“Storage size for float : %d \n”, sizeof(float));// FLT_MIN là hằng số, giá trị nhỏ nhất của kiểu float.// Hằng số này được định nghĩa trong thư viện float.hprintf(“Minimum float positive value: %E\n”, FLT_MIN);// FLT_MAX là hằng số, giá trị lớn nhất của kiểu dữ liệu float.// Hằng số này được định nghĩa trong thư viện float.hprintf(“Maximum float positive value: %E\n”, FLT_MAX);// FLT_DIG là hằng số, số vị trí tối đa của phần thập phân.// Hằng số này được định nghĩa trong thư viện float.hprintf(“Precision value: %d\n”, FLT_DIG);return 0;}// Chú ý rằng sẽ chỉ có nhiều nhất một khối lệnh được chạy.// Chương trình kiểm tra điều kiện từ trên xuống dưới.// Khi bắt gặp một điều kiện đúng khối lệnh tại đó sẽ được chạy,// và chương trình không kiểm tra tiếp các điều kiện còn lại….// Nếu điều kiện 1 đúng thì …if ( condition1) {// Làm gì đó khi điều kiện 1 đúng.}// Ngược lại nếu điều kiện 2 đúng thì ….else if( condition2 ) {// Làm gì đó khi điều kiện 2 đúng// (Điều kiện 1 sai).}// Ngược lại nếu điều kiện N đúng thì …else if( conditionN ) {// Làm gì đó khi điều kiện N đúng// (Các điều kiện ở trên sai).}// Các trường hợp còn lại.else {// Làm gì đó ở đây.}// Khai báo sử dụng thư viện vào ra chuẩn stdio.h// (Standard IO / Standard Input Output)#include int main_IfElseExample() {// Khai báo một số đại diện cho tuổi của bạn.int age;printf(“Please enter your age: \n”);// Đôi khi sử dụng printf không in ra ngay lập tức thông báo của bạn.// Sử dụng fflush(stdout) để in thông báo ra màn hình Console ngay lập tức.// Chú ý: stdout là một biến của luồng (stream) ghi ra màn hình Console// (Nó được định nghĩa trong thư viện stdio.h)fflush (stdout);// Hàm scanf sẽ đợi bạn gõ vào một đoạn văn bản từ bàn phím// (Và nhấn Enter để hoàn thành).// Nó sẽ quét lấy một số (Chỉ định bởi tham số %d)// và gán vào biến age.scanf(“%d”, &age);// Kiểm tra nếu age nhỏ hơn 80 thì …if (age = 80 && age// Sử dụng switch để kiểm tra một giá trị của một biến.switch ( a_variable ) {case value1:// Làm gì đó ở đây, nếu giá trị của biến == value1break;case value2:// Làm gì đó ở đây, nếu giá trị của biến == value2break;default:// Làm điều gì đó tại đây// nếu giá trị của biến không thuộc các giá trị liệt kê ở trên.break;}#include int main() {// Đề nghị người dùng chọn 1 lựa chọn.printf(“Please select one option:\n”);printf(“1 – Play a game \n”);printf(“2 – Play music \n”);printf(“3 – Shutdown computer \n”);fflush (stdout);// Khai báo một biến “option”.int option;// Hàm scanf sẽ đợi bạn gõ vào một đoạn text từ bàn phím// (Và nhấn enter để hoàn thành).// Nó sẽ quét lấy một số (Chỉ định bởi tham số %d)// Chuyển thành số tự nhiên (integer) và gán vào biến option.scanf(“%d”, &option);// Kiểm tra giá trị của “option”.switch (option) {case 1:printf(“You choose to play the game \n”);break;case 2:printf(“You choose to play the music \n”);break;case 3:printf(“You choose to shutdown the computer \n”);break;default:printf(“Nothing to do…\n”);break;}fflush(stdout);return 0;}Có một vấn đề bạn đặt ra câu lệnhtrong trường hợp này có ý nghĩa gì?.trong trường hợp này nói với chương trình rằng thoát ra khỏi. Trong trường hợp bạn không sử dụngcâu chương trình sẽ tiếp tục thực hiện các khối lệnh trongở phía dưới (hoặc cả default) cho tới khi nó bắt gặp, kể cả giá trị của biến trong trường hợp đó khác với giá trị trong#include int main() {// Khai báo biến option và gán giá trị 3 cho nó.int option = 3;printf(“Option = %d \n”, option);// Kiểm tra giá trị của optionswitch (option) {case 1:printf(“Case 1 \n”);break;case 2:printf(“Case 2 \n”);// No breakcase 3:printf(“Case 3 \n”);// No breakcase 4:printf(“Case 4 \n”);// No breakcase 5:printf(“Case 5!!! \n”);break;default:printf(“Nothing to do…\n”);break;}fflush (stdout);return 0;}Vòng lặp được sử dụng để chạy lặp lại một khối lệnh. Nó làm chương trình của bạn thực thi lặp đi lặp lại một khối lệnh nhiều lần, đây là một trong các nhiệm vụ cơ bản trong lập trình.// variable_initialization: Khởi tạo một biến.// condition: Điều kiện.// variable_update: Cập nhập giá trị mới cho biến.for ( variable_initialization; condition; variable_update ) {// Các code cần thực thi khi điều kiện còn đúng.}