Ngôn ngữ lập trình nào cũng cần phải có các cấu trúc cú pháp cụ thể. Nó được hiểu là những thứ cung cấp về cấu trúc của mỗi ngôn ngữ lập trình. Tất cả những gì mà nhà phát triển nhập vào máy tính – trình biên dịch phải hiểu. Khi nhập cú pháp đúng thì máy tính sẽ có thể hiểu được những gì mà bạn đang thực hiện. Còn nếu cú pháp không đúng thì máy tính sẽ bị nhầm lẫn và không thể xác định được cách biên dịch của bạn. Cùng Box.edu tìm hiểu thêm về cú pháp C nhé!
Xem thêm: Hướng dẫn cách sử dụng bộ nhớ tệp C FILE I/O
Xem thêm: FOPEN in C – Cách mở tệp để đọc, ghi và sửa đổi
Xem thêm: Lập trình hướng đối tượng là gì? Hướng dẫn cách sử dụng
Mục lục bài viết
Tổng quan về ngôn ngữ C
Tổng quan về ngôn ngữ C
Có thể nói thành phần cơ bản nhất của ngôn ngữ lập trình C chính là các mã thông báo, trong đó mỗi mã sẽ được trình biên dịch C sử dụng theo một cách cụ thể. Ngoài ra Token sẽ được coi là khối xây dựng cơ bản của một chương trình C.
C như là một ngôn ngữ
C là một trong những ngôn ngữ lâu đời nhất và được sử dụng phổ biến cho đến ngày nay. Được phát triển lần đầu tiên vào những năm 1973, ngoài ra nó có mức độ trừu tượng thấp hơn so với các ngôn ngữ hiện đại khác, ví dụ như Java, C ++ và C #. Đặc biệt ngôn ngữ C, cùng với Java là một trong những ngôn ngữ đầu tiên mà nhiều lập trình viên sẽ bắt đầu việc học của mình.
Với C, sự cân bằng được chú ý đầu tiên mặc dù sẽ có ít quy trình hơn (ví dụ như cấp phát bộ nhớ và quản lý bộ nhớ) được tự động hóa, nhiều quy trình nằm trong tay của lập trình viên trực tiếp kiểm soát. Các nhà lập trình viên có thể phát triển lập trình của họ bằng cách làm việc với C và phát triển mức độ hiểu biết cao hơn về các nguyên tắc cơ bản của lập trình.
Là một trong những ngôn ngữ được sử dụng nhiều nhất trên thế giới, do vậy C được hỗ trợ tốt – không chỉ có nhiều hướng dẫn, bài học, bootcamps mà những ví dụ về lập trình còn được thực hiện tại một cộng đồng phát triển lớn. Chính vì vậy nếu bạn gặp bất kỳ vấn đề nào với cú pháp, thì bạn vẫn có thể đặt câu hỏi trong bất kỳ cộng đồng phát triển nào và nhận được câu trả lời một cách nhanh chóng.
Khái niệm cơ bản về cú pháp C
Trước khi bắt đầu tìm hiểu về các mã thông báo thì sẽ cần thảo luận về các cú pháp cơ bản. Quan trọng là bạn phải nắm được những điểm sau đây:
- Mọi dòng đều được kết thúc bằng dấu chấm phẩy
- Khoảng trắng (bên ngoài trích dẫn) phần lớn đêu sẽ bị bỏ qua
- Ngoài ra không cần phải có khoảng trắng xung quanh các từ khóa và biến
- Cuối cùng là mọi thứ đều sẽ được phân biệt chữ hoa và chữ thường trong C
Với trường hợp bạn gặp lỗi cú pháp C thường là dấu chấm phẩy đặt sai vị trí hoặc một vấn đề khác. Khi đó vấn đề mà nhiều người quan tâm đó là các lỗi cú pháp C sẽ xuất hiện trong các chương trình lập trình C.
Các mã thông báo trong cú pháp C
Thực tế khối xây dựng cơ bản của ngôn ngữ C chính là mã thông báo. Mã này có thể đọc được và rất dễ hiểu. Còn với máy tính thì mã thông báo chỉ là viết tắt của một hoạt động mà nó phải thực hiện. Trong ngôn ngữ C có các mã thông báo là:
- Từ khóa
- Định danh
- Liên tục
- Chuỗi chữ
- Biểu tượng
Mỗi mã thông báo sẽ được trình biên dịch đọc riêng biệt và trình biên dịch hiểu rằng nó phải làm gì với mỗi mã thông báo này. Nếu các mã thông báo không được viết hoặc sử dụng đúng cách, thì sẽ xảy ra lỗi trình biên dịch dẫn đến không biên dịch được.
Khi lập trình trong IDE (Môi trường phát triển tích hợp), IDE sẽ đánh dấu các mã thông báo C khác nhau với các màu khác nhau. Các từ khóa có thể là màu xanh lam sáng, trong khi đó các hằng số có thể có màu đỏ. Ngoài ra IDE giúp cho việc lập trình trở nên dễ dàng hơn rất nhiều. Nhiều IDE hiện đại cũng có thể chuyển đổi giữa các cú pháp, vì vậy bạn có thể đánh dấu C, Java hoặc C ++.
Thông thường không cần thiết phải ghi nhớ từng mã thông báo, nhưng bắt buộc phải có sự quen thuộc cơ bản. Khi bạn hiểu các mã thông báo cơ bản và cách chúng hoạt động thì bạn sẽ dễ dàng tra cứu bất kỳ thông tin chuyên biệt nào.
Các từ khóa trong C
Từ khóa trong C là một từ dành riêng có công dụng đặc biệt trong cú pháp C. Bạn không nên sử dụng một từ khóa làm tên biến hoặc tên hàm vì trình biên dịch sẽ không thể biên dịch được. Hiện nay có rất nhiều từ khóa trong C, nhưng dưới đây là một vài từ khóa phổ biến nhất:
- if / else: Các từ khóa này đều có thể bắt đầu từ cổng logic “if”… “else”, đây là một phương pháp phổ biến để kiểm soát luồng chương trình. Ngoài ra “If” cũng có thể đứng một mình
- break: Thao tác này sẽ giúp ngắt chương trình ra khỏi phần nội dung của mã mà nó đang ở trong đó, kết thúc hiệu quả phương thức mà nó đang ở trong đó
- return: Điều này kết thúc hàm mà nó đang ở trong đó và trả về một giá trị, ví dụ như “return 0” hoặc “return 1”.
- int: Điều này xác định một biến số nguyên, hay còn được gọi là một số thông thường
- char: Điều này cũng xác định một biến ký tự, có thể là một ký tự đơn hoặc một mảng chuỗi
Đồng thời bạn sẽ thường xuyên phải sử dụng những từ khóa này trong C. Và chúng cũng trở nên vô cùng quen thuộc. Điều quan trọng nhất là chúng không bao giờ được sử dụng ở nơi khác. Bạn sẽ không muốn đặt tên cho một hàm là “break” hoặc một số nguyên “return”.
Định dạng trong ngôn ngữ C
Định dạng trong ngôn ngữ C
Việc nhận dạng một chuỗi văn bản do người dùng xác định được sử dụng để xác định một hàm cụ thể, một biến hoặc con trỏ. Số nhận dạng có thể chứa các chữ cái từ A đến Z, số từ 0 đến 0 và có dấu gạch dưới. Ngoài ra chúng không thể bao gồm các ký tự đặc biệt như dấu chấm hỏi và chấm than.
Còn nếu bạn muốn tạo một số nguyên có tên “num” trong C, thì bạn cũng có thể thực hiện như sau:
int num;
Trong trường hợp này, “num” đã trở thành một số nhận dạng. Bằng cách này thì số nhận dạng giống như một từ khóa mà bạn được phép tự đặt.
Trong C, hầu hết các lập trình viên đều sử dụng một thứ gọi là trường hợp lạc đà. Các biến sẽ được đặt tên như sau:
firstNumber
secondNumber
thirdNumber
Một giải pháp thay thế cho điều này được nhấn mạnh. Tuy nhiên điều này cũng ít phổ biến hơn trong lập trình C. Và chúng sẽ phổ biến hơn trong các ngôn ngữ như PHP:
first_number
second_number
third_number
Trên thực tế, không có cách “đúng hay sai”. Để tạo mã nhận dạng của bạn, nhưng bạn phải luôn nhất quán trong mã của mình. Nếu không, bạn sẽ phải kiểm tra mỗi khi muốn tham chiếu một điều gì đó.
Ngoài tính nhất quán, các biến phải luôn mang tính mô tả. Các biến tốt nhất bao gồm:
- tên tài khoản
- mật khẩu mở khóa
Ví dụ về các biến xấu là:
- Điều
- secondVariable
- sợi dây
Trong khi các thuật ngữ chung chung như “num” hoặc “string”. Có thể được sử dụng trong các ví dụ và chúng thường không được khuyến khích ở các mã thực tế.
Hằng số trong cú pháp C
Trong C, có một thứ gọi là “phạm vi”. Một biến được xác định trong một hàm không thể được truy cập bên ngoài hàm đó. Điều này sẽ có ích bởi vì nó có nghĩa là bạn có thể sử dụng các biến tương tự. Bên trong nhiều hàm (ví dụ, một biến “đếm”).
Một giải pháp là liên tục truyền biến cho các hàm đã cho. Nhưng điều đó sẽ khó sử dụng một cách nhanh chóng. Ngôn ngữ C có một giải pháp khác: các biến hằng, còn được gọi là các chữ. Hằng số có thể là bất kỳ kiểu dữ liệu nào. Sau khi được xác định, một hằng số sẽ có thể truy cập được từ bất kỳ đâu trong mã.
Nếu bạn muốn tạo một hằng số int gọi là num, bạn sẽ định nghĩa nó như sau:
const int NUM;
Bạn cũng có thể bắt đầu bằng một giá trị:
const int NUM = 0;
Nhìn chung là luôn đặt tên các hằng số bằng chữ hoa. Điều này sẽ dễ dàng xác định vị trí của chúng hơn khi đọc các dòng mã. Ngoài ra, bạn không nên đặt tên các biến khác bằng chữ hoa. Vì chúng sẽ bị nhầm lẫn với các hằng số.
const int DEBUG = 1;
Đối với trường hợp này, nếu hằng số GỠ LỖI là “true” (1). Thì thông báo gỡ lỗi sẽ in ra trong khi chương trình chạy. Nếu hằng số Gỡ lỗi là “false” (0), thông báo gỡ lỗi sẽ không được in ra. Việc có hằng số GỬI giúp nhà phát triển có thể bật. Và tắt thông báo gỡ lỗi trong suốt chương trình chỉ với một lần bật tắt. Các hằng số nên được sử dụng một cách tiết kiệm. Không phải tất cả các biến đều phải là hằng số. Thay vào đó, hằng số nên được sử dụng cho các biến và cài đặt toàn hệ thống.
Tổng kết
Hy vọng rằng những thông tin được Box.edu chia sẻ ở bài viết này. Sẽ giúp các bạn nắm được những thông tin về cú pháp C một cách chính xác nhất. Nhờ vào đó cũng giúp cho việc tiếp cận đến ngôn ngữ lập trình C trở nên hiệu quả hơn.