Bài giảng Ngôn ngữ lập trình C/C++ (Tuần 3,4)
Các cấu trúc điều khiển rẽ nhánh và lặp
Làm một số bài tập trên lớp
Kiểu dữ liệu mảng
Xâu ký tự
Tóm tắt nội dung Bài giảng Ngôn ngữ lập trình C/C++ (Tuần 3,4), để xem tài liệu hoàn chỉnh bạn click vào nút "TẢI VỀ" ở trên
NGÔN NGỮ LẬP TRÌNH C/C++ (Bài giảng tuần 3-4) Nội dung Các cấu trúc điều khiển rẽ nhánh và lặp Làm một số bài tập trên lớp Kiểu dữ liệu mảng Xâu ký tự Cấu trúc điều khiển Câu lệnh rẽ nhánh if…else Cú pháp: if () Nếu đúng thì thực hiện if () else Nếu đúng thì thực hiện Ngược lại thực hiện Ví dụ câu lệnh if…else Ví dụ 1: if (delta == 0) printf(“Nghiem kep\n”); if (delta == 0) { x1 = x2 = nghiem; printf(“Nghiem kep\n”); } Ví dụ 2: if (delta ) { case : []; case : []; ……………...: ...............; case : []; [default: dãy lệnh n+1;] } Ví dụ câu lệnh switch int th; cout > th ; switch (th) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: cout Nhãn là một tên gọi trong chương trình do người lập trình đặt tên Cách viết nhãn: label: Hạn chế dùng câu lệnh goto vì nếu lạm dụng câu lệnh này sẽ làm cho chương trình trở nên khó hiểu, dễ sinh lỗi Ví dụ minh họa void main() { long m, n, kq = 0; // Các số cần nhân và kết quả kq cout > m >> n ; lap: // đây là nhãn để chương trình quay lại if (m%2) kq += n; // nếu m lẻ thì cộng thêm n vào kq m = m >> 1; // dịch m sang phải 1 bit tức m = m / 2 n = n 0 cout ;;) { ;} Các biểu thức trong các dãy biểu thức 1, 2 cách nhau bởi dấu phảy (,) Điều kiện lặp là biểu thức lôgic Hoạt động: Thực hiện kiểm tra , nếu đúng thực hiện , thực hiện , quay lại kiểm tra .. Ví dụ minh họa lệnh lặp for void main() { long m, n, kq; // Các số cần nhân và kết quả kq cout > m >> n ; for (kq = 0 ; m ; m >>= 1, n ) { ; } Hoạt động: Lặp lại trong khi đúng. có thể không được thực hiện lần nào nếu sai. Ví dụ lệnh lặp while void main() // Bài toán cổ 100 chân, 36 con vừa gà vừa chó { int g, c ; g = 0 ; while (g > m >> n ; if (m n) m = r; else { m = n ; n = r ; } } cout 1.0e-6) // trong khi độ dài đoạn còn lớn hơn e { c = (a + b)/2; // tìm điểm c giữa đoạn [a,b] fa = exp(a) - 1.5; fc = exp(c) - 1.5; // tính f(a) và f(c) if (fa*fc == 0) break; // f(c) = 0 tức c là nghiệm if (fa*fc > 0) a = c; else b = c; } cout } while () ; Hoạt động: Thực hiện trong khi đúng được thực hiện ít nhất một lần Ví dụ câu lệnh do…while Tính xấp xỉ số theo công thức Euler với void main() { int n = 1; float S = 0; do S += 1.0/(n*n) while 1.0/(n*n) [] ; // không khởi tạo [] = { dãy giá trị } ; // có khởi tạo [ ] = { dãy giá trị } ; // có khởi tạo Ví dụ về khai báo mảng int a[10]; // Mảng 10 số nguyên không khởi tạo // Mảng 3 số thực độ chính xác kép có khởi tạo double b[3] = {1.0, 2.0, -3.4}; // Mảng 5 số thực độ chính xác đơn có khởi tạo float f[] = {0.2, 0.3, 0.0, -4.5, -2.1} Ví dụ: Tính tổng, tích của hai phân số void main() { int a[2], b[2], tong[2], tich[2] ; cout > a[0] ; cout > a[1] ; cout > b[0] ; cout > b[1] ; tong[0] = a[0]*b[1] + a[1]*b[0] ; tong[1] = a[1] * b[1] ; tich[0] = a[0]*b[0]; tich[1] = a[1] * b[1] ; cout > n; for (i=0; i> a[i]; } min = a[0]; k = 0; for (i=1; i[độ dài] ; // không khởi tạo char [độ dài] = ; // có khởi tạo char [] = xâu kí tự ; // có khởi tạo Các xâu ký tự có ký tự kết thúc là ‘\0’ Ví dụ khai báo xâu ký tự // Khai báo xâu độ dài 80, không khởi tạo char tenfile[80]; // Khai báo xâu độ dài 80, có khởi tạo char tenfile[80] = “autoexec.bat”; // Khai báo xâu có khởi tạo char tenfile = “config.sys”; Một số hàm xử lý xâu ký tự (1) #include strcpy(s,t): gán nội dung của xâu t cho xâu s strncpy(s, t, n): Sao n ký tự đầu tiên của xâu t vào xâu s strcat(s, t): Nối xâu t vào xâu s strncat(s, t, n): Nối n ký tự đầu tiên của xâu t vào xâu s Một số hàm xử lý xâu ký tự (2) strcmp(s, t): So sánh hai xâu s và t: Nếu s t hàm trả kết quả dương strncmp(s, t, n): Giống strcmp nhưng chỉ thao tác với n ký tự đầu tiên của hai xâu strcmpi(s, t): Giống strcmp nhưng không phân biệt chữ hoa và chữ thường strlen(s): Trả lại độ dài của xâu s Mảng hai chiều Khai báo: [m][n]; Ví dụ: // Khai báo ma trận kích thước 10x20 double matran[10][20]; // Chỉ số hàng chạy từ 0..9 // Chỉ số cột chạy từ 0..19 Các vấn đề cần nhớ Các câu lệnh rẽ nhánh và lặp Sự khác nhau giữa các câu lệnh if..else và switch Sự khác nhau giữa for, while và do…while Cách sử dụng break và continue Mảng 1 chiều, 2 chiều Xâu ký tự, các hàm thư viện thao tác xâu ký tự Bài tập 45 bài tập từ trang 78 đến trang 82 trong tập bài giảng Giải các bài tập trên trong giờ thực hành
File đính kèm:
- Bài giảng Ngôn ngữ lập trình CC++ (Tuần 3,4).ppt