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.

  • Hàm atexit() trong C Hàm atexit() trong C
    Hàm int atexit(void (*func)(void)) gọi hàm func khi chương trình kết thúc. Bạn có thể đăng ký hàm kết thúc (hàm func) của bạn ở bất cứ đâu bạn thích, nhưng hàm này sẽ được gọi tại thời điểm kết thúc chương trình.
  • Hàm scanf() trong C Hàm scanf() trong C
    Hàm int scanf(const char *format, ...) trong Thư viện C chuẩn đọc input đã được định dạng từ stdin.
  • Hàm qsort() trong C Hàm qsort() trong C
    Hàm void qsort(void *base, so-phan-tu, kich-co, int (*compar)(const void *, const void*)) sắp xếp một mảng.
  • Hàm memcpy() trong C Hàm memcpy() trong C
    Hàm void *memcpy(void *str1, const void *str2, size_t n) sao chép n ký tự từ str2 tới str1.
  • Hàm strstr() trong C Hàm strstr() trong C
    Hàm char *strstr(const char *haystack, const char *needle) tìm kiếm sự xuất hiện cuối cùng của cả chuỗi needle (không bao gồm ký tự null kết thúc) mà có mặt trong chuỗi haystack.
  • Hàm fputc() trong C Hàm fputc() trong C
    Hàm int fputc(int char, FILE *stream) trong Thư viện C chuẩn ghi một ký tự (một unsigned char) đã được xác định bởi tham số char tới Stream đã cho và tăng position indicator cho Stream.
  • Đệ quy trong C Đệ quy trong C
    Đệ quy là quá trình lặp đi lặp lại một thành phần theo cùng một cách.
  • 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 mbtowc() trong C Hàm mbtowc() trong C
    Hàm int mbtowc(wchar_t *pwc, const char *str, n) chuyển đổi một dãy nhiều byte thành một wide char.
  • Vòng lặp trong lập trình C Vòng lặp trong lập trình C
    Tương tự như những ngôn ngữ lập trình khác, C cũng cung cấp cho chúng ta nhiều cấu trúc điều khiển và cho phép bạn thực hiện những phần phức tạp.
  • Hàm fwrite() trong C Hàm fwrite() trong C
    Hàm size_t fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream) trong Thư viện C chuẩn ghi dữ liệu từ mảng được trỏ bởi ptr tới Stream đã cho.
  • Trường Bit trong C Trường Bit trong C
    Giả sử chương trình C của bạn bao gồm một số lượng biến TRUE/FALSE được nhóm trong một cấu trúc gọi là trangthai để kiểm tra xem hàng hóa sản xuất ra có đủ chiều rộng, chiều cao cho phép không.
  • signal.h trong C signal.h trong C
    Header file có tên signal.h trong Thư viện C định nghĩa một kiểu biến sig_atomic_t, hai lời gọi hàm, và một số macro để xử lý các tín hiệu khác nhau được báo cáo trong khi thực thi một chương trình.
  • Chuỗi trong C Chuỗi trong C
    Chuỗi trong ngôn ngữ lập trình C thực chất là mảng một chiều của các ký tự mà kết thúc bởi một ký tự null '\0'.
  • Hàm free() trong C Hàm free() trong C
    Hàm void free(void *ptr) giải phóng bộ nhớ đã được cấp phát trước đó bởi một lời gọi tới calloc, malloc, hoặc realloc
  • Hàm fflush() trong C Hàm fflush() trong C
    Hàm int fflush(FILE *stream) trong Thư viện C chuẩn flush bộ đệm đầu ra của một Stream.
  • Hàm ferror() trong C Hàm ferror() trong C
    Hàm int ferror(FILE *stream) trong Thư viện C chuẩn kiểm tra error indicator cho Stream đã cho.
  • Hàm malloc() trong C Hàm malloc() trong C
    Hàm malloc() cấp phát bộ nhớ được yêu cầu và trả về một con trỏ tới nó.
  • 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 strtoul() trong C Hàm strtoul() trong C
    Hàm unsigned long int strtoul(const char *str, char **endptr, int base) trong Thư viện C chuẩn chuyển đổi một phần của chuỗi ban đầu trong str thành một giá trị long int tương ứng với cơ số base đã cho, có thể là 2, 8, …, 36, hoặc là giá trị đặc biệt 0.