Bài 2

Giới thiệu ngôn từ C

Trong kỹ 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 thành 2 loại: ngôn ngữ bậc thấp và ngữ điệu bậc cao. Ngôn ngữ bậc cao là những ngôn ngữ gần vơi ngôn từ con bạn hơn, vì thế việc lập trình sẵn bằng các ngôn ngữ này trở nên thuận tiện và dễ dàng và đơn giản hơn. Rất có thể kể đến một vài ngôn ngữ xây dựng bậc cao như C, Basic, Pascal… trong dó C là ngôn ngữ thông dụng hơn hết trong nghệ thuật vi điều khiển. Về phiên bản chất, sử dụng những ngôn ngữ này núm cho ngữ điệu bậc phải chăng là bớt tải mang đến lập trình viên trong việc phân tích các tập lệnh và tạo các kết cấu giải thuật.


*

lịch trình viết bằng ngôn từ bậc cao cũng sẽ được một phần mềm trên máy tính gọi là trình biên dịch (Compiler) gửi sang dạng vừa lòng ngữ trước khi chuyển quý phái mã máy.Khi sử dụng ngôn từ C bạn lập trình không phải hiểu thâm thúy về kết cấu của cỗ vi điều khiển. Tức là với một fan chưa quen với một vi điểu khiển mang đến trước sẽ xây dựng dựng được chương trình một cách mau lẹ hơn, do chưa phải mất thời gian tìm hiểu kiến trúc của vi tinh chỉnh và điều khiển đó. Cùng việc áp dụng lại các chương trình đã kiến thiết trước kia cũng thuận lợi hơn, có thể sử dụng toàn bộ hoặc sửa chữa thay thế một phần.

Bạn đang xem: Bài 2

