Lập trình máy tính - Cú pháp cơ bản

Hãy bắt đầu với một chút mã hóa, điều này sẽ giúp bạn thực sự trở thành một lập trình viên máy tính. Chúng ta sẽ viết một chương trình máy tính một dòng để viếtHello, World!trên màn hình của bạn. Hãy xem cách nó có thể được viết bằng các ngôn ngữ lập trình khác nhau.

Chương trình Hello World in C

Hãy thử ví dụ sau bằng cách sử dụng tùy chọn trình biên dịch trực tuyến của chúng tôi có sẵn tại www.compileonline.com .

Đối với hầu hết các ví dụ được đưa ra trong hướng dẫn này, bạn sẽ tìm thấy Try it trong phần mã trang web của chúng tôi ở góc trên cùng bên phải sẽ đưa bạn đến trình biên dịch trực tuyến.

Cố gắng thay đổi nội dung bên trong printf (), tức là nhập bất cứ thứ gì thay cho Hello World!và sau đó kiểm tra kết quả của nó. Nó chỉ in bất cứ thứ gì bạn giữ bên trong hai dấu ngoặc kép.

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
}

tạo ra kết quả sau:

Hello, World!

Chương trình Hello World nhỏ này sẽ giúp chúng ta hiểu các khái niệm cơ bản khác nhau liên quan đến Lập trình C.

Điểm đầu vào chương trình

Bây giờ, chỉ cần quên về #include <stdio.h> nhưng hãy lưu ý rằng bạn phải đặt câu lệnh này ở đầu chương trình C.

Mọi chương trình C đều bắt đầu bằng hàm main (), được gọi là hàm chính, sau đó được theo sau bởi một dấu ngoặc nhọn bên trái. Phần còn lại của lệnh chương trình được viết ở giữa và cuối cùng là dấu ngoặc nhọn bên phải kết thúc chương trình.

Phần mã hóa bên trong hai dấu ngoặc nhọn này được gọi là phần thân chương trình. Dấu ngoặc nhọn bên trái có thể ở cùng dòng với main () {hoặc ở dòng tiếp theo giống như nó đã được đề cập trong chương trình trên.

Chức năng

Chức năng là những đơn vị nhỏ của chương trình và chúng được sử dụng để thực hiện một nhiệm vụ cụ thể. Ví dụ, chương trình trên sử dụng hai hàm:main()printf(). Ở đây, hàm main () cung cấp điểm đầu vào để thực thi chương trình và hàm printf () khác đang được sử dụng để in một thông tin trên màn hình máy tính.

Bạn có thể viết các hàm của riêng mình mà chúng ta sẽ thấy trong một chương riêng, nhưng bản thân lập trình C cung cấp các hàm tích hợp sẵn khác nhau như main (), printf (), v.v., chúng ta có thể sử dụng trong các chương trình của mình dựa trên yêu cầu của chúng ta.

Một số ngôn ngữ lập trình sử dụng từ sub-routine thay vì chức năng, nhưng chức năng của chúng ít nhiều giống nhau.

Bình luận

Chương trình AC có thể có các câu lệnh kèm theo bên trong /*.....*/. Những câu lệnh như vậy được gọi là bình luận và những bình luận này được sử dụng để làm cho chương trình thân thiện và dễ hiểu với người dùng. Điều tốt về các bình luận là chúng hoàn toàn bị bỏ qua bởi các trình biên dịch và thông dịch viên. Vì vậy, bạn có thể sử dụng bất kỳ ngôn ngữ nào bạn muốn để viết bình luận của mình.

Khoảng trắng

Khi chúng tôi viết một chương trình bằng bất kỳ ngôn ngữ lập trình nào, chúng tôi sử dụng các ký tự có thể in được khác nhau để chuẩn bị các câu lệnh lập trình. Các ký tự có thể in này làa, b, c,......z, A, B, C,.....Z, 1, 2, 3,...... 0, !, @, #, $, %, ^, &, *, (, ), -, _, +, =, \, |, {, }, [, ], :, ;, <, >, ?, /, \, ~. `. ", '. Hy vọng tôi không bỏ lỡ bất kỳ ký tự có thể in nào từ bàn phím của bạn.

Ngoài những ký tự này, có một số ký tự mà chúng tôi sử dụng rất thường xuyên nhưng chúng ẩn trong chương trình của bạn và những ký tự này là dấu cách, tab (\ t), dòng mới (\ n). Những ký tự này được gọi làwhitespaces.

Ba ký tự khoảng trắng quan trọng này phổ biến trong tất cả các ngôn ngữ lập trình và chúng vẫn ẩn trong tài liệu văn bản của bạn -

Khoảng trắng Giải trình Đại diện
Dòng mới Để tạo một dòng mới \ n
Chuyển hướng Để tạo một tab. \ t
Không gian Để tạo khoảng trống. không gian trống

Một dòng chỉ chứa khoảng trắng, có thể kèm theo chú thích, được gọi là dòng trống và trình biên dịch C hoàn toàn bỏ qua nó. Khoảng trắng là thuật ngữ được sử dụng trong C để mô tả khoảng trống, tab, ký tự dòng mới và nhận xét. Vì vậy, bạn có thể viếtprintf("Hello, World!" );như hình bên dưới. Đây là tất cả các không gian được tạo xung quanh "Hello, World!" là vô ích và trình biên dịch sẽ bỏ qua chúng tại thời điểm biên dịch.

#include <stdio.h>

int main() {

   /* printf() function to write Hello, World! */
   
   printf(    "Hello, World!"      );
   
}

tạo ra kết quả sau:

Hello, World!

Nếu chúng ta hiển thị tất cả các ký tự khoảng trắng này, thì chương trình trên sẽ giống như thế này và bạn sẽ không thể biên dịch nó -

#include <stdio.h>\n
\n
int main()\n
{
   \n
   \t/* printf() function to write Hello, World! */
   \n 
   \tprintf(\t"Hello, World!"\t);\n
   \n
}\n

Dấu chấm phẩy

Mỗi câu lệnh riêng lẻ trong Chương trình C phải được kết thúc bằng dấu chấm phẩy (;), ví dụ: nếu bạn muốn viết "Hello, World!" hai lần, sau đó nó sẽ được viết như sau:

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!\n" );
   printf( "Hello, World!" );
}

