intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Bài giảng: Ngôn ngữ lập trình C - Đỗ Bình Nguyên

Chia sẻ: đặng Xuân Vinh | Ngày: | Loại File: PPT | Số trang:46

218
lượt xem
56
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Các câu lệnh trong hàm chính có thể gọi các hàm con đã khai báo hoặc không. Hàm chính và hàm con chỉ có thể gọi các hàm được khai báo phía trên nó. Các câu lệnh trong C kết thúc bằng dấu ; Khi có lời gọi hàm con nào thì chương trình sẽ nhảy đến thực hiện hàm con đó.

Chủ đề:
Lưu

Nội dung Text: Bài giảng: Ngôn ngữ lập trình C - Đỗ Bình Nguyên

  1. Ngôn ngữ lập trình C Biên soạn: Đỗ Bình Nguyên
  2. Mục tiêu bài học Trang bị cho học viên các kiến thức Cấu trúc một chương trình C Các loại hàm, biến trong ngôn ngữ C Các cấu trúc điều khiển, vòng lặp của ngôn ngữ C
  3. Cấu trúc chương trình C
  4. Cấu trúc chương trình C  Ví dụ: #include // thư viện dùng cho P8951RD2 void delay (unsigned int n) //chương trình delay { unsigned int i,j; for(i = 0; i < n; i ++) for(j = 0; j < 100; j ++); } /*--------------------------- Chương trình chính -----------------------------*/ void main(void) { while(1) { P1 = 0; delay(1000); P1 = 255; delay(1000); } }
  5. Cấu trúc chương trình C t.t. #include Khai báo tập tin thư viện unsigned char x; Khai báo biến toàn cục int y, Y; void func1 (void); Khai báo prototype cho chương trình void func2 (void) con { … //các câu lệnh } Khai báo chương trình con char func3 (void) { Khai báo biến cục bộ long tmp = 1; … //các câu lệnh } Khai báo chương trình chính void main (void) { … Mỗi chương trình bắt buộc phải có } một hàm main void func1 (void) { Khai báo chương trình con … }
  6. Cấu trúc chương trình C t.t. Các câu lệnh trong hàm chính có thể gọi các hàm con đã khai báo hoặc không. Hàm chính và hàm con chỉ có thể gọi các hàm được khai báo phía trên nó. Các câu lệnh trong C kết thúc bằng dấu ; Khi có lời gọi hàm con nào thì chương trình sẽ nhảy đến thực hiện hàm con đó. Sau khi thực hiện xong sẽ nhảy về thực hiện tiếp các hàm hoặc câu lệnh trong chương trình chính. Đặt các lời giải thích bằng dấu // hoặc /* …*/
  7. Biến trong C
  8. Các kiểu biến Kiểu biến Độ dài (bit) Miền giá trị bit 1 0, 1 signed char 8 -128 … +127 unsigned char 8 0 … 255 -128 … + hoặc -32,768 … 32,767 127 enum 8/16 signed short int 16 -32,768 … 32,767 unsigned short int 16 0 … 65,535 signed int 16 -32,768 … 32,767 unsigned int 16 0 … 65,535 signed long int 32 -2,147,483,648 … +2,147,483,647 unsigned long int 32 0 … 4,294,967,295 float 32 ±1.175494E-38 … ±3.402823E+38 double 32 ±1.175494E-38 … ±3.402823E+38 sbit 1 0, 1 sfr 8 0 … 255 sfr16 16 0 … 65,535
  9. Vùng chứa biến Mô tả Tên Bộ nhớ chương trình (64KB) code Truy cập bằng lệnh MOVC @A +DPTR Vùng RAM nội truy cập trực tiếp data Vùng RAM nội truy cập gián tiếp idata xdata Vùng RAM ngoài (64KB) Truy cập bằng lệnh MOVX @DPTR
  10. Khai báo biến Kiểu biến Vùng chứa Tên biến Ví dụ: unsigned char tmp; // biến kiểu char không dấu, chứa trong vùng RAM nội truy cập trực tiếp Có thể gán giá trị ban đầu cho biến ngay khi khai báo. Ví dụ: unsigned int xdata day_of_week = 7; // biến kiểu int có dấu, chứa trong RAM ngoài bit flagRun = 1; // biến kiểu bit Có thể khai báo cùng lúc nhiều biến có cùng kiểu. Ví dụ: signed char hour, min, sec; Biến phải được khai báo trước khi sử dụng.
  11. Khai báo biến t.t.  Để biểu diễn một dãy số hay một bảng dữ liệu, ta có dữ liệu kiểu mảng.  Mảng là một tập hợp nhiều phần tử có cùng kiểu giá trị, cùng một tên. Mỗi phần tử được truy cập bằng chỉ số của phần tử đó. Chỉ số mảng bắt đầu tính từ 0.  Khai báo mảng như sau: Loại mảng Vùng chứa Tên mảng [Kích thước]…[Kích thước]  Ví dụ: int arrSin[10]; // mảng kiểu int, một chiều, có 10 phần tử, chứa trong RAM nội. char xdata arrLed [8][16]; //mảng kiểu char không dấu, 2 chiều, kích thước 8 x 16, chứa trong RAM ngoài. arrSin[5] = 3; // gán giá trị 3 cho phần tử thứ 6 của mảng arrSin char strName[] = “Lac Hong University”; // khai báo chuỗi
  12. Các toán tử
  13. Toán tử gán (=) Toán tử gán dùng để gán một giá trị nào đó cho một biến. Vế trái bắt buộc phải là một biến còn vế phải có thể là bất kì hằng, biến hay kết quả của một biểu thức. Ví dụ: a = 5; //gán giá trị nguyên 5 cho biến a. a = b = c = 5; //gán giá trị 5 cho cả ba biến a, b, c a = b; //gán giá trị của biến b cho biến a, sự thay đổi của b sau đó sẽ không ảnh hưởng đến giá trị của a.
  14. Toán tử số học Năm toán tử số học được hỗ trợ bởi ngôn ngữ là: cộng (+), trừ (-), nhân (*), chia (/), chia lấy phần dư (%) Thứ tự thực hiện các toán tử này giống như trong toán học. Ví dụ: a = 11 % 3; // biến a sẽ mang giá trị 2 sau khi thực hiện
  15. Toán tử quan hệ  = = Bằng  != Khác  > Lớn hơn  < Nhỏ hơn  >= Lớn hơn hoặc bằng  = 6) sẽ trả giá trị true Cho a=2, b=3 và c=6 (a * b >= c) //sẽ trả giá trị true (b + 4 < a * c) //sẽ trả giá trị false
  16. Toán tử logic ! Toán tử NOT && :Toán tử AND || :Toán tử OR Toán tử logic && và || được sử dụng khi tính toán hai biểu thức để lấy ra một kết quả duy nhất. Ví dụ: ( (5 == 5) && (3 > 6) ) trả về false ( true && false ). ( (5 == 5) || (3 > 6)) trả về true ( true || false ).
  17. Toán tử thao tác bit  Các toán tử thao tác bit thay đổi các bit biểu diễn một biến, có nghĩa là thay đổi biểu diễn nhị phân của chúng  & :AND  | :OR  ^ :Exclusive OR  ~ :Đảo bit  > :Dịch bit sang phải  VD: (0x0F & 0xAA)=0x0A //0000.1111 & 1010.1010 = 0000.1010 ~ 0xAA = 0x55 // ~ 1010.1010 = 0101.0101
  18. Toán tử điều kiện ( ? ) Toán tử điều kiện tính toán một biểu thức và trả về một giá trị khác tuỳ thuộc vào biểu thức đó là đúng hay sai. Điều kiện ? Kết quả 1 : Kết quả 2 Nếu Điều kiện là true thì giá trị trả về sẽ là Kết quả 1, nếu không giá trị trả về là Kết quả 2. Ví dụ: 7 = = 5 ? 4 : 3 //trả về 3 vì 7 ≠ 5. 7 = = 5 + 2 ? 4 : 3 //trả về 4 vì 7 = 5 + 2. 5 > 3 ? a : b //trả về a, vì 5 > 3. a > b ? a : b //trả về giá trị lớn hơn, a hoặc b.
  19. Toán tử gán phức hợp Các toán tử gán phức hợp (+=, -=, *=, /=, %=, >>=,
  20. Tăng (++) và giảm (--)  Ví dụ: a ++; a += 1; a = a + 1;  Tính chất tiền tố - hậu tố Toán tử này có thể viết trước tên biến (++ a) hoặc sau (a ++) Trong trường hợp tiền tố (++ a) giá trị biến được tăng trước khi biểu thức được tính, giá trị đã tăng được sử dụng trong biểu thức. Trường hợp ngược lại (a ++) giá trị của biến được tăng sau khi đã tính toán.  Ví dụ : Giả sử B = 3; A = ++ B; //Kết quả: A = 4, B = 4 A = B ++; // Kết quả: A = 3, B = 4
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
2=>2