C sẽ được tạo nên với một kim chỉ nam là tạo cho nó dễ dãi để viết những chương trình bự 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 tín đồ viết ratrình dịchC, là rất nhiều người bề bộn với những đặc tả phức tạp của ngôn ngữ. Cuối cùng 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 chức năng quan trọng chẳng hạn như là những hàm hay vấn đề xử lý tập tin vẫn được hỗ trợ bởi những 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 thiết kế theo kiểucấu trúc.Một hệ thống kiểu dễ dàng và đơn giản nhằm loại để nhiều phép toán không 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 cách xử lý C, cho các nhiệm vụ như thể định nghĩa cácmacrovà hàm chứa đượ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 thấp của ngôn ngữ được cho phép dùng tớibộ nhớ thiết bị tínhqua việc sử 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ằng giá trị, không bằng địa chỉ.Hàm những con trỏ chất nhận được hình thành một nền tảng ban đầu chotính đóngvàtính nhiều hình.Hỗ trợ cácbản ghihay những kiểu dữ liệu kết 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 rất có thể được tập hòa hợp lại cùng đượ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 để làm 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 sử dụng dữ liệu xung quanh ( 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 các hàm ( hàm main rất có thể đặt sau hoặc xen vào giữa các hàm khác).

* Ví dụ:// Khai báo thông tư tiền xử lý:#include #include #define Led1 P1_0//*********************************// Khai báo biến toàn cục: Unsigned char code Led_arr<3>; Unsigned char data dem; Unsigned int xdata X;//*********************************// Khai báo nguyên chủng loại 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 trở thành cục bộ;Mã công tác trễ; Void main() // Chương trình chủ yếu Khai báo biến hóa cụ bộ;Mã chương trình chính; Bit kiemtra(unsigned int a) Khai báo phát triển thành cục bô;Mã chương trình kiểm tra vươn lên là a;

Thao tácvào/ra

Cần cần khai báo tủ sách #include

In ra màn hình

printf(“chuỗi định dạng” <, đối mục 1, đối mục 2,…>);

VD: printf( “Hello “); —> in mẫu Hello ra màn hình.

VD: printf(“”%d”, x); —> in quý hiếm x ra màn hình.

Chức năng: Đưa kết quả các ra màn hình

– : dùng làm định dạng cho tài liệu xuất ra màn hình của các – , …: là những mục dữ kiện nên in ra màn hình. Những có thể là biến, hằng hoặc biểu thức đề xuất được định trị trước lúc in ra (có thể không có).

– Chuỗi định dạng: được để trong cặp nháy kép (” “), gồm 2 loại:+ Đối cùng với chuỗi kí trường đoản cú ghi ra sao in ra giống như thế ấy.+ Đối với rất nhiều kí tự biến hóa dạng thức cho phép kết xuất giá chỉ trị của các đối mục ra màn hình tạm call là mã định dạng.

Sau đây 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 hễ (ký hiệu có số mũ)%g : dùng %e hoặc %f, tuỳ theo một số loại nào ngắn hơn, không in những số 0 vô nghĩa%x : Hệ 16 ko dấu%u : Số thập phân ko dấu%o : Số nguyên chén phân không dấul : chi phí tố ăn kèm với %d, %u, %x, %o để chỉ số nguyên nhiều năm (ví dụ %ld)

Các ký tự điều khiển và tinh chỉnh và cam kết tự đặc biệt

: dancing xuống dòng tiếp đến canh về cột đầu tiên. : Canh cột tab ngang. : nhảy đầm về đầu hàng, không xuống hàng.a : giờ đồng hồ kêu bip.\ : In ra vết \” : In ra vết “’ : In ra vết ‘%%: In ra vệt %

Nhập vào

scanf(“%d “,&x);dọc dữ liệu từ bàn phím và lưu giữ vào trở thành x gồm kiểu số nguyên

gets(s);dùng nhằm nhập chuỗi

Kiểu dữ liệu

Loại dữ liệuKiểu dữ liệuSố ô nhớMiền giá trị
Booleanbool1 byte0 (FALSE)hoặc1(TRUE).
Ký tựchar1 byte-127 tới 127 hoặc 0 cho tới 255
unsignedchar1 byte0 cho tới 255
signedchar1 byte-127 cho tới 127
Sốnguyênint4 byte-2147483648 cho tới 2147483647
unsigned int4 byte0 tới 4294967295
signed int4 byte-2147483648 cho tới 2147483647
short int2 byte-32768 cho tới 32767
long int4 byte-2,147,483,647 tới 2,147,483,647
Số thựcfloat4 byte+/- 3.4e +/- 38 (~7 chữ số)
double8 byte+/- 1.7e +/- 308 (~15 chữ số)
longdouble8 byte+/- 1.7e +/- 308 (~15 chữ số)

Ép kiểu dáng trong C:

(Ten-kieu) Bieu_thuc;Ví dụ: int a,b;( float) a+b; //a+b lấy cực hiếm thực

Hằng,biến

Khai báo hằng: #define

VD: #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 trong C

Giả sử biến chuyển A giữ quý hiếm 10, trở thành B giữ trăng tròn thì:

Toán tửMiêu tảVí dụ
+Cộng hai toán hạngA + B tác dụng là 30
Trừ toán hạng trang bị hai trường đoản cú toán hạng đầuA – B kết quả là -10
*Nhân nhị toán hạngA * B kết quả là 200
/Phép chiaB / A hiệu quả là 2
%Phép mang 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++ kết quả là 11
Toán tử sút (–), giảm giá trị toán hạng đi một solo vịA– hiệu quả là 9

2. Toán tử quan hệ nam nữ 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ằng thì điều kiện là true.(A == B) là false
!=Kiểm tra 2 toán hạng có giá trị khác nhau hay không. Nếu như không bằng thì đk là true.(A != B) là true
>Kiểm tra ví như toán hạng bên trái có giá trị to hơn toán hạng bên bắt buộc hay không. Nếu lớn hơn thì điều khiếu nại là true.(A > B) là false
=Kiểm tra giả dụ 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 đề nghị hay không. Nếu đúng là true.(A >= B) là false

3. Toán tử đối chiếu bit trong C

Toán tử đối chiếu bit thao tác làm việc trên đơn vị chức năng bit, đo lường và tính toán biểu thức đối chiếu từng bit. Bảng sau đây về &, |, và ^ như sau:

pqp và qp | qp ^ q
00000
01011
11110
10011

Các toán tử so sánh bit được cung cấp bởi ngữ điệu C được liệt kê trong bảng dưới đây. Giá bán sử ta tất cả 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 coppy một bit tới công dụng nếu nó trường thọ trong cả nhì toán hạng.(A & B) sẽ cho kết quả là 12, tức là 0000 1100
|Toán tử OR (hoặc) nhị phân xào luộc một bit tới tác dụng nếu nó lâu dài trong một hoặc nhì toán hạng.(A | B) vẫn cho công dụng là 61, tức là 0011 1101
^Toán tử XOR nhị phân sao chép bit mà lại nó chỉ mãi mãi trong một toán hạng mà không hẳn cả hai.(A ^ B) sẽ cho kết quả là 49, tức là 0011 0001
~Toán tử hòn đảo bit (đảo bit 1 thành bit 0 và ngược lại).

Xem thêm: Business English Lessons - Small Talk Practice: At The Office

(~A ) vẫn cho công 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 rời sang phải bởi số các bit được xác định bởi toán hạng bên phải.A >> 2 đang cho công dụng là 15, tức là 0000 1111 (dịch sang nên hai bit)

4. Toán tử gán trong C

Toán tửMiêu tảVí dụ
=Toán tử gán đối chọi giản. Gán cực hiếm toán hạng bên nên cho toán hạng trái.C = A + B sẽ gán giá trị của A + B vào trong C
+=Thêm cực hiếm toán hạng bắt buộc tới toán hạng trái và gán giá trị đó đến toán hạng trái.C += A tương tự với C = C + A
-=Trừ đi giá trị toán hạng buộc phải từ toán hạng trái cùng gán quý giá này mang lại toán hạng trái.C -= A tương tự với C = C – A
*=Nhân giá trị toán hạng đề xuất với toán hạng trái với 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 mang lại toán hạng đề xuất và gán quý giá 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 phân tách toán hạng trái mang lại toán hạng bắt buộc và gán mang đến toán hạng trái.C %= A tương tự với C = C % A
>=Dịch yêu cầu toán hạng trái sang số địa điểm là giá trị toán hạng phải.C >>= 2 tương đương với C = C >> 2
&=Phép and bitC &= 2 tương đương với C = C và 2
^=Phép OR vứt bỏ bitC ^= 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ả
sizeofToán tử sizeof vào C trả về size của một biến. Ví dụ: sizeof(a), cùng với a là integer, vẫn trả về 4
Điều kiện ? X : YToán tử đk trong C. Nếu Condition là true ? thì nó trả về quý giá X : còn nếu không thì trả về Y
,Toán tử Comma vào C tạo cho một dãy vận động được thực hiện. Quý hiếm của toàn biểu thức comma là quý hiếm của biểu thức ở đầu cuối trong list được biệt lập bởi vệt phảy
. (dot) với -> (arrow)Toán tử thành viên trong C được sử dụng để tham chiếu các bộ phận đơn của những lớp, những cấu trúc, với union
CastToán tử ép hình trạng (Casting) trong C thay đổi một kiểu tài liệu thành dạng hình khác. Ví dụ: int(2.2000) đã trả về 2
&Toán tử bé trỏ & trong C trả về địa chỉ cửa hàng của một biến. Ví dụ: &a; đã trả về địa chỉ cửa hàng thực sự của trở thành này
*Toán tử bé trỏ * vào C là trỏ cho tới một biến. Ví dụ: *var đang trỏ cho tới một biến chuyển var

6. Toán tử xúc tích trong C

Giả sử biến hóa A có giá trị 1 và thay đổi B có mức giá trị 0:

Ví dụ toán tử logic

Toán tửMiêu tảVí dụ
&&Được call là toán tử súc tích AND (và). Ví như cả nhì toán tử đều có giá trị không giống 0 thì điều kiện trở lên true.(A && B) là false.
||Được call là toán tử xúc tích và ngắn gọn OR (hoặc). Nếu 1 trong các hai toán tử khác 0, thì điều kiện là true.(A || B) là true.
!Được hotline là toán tử NOT (phủ định). Sử dụng để đảo trái 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ì đậy định nó vẫn là false.!(A && B) là true.

7. Thứ tự ưu tiên toán tử trong C

Bảng dưới đây liệt kê lắp thêm tự ưu tiên của những toán tử. Những toán tử cùng với quyền ưu tiên tối đa xuất hiện trên thuộc của bảng, và các toán tử gồm quyền ưu tiên thấp duy nhất thì ở bên dưới cùng của bảng. Trong một biểu thức, những toán tử có quyền ưu tiên cao nhất được thống kê giám sát đầu tiên.

LoạiToán tửThứ từ ưu tiên
Postfix() <> -> . ++ – –Trái sang phải
Unary+ – ! ~ ++ – – (type)* & sizeofPhải lịch sự trái
Tính nhân* / %Trái sang phải
Tính cộng+ –Trái sang trọng phải
Dịch chuyểnTrái quý phái phải
Quan hệ=Trái quý phái phải
Cân bằng== !=Trái thanh lịch phải
Phép and bit&Trái sang phải
Phép XOR bit^Trái sang trọng phải
Phép OR bit|Trái quý phái phải
Phép và logic&&Trái lịch sự phải
Phép OR logic||Trái thanh lịch phải
Điều kiện?:Phải sang trái
Gán= += -= *= /= %=>>=

Tham khảo: https://tienich123.wordpress.com/