Lập Trình C Và Kiểu Dữ Liệu Trong C - IT DESIGN - Thầy Nhuộm
Có thể bạn quan tâm
- Đăng nhập/Đăng ký
- LẬP TRÌNH
- Lập trình C/C++
Các khái niệm cơ bản về lập trình
Lập trình máy tính
- Gọi tắt là lập trình (Programming).
- Nghệ thuật cài đặt một hoặc nhiều thuật toán trừu tượng có liên quan với nhau bằng một ngôn ngữ lập trình để tạo ra một chương trình máy tính.
Thuật toán
- Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định nghĩa rõ ràng nhằm giải quyết một bài toán cụ thể nào đó.
- Ví dụ: Thuật toán giải phương trình bậc nhất ax + b = 0. Với a, b là số thực.
- Các tính chất của thuật toán:
- Tính chính xác: quá trình tính toán hay các thao tác máy tính thực hiện là chính xác.
- Tính rõ ràng: các câu lệnh minh bạch được sắp xếp theo thứ tự nhất định.
- Tính khách quan: được viết bởi nhiều người trên máy tính nhưng kết quả phải như nhau.
- Tính phổ dụng: có thể áp dụng cho một lớp các bài toán có đầu vào tương tự nhau.
- Tính kết thúc: hữu hạn các bước tính toán.
- Có nhiều cách thể hiện thuật toán, ở đây chúng ta tham khảo các cách sau đây:
- Sử dụng ngôn ngữ tự nhiên
- Sử dụng mã giả (Vay mượn ngôn ngữ nào đó (ví dụ Pascal) để biểu diễn thuật toán):
- Sử dụng lưu đồ khối
- Hoặc cài đặt bằng ngôn ngữ C/C++
Ngôn ngữ lập trình C
Ngôn ngữ C là gì?
- NNLT C là một ngôn ngữ mệnh lệnh được phát triển từ đầu thập niên 1970 bởi Dennis Ritchie dùng trong hệ điều hành UNIX. Ngôn ngữ này đã lan rộng và trở thành một những ngôn ngữ phổ dụng nhất.
- NNLT C là ngôn ngữ được ưa chuộng nhất để viết các phần mềm hệ thống, ứng dụng.
- Ngoài ra, C cũng thường được dùng làm phương tiện giảng dạy các ngành liên quan công nghệ thông tin.
Cấu trúc chương trình HELLO WORLD đầu tiên
#include <stdio.h> int main() { printf("Hello World!"); return 0; }- #include <stdio.h> khai báo file stdio.h, nó là một thư viện mà ta có thể dùng sẵn. Trong trường hợp này hàm printf() mà mình sử dụng đã được định nghĩa trong sdtio.h. Nếu mình không khai báo stdio.h thì chương trình sẽ không hiểu hàm printf() là gì.
- int main() hàm main (chương trình viết bởi c sẽ bắt đầu chạy từ hàm main). int biểu thị kết quả trả về của hàm main là kiểu số nguyên.
- Các dấu {} được dùng để đánh dấu mở đầu và kết thúc của một khối lệnh, một hàm. Dấu ; được dùng để kết thúc 1 lệnh.
- printf(“Hello World!”); thực hiện in ra dòng chữ Hello World!
- return 0; kết quả trả về của hàm main là 0. Trong ví dụ này thì giá trị trả về của hàm main không quan trọng.
Quy ước khi viết chương trình C
- Kết thúc câu lệnh bằng dấu chấm phẩy ;
- Sử dụng thụt lề (các khoảng trắng đầu câu lệnh) cũng như xuống dòng để làm cấu trúc chương trình dễ hiểu.
- Sử dụng ký tự // để comment một dòng lệnh, và cặp dấu /* và */ để comment nhiều dòng lệnh.
- Comment có tác dụng giúp người đọc mã nguồn C dễ hiểu. Các quy tắc viết comment:
- Chỉ viết comment khi cần thiết, không viết thông tin thừa.
- Viết comment trước hàm và biến global.
- Nội dung comment phải đúng và không mâu thuẫn với code.
- Viết comment rõ ràng dễ hiểu, không gây loạn cho người đọc.
- Bao gồm cả hàm main(), chương trình trong C được tạo tạo ra bởi các hàm.
- Bắt đầu hàm bởi dấu { và kết thúc hàm bởi dấu }.
Bảng từ khoá (Keyword) trong C
auto | break | case | char | const | continue | default | do |
double | else | enum | extern | float | for | goto | if |
int | long | register | return | short | signed | sizeof | static |
struct | switch | typedef | union | unsigned | void | volatile | while |
Hằng và Biến trong C
Hằng trong C
Hằng là một giá trị hằng số không cho phép thay đổi trong quá trình chạy chương trình. Như vậy, chúng ta dùng hằng khi không muốn giá trị bị thay đổi trong suốt thời gian chương trình chạy.
const <kiểu dữ liệu> <tên hằng> = <giá trị>; #define <tên hằng> <giá trị của hằng>- Có hai cách để định nghĩa hằng trong lập trình C.
- Từ khóa const.#include <stdio.h> int main() { const float PI = 3.14; printf("Gia tri PI = %f", PI); return 0; }
- Sử dụng #define preprocessor.#include <stdio.h> #define PI 3.14159 int main() { int r; float chuvi, dientich; printf("Nhap ban kinh r:"); scanf("%d", &r); chuvi = 2*PI*r; dientich = PI*r*r; printf("Chu vi hinh tron la: %f\n", chuvi); printf("Dien tich hinh tron la: %f", dientich); return 0; }
Biến trong C
- Một biến trong C là tên của vị trí bộ nhớ. Nó được sử dụng để lưu trữ dữ liệu. Giá trị của nó có thể được thay đổi và nó có thể được sử dụng lại nhiều lần. Mỗi biến trong C có một loại dữ liệu cụ thể, xác định kích thước của bộ nhớ của biến; phạm vi các giá trị có thể được lưu trữ trong bộ nhớ đó.
- Biến là một cách để thể hiện vị trí bộ nhớ thông qua một cái tên để nó có thể được xác định dễ dàng. Tên của một biến bao gồm các chữ cái, chữ số và ký tự gạch dưới. Nó bắt đầu bằng một chữ cái hoặc một gạch dưới. Biến trong C có phân biệt chữ hoa và chữ thường.
- Vị trí khai báo: Biến thường được khai báo ở đầu chương trình, đầu hàm hoặc khối lệnh.
- Có 2 loại biến theo vị trí khai báo:
- Biến toàn cục: biến khai báo ở ngoài các hàm, các khối lệnh. Chu trình sống của chúng từ lúc bắt đầu chương trình tới khi kết thúc chương trình.
- Biến cục bộ: biến khai báo bên trong các hàm, các khối lệnh. Chu trình sống từ khi bắt đầu khối lệnh tới khi khối lệnh được thực hiện xong.
Đặt tên cho biến, cho hằng hay cho hàm trong C cần phải tuân thủ những quy tắc như sau:
- Tên không được có ký hiệu số ở đầu. Ví dụ: 1st, 3ab, … là sai.
- Tên không được có dấu cách (space). Ví dụ: a b, he so a, he so b, … là sai.
- Tên không được chứa các phép toán (toán tử). Ví dụ: a*b, a+b, a.b, … là sai.
- Tên không được chứa các ký tự đặc biệt như: @, #, $, …
- Tên không được trùng với từ khoá.
- Hai biến bất kỳ nào đó nằm trong một hàm không được có cùng tên.
- Hai biến bất kỳ nào đó nằm ngoài các hàm không được có cùng tên.
- Tên biến không được trùng với tên hằng.
- Có thể đặt tên biến hay tên hằng có cùng tên với tên hàm chứa nó, nhưng không nên làm điều này.
- Cú pháp khai báo biến: (Khi khai báo biến gắn liền với kiểu dữ liệu)<kiểu dữ liệu> <danh sách biến>;
- Ví dụ:int i,j; /* Khai báo biến i,j kiểu số nguyên */ char ch; /* Khai báo biến ch kiểu chữ cái ASCII */ char name[100]; /* Khai báo xâu kí tự tên name với độ dài lớn nhất là 100 kí tự */ i = j = 0; /* Gán giá trị 0 cho 2 biến i,j */ ch = 'A'; /* Gán giá trị chữ cái A in hoa cho biến ch */
Các kiểu dữ liệu trong C
Chúng ta tìm hiểu 3 nhóm kiểu dữ liệu chính trong ngôn ngữ C:
- Primary: Kiểu dữ liệu cơ bản của ngôn ngữ C.
- User defined: Kiểu dữ liệu người lập trình tự định nghĩa.
- Derived: Kiểu dữ liệu nâng cấp từ dữ liệu cơ bản, phục vụ cho các mục đích khác nhau.
Primary (Nhóm kiểu dữ liệu cơ bản)
1. Kiểu ký tự Char
- Kiểu kí tự char có 1 kiểu đặc biệt là String, bao gồm chuỗi nhiều char liên tiếp.
- Kiểu char thường được sử dụng để lưu giữ các ký tự, các chữ và số (Theo bảng ký tự ASCII).
KIỂU CỠ LƯU TRỮ DÃY GIÁ TRỊ char 1 byte -128 tới 127 hoặc 0 tới 255 unsigned char 1 byte 0 tới 255 signed char 1 byte -128 tới 127
2. Kiểu số nguyên (kiểu int) trong C
- Kiểu dữ liệu số nguyên chia thành 2 kiểu có dấu (signal) và không âm (unsigned).
- Dựa vào giá trị cực đại (giới hạn) của kiểu giá trị sẽ chia thành các kiểu nhỏ như sau:
KIỂU CỠ LƯU TRỮ DÃY GIÁ TRỊ int 2 hoặc 4 bytes -32,768 tới 32,767 hoặc -2,147,483,648 tới 2,147,483,647 unsigned int 2 hoặc 4 bytes 0 tới 65,535 hoặc 0 tới 4,294,967,295 short 2 bytes -32,768 tới 32,767 unsigned short 2 bytes 0 tới 65,535 long 4 bytes -2,147,483,648 tới 2,147,483,647 unsigned long 4 bytes 0 tới 4,294,967,295
3. Kiểu số thực dấu chấm động (Floating-Point) trong C
- Bảng dưới đây là các kiểu số thực dấu chấm động tiêu chuẩn:
KIỂU CỠ LƯU TRỮ DÃY GIÁ TRỊ ĐỘ CHÍNH XÁC float 4 byte 1.2E-38 tới 3.4E+38 6 vị trí thập phân double 8 byte 2.3E-308 tới 1.7E+308 15 vị trí thập phân long double 10 byte 3.4E-4932 tới 1.1E+4932 19 vị trí thập phân
4. Kiểu Void
Kiểu void xác định không có giá trị nào. Nó được sử dụng trong 4 trường hợp sau đây:
- Hàm trả về không có giá trị. Ví dụ: void Turn_on_led(led1);
- Hàm không có tham số truyền vào. Ví dụ: int Turn_off_all(void);
- Hàm không có giá trị và không có tham số truyền vào. Ví dụ: void Ham(void);
- Con trỏ kiểu void* . Ví dụ: void *malloc (size_t size); sẽ học trong các bài con trỏ.
User defined (Nhóm dữ liệu do người dùng định nghĩa)
Người lập trình tự định nghĩa kiểu dữ liệu mình sử dụng. Kiểu dữ liệu được định nghĩa phải sử dụng các kiểu dữ liệu cơ bản để tạo ra. Nội dung về enum và typerdef các bạn đón xem chi tiết bài sau nha!
Derived (Nhóm kiểu dữ liệu nâng cấp)
Đây là các kiểu dữ liệu có chức năng đặc biệt, cũng được tạo ra bởi các kiểu dữ liệu cơ bản, để sử dụng trong các trường hợp đặc biệt:
Ví dụ:
- Array: mảng, là chuỗi các kiểu dữ liệu.
- Pointer: con trỏ, là địa chỉ của ô nhớ.
- Struct: tạo ra cấu trúc dữ liệu riêng.
- Union: Tập hợp, là hợp của nhiều kiểu dữ liệu với nhau.
Hàm sizeof
- Hàm sizeof(tham số truyền vào) để kiểm tra xem biến, hoặc kiểu dữ liệu đó chiếm bao nhiêu byte trong bộ nhớ.
- Để kiểm tra kích thước các kiểu dữ liệu cơ bản và phạm vi của nó, chúng ta có thể làm như sau:#include <stdio.h> #include<limits.h> // for int,char macros #include<float.h> // for float,double macros int main(){ char c; short s; int i; unsigned int ui; float f; double d; long long ll; // sizeof printf("Size of char is %d\n", sizeof c); // Ctrl C, Ctrl V printf("Size of short is %d\n", sizeof s); printf("Size of int is %d\n", sizeof i); printf("Size of unsigned int is %d\n", sizeof ui); printf("Size of float is %d\n", sizeof f); printf("Size of double is %d\n", sizeof d); printf("Size of long long is %d\n", sizeof ll); // Get min_val and max_val of data_type printf("char ranges from : %d to %d\n", CHAR_MIN, CHAR_MAX); printf("int ranges from : %d to %d\n", INT_MIN, INT_MAX); printf("unsigned int ranges from : 0 to %lli\n", UINT_MAX); }
Nhập/Xuất trong C
Câu lệnh xuất trong C
- Cú pháp: printf(<chuỗi định dạng>[, <đs1>, <đs2>, …]);
- <chuỗi định dạng> là cách trình bày thông tin xuất và được đặt trong cặp nháy kép “ ”.
- Văn bản thường (literal text).
- Được xuất y hệt như lúc gõ trong chuỗi định dạng.
- Ví dụ: printf(“Hello World”); => Xuất chuỗi: Hello World.
- Ký tự điều khiển (escape sequence). Gồm dấu \ và một số ký tự như sau:
- \a: Tiếng chuông
- \b: Lùi lại 1 bước
- \n: Xuống dòng
- \t: Dấu Tab
- \\: In dấu \
- \?: In dấu ?
- \”: In dấu “
- Đặc tả (conversion specifier)
- %d: số nguyên hệ 10 có dấu
- %u: số nguyên hệ 10 không dấu
- %x: số nguyên hệ 16
- %o: số nguyên hệ bát phân
- %s: xâu kí tự
- %c: một kí tự đơn
- %f: số chấm động cố định
- %e: số chấm động (ký hiệu có số mũ)
- l : Tiền tố dùng kèm với %d, %x, %o để chỉ số nguyên dài (ví dụ %ld)
- Ví dụ
- int a = 10, b = 20;
- printf(“%d”, a); => Xuất ra 10
- printf(“%d”, b); => Xuất ra 20
- printf(“%d %d”, a, b); => Xuất ra 10 20
- float x = 15.06;
- printf(“%f”, x); => Xuất ra 15.060000
- printf(“%f”, 1.0/3); => Xuất ra 0.333333
- Văn bản thường (literal text).
Câu lệnh nhập trong C
- Cú pháp: scanf(<chuỗi định dạng>[, <đs1>, <đs2>, …]);
- <chuỗi định dạng> giống định dạng xuất nhưng chỉ có các đặc tả.
- Các đối số là tên các biến sẽ chứa giá trị nhập và được đặt trước dấu &.
- Ví dụ: cho a và b kiểu số nguyên
- scanf(“%d”, &a); // Nhập giá trị cho biến a.
- scanf(“%d”, &b); // Nhập giá trị cho biến b.
- => scanf(“%d%d”, &a, &b);
- Các câu lệnh sau đây sai.
- scanf(“%d”, a); // Thiếu dấu &.
- scanf(“%d”, &a, &b);// Thiếu %d cho biến b.
- scanf(“%f”, &a); // a là biến kiểu số nguyên.
- scanf(“%9d”, &a); // không được định dạng.
- scanf(“a = %d, b = %d”, &a, &b”);
Bài tập
- Nhập năm sinh của một người và tính tuổi của người đó.
- Nhập 2 số a và b. Tính tổng, hiệu, tích và thương của hai số đó.
- Nhập số lượng và đơn giá sản phẩm. Tính tiền và thuế giá trị gia tăng phải trả, biết:
- tiền = số lượng * đơn giá
- thuế giá trị gia tăng = 10% tiền
- Nhập điểm thi và hệ số 3 môn Toán, Lý, Hóa của một sinh viên. Tính điểm trung bình.
- Nhập chiều dài, chiều rộng hình chữ nhật. Tính chu vi và diện tích của hình chữ nhật đó.
- Nhập bán kính của đường tròn. Tính chu vi và diện tích của hình tròn đó.
- Nhập vào số xe (gồm 4 chữ số) của bạn. Cho biết số xe của bạn được mấy nút?
VIDEO HƯỚNG DẪN CHI TIẾT
BÀI VIẾT LIÊN QUANXEM THÊM
LẬP TRÌNHLập trình Python trên Visual Studio Code
LẬP TRÌNHFigma là gì? Cài đặt, sử dụng Figma?
Cơ sở dữ liệuViết mã CSDL với SQL Prompt
LẬP TRÌNHHơn 100 Project C# tham khảo
Cơ sở dữ liệuBài TEST Hệ QT CSDL SQL
LẬP TRÌNHCài Visual Studio Code lập trình C/C++
BÌNH LUẬN Hủy trả lời
Vui lòng nhập bình luận của bạn Vui lòng nhập tên của bạn ở đây Bạn đã nhập một địa chỉ email không chính xác!Vui lòng nhập địa chỉ email của bạn ở đâyLưu tên của tôi, email, và trang web trong trình duyệt này cho lần bình luận kế tiếp của tôi.
LIÊN HỆ TƯ VẤN
VIDEO MỚI NHẤT
https://youtu.be/zkzYcM8l9FQXEM NHIỀU
ĐỒ HỌABone Tool, Camera, Sounds and Video in Animate 2021
trannhuomedu - 12 Tháng Mười, 20210 Công cụ Bone, âm thanh, video là một trong những công cụ hỗ trợ đắc lực trong quá trình tạo diễn hoạt cho đối tượng.Hướng dẫn cài đặt và thêm thư viện đồ họa vào...
10 Tháng Ba, 2020Tìm hiểu màu sắc, tô màu và phục chế hình ảnh
22 Tháng Bảy, 2021Giải thuật sinh thực thể cơ sở viết bằng C/C++
12 Tháng Năm, 2020Phím tắt sử dụng Illustrator 2021
5 Tháng Chín, 2021BÀI VIẾT TIÊU BIỂU
Công cụ thiết kế Figma
8 Tháng Mười, 2024Sử dụng Git/GitHub từ A đến Z
16 Tháng Mười Một, 2023Phím tắt cho phần mềm Blender
25 Tháng Năm, 2023BÀI VIẾT PHỔ BIẾN
Ngân hàng 1000 bài code C/C++
6 Tháng Mười Hai, 2021Hàm đồ hoạ cơ bản trong ngôn ngữ C/C++
11 Tháng Năm, 2020Hướng dẫn cài đặt và thêm thư viện đồ họa vào...
10 Tháng Ba, 2020MỤC XEM NHIỀU
- ĐỒ HỌA37
- LẬP TRÌNH24
- TIN HỌC21
- Học Đồ hoạ cơ bản18
- Kiến thức Tin học10
- Lập trình Java9
- Học Adobe Photoshop8
- TRẮC NGHIỆM8
- Học tiếng Nhật7
Bài TEST Hệ QT CSDL SQL
trannhuomedu - 27 Tháng Sáu, 20220Từ khóa » Các Kiểu Dữ Liệu Trong Ngôn Ngữ Lập Trình C
-
Các Kiểu Dữ Liệu Trong Lập Trình C/C++ (Data Type) | TopDev
-
Bài 4: Các Kiểu Dữ Liệu Trong Lập Trình C - Khuê Nguyễn
-
Bài 5. Kiểu Dữ Liệu Trong C - Lập Trình Không Khó
-
Kiểu Dữ Liệu Trong Lập Trình C
-
Kiểu Dữ Liệu Trong C/C++
-
Các Kiểu Dữ Liệu Cơ Bản Trong C++ - Góc Học IT
-
Bài 2: Biến Và Kiểu Dữ Liệu Trong C | Tìm ở đây
-
Các Kiểu Dữ Liệu Trong Ngôn Ngữ Lập Trình C
-
Các Kiểu Dữ Liệu Căn Bản Trong C - Lập Trình Từ Đầu
-
Các Kiểu Dữ Liệu Trong C ( Int - Float - Double - Char ...) - Freetuts
-
Các Kiểu Dữ Liệu Trong C++ - Thủ Thuật
-
Kiểu Dữ Liệu Trong C - VietTuts
-
Các Kiểu Dữ Liệu Trong C++ Và Cách Khai Báo - Freetuts
-
Các Kiểu Dữ Liệu Cơ Bản Trong Ngôn Ngữ C/C++