1. Trang chủ
  2. » Giáo án - Bài giảng

Bài giảng lập trình c chương 04 GV ngô công thắng

21 9 0

Đ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

Thông tin cơ bản

Định dạng
Số trang 21
Dung lượng 132,05 KB

Nội dung

Chương Lệnh vào/ra liệu cấu trúc điều khiển chương trình I Lệnh vào/ra liệu II Lệnh lựa chọn III Lệnh lặp IV Lệnh break continue Lập trình nâng cao - Chương - Ngơ Công Thắng I Lệnh vào/ra liệu Khai báo thư viện hàm vào/ra liệu Lệnh lấy liệu vào từ bàn phím Lệnh đưa liệu hình Kết hợp lệnh printf scanf để tổ chức lấy liệu vào từ bàn phím Lập trình nâng cao - Chương - Ngô Công Thắng I.1 Khai báo thư viện hàm vào/ra liệu ² Để sử dụng lệnh vào/ra liệu C lập trình DOS/ Windows/ Linux ta phải khai báo sử dụng thư viện hàm stdio: #include Lập trình nâng cao - Chương - Ngô Công Thắng I.2 Lệnh lấy liệu vào từ bàn phím ² Để lấy liệu từ bàn phím vào biến ta dùng lệnh scanf theo cú pháp sau: scanf(đặc tả kiểu dl, địa ô nhớ); Trong đó: 1) đặc tả kiểu dl xâu ký tự điều khiển chứa đặc tả chuyển dạng liệu, đặc tả tương ứng với địa ô nhớ; 2) địa ô nhớ phân tách dấu chấm phẩy Sử dụng tốn tử & để lấy địa nhớ biến, ví dụ &a Lập trình nâng cao - Chương - Ngô Công Thắng I.2 Lệnh lấy liệu vào từ bàn phím 3) Đặc tả chuyển dạng liệu có cấu trúc chung sau: %[*][w]Ký tự chuyển dạng - Nếu có dấu * trường vào dị đọc bình thường giá trị khơng lưu vào nhớ Đặc tả chứa dấu * khơng có nhớ tương ứng - w số xác định chiều dài cực đại trường vào Nếu khơng có tham số w tham số lớn độ dài trường vào tồn trường vào đọc, nội dung dịch đưa vào ô nhớ tương ứng Nếu w nhỏ độ dài trường vào tương ứng phần đầu trường vào có độ dài w đọc, dịch gán vào ô nhớ tương ứng Phần lại dùng cho đặc tả Ví dụ: vdch4_01.cpp Lập trình nâng cao - Chương - Ngô Công Thắng I.2 Lệnh lấy liệu vào từ bàn phím 4) Ký tự chuyển dạng xác định cách thức dò đọc liệu dòng vào phương pháp chuyển dịch thông tin đọc trước gán cho địa tương ứng Lập trình nâng cao - Chương - Ngơ Công Thắng Các ký tự chuyển dạng liệu dùng cho scanf Ký tự chuyển dạng Ý nghĩa c Đọc ký tự, đối tương ứng ô nhớ kiểu char d Đọc giá trị int, đối tương ứng ô nhớ kiểu int ld Đọc giá trị long, đối tương ứng ô nhớ kiểu long o Đọc giá trị kiểu int hệ 8, đối tương ứng ô nhớ kiểu int lo Đọc giá trị kiểu long hệ 8, đối tương ứng ô nhớ kiểu long x Đọc giá trị kiểu int hệ 16, đối tương ứng ô nhớ kiểu int lx Đọc giá trị kiểu long hệ 16, đối tương ứng ô nhớ kiểu long f e Đọc giá trị kiểu float, đối tương ứng ô nhớ kiểu float lf le Đọc giá trị kiểu double, đối tương ứng ô nhớ kiểu double s Đọc xâu ký tự, đối tương ứng mảng nhớ kiểu char Lập trình nâng cao - Chương - Ngô Công Thắng Các ký tự chuyển dạng liệu dùng cho scanf Ký tự chuyển dạng Ý nghĩa [dãy ký tự] Đọc ký tự gặp ký tự không thuộc tập ký tự hai dấu [ ] Đối tương ứng địa mảng ô nhớ kiểu char Khoảng trắng xem ký tự [^dãy ký tự] Đọc ký tự gặp ký tự thuộc tập ký tự hai dấu [ ] Đối tương ứng địa mảng ô nhớ kiểu char Khoảng trắng xem ký tự Ví dụ: int a; scanf(“%d”, &a); Lập trình nâng cao - Chương - Ngô Công Thắng I.3 Lệnh đưa liệu hình ² Cú pháp: printf(dk,các liệu cần đưa ra); Trong đó: 1) dk xâu ký tự điều khiển có chứa: + Các ký tự điều khiển, ví dụ ‘\n’, ‘\t’, ‘\b’ + Các đặc tả chuyển dạng tạo khuôn liệu, đặc tả dùng cho liệu tương ứng cần đưa hình + Các ký tự thơng thường 2) Các liệu cần đưa hằng, biến, biểu thức Có liệu đưa phải có nhiêu đặc tả chuyển dạng Lập trình nâng cao - Chương - Ngơ Cơng Thắng Đặc tả chuyển dạng liệu ² Cấu trúc chung: %[-][fw][.pp]Ký tự chuyển dạng - Nếu khơng có dấu trừ - liệu phải số chỗ hình dành cho liệu, cịn thừa chỗ để trống Với liệu số, fw bắt đầu số chỗ trống điền đầy số - Nếu có dấu trừ liệu trái, chỗ thừa ln để trống Ví dụ máy với liệu cần đưa -2503 Lập trình nâng cao - Chương - Ngô Công Thắng 10 Đặc tả chuyển dạng liệu (tiếp) ² Cấu trúc chung: %[-][fw][.pp]Ký tự chuyển dạng - fw số nguyên xác định số chỗ hình dành cho liệu đưa Nếu khơng có fw fw nhỏ độ dài thực tế liệu số chỗ hình dành cho liệu độ dài liệu - pp số nguyên xác định số chữ số sau dấu chấm thập phân pp dùng cho liệu số thực Lập trình nâng cao - Chương - Ngơ Cơng Thắng 11 Các ký tự chuyển dạng liệu dùng cho printf Ký tự chuyển dạng Kiểu liệu Các chuyển dạng c char d i int Dữ liệu coi số nguyên có dấu ld li long Dữ liệu coi số nguyên có dấu u int Dữ liệu coi số nguyên không dấu o int Dữ liệu coi số hệ không dấu lo long Dữ liệu coi số hệ không dấu x int Dữ liệu coi số hệ 16 không dấu lx long Dữ liệu coi số hệ 16 không dấu Dữ liệu coi ký tự f float/double Dữ liệu coi số thực dạng thập phân e float/double Dữ liệu coi số thực dạng mũ s Xâu ký tự Dữ liệu coi xâu ký tự Lập trình nâng cao - Chương - Ngơ Cơng Thắng 12 I.4 Kết hợp lệnh printf scanf để tổ chức lấy liệu vào từ bàn phím ² Trước lệnh nhập liệu scanf ta nên dùng lệnh printf để đưa lời nhắc nhập vào liệu printf(“Lời nhắc: ”); scanf( ); Lập trình nâng cao - Chương - Ngơ Cơng Thắng 13 Một chương trình C đơn giản Ví dụ 4.1: Chương trình lấy vào bán kính hình trịn, sau tính đưa diện tích chu vi hình trịn Lập trình nâng cao - Chương - Ngô Công Thắng 14 BTVN 1) Tính diện tích chu vi tam giác biết cạnh a, b, c 2) Tính y theo cơng thức sau: Y = 5x + log3(x2 + 5)/log5(x3 + 2) Lập trình nâng cao - Chương - Ngơ Cơng Thắng 15 II Lệnh lựa chọn Lệnh kiểm tra điều kiện if Lệnh thử rẽ nhánh switch Lập trình nâng cao - Chương - Ngơ Cơng Thắng 16 II.1 Lệnh kiểm tra điều kiện if ² Lệnh kiểm tra điều kiện để bảo máy kiểm tra điều kiện, làm cơng việc này, sai làm cơng việc khác Biểu thức điều kiện biểu thức logic có giá trị (khác 0) sai (bằng 0) ² Lệnh có dạng: (1) if (điều kiện) Câu lệnh; (2) if (điều kiện) Câu_lệnh_1; else Câu_lệnh_2; Câu_lệnh câu lệnh đơn lẻ khối lệnh Lưu ý Điều kiện phải đặt ngoặc sau Câu_lệnh_1 phải có dấu chấm phẩy 17 Lập trình nâng cao - Chương - Ngơ Cơng Thắng II.1 Lệnh kiểm tra điều kiện if (tiếp) ² Lưu đồ thực lệnh dạng (1) (2) sau: (1) (2) Điều kiện Sai Đúng Sai Điều kiện Đúng Câu lệnh Lệnh Câu lệnh Câu lệnh Lệnh Lập trình nâng cao - Chương - Ngô Công Thắng 18 II.1 Lệnh kiểm tra điều kiện if (tiếp) ² Ví dụ 4.1: Viết chương trình nhập vào số thực, kiểm tra số dương đưa hình bậc số đó, âm đưa thơng báo “Số âm khơng có bậc 2” //Khai bao su dung thu vien chuong trinh #include #include int main() { float a; printf(“Nhap vao mot so: ”); scanf(“%f”,&a); if (a>=0) printf("Can bac bang: %6.2f”,sqrt(a)); else printf("So am khong co can bac 2”); return 0; } Lập trình nâng cao - Chương - Ngô Công Thắng 19 II.2 Lệnh thử rẽ nhánh switch ² Khi cần kiểm tra giá trị biểu thức xem có giá trị nhiều giá trị không ta dùng lệnh switch ² Cú pháp: có dạng (1) Khơng có chấm phẩy switch (Biểu thức) { case hằng1: Các câu lệnh; Các lệnh ứng với break; case hằng2: Để thoát khỏi switch Các câu lệnh; Các lệnh ứng với break; …… case hằngN: Các câu lệnh; Các lệnh ứng với N break; } Khơng có chấm phẩy Lập trình nâng cao - Chương - Ngô Công Thắng 20 II.2 Lệnh thử rẽ nhánh switch (tiếp) (2) switch (Biểu thức) { case hằng1: Các câu lệnh; break; case hằng2: Các câu lệnh; break; …… case hằngN: Các câu lệnh; break; default: Các câu lệnh; break; } Khơng có dấu chấm phẩy Các lệnh ứng với Các lệnh ứng với Các lệnh ứng với N Các lệnh ứng với default Khơng có dấu chấm phẩy Lập trình nâng cao - Chương - Ngô Công Thắng 21 II.2 Lệnh thử rẽ nhánh switch (tiếp) ² Biểu thức sau từ khoá switch phải đặt ngoặc đơn ² Biểu thức phải kiểu kiểu số nguyên ký tự ² Các giá trị biểu thức (các kết hợp với nhau) Sau phải có dấu hai chấm ² Trước phải có từ khố case, tức khơng thể có nhiều chung từ khố case ² Nếu muốn nhiều chung câu lệnh để gần viết lệnh câu lệnh break Lập trình nâng cao - Chương - Ngô Công Thắng 22 II.2 Lệnh thử rẽ nhánh switch (tiếp) Lưu đồ thực lệnh switch sau: Biểu thức = 1? Đúng Các lệnh ứng với Đúng Các lệnh ứng với N Sai Biểu thức = N? Sai Các lệnh ứng với default (nếu có) Lập trình nâng cao - Chương - Ngơ Cơng Thắng Lệnh 23 II.2 Lệnh thử rẽ nhánh switch (tiếp) Ví dụ 4.2: Viết chương trình nhập vào tháng năm, cho biết tháng năm có ngày? (Chương trình trang sau) Lập trình nâng cao - Chương - Ngô Công Thắng 24 II.2 Lệnh thử rẽ nhánh switch (tiếp) //Khai bao su dung thu vien chuong trinh #include int main() { int thang,nam; printf("Nhap vao thang: ");scanf("%d",&thang); printf("Nhap vao nam: ");scanf("%d",&nam); switch(thang) { case 1: case 3: case 5: case 7: case 8: case 10: case 12: printf("Thang co 31 ngay!"); break; case 4: case 6: case 9: case 11: printf("Thang co 30 ngay!"); break; case 2: if(nam%4==0) printf("Thang co 29 ngay!"); else printf("Thang co 28 ngay!"); break; default: printf("Thang nhap vao ko dung!"); break; } return 0; } Lập trình nâng cao - Chương - Ngơ Công Thắng 25 III Lệnh lặp Lệnh lặp với số lần lặp xác định for Lệnh lặp với lần lặp khơng xác định Lập trình nâng cao - Chương - Ngô Công Thắng 26 III.1 Lệnh lặp với số lần xác định for ² Cú pháp: for (Biểu thức khởi tạo;Biểu thức kiểm tra; Biểu thức tăng/giảm) Câu lệnh Khối lệnh n Biểu thức khởi tạo dùng để khởi tạo giá trị ban đầu cho biến điều khiển vòng lặp thực lần bắt đầu vào vòng lặp for Lập trình nâng cao - Chương - Ngơ Cơng Thắng 27 III.1 Lệnh lặp với số lần xác định for (tiếp) Biểu thức kiểm tra dùng để kiểm tra giá trị biến điều khiển xem tiếp tục lặp hay kết thúc Biểu thức kiểm tra thường biểu thức logic có giá trị sai, có giá trị lặp, có giá trị sai kết thúc n Biểu thức tăng/giảm dùng để thay đổi biến điều khiển theo chiều tăng giảm n Lập trình nâng cao - Chương - Ngô Công Thắng 28 III.1 Lệnh lặp với số lần xác định for (tiếp) ² Lưu đồ thực lệnh for bên: ² Ba biểu thức lệnh for khơng có hai dấu chấm phẩy khơng thể thiếu Khi khơng viết biểu thức kiểm tra mặc định biểu thức kiểm tra có giá trị true, điều làm cho vòng lặp lặp Biểu thức khởi tạo Biểu thức kiểm tra Sai Đúng Các lệnh vòng lặp Lệnh Biểu thức tăng/giảm Lập trình nâng cao - Chương - Ngơ Cơng Thắng 29 III.1 Lệnh lặp với số lần xác định for (tiếp) ² Ví dụ: for (i=1;i

Ngày đăng: 16/04/2021, 17:52