C là gì?

C là ngôn ngữ lập trình hướng thủ tục. Ngôn ngữ lập trình C được phát triển bởi Dennis Ritchie vào năm 1972. Nó chủ yếu được phát triển theo hướng ngôn ngữ lập trình hệ thống để viết một hệ điều hành.

Tính năng chính của C

Tính năng chính của ngôn ngữ lập trình C bao gồm:

  • Quyền truy cập vào bộ nhớ cấp thấp
  • Bộ keyword đơn giản
  • Clean style

Những tính năng này khiến C phù hợp với các chương trình hệ thống như hệ điều hành hoặc phát triển trình biên dịch.

Nhiều ngôn ngữ sau này đã trực tiếp hoặc gián tiếp mượn cú pháp/tính năng của C như: Java, PHP, JavaScript. C++ gần như là một ngôn ngữ siêu thay thế cho C (Có rất ít chương trình có thể biên dịch bằng C, mà không biên dịch được trong C ++).

Do đó, dù C hiện nay không còn phổ biến so với trước, nhưng học C vẫn giúp bạn có được những kiến thức nền tảng khi tiếp cận với những ngôn ngữ đã vay mượn tính năng từ C.

Dưới đây là những bài học C cơ bản mà bọn mình đã tổng hợp được, mời các bạn tham khảo.

  • time.h trong C time.h trong C
    Header file có tên time.h trong Thư viện C chuẩn định nghĩa 4 kiểu biến, hai macro và các hàm đa dạng để thao tác với date và time.
  • Hàm printf() trong C Hàm printf() trong C
    Hàm printf() trong Thư viện C chuẩn gửi output đã được định dạng tới một stdout.
  • Hàm strxfrm() trong C Hàm strxfrm() trong C
    Hàm size_t strxfrm(char *dest, const char *src, size_t n) biến đổi n ký tự đầu tiên của chuỗi src vào trong locale hiện tại và đặt chúng trong chuỗi dest.
  • Hàm strtok() trong C Hàm strtok() trong C
    Hàm char *strtok(char *str, const char *delim) chia chuỗi str thành một dãy các token được phân biệt riêng rẽ bởi dấu tách delim (ví dụ: dấu phảy,...).
  • Hàm strspn() trong C Hàm strspn() trong C
    Hàm size_t strspn(const char *str1, const char *str2) tính toán độ dài của đoạn ký tự đầu tiên của chuỗi str1 mà chứa các ký tự trong str2
  • Hàm strrchr() trong C Hàm strrchr() trong C
    Hàm char *strrchr(const char *str, int c) tìm kiếm sự xuất hiện cuối cùng của ký tự c (một unsigned char) trong chuỗi được trỏ tới bởi tham số str.
  • Hàm strpbrk() trong C Hàm strpbrk() trong C
    Hàm char *strpbrk(const char *str1, const char *str2) tìm ký tự đầu tiên trong chuỗi str1 mà kết nối bất cứ ký tự nào đã được xác định trong str2. (không bao gồm ký tự null kết thúc).
  • Hàm strlen() trong C Hàm strlen() trong C
    Hàm size_t strlen(const char *str) tính toán độ dài của chuỗi str (không bao gồm ký tự null kết thúc).
  • Hàm strerror() trong C Hàm strerror() trong C
    Hàm char *strerror(int errnum) tìm kiếm một mảng nội tại cho số lỗi errnum và trả về một con trỏ tới một chuỗi thông báo lỗi.
  • Hàm strcspn() trong C Hàm strcspn() trong C
    Hàm size_t strcspn(const char *str1, const char *str2) tính độ dài của đoạn ký tự của chuỗi str1 mà không chứa các ký tự trong str2.
  • Hàm strncpy() trong C Hàm strncpy() trong C
    Hàm char *strncpy(char *dest, const char *src, size_t n) copies up to n sao chép tới n ký tự từ chuỗi được trỏ tới bởi src tới dest. Trong trường hợp độ dài của src là nhỏ hơn n, thì phần dư hay phần còn lại của dest sẽ được điền bởi các giá trị null.
  • Hàm strcpy() trong C Hàm strcpy() trong C
    Hàm char *strcpy(char *dest, const char *src) sao chép chuỗi được trỏ tới bởi src tới dest.
  • Hàm strcoll() trong C Hàm strcoll() trong C
    Hàm int strcoll(const char *str1, const char *str2) so sánh chuỗi str1 và str2. Kết quả phụ thuộc vào thiết lập LC_COLLATE.
  • Hàm strncmp() trong C Hàm strncmp() trong C
    Hàm int strncmp(const char *str1, const char *str2, size_t n) so sánh n byte đầu tiên của str1 và str2.
  • Hàm strcmp() trong C Hàm strcmp() trong C
    Hàm int strcmp(const char *str1, const char *str2) so sánh chuỗi được trỏ tới bởi sr1 với chuỗi được trỏ tới bởi srt2.
  • Hàm strchr() trong C Hàm strchr() trong C
    Hàm char *strchr(const char *str, int c) tìm kiếm sự xuất hiện đầu tiên của ký tự c (một unsigned char) trong chuỗi được trỏ tới bởi tham số str.
  • Hàm strncat() trong C Hàm strncat() trong C
    Hàm char *strncat(char *dest, const char *src, size_t n) phụ thêm (append) chuỗi, được trỏ tới bởi src, vào cuối chuỗi được trỏ tới bởi dest, với độ dài lên tới n ký tự.
  • Hàm strcat trong C Hàm strcat trong C
    Hàm char *strcat(char *dest, const char *src) phụ thêm (append) chuỗi được trỏ tới bởi src, vào cuối chuỗi được trỏ tới bởi dest.
  • Hàm memset() trong C Hàm memset() trong C
    Hàm void *memset(void *str, int c, size_t n) sao chép ký tự c (một unsigned char) tới n ký tự đầu tiên của chuỗi được trỏ tới bởi tham số str.
  • Hàm memmove trong C Hàm memmove trong C
    Hàm void *memmove(void *str1, const void *str2, size_t n) Sao chép n ký tự từ str2 sang str1, nhưng để giải quyết việc trùng khớp các khối bộ nhớ, thì memmove() là một hướng tiếp cận an toàn hơn hàm memcpy().