Bài giảng: Ngôn ngữ lập trình C - Đỗ Bình Nguyên
lượt xem 56
download
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 đó.
Bình luận(0) Đăng nhập để gửi bình luận!
Nội dung Text: Bài giảng: Ngôn ngữ lập trình C - Đỗ Bình Nguyên
- Ngôn ngữ lập trình C Biên soạn: Đỗ Bình Nguyên
- 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
- Cấu trúc chương trình C
- 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); } }
- 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 … }
- 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 /* …*/
- Biến trong C
- 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
- 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
- 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.
- 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
- Các toán tử
- 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.
- 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
- 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
- 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 ).
- 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
- 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.
- Toán tử gán phức hợp Các toán tử gán phức hợp (+=, -=, *=, /=, %=, >>=,
- 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
CÓ THỂ BẠN MUỐN DOWNLOAD
-
Bài giảng Ngôn ngữ lập trình Java căn bản
115 p | 350 | 104
-
Bài giảng Ngôn ngữ lập trình C++: Chương 1 - Trần Minh Châu
17 p | 250 | 54
-
Bài giảng Ngôn ngữ lập trình C# - Nguyễn Hồng Phương
409 p | 214 | 41
-
Bài giảng Ngôn ngữ lập trình ứng dụng: Phần 1 – ĐH CNTT&TT
45 p | 112 | 13
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 1: Ngôn ngữ lập trình C) - Chương 1: Ôn tập một số nội dung chính của NNLT C
31 p | 157 | 13
-
Bài giảng Ngôn ngữ lập trình bậc cao - Th.S Đoàn Thị Thu Huyền
44 p | 150 | 10
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - TS. Nguyễn Thị Hiền
12 p | 62 | 9
-
Bài giảng Ngôn ngữ lập trình - Nguyễn Văn Linh
109 p | 118 | 8
-
Bài giảng Ngôn ngữ lập trình C - Chương 1: Giới thiệu ngôn ngữ C
4 p | 104 | 8
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 1 - TS. Đỗ Đăng Khoa
53 p | 112 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 5: Các lớp nhập/xuất trong C++
19 p | 132 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ C++) - Chương 2: Giới thiệu về ngôn ngữ lập trình C++
49 p | 137 | 7
-
Bài giảng Ngôn ngữ lập trình C: Chương 1 - PhD. Nguyễn Thị Huyền
12 p | 55 | 7
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 3: Lớp và đối tượng
52 p | 112 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++: Bài 4 - TS. Đỗ Đăng Khoa
40 p | 95 | 5
-
Bài giảng Ngôn ngữ lập trình C/C++ (Bài giảng tuần 1) – Nguyễn Hải Châu
7 p | 142 | 5
-
Bài giảng Ngôn ngữ lập trình C và C++ (Phần 2: Ngôn ngữ lập trình C++) - Chương 6: Mẫu (template)
27 p | 85 | 4
-
Bài giảng Ngôn ngữ lập trình: Bài 1 - Lý Anh Tuấn
30 p | 82 | 4
Chịu trách nhiệm nội dung:
Nguyễn Công Hà - Giám đốc Công ty TNHH TÀI LIỆU TRỰC TUYẾN VI NA
LIÊN HỆ
Địa chỉ: P402, 54A Nơ Trang Long, Phường 14, Q.Bình Thạnh, TP.HCM
Hotline: 093 303 0098
Email: support@tailieu.vn