Giới thiệu ngữ điệu C
Trong chuyên môn lập trình vi tinh chỉnh và điều khiển nói chung, ngữ điệu lập trình được áp dụng thường chia làm 2 loại: ngữ điệu bậc phải chăng và ngữ điệu bậc cao. Ngôn ngữ bậc cao là các ngôn ngữ ngay gần vơi ngôn ngữ con bạn hơn, vì thế việc thiết kế bằng các ngôn ngữ này trở nên thuận tiện và đơn giản dễ dàng hơn. Rất có thể kể đến một số ngôn ngữ lập trình sẵn bậc cao như C, Basic, Pascal… trong dó C là ngữ điệu thông dụng hơn hết trong nghệ thuật vi điều khiển. Về bản chất, sử dụng những ngôn ngữ này rứa cho ngôn ngữ bậc rẻ là sút tải đến 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à tạo các cấu tạo giải thuật.
lịch trình viết bằng ngôn từ bậc cao cũng trở thành được một 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 thanh lịch mã máy.Khi sử dụng ngôn ngữ C tín đồ lập trình không phải hiểu sâu sắc về cấu trúc của bộ vi điều khiển. Tức là với một bạn chưa thân quen với một vi điểu khiển đến trước sẽ xây dựng được chương trình một cách nhanh chóng hơn, do chưa phải mất thời gian mày mò kiến trúc của vi điều khiển đó. Cùng việc thực hiện lại những chương trình đã xây dựng trước kia cũng dễ dàng hơn, có thể sử dụng toàn cục hoặc thay thế sửa chữa một phần.
Bạn đang xem: Bài 2
C vẫn được tạo ra với một mục tiêu là tạo cho nó thuận tiện để viết những chương trình to với số lỗi thấp hơn trongmẫu hìnhlập trình thủ tụcmà lại không để gánh nặng nề lên vai bạn viết ratrình dịchC, là phần nhiều người bề bộn với các đặc tả tinh vi của ngôn ngữ. Sau cuối C có thêm những chức năng sau:
Mộtngôn ngữ cốt lõiđơn giản, cùng với các công dụng quan trọng ví dụ như là mọi hàm hay bài toán xử lý tập tin đã được hỗ trợ bởi các bộthư viện những thủ tục.Tập trung trên chủng loại hìnhlập trình thủ tục, với các phương tiện xây dựng theo kiểucấu trúc.Một khối hệ thống kiểu đơn giản nhằm loại bỏ nhiều phép toán ko có chân thành và ý nghĩa thực dụng.Dùng ngôn ngữtiền xử lý, tức là các câu lệnhtiền giải pháp xử lý C, cho các nhiệm vụ như thể định nghĩa cácmacrovà hàm đựng được nhiều tập tinmã nguồn(bằng cách dùng câu lệnh tiền giải pháp xử lý dạng#includechẳng hạn).Mức tốt của ngôn ngữ có thể chấp nhận được dùng tớibộ nhớ máy tínhqua việc áp dụng kiểu dữ liệupointer.Số lượng tự khóa rất bé dại gọn.Cáctham sốđược chuyển vào các hàm bởi giá trị, không bằng địa chỉ.Hàm các con trỏ cho phép 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 các kiểu dữ liệu phối hợp do người dùng từ khóa định nghĩastructcho phép những dữ liệu tương tác nhau có thể được tập đúng theo lại và được đ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 những 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 sử dụng dữ liệu không tính ( biến, mảng, cấu tạo 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 rất 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 thay đổi 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à lịch trình chính: void delay(unsigned int n) Khai báo biến hóa cục bộ;Mã lịch trình trễ; Void main() // Chương trình chính Khai báo biến hóa cụ bộ;Mã lịch trình chính; Bit kiemtra(unsigned int a) Khai báo thay đổi cục bô;Mã lịch trình kiểm tra phát triển thành a;
Thao tácvào/ra
Cần đề nghị khai báo tủ sách #includeIn ra màn hình
printf(“chuỗi định dạng” <, đối mục 1, đối mục 2,…>);
VD: printf( “Hello “); —> in loại 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 dữ liệu xuất ra màn hình hiển thị của các – , …: là các mục dữ kiện nên in ra màn hình. Các rất có thể là biến, hằng hoặc biểu thức đề xuất được định trị trước khi in ra (có thể không có).
– Chuỗi định dạng: được để trong cặp nháy kép (” “), tất cả 2 loại:+ Đối với chuỗi kí trường đoản cú ghi ra sao in ra hệt như thế ấy.+ Đối với các kí tự thay đổi dạng thức cho phép kết xuất giá trị của các đối mục ra màn hình tạm điện thoại tư vấn là mã định dạng.
Sau đó là các dấu diễn tả đị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 rượu cồn (ký hiệu thập phân)%e : Số chấm đụng (ký hiệu bao gồm số mũ)%g : cần sử dụng %e hoặc %f, tuỳ theo các loại nào ngắn hơn, ko in những số 0 vô nghĩa%x : Hệ 16 ko dấu%u : Số thập phân không dấu%o : Số nguyên chén phân không dấul : tiền tố dùng kèm với %d, %u, %x, %o để chỉ số nguyên lâu năm (ví dụ %ld)Các cam kết tự tinh chỉnh và điều khiển và cam kết tự quánh biệt
: nhảy đầm xuống dòng tiếp đến canh về cột đầu tiên. : Canh cột tab ngang. : khiêu vũ về đầu hàng, ko xuống hàng.a : tiếng kêu bip.\ : In ra dấu \” : In ra vết “’ : In ra dấu ‘%%: In ra lốt %Nhập vào
scanf(“%d “,&x);dọc dữ liệu từ bàn phím và lưu vào trở thành x có 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á chỉ trị |
Boolean | bool | 1 byte | 0 (FALSE)hoặc1(TRUE). |
Ký tự | char | 1 byte | -127 tới 127 hoặc 0 cho tới 255 |
unsignedchar | 1 byte | 0 tới 255 | |
signedchar | 1 byte | -127 cho tới 127 | |
Sốnguyên | int | 4 byte | -2147483648 tới 2147483647 |
unsigned int | 4 byte | 0 cho tới 4294967295 | |
signed int | 4 byte | -2147483648 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 phong cách 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ử đổi mới A giữ cực hiếm 10, phát triển thành B giữ trăng tròn thì:
Toán tử | Miêu tả | Ví dụ |
+ | Cộng nhị toán hạng | A + B hiệu quả là 30 |
– | Trừ toán hạng đồ vật hai trường đoản cú toán hạng đầu | A – B hiệu quả là -10 |
* | Nhân hai toán hạng | A * B kết quả là 200 |
/ | Phép chia | B / A hiệu quả là 2 |
% | Phép đem số dư | B % A kết quả là 0 |
++ | Toán tử tăng (++), đội giá trị toán hạng thêm một đối chọi vị | A++ tác dụng là 11 |
— | Toán tử bớt (–), giảm giá trị toán hạng đi một solo vị | A– tác dụng là 9 |
2. Toán tử quan hệ giới tính trong C
VD: A=10, B=20.
Toán tử | Miêu tả | Ví dụ |
== | Kiểm tra nếu 2 toán hạng bằng nhau hay không. Nếu bởi thì đk 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 đề nghị hay không. Giả dụ lớn hơn thì điều khiếu nại là true. | (A > B) là false |
= | Kiểm tra nếu toán hạng bên trái có mức giá trị lớn hơn hoặc bởi giá trị của toán hạng bên yêu cầu hay không. Nếu chính xác là true. | (A >= B) là false |
3. Toán tử so sánh bit vào C
Toán tử đối chiếu bit thao tác trên đơn vị chức năng bit, đo lường và thống kê biểu thức so sánh từng bit. Bảng tiếp sau đây về &, |, với ^ như sau:
p | q | p và 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ữ điệu C được liệt kê trong bảng dưới đây. Giá chỉ sử ta tất cả biến A có giá tri 60 và trở thành 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 kết quả nếu nó lâu dài trong cả nhị toán hạng. | (A và B) vẫn cho hiệu quả là 12, có nghĩa là 0000 1100 |
| | Toán tử OR (hoặc) nhị phân xào nấu một bit tới tác dụng nếu nó trường thọ trong một hoặc hai toán hạng. | (A | B) đã cho tác dụng là 61, có nghĩa là 0011 1101 |
^ | Toán tử XOR nhị phân xào nấu bit cơ mà nó chỉ tồn tại trong một toán hạng mà chưa hẳn cả hai. | (A ^ B) đang cho công dụng là 49, có nghĩa 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: Bảng Chữ Cái Tiếng Việt Nam Chuẩn Theo Bộ Gd&Đt Mới Nhất 2021 | (~A ) đã cho tác dụng là -61, có nghĩa là 1100 0011. |
> | Toán tử dịch phải. Cực hiếm toán hạng trái được dịch chuyển sang đề nghị bởi số các bit được xác minh bởi toán hạng bên phải. | A >> 2 vẫn cho tác dụng là 15, có nghĩa là 0000 1111 (dịch sang phải hai bit) |
4. Toán tử gán vào C
Toán tử | Miêu tả | Ví dụ |
= | Toán tử gán solo giản. Gán giá trị toán hạng bên buộc phải cho toán hạng trái. | C = A + B vẫn gán cực hiếm của A + B vào vào C |
+= | Thêm quý giá toán hạng yêu cầu tới toán hạng trái cùng gán quý giá đó mang lại toán hạng trái. | C += A tương đương với C = C + A |
-= | Trừ đi giá trị toán hạng đề xuất từ toán hạng trái với gán quý giá này mang đến toán hạng trái. | C -= A tương đương với C = C – A |
*= | Nhân quý hiếm toán hạng đề xuất với toán hạng trái và gán cực hiếm này mang lại toán hạng trái. | C *= A tương tự với C = C * A |
/= | Chia toán hạng trái đến toán hạng yêu cầu và gán cực hiếm này đến toán hạng trái. | C /= A tương đương với C = C / A |
%= | Lấy phần dư của phép chia toán hạng trái đến toán hạng phải và gán mang đến toán hạng trái. | C %= A tương đương với C = C % A |
>= | Dịch đề nghị toán hạng trái sang trọng số vị trí là cực hiếm toán hạng phải. | C >>= 2 tương đương với C = C >> 2 |
&= | Phép and bit | C &= 2 tương đương với C = C và 2 |
^= | Phép OR loại trừ bit | C ^= 2 tương tự với C = C ^ 2 |
|= | Phép OR bit. | C |= 2 tương tự với C = C | 2 |
5. Những toán tử tất cả hổn hợp trong C
Toán tử | Miêu tả |
sizeof | Toán tử sizeof trong C trả về kích thước của một biến. Ví dụ: sizeof(a), với a là integer, đã trả về 4 |
Điều kiện ? X : Y | Toán tử đk trong C. Giả dụ Condition là true ? thì nó trả về quý giá X : nếu như không thì trả về Y |
, | Toán tử Comma trong C tạo nên một dãy vận động được thực hiện. Quý giá của toàn biểu thức comma là giá trị của biểu thức sau cuối trong danh sách được biệt lập bởi lốt phảy |
. (dot) cùng -> (arrow) | Toán tử member trong C được sử dụng để tham chiếu các phần tử đơn của các lớp, những cấu trúc, với union |
Cast | Toán tử ép dạng hình (Casting) trong C thay đổi một kiểu dữ liệu thành mẫu mã khác. Ví dụ: int(2.2000) sẽ trả về 2 |
& | Toán tử nhỏ trỏ và trong C trả về showroom của một biến. Ví dụ: &a; sẽ trả về add thực sự của trở thành này |
* | Toán tử bé trỏ * trong C là trỏ cho tới một biến. Ví dụ: *var đang trỏ cho tới một đổi thay var |
6. Toán tử xúc tích và ngắn gọn trong C
Giả sử phát triển thành A có giá trị 1 và thay đổi B có giá trị 0:
Ví dụ toán tử logic
Toán tử | Miêu tả | Ví dụ |
&& | Được điện thoại tư vấn là toán tử lô ghích AND (và). Nếu như cả nhị toán tử đều sở hữu giá trị khác 0 thì đk trở lên true. | (A && B) là false. |
|| | Được gọi là toán tử súc tích OR (hoặc). Nếu một trong hai toán tử khác 0, thì đk là true. | (A || B) là true. |
! | Được call là toán tử NOT (phủ định). Thực hiện để đảo ngược lại trạng thái lô ghích của toán hạng đó. Nếu điều kiện toán hạng là true thì tủ định nó sẽ là false. | !(A && B) là true. |
7. Trang bị tự ưu tiên toán tử vào C
Bảng dưới đây liệt kê lắp thêm tự ưu tiên của các toán tử. Những toán tử với quyền ưu tiên tối đa xuất hiện trên cùng của bảng, và những toán tử tất cả quyền ưu tiên thấp độc nhất thì ở bên dưới cùng của bảng. Vào một biểu thức, những toán tử tất cả quyền ưu tiên tối đa được giám sát và đo lường đầu tiên.
Loại | Toán tử | Thứ từ bỏ ưu tiên |
Postfix | () <> -> . ++ – – | Trái thanh lịch phải |
Unary | + – ! ~ ++ – – (type)* và sizeof | Phải quý phái trái |
Tính nhân | * / % | Trái sang phải |
Tính cộng | + – | Trái quý phái phải |
Dịch chuyển | Trái thanh lịch phải | |
Quan hệ | = | Trái sang trọng phải |
Cân bằng | == != | Trái lịch sự phải |
Phép & bit | & | Trái sang trọng phải |
Phép XOR bit | ^ | Trái sang trọng phải |
Phép OR bit | | | Trái lịch sự phải |
Phép và logic | && | Trái thanh lịch phải |
Phép OR logic | || | Trái sang trọng phải |
Điều kiện | ?: | Phải thanh lịch trái |
Gán | = += -= *= /= %=>>= |
Tham khảo: https://tienich123.wordpress.com/