Bài giảng Lập trình C - Chương 2: Ngôn ngữ C - Bài 1: Bước đầu với ngôn ngữ C
Nội dung bài học
1. Ví dụlàm quen
2. Ghi chú
3. Từkhóa
4. Kiểu dữliệu
5. Biến
6. Phép toán
7. Ép kiểu
Tóm tắt nội dung Bài giảng Lập trình C - Chương 2: Ngôn ngữ C - Bài 1: Bước đầu với ngôn ngữ C, để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
Bài 01: Bước đầu với ngôn ngữ C GV: Trần Phước Tuấn EMAIL: tranphuoctuan.khoatoan.dhsp@gmail.com CHƯƠNG 02: Ngôn Ngữ C 9/16/2008T.P.Tuấn-Lập Trình CPage 2 Nội dung bài học 1. Ví dụ làm quen 2. Ghi chú 3. Từ khóa 4. Kiểu dữ liệu 5. Biến 6. Phép toán 7. Ép kiểu 9/16/2008T.P.Tuấn-Lập Trình CPage 3 1. Ví dụ làm quen 1. /* 2. Chuong trinh xuat cau chao “Hello World!” 3. */ 4. #include 5. void main() 6. { 7. printf(“Hello World!”); 8. } Ví dụ 01: 9/16/2008T.P.Tuấn-Lập Trình CPage 4 1. Ví dụ làm quen Ví dụ 01: 9/16/2008T.P.Tuấn-Lập Trình CPage 5 1. Ví dụ làm quen Ví dụ 01: • Hãy bấm Ctrl + F9 để biên dịch và chạy chương trình • Alt + F5 để xem kết quả xuất ra màn hình 9/16/2008T.P.Tuấn-Lập Trình CPage 6 1. Ví dụ làm quen Ví dụ 01: • Chú thích của chương trình: • Khai báo thư viên stdio.h chứa hàm printf • Lệnh xuất ra màn hình 9/16/2008T.P.Tuấn-Lập Trình CPage 7 1. Ví dụ làm quen 1. /* Chuong trinh nhap va in ra man hinh gia tri bien*/ 2. #include 3. #include 4. void main(void) 5. { 6. clrscr(); //lenh xoa man hinh //với VC: system(“cls”); trong thư viện windows.h 7. int i; 8. printf("Nhap vao mot so: "); 9. scanf("%d", &i); 10. printf("So ban vua nhap la: %d.\n", i); 11. getch(); 12. } Ví dụ 02: 9/16/2008T.P.Tuấn-Lập Trình CPage 8 1. Ví dụ làm quen Ví dụ 02: • clrscr(): Xóa màn hình • getch(): chờ nhận một phím (dừng chương trình lại) • scanf("%d", &i): nhập giá trị vào biến i 9/16/2008T.P.Tuấn-Lập Trình CPage 9 1. Ví dụ làm quen 1. /* Chuong trinh nhap vao 2 so a, b in ra tong*/ 2. #include 3. #include 4. void main() 5. { 6. clrscr(); 7. int a, b; 8. printf("Nhap vao so a: "); 9. scanf("%d", &a); 10. printf("Nhap vao so b: "); 11. scanf("%d", &b); 12. printf("%d + %d = %d\n", a, b, a+b); 13. getch(); 14. } Ví dụ 03: 9/16/2008T.P.Tuấn-Lập Trình CPage 10 1. Ví dụ làm quen Ví dụ 03: • Hãy cho biết kết quả khi • Đáp án 9/16/2008T.P.Tuấn-Lập Trình CPage 11 1. Ví dụ làm quen 1. /* Chuong trinh Tinh chu vi hinh tron */ 2. #include 3. #include 4. #define PI 3.14 5. void main() 6. { 7. clrscr(); 8. float fR; 9. printf("Nhap vao ban kinh hinh tron: "); 10. scanf("%f", &fR); 11. printf(“Chu vi hinh tron: %.2f.\n", 2*PI*fR); 12. getch(); 13. } Ví dụ 04: 9/16/2008T.P.Tuấn-Lập Trình CPage 12 1. Ví dụ làm quen Ví dụ 03: • Hãy cho biết kết quả khi • Đáp án 9/16/2008T.P.Tuấn-Lập Trình CPage 13 2. Ghi chú • Ghi chú theo dòng – Ký tự dùng ghi chú: // – Tất cả các ký tự sau // đến cuối dòng là ghi chú • Ghi chú đoạn – Ký tự: /* … */ – Tất cả các ký tự nằm giữa /* và */ đều là ghi chú 9/16/2008T.P.Tuấn-Lập Trình CPage 14 3. Từ khóa • asm • break • case • cdecl • char • const • continue • default • do • int • interrupt • long • near • pascal • register • return • short • static • double • else • enum • extern • far • float • for • goto • huge • if • struct • signed • sizeof • switch • typedef • union • unsigned • void • volatile • while 9/16/2008T.P.Tuấn-Lập Trình CPage 15 4. Kiểu dữ liệu • Là một bộ gồm 2 tập hợp A và B – A: Tập hợp các giá trị mà kiểu dữ liệu này có thể lưu trữ được – B: Tập hợp các phép toán mà có thể thực hiện trên kiểu dữ liệu này. • Ví dụ: Kiểu int (16 bit-dos) – A: các giá trị nguyên trong đoạn [-32768,32767] – B: các phép toán: +,-,*,/,>,=,<=,… 9/16/2008T.P.Tuấn-Lập Trình CPage 16 4. Kiểu dữ liệu • Có 4 kiểu dữ liệu cơ bản trong C là: char, int, float, double 0 đến 255 – 128 đến 127 – 32,768 đến 32,767 0 đến 65,535 – 32,768 đến 32,767 – 32,768 đến 32,767 0 đến 4,294,967,295 – 2,147,483,648 đến 2,147,483,647 3.4 * 10–38 đến 3.4 * 1038 1.7 * 10–308 đến 1.7 * 10308 3.4 * 10–4932 đến 1.1 * 104932 1 byte 1 byte 2 bytes 2 bytes 2 bytes 2 bytes 4 bytes 4 bytes 4 bytes 8 bytes 10 bytes unsigned char char enum unsigned int short int int unsigned long long float double long double 1 2 3 4 5 6 7 8 9 10 11 Miền giá trị (Range) Kích thước (Length) Kiểu dữ liệu (Type)TT Lưu ý kiểu void 9/16/2008T.P.Tuấn-Lập Trình CPage 17 5. Biến Tên biến - Nguyên tắc đặt tên • Tên biến không chứa khoảng trống. • Tên biến không có các ký tự đặc biệt như: +,- ,*,… • Tên biến phải được bắt đầu bằng ký tự chữ hoặc dấu gạch chân.(Không bắt đầu bằng số) • Theo sau ký tự đầu tiên có thể là các ký tự chữ, số hoặc dấu gạch chân. • Không đặt tên biến trùng với các từ khóa Lưu ý: C phân biệt chữ hoa và chữ thường 9/16/2008T.P.Tuấn-Lập Trình CPage 18 5. Biến Tên biến – Lời khuyên • Không nên viết hoa tất cả các từ trong tên biến. • Không nên bắt đầu bằng dấu gạch chân. • Nên đặt tên biến có ý nghĩa, tránh viết tắt quá nhiều để dẫn đến tên biến tối nghĩa. • Tên của biến ngoại trừ biến kiểu enum và tham số nên viết thường ký tự đầu tiên của từ đầu tiên và viết hoa tất cả các ký tự đầu tiên của những từ còn lại. Ví dụ char nameStudent[30];float markEnglish; 9/16/2008T.P.Tuấn-Lập Trình CPage 19 5. Biến Ví dụ về tên biến không hợp lệ • 3a_1 (ký tự đầu là số) • num-odd (sử dụng dấu gạch ngang) • int (đặt tên trùng với từ khóa) • del ta (có khoảng trắng) • f(x) (có dấu ngoặc tròn) Ví dụ về tên biến hợp lệ • Case • iNumber • Ho_Ten 9/16/2008T.P.Tuấn-Lập Trình CPage 20 5. Biến • Cú pháp: • Ví dụ: – int a,b; – char ch; – float x=2,y=3.2; – double y,t=4.5; Khai báo 9/16/2008T.P.Tuấn-Lập Trình CPage 21 5. Biến Phạm vi của biến • Biến toàn cục – Là biến được khai báo ngoài tất cả các hàm (kể cả main) – Nó ảnh hưởng đến toàn chương trình – Chu kỳ sống của nó là bắt đầu khi chương trình chạy cho đến đi chương trình kết thúc • Biến cục bộ – Là biến được khai báo bên trong hàm, cấu trúc…. – Chỉ ảnh hưởng nội bộ bên trong hàm, cấu trúc đó…. – Chu trình sống của nó bắt đầu từ lúc hàm, cấu trúc được gọi thực hiện đến lúc thực hiện xong 9/16/2008T.P.Tuấn-Lập Trình CPage 22 6. Phép toán • Phép toán số học • Phép toán quan hệ • Phép toán luận lý • Phép toán trên bit • Một số phép toán khác • Độ ưu tiên 9/16/2008T.P.Tuấn-Lập Trình CPage 23 6. Phép toán • + : cộng • - : trừ • * : nhân • / : chia • %: chia lấy dư Phép toán số học áp dụng trên tất cả các toán hạng có kiểu dữ liệu char, int, float, double (kể cả long, short, unsigned) áp dụng trên các toán hạng có kiểu dữ liệu char, int, long Đảo dấu – ( ) *, / , % +, –Thứ tự ưu tiên: 9/16/2008T.P.Tuấn-Lập Trình CPage 24 6. Phép toán • > : lớn hơn • >=: lớn hơn hoặc bằng • < : nhỏ hơn • <=: nhỏ hơn hoặc bằng • ==: bằng • != : khác Phép toán quan hệ >, >=, <, <= ==, !=Thứ tự ưu tiên: Toán tử số học Toán tử quan hệ 9/16/2008T.P.Tuấn-Lập Trình CPage 25 6. Phép toán • ! : NOT (phép phủ định) • && : AND (phép và) • || : OR (phép hoặc) Phép toán luận lý 1 (đúng) 1 (đúng) 1 (đúng) 0 (sai) 1 (đúng) 0 (sai) 0 (sai) 0 (sai) 0 (sai) 0 (sai) 1 (đúng) 1 (đúng) Khác 0 Bằng 0 Khác 0 Bằng 0 Khác 0 Khác 0 Bằng 0 Bằng 0 a || ba && b!aToán hạng bToán hạng a Thứ tự ưu tiên ! && || ! Toán tử số học Toán tử quan hệ && || 9/16/2008T.P.Tuấn-Lập Trình CPage 26 6. Phép toán • & : và (AND) • | : hoặc (OR) • ^ : hoặc loại trừ (XOR) • >>: dịch phải • <<: dịch trái • ~ : đảo Phép toán trên bit (bitwise) 0 1 1 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 0 1 0 0 1 1 a ^ ba | ba & b~aBit bBit a 9/16/2008T.P.Tuấn-Lập Trình CPage 27 6. Phép toán • Phép gán: =, +=, –=, *=, /=, %=, <<=, >>=, &=, |=, ^= • Phép toán ++, -- • Toán tử 3 ngôi: ()? … : … Phép toán khác 9/16/2008T.P.Tuấn-Lập Trình CPage 28 6. Phép toán Phép toán khác – Phép gán • Là phép thay thế giá trị hiện tại thành một giá trị mới • Ví dụ: cho i=3 – i = i + 3 i = 6 – i += 3 i = 6 i = i + 3 – i *= 3 i = 9 i = i * 3 – a=b=6 (b=6;a=b;) 9/16/2008T.P.Tuấn-Lập Trình CPage 29 6. Phép toán Phép toán khác – Toán tử ++, -- • Toán tử ++ (--): cộng thêm (trừ bớt) toán hạng một đơn vị • Ví dụ: n=6 – Sau phép tính ++n hoặc n++, ta có n = 7. – Sau phép tính – –n hoặc n– – , ta có n = 5. • Sự khác nhau giữa n++ và ++n (tương tự --) n=6 – Sau phép tính x = ++n + 2, ta có x = 9. (n tăng 1 cộng với 2 rồi gán cho x) – Sau phép tính x = n++ + 2, ta có x = 8. (n cộng với 2 gán cho x rồi mới tăng 1) 9/16/2008T.P.Tuấn-Lập Trình CPage 30 6. Phép toán Phép toán khác – Toán tử ++, -- #include #include void main() { int n,i; n=7; i=n+++n++; printf("n = %d, i = %d\n", n, i); i=++n+n++; printf("n = %d, i = %d\n", n, i); i=(n++)+(++n); printf("n = %d, i = %d\n", n, i); i=(++n)+(++n); printf("n = %d, i = %d\n", n, i); getch(); } 9/16/2008T.P.Tuấn-Lập Trình CPage 31 6. Phép toán Phép toán khác – Toán tử ba ngôi • Cú pháp: ? : • Ví dụ: int x,y,max; y=5;x=7; max=(x>y)?x:y; (max nhận giá trị lớn nhất trong x, y) 9/16/2008T.P.Tuấn-Lập Trình CPage 32 6. Phép toán Độ ưu tiên Trái sang phải Phải sang trái Trái sang phải Trái sang phải Trái sang phải Trái sang phải Trái sang phải Trái sang phải Trái sang phải Trái sang phải Trái sang phải Trái sang phải Phải sang trái Phải sang trái Trái sang phải ( ) [ ] -> ! ~ & * – ++ – – (type) sizeof * / % + – > >= == != & ^ | && || ? : = += –= *= /= %= >= &= ^= |= , 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 Trình tự kết hợpCác phép toánĐộ ưu tiên - Phép đảo (–) ở dòng 2, phép trừ (–)ở dòng 4 - Phép lấy địa chỉ (&) ở dòng 2, phép AND bit (&) ở dòng 8 - Phép lấy đối tượng con trỏ (*) ở dòng 2, phép nhân (*) ở dòng 3. 9/16/2008T.P.Tuấn-Lập Trình CPage 33 7. Ép kiểu • Tự động (ngầm ẩn) int x=3; float y=2.4; x=y; • Tường minh – Cú pháp: () ; – Ví dụ: int x;float y=5.2; x=(int) y; 9/16/2008T.P.Tuấn-Lập Trình CPage 34 7. Ép kiểu • float a=6/4; // a==1 • float a=(float)6/4; // a==1.5 • float a=float(5/4); // a==1 • float a=500*700; // a nhận giá trị sai do tràn kiểu số nguyên 9/16/2008 35
File đính kèm:
- Bài giảng Lập trình C - Chương 2 Ngôn ngữ C - Bài 1 Bước đầu với ngôn ngữ C.pdf