Giáo trình môn học lập trình c nghề quản trị mạng trình độ cao đẳng nghề (phần 2)

51 191 0
Giáo trình môn học lập trình c   nghề quản trị mạng   trình độ cao đẳng nghề (phần 2)

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

CHƯƠNG 4: CẤU TRÚC VÒNG LẶP Mã chương/ bài:MH18-04 Mục tiêu: - Trình bày ý nghĩa vịng lặp ; - Trình bày cú pháp, cơng dụng lệnh for, while, do…while; - Trình bày ý nghĩa cách sử dụng lệnh break, continue; - Giải số toán sử dụng lệnh for, while, do…while ; - Sử dụng vòng lặp lồng - Thực thao tác an tồn với máy tính 4.1 Lệnh for Mục tiêu: Hiểu cú pháp vận dụng vịng lặp for để giải tốn Cú pháp : for ( biểu thức 1; biểu thức 2; biểu thức 3) Lệnh khối lệnh ; Giải thích : + Biểu thức 1: khởi tạo giá trị ban đầu cho biến điều khiển + Biểu thức 2: quan hệ logic thể điều kiện tiếp tục vòng lặp + Biểu thức 3: phép gán dùng thay đổi giá trị biến điều khiển Lưu ý : + Từ khóa for phải viết chữ thường + Nếu khối lệnh phải đặt dấu { } + Biểu thức 1, 2, phải phân cách dấu chấm phẩy (;) + Nếu biểu thức khơng có, vịng for xem ln ln Muốn khỏi vòng lặp for phải dùng lệnh break, goto return + Với biểu thức viết thành dãy biểu thức phân cách dấu phẩy Khi biểu thức xác định từ trái sang phải Tính sai dãy biểu thức biểu thức thứ xác định biểu thức cuối + Trong thân for (khối lệnh) chứa nhiều cấu trúc điều khiển khác + Khi gặp lệnh break, cấu trúc lặp sâu thoát + Trong thân for dùng lệnh goto để khỏi vịng lặp đến vị trí mong muốn + Trong thân for sử dụng return để trở hàm + Trong thân for sử dụng lệnh continue để chuyển đến đầu vòng lặp (bỏ qua câu lệnh cịn lại thân) Ví dụ : Nhập n tính tổng S = + + … + n #include #include void main() { int i, n, s = 0; printf("Nhap vao so n: "); scanf("%d", &n); i = 0; for(i = 0; i n, đếm có số nguyên tố Tính tổng sau: S=1+2+3+…+n S= 12+22+3+2+…+n2 S=1/1+1/2+1/3+…+1/n Viết chương trình in số từ đến 100 theo dạng sau: .10 11 12 13 .20 92 93 100 Hướng dẫn Thuật toán: - Khai báo biến n, i - Nhập số n - Thuật tốn kiểm tra n có phải số nguyên tố không: o Cho i chạy từ đến n  Nếu n%i = thốt; o Nếu i = n in hình n số nguyên tố o Ngược lại, n khơng phải số ngun tố Thuật tốn: - Khai báo biến n, i, j - Nhập số n - Tìm số ngun tố có từ 1->n: o Khởi tạo biến đếm count=0 o Cho i chạy từ đến n  Cho j chạy từ đến i  Nếu i%j =  Nếu j=i thì:  i số nguyên tố  count=count+1; - In giá trị count số nguyên tố tìm hình Chương trình: Thuật tốn: - Khai báo biến S, i, n - Nhập n từ bàn phím - Tính tổng S: o S=0 o Cho i chạy từ đến n  S=S+i - Xuất S hình Thuật tốn: - Khai báo biến S, i, n - Nhập n từ bàn phím - Tính tổng S: o S=0 o Cho i chạy từ đến n  S=S+i*i S=S+pow(i,2) - Xuất S hình Thuật tốn: - Khai báo biến S, i, n - Nhập n từ bàn phím - Tính tổng S: o S=0 o Cho i chạy từ đến n  S=S+1/i - Xuất S hình 5: Thuật tốn: - Khai báo biến i - Tạo bảng số: o Cho i chạy từ đến 100 làm  Nếu i%10= =1 in xuống dịng i hình  Ngược lại, in giá trị i hình 4.2 Lệnh break Mục tiêu: Hiểu biết cách sử dụng lệnh break chương trình Thơng thường lệnh break dùng để khỏi vịng lặp không xác định điều kiện dừng người dùng muốn dừng vòng lặp theo điều kiện người dùng định Việc dùng lệnh break để khỏi vịng lặp thường sử dụng phối hợp với lệnh if Lệnh break dùng for, while, do…while, switch Lệnh break thoát khỏi vịng lặp chứa Ví dụ: Viết chương trình đọc từ bàn phím số nguyên n (1≤n≤10) đưa tiếng Anh số Chẳng hạn, gõ vào n = in Four #include #include #include main() { clrscr(); //khai bao bien int so; char *kq; //nhap tuoi printf("nhap so bat ky nam khoang [1,10]: "); scanf("%d",&so); ///chuyen so vua nhap sang tieng anh switch(so) { case 1: kq="One";break; case 2: kq="Two";break; case 3: kq="Three";break; case 4: kq="Four";break; case 5: kq="Five";break; case 6: kq="Six";break; case 7: kq="Seven";break; case 8: kq="Eight";break; case 9: kq="Nine";break; case 10: kq="Ten";break; } printf("Trong tieng Anh\n"); printf("%d : %s",so,kq); getch(); } Sử dụng lệnh break switch để nhảy bỏ câu lệnh lại 4.3 Lệnh continue Mục tiêu: Hiểu biết cách sử dụng lệnh break chương trình Được dùng vịng lặp for, while, do…while Khi lệnh continue thi hành quyền điều khiển trao qua cho biểu thức điều kiện vòng lặp gần Nghĩa lộn ngược lên đầu vòng lặp, tất lệnh sau vòng lặp chứa continue bị bỏ qua không thi hành 4.4 Lệnh while Mục tiêu: Hiểu biết cách sử dụng vịng lặp while giải tốn Cú pháp : while (biểu thức) Khối lệnh; Giải thích : + Biểu thức: biểu thức nhiều biểu thức Nếu nhiều biểu thức cách dấu phẩy (,) tính sai biểu thức định biểu thức cuối + Trong thân while (khối lệnh) chứa nhiều cấu trúc điều khiển khác + Trong thân while sử dụng lệnh continue để chuyển đến đầu vòng lặp (bỏ qua câu lệnh cịn lại thân) + Muốn khỏi vịng lặp while tùy ý dùng lệnh break, goto, return lệnh for Chú ý: Từ khóa while phải viết chữ thường Nếu khối lệnh bao gồm từ lệnh trở lên phải đặt dấu { } Ví dụ: Viết chương trình nhập vào số n in tổng số #include main() { int n,s; printf("\n Chuong trinh tinh tong cac so tu nhien tu den"); scanf("%d",&n); s=0; while(n>0) { s=s+n; n=n-1; } printf(“\nTong tim duoc la: %d”,s); getch(); } Bài tập: Dùng vòng lặp while để: Viết chương trình tính tổng bình phương số lẻ từ đến N Viết chương trình nhập vào N tính giai thừa N Hãy làm theo yêu cầu sau: -Viết chương trình kiểm tra n có phải số ngun tố hay khơng, với số n nhập vào từ bàn phím -Viết chương trình nhập vào số n in số nguyên tố có từ 1-> n, đếm có số nguyên tố Tính tổng sau: S=1+2+3+…+n S= 12+22+32+…+n2 S=1/1+1/2+1/3+…+1/n Viết chương trình in số từ đến 100 theo dạng sau: .10 11 12 13 .20 92 93 100 4.5 Lệnh while Mục tiêu: Hiểu biết cách sử dụng vòng lặp while giải toán  Cú pháp: khối lệnh; while (biểu thức);  Giải thích: + Biểu thức: biểu thức nhiều biểu thức Nếu nhiều biểu thức cách dấu phẩy (,) tính sai biểu thức định biểu thức cuối + Trong thân do…while (khối lệnh) chứa nhiều cấu trúc điều khiển khác + Trong thân do…while sử dụng lệnh continue để chuyển đến đầu vòng lặp (bỏ qua câu lệnh cịn lại thân) + Muốn khỏi vịng lặp do…while tùy ý dùng lệnh break, goto, return Chú ý: Từ khóa do, while phải viết chữ thường Nếu khối lệnh bao gồm từ lệnh trở lên phải đặt dấu { } Ví dụ : Viết chương trình nhập vào số n in tổng số (sinh viên tự làm) Bài tập: Dùng vòng lặp while để: Viết chương trình tính tổng bình phương số lẻ từ đến N Viết chương trình nhập vào N tính giai thừa N Hãy làm theo yêu cầu sau: -Viết chương trình kiểm tra n có phải số ngun tố hay khơng, với số n nhập vào từ bàn phím -Viết chương trình nhập vào số n in số nguyên tố có từ 1-> n, đếm có số nguyên tố Tính tổng sau: S=1+2+3+…+n S= 12+22+32+…+n2 S=1/1+1/2+1/3+…+1/n Viết chương trình in số từ đến 100 theo dạng sau: .10 11 12 13 .20 92 93 100 4.6 Vòng lặp lồng Mục tiêu: Biết cách kết hợp để vịng lặp lồng giải tốn có tính phức tạp Các lệnh lặp for, while, do…while lồng vào nó, lồng vào lẫn Nếu không cần thiết không nên lồng vào nhiều cấp dễ gây nhầm lẫn lập trình kiểm sốt chương trình Ví dụ : Vẽ hình chữ nhật đặc dấu '*' #include #include void main(void) { int i, ij, idai, irong; printf("Nhap vao chieu dai: "); scanf("%d", &idai); printf("Nhap vao chieu rong: "); scanf("%d", &irong); for (i = 1; i

Ngày đăng: 23/05/2016, 07:45

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan