Giới thiệu ngữ điệu C
Trong nghệ thuật lập trình vi tinh chỉnh nói chung, ngôn ngữ lập trình được sử dụng thường chia làm 2 loại: ngữ điệu bậc tốt và ngôn ngữ bậc cao. Ngữ điệu bậc cao là các ngôn ngữ ngay gần vơi ngữ điệu con fan hơn, cho nên vì vậy việc lập trình sẵn bằng những ngôn ngữ này trở nên dễ ợt và dễ dàng hơn. Rất có thể kể đến một trong những ngôn ngữ lập trình bậc cao như C, Basic, Pascal… trong dó C là ngữ điệu thông dụng hơn cả trong kỹ thuật vi điều khiển. Về bản chất, sử dụng các ngôn ngữ này nạm cho ngôn ngữ bậc thấp là sút tải mang lại lập trình viên trong việc nghiên cứu và phân tích các tập lệnh và thi công các kết cấu giải thuật.
công tác viết bằng ngữ điệu bậc cao cũng biến thành được một trong những phần mềm trên máy tính xách tay gọi là trình biên dịch (Compiler) đưa sang dạng hợp ngữ trước lúc chuyển quý phái mã máy.Khi sử dụng ngôn ngữ C người lập trình không yêu cầu hiểu thâm thúy về cấu trúc của cỗ vi điều khiển. Có nghĩa là với một bạn chưa thân quen với một vi điểu khiển mang đến trước sẽ xây dựng được lịch trình một cách hối hả hơn, do chưa phải mất thời gian tò mò kiến trúc của vi tinh chỉnh đó. Cùng việc sử dụng lại những chương trình đã thiết kế trước đó cũng thuận lợi hơn, hoàn toàn có thể sử dụng tổng thể hoặc sửa chữa thay thế một phần.
Bạn đang xem: Học lập trình vi điều khiển
C vẫn được tạo ra với một phương châm là tạo cho nó tiện lợi để viết các chương trình phệ với số lỗi ít hơn trongmẫu hìnhlập trình thủ tụcmà lại không đặt gánh nặng nề lên vai bạn viết ratrình dịchC, là phần nhiều người bộn bề với các đặc tả phức hợp của ngôn ngữ. ở đầu cuối C gồm thêm những công dụng sau:
Mộtngôn ngữ cốt lõiđơn giản, với các chức năng quan trọng chẳng hạn như là hầu như hàm hay vấn đề xử lý tập tin đã được cung ứng bởi các bộthư viện những thủ tục.Tập trung trên mẫu mã hìnhlập trình thủ tục, với những phương tiện lập trình theo kiểucấu trúc.Một khối hệ thống kiểu đơn giản dễ dàng nhằm loại bỏ nhiều phép toán không có ý nghĩa sâu sắc thực dụng.Dùng ngôn ngữtiền xử lý, có nghĩa là các câu lệnhtiền cách xử lý C, cho các nhiệm vụ như là định nghĩa cácmacrovà hàm chứa được nhiều tập tinmã nguồn(bằng biện pháp dùng câu lệnh tiền xử lý dạng#includechẳng hạn).Mức thấp của ngôn ngữ có thể chấp nhận được dùng tớibộ nhớ lắp thêm tínhqua việc áp dụng kiểu dữ liệupointer.Số lượng từ bỏ khóa rất nhỏ gọn.Cáctham sốđược gửi vào những hàm bằng giá trị, không bởi địa chỉ.Hàm những con trỏ chất nhận được hình thành một nền tảng thuở đầu chotính đóngvàtính nhiều hình.Hỗ trợ cácbản ghihay những kiểu dữ liệu phối kết hợp do người tiêu dùng từ khóa định nghĩastructcho phép những dữ liệu liên hệ nhau hoàn toàn có thể được tập hòa hợp lại và được kiểm soát và điều chỉnh như là toàn bộ.Cấu trúc chươngtrình
Các #include ( dùng để khai báo sử dụng các hàm chuẩn)Các #define ( dùng để định nghĩa những hằng )Khai báo các đối tượng người tiêu dùng dữ liệu xung quanh ( biến, mảng, kết cấu vv..).Khai báo nguyên mẫu những hàm.Hàm main().Định nghĩa những hàm ( hàm main hoàn toàn có thể đặt sau hoặc xen vào giữa những hàm khác).* Ví dụ:// Khai báo chỉ thị tiền xử lý:#include #include #define Led1 P1_0//*********************************// Khai báo vươn lên là toàn cục: Unsigned char code Led_arr<3>; Unsigned char data dem; Unsigned int xdata X;//*********************************// Khai báo nguyên mẫu mã hàm Void delay(unsigned int n); bit kiemtra(unsigned int a);//*********************************// Xây dựng các hàm và công tác chính: void delay(unsigned int n) Khai báo trở thành cục bộ;Mã công tác trễ; Void main() // Chương trình chủ yếu Khai báo trở thành cụ bộ;Mã lịch trình chính; Bit kiemtra(unsigned int a) Khai báo đổi thay cục bô;Mã lịch trình kiểm tra đổi mới a;
Thao tácvào/ra
Cần bắt buộc khai báo thư viện #includeIn ra màn hình
printf(“chuỗi định dạng” <, đối mục 1, đối mục 2,…>);
VD: printf( “Hello “); —> in dòng Hello ra màn hình.
VD: printf(“”%d”, x); —> in quý giá x ra màn hình.
Chức năng: Đưa tác dụng các ra màn hình
– : dùng làm định dạng cho tài liệu xuất ra screen của những – , …: là các mục dữ kiện đề xuất in ra màn hình. Những hoàn toàn có thể là biến, hằng hoặc biểu thức đề nghị được định trị trước khi in ra (có thể không có).
– Chuỗi định dạng: được đặt trong cặp nháy kép (” “), tất cả 2 loại:+ Đối cùng với chuỗi kí trường đoản cú ghi thế nào in ra hệt như thế ấy.+ Đối với số đông kí tự thay đổi dạng thức có thể chấp nhận được kết xuất giá trị của những đối mục ra screen tạm hotline là mã định dạng.
Sau đó là các dấu trình bày định dạng:
%c : cam kết tự đơn%s : Chuỗi%d : Số nguyên hệ thập phân%f : Số chấm đụng (ký hiệu thập phân)%e : Số chấm đụng (ký hiệu gồm số mũ)%g : cần sử dụng %e hoặc %f, tuỳ theo một số loại nào ngắn hơn, ko in các số 0 vô nghĩa%x : Hệ 16 không dấu%u : Số thập phân ko dấu%o : Số nguyên bát phân ko dấul : chi phí tố ăn với với %d, %u, %x, %o để chỉ số nguyên lâu năm (ví dụ %ld)Các ký kết tự tinh chỉnh và điều khiển và ký kết tự sệt biệt
: nhảy đầm xuống dòng tiếp nối canh về cột đầu tiên. : Canh cột tab ngang. : dancing về đầu hàng, không xuống hàng.a : giờ đồng hồ kêu bip.\ : In ra vệt \” : In ra dấu “’ : In ra vết ‘%%: In ra dấu %Nhập vào
scanf(“%d “,&x);dọc tài liệu từ keyboard và lưu lại vào biến đổi x bao gồm kiểu số nguyên
gets(s);dùng để nhập chuỗi
Kiểu dữ liệu
Loại dữ liệu | Kiểu dữ liệu | Số ô nhớ | Miền giá trị |
Boolean | bool | 1 byte | 0 (FALSE)hoặc1(TRUE). |
Ký tự | char | 1 byte | -127 tới 127 hoặc 0 tới 255 |
unsignedchar | 1 byte | 0 cho tới 255 | |
signedchar | 1 byte | -127 tới 127 | |
Sốnguyên | int | 4 byte | -2147483648 cho tới 2147483647 |
unsigned int | 4 byte | 0 tới 4294967295 | |
signed int | 4 byte | -2147483648 cho tới 2147483647 | |
short int | 2 byte | -32768 cho tới 32767 | |
long int | 4 byte | -2,147,483,647 cho tới 2,147,483,647 | |
Số thực | float | 4 byte | +/- 3.4e +/- 38 (~7 chữ số) |
double | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) | |
longdouble | 8 byte | +/- 1.7e +/- 308 (~15 chữ số) |
Ép đẳng cấp trong C:
(Ten-kieu) Bieu_thuc;Ví dụ: int a,b;( float) a+b; //a+b lấy quý hiếm thực
Hằng,biến
Khai báo hằng: #defineVD: #define MAX 10;
const =
VD: const int MAX=10;
2. Khai báo biến
;
VD: int x=0;
Các phép toán vào C
1. Toán tử số học tập trong C
Giả sử thay đổi A giữ quý hiếm 10, đổi mới B giữ trăng tròn thì:
Toán tử | Miêu tả | Ví dụ |
+ | Cộng hai toán hạng | A + B hiệu quả là 30 |
– | Trừ toán hạng lắp thêm hai tự toán hạng đầu | A – B tác dụng là -10 |
* | Nhân nhì toán hạng | A * B kết quả là 200 |
/ | Phép chia | B / A hiệu quả là 2 |
% | Phép mang số dư | B % A công dụng là 0 |
++ | Toán tử tăng (++), đội giá trị toán hạng thêm một đối kháng vị | A++ công dụng là 11 |
— | Toán tử sút (–), giảm ngay trị toán hạng đi một đối kháng vị | A– kết quả là 9 |
2. Toán tử dục tình trong C
VD: A=10, B=20.
Toán tử | Miêu tả | Ví dụ |
== | Kiểm tra ví như 2 toán hạng đều nhau hay không. Nếu bằng thì điều kiện là true. | (A == B) là false |
!= | Kiểm tra 2 toán hạng có giá trị không giống nhau hay không. Nếu không bằng thì đk là true. | (A != B) là true |
> | Kiểm tra nếu như toán hạng bên trái có mức giá trị to hơn toán hạng bên yêu cầu hay không. Trường hợp lớn hơn thế thì điều kiện là true. | (A > B) là false |
= | Kiểm tra nếu toán hạng bên trái có mức giá trị to hơn hoặc bởi giá trị của toán hạng bên buộc phải hay không. Nếu và đúng là true. | (A >= B) là false |
3. Toán tử đối chiếu bit trong C
Toán tử so sánh bit thao tác làm việc trên đơn vị bit, giám sát biểu thức đối chiếu từng bit. Bảng dưới đây về &, |, và ^ như sau:
p | q | p & q | p | q | p ^ q |
0 | 0 | 0 | 0 | 0 |
0 | 1 | 0 | 1 | 1 |
1 | 1 | 1 | 1 | 0 |
1 | 0 | 0 | 1 | 1 |
Các toán tử so sánh bit được cung ứng bởi ngôn ngữ C được liệt kê trong bảng dưới đây. Giá chỉ sử ta gồm biến A có mức giá tri 60 và đổi thay B có mức giá trị 13, ta có:
Toán tử | Miêu tả | Ví dụ |
& | Toán tử and (và) nhị phân sao chép một bit tới tác dụng nếu nó vĩnh cửu trong cả nhì toán hạng. | (A và B) vẫn cho kết quả là 12, tức là 0000 1100 |
| | Toán tử OR (hoặc) nhị phân coppy một bit tới kết quả nếu nó tồn tại trong một hoặc nhị toán hạng. | (A | B) sẽ cho tác dụng là 61, có nghĩa là 0011 1101 |
^ | Toán tử XOR nhị phân sao chép bit mà lại nó chỉ trường thọ trong một toán hạng mà chưa hẳn cả hai. | (A ^ B) đã cho hiệu quả là 49, tức là 0011 0001 |
~ | Toán tử hòn đảo bit (đảo bit 1 thành bit 0 cùng ngược lại). Xem thêm: Nhạc Phim Gái Già Xì Tin - Bài Hát Trong Phim Gái Già Xì Tin | (~A ) vẫn cho hiệu quả là -61, tức là 1100 0011. |
> | Toán tử dịch phải. Cực hiếm toán hạng trái được di chuyển sang phải bởi số các bit được khẳng định bởi toán hạng bên phải. | A >> 2 đã cho hiệu quả là 15, tức là 0000 1111 (dịch sang nên hai bit) |
4. Toán tử gán vào C
Toán tử | Miêu tả | Ví dụ |
= | Toán tử gán 1-1 giản. Gán quý giá toán hạng bên cần cho toán hạng trái. | C = A + B vẫn gán giá trị của A + B vào vào C |
+= | Thêm giá trị toán hạng yêu cầu tới toán hạng trái với gán cực hiếm đó cho toán hạng trái. | C += A tương đương với C = C + A |
-= | Trừ đi giá trị toán hạng đề nghị từ toán hạng trái và gán quý hiếm này cho toán hạng trái. | C -= A tương đương với C = C – A |
*= | Nhân quý giá toán hạng buộc phải với toán hạng trái và gán quý giá này đến toán hạng trái. | C *= A tương tự với C = C * A |
/= | Chia toán hạng trái cho toán hạng phải và gán quý giá này đến toán hạng trái. | C /= A tương tự với C = C / A |
%= | Lấy phần dư của phép phân tách toán hạng trái cho toán hạng buộc phải và gán cho toán hạng trái. | C %= A tương tự với C = C % A |
>= | Dịch phải toán hạng trái thanh lịch số địa chỉ là quý giá toán hạng phải. | C >>= 2 tương đương với C = C >> 2 |
&= | Phép and bit | C &= 2 tương tự với C = C và 2 |
^= | Phép OR loại bỏ bit | C ^= 2 tương đương với C = C ^ 2 |
|= | Phép OR bit. | C |= 2 tương tự với C = C | 2 |
5. Các toán tử hỗn hợp trong C
Toán tử | Miêu tả |
sizeof | Toán tử sizeof trong C trả về form size của một biến. Ví dụ: sizeof(a), cùng với a là integer, đang trả về 4 |
Điều khiếu nại ? X : Y | Toán tử điều kiện trong C. Trường hợp Condition là true ? thì nó trả về quý hiếm X : nếu không thì trả về Y |
, | Toán tử Comma vào C khiến cho một dãy hoạt động được thực hiện. Giá trị của toàn biểu thức comma là quý giá của biểu thức ở đầu cuối trong list được tách biệt bởi vệt phảy |
. (dot) với -> (arrow) | Toán tử thành viên trong C được áp dụng để tham chiếu các bộ phận đơn của các lớp, các cấu trúc, với union |
Cast | Toán tử ép vẻ bên ngoài (Casting) vào C thay đổi một kiểu tài liệu thành hình trạng khác. Ví dụ: int(2.2000) đang trả về 2 |
& | Toán tử bé trỏ và trong C trả về địa chỉ cửa hàng của một biến. Ví dụ: &a; sẽ trả về địa chỉ thực sự của biến này |
* | Toán tử bé trỏ * trong C là trỏ tới một biến. Ví dụ: *var đang trỏ tới một biến var |
6. Toán tử ngắn gọn xúc tích trong C
Giả sử đổi thay A có mức giá trị 1 và biến chuyển B có mức giá trị 0:
Ví dụ toán tử logic
Toán tử | Miêu tả | Ví dụ |
&& | Được gọi là toán tử lô ghích AND (và). Trường hợp cả nhị toán tử đều phải sở hữu giá trị khác 0 thì đk trở lên true. | (A && B) là false. |
|| | Được call là toán tử lô ghích OR (hoặc). Nếu một trong hai toán tử khác 0, thì điều kiện là true. | (A || B) là true. |
! | Được call là toán tử NOT (phủ định). áp dụng để đảo ngược lại trạng thái xúc tích và ngắn gọn của toán hạng đó. Nếu điều kiện toán hạng là true thì đậy định nó đang là false. | !(A && B) là true. |
7. Thiết bị tự ưu tiên toán tử trong C
Bảng tiếp sau đây liệt kê thứ tự ưu tiên của những toán tử. Những toán tử với quyền ưu tiên tối đa xuất hiện tại trên cùng của bảng, và những toán tử bao gồm quyền ưu tiên thấp độc nhất vô nhị thì ở bên dưới cùng của bảng. Vào một biểu thức, các toán tử tất cả quyền ưu tiên cao nhất được giám sát đầu tiên.
Loại | Toán tử | Thứ từ ưu tiên |
Postfix | () <> -> . ++ – – | Trái thanh lịch phải |
Unary | + – ! ~ ++ – – (type)* và sizeof | Phải sang trái |
Tính nhân | * / % | Trái quý phái phải |
Tính cộng | + – | Trái sang phải |
Dịch chuyển | Trái lịch sự phải | |
Quan hệ | = | Trái quý phái phải |
Cân bằng | == != | Trái sang phải |
Phép and bit | & | Trái sang phải |
Phép XOR bit | ^ | Trái lịch sự phải |
Phép OR bit | | | Trái sang trọng phải |
Phép and logic | && | Trái sang phải |
Phép OR logic | || | Trái thanh lịch phải |
Điều kiện | ?: | Phải thanh lịch trái |
Gán | = += -= *= /= %=>>= |
Tham khảo: https://tienich123.wordpress.com/