C là một ngôn ngữ lập trình khá cũ. C được phát triển vào những năm 70, nhưng nó vẫn khá mạnh mẽ vì C chạy ở mức thấp. Học C là một cách tuyệt vời để giới thiệu bạn với các ngôn ngữ lập trình phức tạp hơn và kiến thức bạn có có thể được áp dụng cho hầu hết mọi ngôn ngữ lập trình và giúp bạn hiểu về phát triển ứng dụng. Để bắt đầu học ngôn ngữ lập trình C, hãy xem bước 1 bên dưới.
Bươc chân
Phần 1/6: Chuẩn bị
Bước 1. Tải xuống và cài đặt trình biên dịch C
Mã C phải được biên dịch với một chương trình thông dịch mã thành các tín hiệu mà máy hiểu được. Các trình biên dịch thường miễn phí và nhiều trình biên dịch khác nhau có sẵn cho các hệ điều hành khác nhau.
- Đối với Windows, hãy thử Microsoft Visual Studio Express hoặc mingw.
- Đối với Mac, XCode là một trong những trình biên dịch C tốt nhất.
- Đối với Linux, gcc là một trong những lựa chọn phổ biến nhất.
Bước 2. Hiểu cơ bản về lập trình
C là một ngôn ngữ lập trình khá cũ và có thể rất mạnh mẽ. C được thiết kế cho hệ điều hành Unix, nhưng đã được phát triển cho hầu hết các hệ điều hành. Phiên bản hiện đại của C là C ++.
Về cơ bản, C bao gồm các hàm và trong các hàm đó, bạn có thể sử dụng các biến, câu lệnh điều kiện và vòng lặp để lưu trữ và thao tác dữ liệu
Bước 3. Đọc mã cơ bản
Hãy xem các chương trình cơ bản sau đây để tìm hiểu các khía cạnh khác nhau của ngôn ngữ lập trình hoạt động như thế nào và để biết cách hoạt động của các chương trình.
bao gồm
int main () {printf ("Xin chào, Thế giới! / n"); getchar (); trả về 0; }
- Hàm #include được sử dụng trước khi chương trình bắt đầu và tải các thư viện có chức năng bạn cần. Trong chương trình này, stdio.h cho phép bạn sử dụng các hàm printf () và getchar ().
- Hàm int main () cho trình biên dịch biết rằng chương trình đang thực thi một hàm có tên là "main" và sẽ trả về một số nguyên khi hoàn tất. Tất cả các chương trình C đều thực hiện chức năng "chính".
- {} cho biết rằng tất cả mã trong đó là một phần của hàm. Trong chương trình này, tất cả mã trong đó được đưa vào hàm "chính".
- Hàm printf () trả về nội dung trong dấu ngoặc kép cho màn hình của người dùng. Dấu ngoặc kép được sử dụng để văn bản được in chính xác. / n yêu cầu trình biên dịch di chuyển con trỏ đến một dòng mới.
- ; đánh dấu cuối dòng. Hầu như tất cả các dòng mã C phải kết thúc bằng dấu chấm phẩy.
- Lệnh getchar () yêu cầu trình biên dịch đợi nhập liệu từ bàn phím trước khi tiếp tục. Điều này rất hữu ích vì nhiều trình biên dịch sẽ chạy chương trình và đóng cửa sổ ngay lập tức. Chức năng này ngăn chương trình kết thúc trước khi nhấn một phím.
- Lệnh return 0 biểu thị sự kết thúc của hàm. Lưu ý rằng hàm "main" là một hàm int. Tức là, "main" cần trả về một số nguyên sau khi chương trình kết thúc. Số không cho biết chương trình đã được thực thi chính xác; một số khác cho biết chương trình đã gặp lỗi.
Bước 4. Thử biên dịch chương trình
Nhập chương trình vào trình soạn thảo mã của bạn và lưu nó dưới dạng tệp "*.c". Biên dịch bằng cách nhấn nút Build hoặc Run.
Bước 5. Luôn nhận xét mã của bạn
Nhận xét là những đoạn mã không biên dịch, nhưng cho phép bạn giải thích những gì đang xảy ra. Nhận xét hữu ích để nhắc nhở bản thân về chức năng của mã của bạn và giúp các nhà phát triển khác có thể nhìn thấy mã của bạn.
- Để nhận xét mã trong C, hãy đặt / * ở đầu nhận xét và * / ở cuối nhận xét.
- Nhận xét tất cả các phần của mã ngoại trừ phần cơ bản nhất.
- Nhận xét có thể được sử dụng để loại trừ một số phần mã nhất định mà không xóa chúng. Bỏ ghi chú mã bạn muốn loại trừ và biên dịch chương trình. Nếu bạn muốn trả lại mã, hãy bỏ ghi chú mã đó.
Phần 2/6: Sử dụng các biến
Bước 1. Tìm hiểu chức năng của biến
Các biến cho phép bạn lưu trữ dữ liệu, từ các phép tính trong chương trình hoặc do người dùng nhập. Các biến phải được xác định trước khi chúng có thể được sử dụng và có một số loại biến để lựa chọn.
Các biến được sử dụng khá rộng rãi là int, char và float. Mỗi loại biến lưu trữ một loại dữ liệu khác nhau
Bước 2. Tìm hiểu cách khai báo biến
Các biến phải được tạo hoặc khai báo trước khi chương trình có thể sử dụng chúng. Khai báo một biến bằng cách nhập kiểu dữ liệu và tên biến. Ví dụ, có thể sử dụng các biến sau:
phao x; tên gọi; int a, b, c, d;
- Hãy nhớ rằng bạn có thể khai báo nhiều biến trong một hàng, miễn là chúng cùng kiểu. Phân cách tên của từng biến bằng dấu phẩy.
- Giống như hầu hết các dòng trong C, mỗi biến cần kết thúc bằng dấu chấm phẩy.
Bước 3. Biết nơi bạn có thể khai báo các biến
Các biến phải được khai báo ở đầu mỗi khối mã (bên trong {}). Nếu bạn cố gắng khai báo các biến sau đó, chương trình của bạn sẽ không chạy chính xác.
Bước 4. Sử dụng các biến để lưu trữ thông tin đầu vào của người dùng
Khi bạn hiểu cách hoạt động của các biến, bạn có thể viết các chương trình lưu trữ thông tin đầu vào của người dùng. Bạn sẽ sử dụng hàm scanf trong chương trình của mình. Hàm này tìm kiếm một đầu vào nhất định ở một giá trị được chỉ định.
bao gồm
int main () {int x; printf ("Nhập một số:"); scanf ("% d", & x); printf ("Bạn đã nhập% d", x); getchar (); trả về 0; }
- Dòng "% d" thông báo cho scanf tìm kiếm một số nguyên trong dữ liệu nhập của người dùng.
- Dấu & trước biến x cho scanf biết nơi biến cần được tìm thấy để thay đổi nó và lưu trữ một số nguyên trong biến.
- Lệnh printf cuối cùng trả về một số nguyên cho người dùng.
Bước 5. Thao tác với các biến của bạn
Bạn có thể sử dụng các biểu thức toán học để sửa đổi dữ liệu đã được lưu trữ trong một biến. Sự khác biệt trong các biểu thức toán học mà bạn nên hiểu là = đặt giá trị của một biến, trong khi == so sánh giá trị của cả hai bên để xem chúng có giống nhau hay không.
x = 3 * 4; / * đặt "x" thành 3 * 4 hoặc 12 * / x = x + 3; / * thêm 3 vào giá trị "x" ban đầu và đặt giá trị mới dưới dạng một biến * / x == 15; / * kiểm tra xem "x" có bằng 15 * / x <10 hay không; / * kiểm tra xem giá trị của "x" có nhỏ hơn 10 * / không
Phần 3/6: Sử dụng câu lệnh có điều kiện
Bước 1. Hiểu những điều cơ bản về câu lệnh điều kiện
Câu lệnh điều kiện là trọng tâm của nhiều chương trình và là câu lệnh có câu trả lời là TRUE hoặc FALSE, sau đó thực thi chương trình dựa trên kết quả. Câu lệnh điều kiện cơ bản nhất là if.
TRUE và FALSE hoạt động theo những cách khác nhau trong C. TRUE luôn kết thúc bằng một số khác 0. Khi bạn thực hiện so sánh, nếu kết quả là TRUE, số "1" sẽ được xuất ra. Nếu "FALSE", "0" sẽ thoát. Hiểu điều này sẽ giúp bạn hiểu cách các câu lệnh IF được xử lý
Bước 2. Tìm hiểu các toán tử điều kiện cơ bản
Các lệnh điều kiện sử dụng các toán tử toán học để so sánh các giá trị. Danh sách này chứa các toán tử điều kiện được sử dụng thường xuyên nhất.
/ * lớn hơn * / </ * nhỏ hơn * /> = / * lớn hơn hoặc bằng * / <= / * nhỏ hơn hoặc bằng * / == / * bằng * /! = / * không bằng đến */
10> 5 ĐÚNG 6 <15 ĐÚNG 8> = 8 ĐÚNG 4 <= 8 ĐÚNG 3 == 3 ĐÚNG 4! = 5 ĐÚNG
Bước 3. Viết câu lệnh IF cơ bản
Bạn có thể sử dụng câu lệnh IF để chỉ định chương trình sẽ làm gì sau khi một câu lệnh được kiểm tra. Bạn có thể kết hợp nó với các lệnh có điều kiện khác để tạo ra một chương trình nhiều lựa chọn tuyệt vời, nhưng lần này, hãy tạo một câu lệnh IF cơ bản để làm quen.
bao gồm
int main () {if (3 <5) printf ("3 nhỏ hơn 5"); getchar ();}
Bước 4. Sử dụng câu lệnh ELSE / IF để phát triển điều kiện của bạn
Bạn có thể mở rộng câu lệnh IF bằng cách sử dụng ELSE và ELSE IF để xử lý các kết quả khác nhau. Câu lệnh ELSE sẽ được thực thi nếu câu lệnh IF đánh giá là FALSE. ELSE IF cho phép bạn bao gồm nhiều câu lệnh IF trong một khối mã duy nhất để xử lý các trường hợp khác nhau. Đọc ví dụ sau để xem cách các câu lệnh điều kiện tương tác.
#include int main () {int age; printf ("Vui lòng nhập tuổi hiện tại của bạn:"); scanf ("% d", & age); if (age <= 12) {printf ("Bạn chỉ là một đứa trẻ! / n"); } else if (age <20) {printf ("Tuổi mới lớn thật tuyệt! / n"); } else if (age <40) {printf ("Bạn vẫn còn trẻ! / n"); } else {printf ("Cùng với tuổi khôn. / n"); } trả về 0; }
Chương trình lấy đầu vào từ người dùng và đưa nó qua các câu lệnh IF. Nếu số thỏa mãn câu lệnh đầu tiên, thì câu lệnh printf đầu tiên được trả về. Nếu nó không thỏa mãn câu lệnh đầu tiên, nó sẽ được thực hiện qua từng câu lệnh ELSE IF cho đến khi nó tìm thấy câu lệnh phù hợp. Nếu nó không khớp với bất kỳ cái nào trong số chúng, nó sẽ chuyển qua câu lệnh ELSE ở cuối
Phần 4/6: Vòng lặp học tập
Bước 1. Hiểu cách hoạt động của các vòng lặp
Vòng lặp là một trong những khía cạnh quan trọng nhất của lập trình, vì chúng cho phép bạn lặp lại các khối mã cho đến khi đáp ứng các điều kiện cụ thể. Điều này có thể làm cho các hành động lặp lại rất dễ thực hiện và giúp bạn không phải viết các câu lệnh điều kiện mới mỗi khi bạn muốn điều gì đó xảy ra.
Có ba loại vòng lặp chính: FOR, WHILE và DO… WHILE
Bước 2. Sử dụng vòng lặp FOR
Đây là loại vòng lặp phổ biến và hữu ích nhất. Nó sẽ tiếp tục chạy chức năng cho đến khi các điều kiện đặt trong vòng lặp FOR được đáp ứng. Vòng lặp FOR yêu cầu ba điều kiện: khởi tạo biến, các điều kiện cần đáp ứng và cách biến được cập nhật. Nếu bạn không cần tất cả các điều kiện này, bạn vẫn cần để lại khoảng trống với dấu chấm phẩy, nếu không vòng lặp sẽ chạy mãi mãi.
bao gồm
int main () {int y; for (y = 0; y <15; y ++;) {printf ("% d / n", y); } getchar ();}
Trong chương trình trên, y là 0 và vòng lặp sẽ tiếp tục miễn là giá trị của y nhỏ hơn 15. Mỗi lần giá trị của y được hiển thị, giá trị của y sẽ tăng lên 1 và sẽ tiếp tục lặp lại chính nó. Khi y đạt đến 15, vòng lặp sẽ dừng lại
Bước 3. Sử dụng vòng lặp WHILE
Vòng lặp WHILE đơn giản hơn vòng lặp FOR, bởi vì nó chỉ có một điều kiện và sẽ lặp lại miễn là điều kiện đúng. Bạn không cần bắt đầu hoặc cập nhật các biến, mặc dù bạn có thể làm điều đó trong vòng lặp cốt lõi.
#include int main () {int y; while (y <= 15) {printf ("% d / n", y); y ++; } getchar (); }
Lệnh y ++ thêm 1 vào biến y mỗi khi vòng lặp được thực hiện. Khi y đạt đến 16 (hãy nhớ rằng vòng lặp này sẽ chạy miễn là y nhỏ hơn hoặc bằng 15), vòng lặp sẽ dừng lại
Bước 4. Sử dụng nút "DO
.. WHILE . Vòng lặp này hữu ích nếu bạn muốn đảm bảo rằng vòng lặp được thực thi ít nhất một lần. Trong vòng lặp FOR và WHILE, điều kiện của vòng lặp được kiểm tra ở đầu vòng lặp, cho phép điều kiện không được đáp ứng và vòng lặp thất bại. Vòng lặp DO… WHILE kiểm tra điều kiện ở vòng lặp kết thúc, đảm bảo vòng lặp được thực hiện ít nhất một lần.
#include int main () {int y; y = 5; do {printf ("Vòng lặp này đang chạy! / n"); } while (y! = 5); getchar (); }
- Vòng lặp này sẽ hiển thị thông báo ngay cả khi điều kiện là FALSE. Biến y được đặt thành 5 và vòng lặp được thiết lập để chạy khi y không bằng 5, do đó, vòng lặp dừng lại. Thông báo được in vì điều kiện chưa được kiểm tra cho đến khi kết thúc chương trình.
- Vòng lặp WHILE trong gói DO… WHILE phải kết thúc bằng dấu chấm phẩy. Trường hợp này là trường hợp duy nhất mà vòng lặp kết thúc bằng dấu chấm phẩy.
Phần 5/6: Sử dụng các hàm
Bước 1. Hiểu khái niệm cơ bản về hàm
Hàm là các đoạn mã có thể được gọi từ các phần khác của chương trình. Các chức năng cho phép bạn lặp lại mã một cách dễ dàng và làm cho các chương trình dễ đọc và sửa đổi hơn. Bạn có thể sử dụng tất cả các kỹ thuật trong bài viết này trong một hàm và thậm chí sử dụng các hàm khác.
- Dòng main () ở đầu toàn bộ ví dụ này là một hàm, cũng như getchar ()
- Việc sử dụng các chức năng là điều cần thiết để mã hiệu quả và có thể đọc được. Sử dụng các chức năng tốt nhất có thể để tạo một chương trình gọn gàng.
Bước 2. Bắt đầu với một dàn ý
Các hàm nên được tạo sau khi bạn đã phác thảo cách sử dụng của chúng trước khi bắt đầu lập trình. Cú pháp cơ bản của một hàm là "return_type name (đối số1, đối số2, v.v.);". Ví dụ: để tạo một hàm cộng hai số:
int add (int x, int y);
Đoạn mã này sẽ tạo một hàm cộng hai số nguyên (x và y) và sau đó trả về kết quả là một số nguyên
Bước 3. Sử dụng một hàm trong một chương trình
Bạn có thể sử dụng đề cương chương trình để tạo một chương trình chấp nhận hai đầu vào số nguyên từ người dùng và sau đó thêm chúng. Chương trình sẽ kiểm soát cách hoạt động của hàm tăng và sử dụng nó để thay đổi số đã nhập.
#include int add (int x, int y); int main () {int x; int y; printf ("Nhập hai số cần cộng với nhau:"); scanf ("% d", & x); scanf ("% d", & y); printf ("Tổng các số của bạn là% d / n", add (x, y)); getchar (); } int add (int x, int y) {return x + y; }
- Lưu ý rằng đề cương chương trình nằm ở trên cùng. Đề cương này cho trình biên dịch biết phải làm gì khi hàm được gọi và kết quả của hàm. Đề cương này chỉ hữu ích nếu bạn muốn xác định các chức năng trong các phần khác của chương trình. Bạn có thể định nghĩa add () trước main () và kết quả sẽ giống nhau.
- Chức năng thực tế của một hàm được định nghĩa ở cuối chương trình. Hàm main () chấp nhận đầu vào số nguyên từ người dùng và chuyển nó cho hàm add () để xử lý. Hàm add () trả về kết quả cho hàm main ()
- Sau khi add () được định nghĩa, hàm có thể được gọi ở bất kỳ đâu trong chương trình.
Phần 6/6: Tiếp tục bài học
Bước 1. Tìm một số C SGK
Bài viết này trình bày những kiến thức cơ bản về lập trình C, nhưng chỉ đề cập đến bề nổi. Một cuốn sách tham khảo hay sẽ giúp bạn giải quyết vấn đề và giúp bạn vượt qua sự bối rối.
Bước 2. Tham gia cộng đồng
Nhiều cộng đồng, cả trực tuyến và ngoại tuyến, dành riêng cho lập trình và ngôn ngữ lập trình. Tìm các lập trình viên C khác để trao đổi ý tưởng và viết mã, và bạn cũng sẽ học được rất nhiều điều.
Tham dự các sự kiện hackathon bất cứ khi nào có thể. Đây là một sự kiện mà các đội và lập trình viên chạy đua với thời gian để lập trình và giải quyết vấn đề, thường tạo ra các kết quả sáng tạo. Bạn có thể tìm thấy nhiều lập trình viên tài năng tại sự kiện được tổ chức thường xuyên này trên khắp thế giới
Bước 3. Tham gia một lớp học lập trình
Bạn không cần phải học Kỹ thuật Tin học, nhưng tham gia các lớp học lập trình sẽ thực sự giúp ích cho quá trình học tập của bạn. Không có sự trợ giúp nào lớn hơn sự giúp đỡ của một người quen thuộc với ngôn ngữ lập trình từ trong ra ngoài. Bạn có thể tham gia các lớp học lập trình tại các trung tâm thanh thiếu niên và các trường cao đẳng gần đó, và một số trường cao đẳng cho phép bạn tham gia các lớp học của họ mà không cần là sinh viên.
Bước 4. Học C ++
Một khi bạn hiểu C, việc học C ++ sẽ không bao giờ là vấn đề. C ++ là một phiên bản hiện đại của C, linh hoạt hơn. C ++ được thiết kế với mục đích xử lý đối tượng và hiểu C ++ sẽ cho phép bạn tạo các chương trình mạnh mẽ cho nhiều hệ điều hành khác nhau.
Lời khuyên
- Luôn thêm nhận xét vào chương trình của bạn. Nhận xét không chỉ giúp người khác nhìn thấy mã của bạn, chúng còn giúp bạn nhớ những gì bạn đã viết và lý do bạn viết mã. Bạn có thể biết những gì bạn đã viết ngay bây giờ, nhưng sau hai hoặc ba tháng, bạn sẽ không nhớ nó.
- Luôn kết thúc các câu lệnh như printf (), scanf (), getch (), v.v. bằng dấu chấm phẩy, nhưng không sử dụng dấu chấm phẩy trong các câu lệnh điều khiển vòng lặp như "if", "while" hoặc "for".
- Khi gặp lỗi cú pháp trong quá trình biên dịch, hãy thực hiện tìm kiếm trên Google nếu bạn thấy nhầm lẫn. Nhiều khả năng ai đó khác đã trải qua điều tương tự và đã đăng một giải pháp.
- Mã nguồn C của bạn phải có phần mở rộng *. C để trình biên dịch có thể hiểu rằng tệp của bạn là mã nguồn C.
- Hãy nhớ rằng siêng năng luôn luôn thông minh. Bạn càng chăm chỉ luyện tập lập trình, bạn càng nhanh chóng có thể lập trình trôi chảy. Bắt đầu với các chương trình ngắn, đơn giản cho đến khi bạn thành thạo và khi đã tự tin, bạn có thể làm việc trên các chương trình phức tạp hơn.
- Cố gắng học cấu trúc logic vì nó sẽ rất hữu ích khi viết mã.