Chương trình này sẽ tạo ra kết quả sau:

Hello, World! 
Hello, World!

Ở đây, chúng tôi đang sử dụng một ký tự dòng mới \ntrong hàm printf () đầu tiên để tạo một dòng mới. Hãy để chúng tôi xem điều gì sẽ xảy ra nếu chúng tôi không sử dụng ký tự dòng mới này -

#include <stdio.h>

int main() {
   /* printf() function to write Hello, World! */
   printf( "Hello, World!" );
   printf( "Hello, World!" );
}

Chương trình này sẽ tạo ra kết quả sau:

Hello, World! Hello, World!

Chúng ta sẽ tìm hiểu các từ định danh và từ khóa trong vài chương tiếp theo.

Giải thích chương trình

Hãy để chúng tôi hiểu cách thức hoạt động của chương trình C trên. Trước hết, chương trình trên được chuyển đổi thành định dạng nhị phân bằng trình biên dịch C. Vì vậy, hãy đặt mã này trong tệp test.c và biên dịch nó như sau:

$gcc test.c -o demo

Nếu có bất kỳ lỗi ngữ pháp nào (Lỗi cú pháp trong thuật ngữ máy tính), chúng tôi sẽ sửa nó trước khi chuyển nó sang định dạng nhị phân. Nếu mọi thứ suôn sẻ, thì nó sẽ tạo ra một tệp nhị phân có têndemo. Cuối cùng, chúng tôi thực hiện bản demo nhị phân đã tạo như sau:

$./demo

tạo ra kết quả sau:

Hello, World!

Ở đây, khi chúng ta thực thi mã nhị phân a.out, máy tính vào bên trong chương trình bắt đầu từ main () và gặp câu lệnh printf (). Hãy lưu ý rằng dòng bên trong /*....*/ là một nhận xét và nó được lọc tại thời điểm biên dịch. Vì vậy hàm printf () chỉ thị cho máy tính in dòng đã cho trên màn hình máy tính. Cuối cùng, nó gặp phải một dấu ngoặc nhọn cho biết kết thúc của hàm main () và thoát khỏi chương trình.

Lỗi cú pháp

Nếu bạn không tuân theo các quy tắc được xác định bởi ngôn ngữ lập trình, thì tại thời điểm biên dịch, bạn sẽ gặp lỗi cú pháp và chương trình sẽ không được biên dịch. Từ quan điểm cú pháp, ngay cả một dấu chấm hoặc dấu phẩy hoặc một dấu chấm phẩy duy nhất cũng quan trọng và bạn cũng nên quan tâm đến những cú pháp nhỏ như vậy. Trong ví dụ sau, chúng ta đã bỏ qua dấu chấm phẩy, hãy thử biên dịch chương trình -

#include <stdio.h>

main() {
   printf("Hello, World!")
}

Chương trình này sẽ tạo ra kết quả sau:

main.c: In function 'main':
main.c:7:1: error: expected ';' before '}' token
 }
 ^

Vì vậy, điểm mấu chốt là nếu bạn không tuân theo cú pháp thích hợp được xác định bởi ngôn ngữ lập trình trong chương trình của bạn, thì bạn sẽ gặp lỗi cú pháp. Trước khi thử biên dịch khác, bạn cần sửa chúng và sau đó tiếp tục.

Chương trình Hello World bằng Java

Sau đây là chương trình tương đương được viết bằng Java. Chương trình này cũng sẽ cho kết quả tương tựHello, World!.

public class HelloWorld { 
   public static void main(String []args) {
      /* println() function to write Hello, World! */
      System.out.println("Hello, World!");     
   }
}

tạo ra kết quả sau:

Hello, World!

Chương trình Hello World bằng Python

Sau đây là chương trình tương đương được viết bằng Python. Chương trình này cũng sẽ cho kết quả tương tựHello, World!.

#  print function to write Hello, World! */
print "Hello, World!"

tạo ra kết quả sau:

Hello, World!

Hy vọng bạn lưu ý rằng đối với các ví dụ C và Java, đầu tiên chúng tôi đang biên dịch các chương trình và sau đó thực thi các tệp nhị phân được tạo ra, nhưng trong chương trình Python, chúng tôi trực tiếp thực thi nó. Như chúng tôi đã giải thích trong chương trước, Python là một ngôn ngữ thông dịch và nó không cần một bước trung gian gọi là biên dịch.

Python không yêu cầu dấu chấm phẩy (;) để kết thúc một câu lệnh, thay vào đó một dòng mới luôn có nghĩa là kết thúc câu lệnh.