chương 3 cung cấp các khái niệm về vào ra dữ liệu và các cấu trúc điều khiển chương trình c Khai báo thư viện chương trình Lệnh đưa dữ liệu ra màn hình Lệnh nhập dữ liệu vào từ bàn phím Cú pháp: printf(xâu_định_dạng, danh_sách_tham_số); Trong đó: xâu_định_dạng: đặt trong cặp dấu , quy định cách thức hiển thị dữ liệu ra màn hình máy tính, bao gồm 3 loại ký tự: + Ký tự văn bản thông thường + Ký tự điều khiển + Đặc tả
BÀI GIẢNG HỌC PHẦN KỸ THUẬT LẬP TRÌNH CHƯƠNG 3: VÀO/RA DỮ LIỆU VÀ CÁC CẤU TRÚC ĐIỀU KHIỂN CHƯƠNG TRÌNH Nội dung 3.1 Vào/ra liệu 3.2 Các cấu trúc điều khiển chương trình 3.1 Vào/ra liệu • Khai báo thư viện chương trình • Lệnh đưa liệu hình • Lệnh nhập liệu vào từ bàn phím Khai báo thư viện chương trình • Để sử dụng lệnh vào/ra liệu, cần khai báo tệp tiêu đề stdio.h (standard input/output) #include #include "stdio.h" Lệnh đưa liệu hình (1) • Cú pháp: printf(xâu_định_dạng, danh_sách_tham_số); Trong đó: - xâu_định_dạng: đặt cặp dấu " ", quy định cách thức hiển thị liệu hình máy tính, bao gồm loại ký tự: + Ký tự văn thông thường + Ký tự điều khiển + Đặc tả - danh_sách_tham_số: danh sách giá trị hiển thị theo quy định xâu định dạng, viết ngăn cách dấu phẩy, gồm: tên biến, tên hằng, biểu thức, hàm, giá trị cụ thể Lệnh đưa liệu hình (2) • Lưu ý: danh_sách_tham_số phải phù hợp với đặc tả xâu_định_dạng số lượng, kiểu liệu thứ tự xâu_định_dạng (1) • Ký tự văn thơng thường: Được đưa hình ngun vẹn xâu_định_dạng Ví dụ: - printf("Xin chao!"); Kết hiển thị hình: Xin chao! - printf("a+b"); Kết hiển thị hình: a+b • Một số ký tự đặc biệt cần đặt liền sau ký hiệu \ \" in ký tự " \\ in ký tự \ xâu_định_dạng (2) • Ký tự điều khiển: tạo hiệu ứng hiển thị đặc biệt \n xuống dòng \t tab \b backspace \r carriage return – đưa trỏ hình đầu dòng \f line feed – sang trang … Ví dụ: printf("\n"); printf("\t"); printf("\n\t"); xâu_định_dạng (3) • Đặc tả: Xác định kiểu liệu giá trị muốn xuất Đặc tả Ý nghĩa Kiểu liệu %c %i, %d Kiểu ký tự đơn Số nguyên hệ 10 có dấu char int, char %u unsigned Số nguyên hệ 10 không dấu int/char %o Số hệ không dấu (không int, char có số đứng trước) Số hệ 16 khơng dấu chữ %x, %X thường/chữ hoa (khơng có int, char 0x đứng trước) xâu_định_dạng (4) • Đặc tả: (tiếp) Đặc tả Ý nghĩa Kiểu liệu %li,%ld Số nguyên hệ 10 có dấu long %lu Số nguyên hệ 10 không dấu unsigned long %lo Số hệ không dấu (khơng long có số đứng trước) %lx, %lX Số hệ 16 khơng dấu chữ thường/chữ hoa (khơng có long 0x đứng trước) 10 Cấu trúc while (1) • Cú pháp: while (biểu_thức) câu_lệnh; • Hoạt động: - Bước 1: Xác định giá trị biểu_thức - Bước 2: Nếu biểu_thức nhận giá trị sai, thoát khỏi while; biểu_thức nhận giá trị đúng, thực câu_lệnh quay lại bước • Ví dụ: i=0; while (ib) a=a-b; else b=b-a; printf("UCLN = %d",a); return 0; } 59 Cấu trúc while (5) • Bài tập: Viết chương trình cho phép người dùng nhập vào tử số mẫu số phân số a/b In dạng tối giản phân số Dùng câu lệnh while làm lại tập phần vòng lặp for (slide 55) 60 Cấu trúc while (1) • Cú pháp: các_câu_lệnh; while (biểu_thức); • Hoạt động: - Bước 1: Thực các_câu_lệnh - Bước 2: Xác định giá trị biểu_thức Nếu biểu_thức nhận giá trị sai, thoát khỏi while; biểu_thức nhận giá trị đúng, quay lại bước • Ví dụ: i=0; { printf("%d\n",i); i++; } while (ib) a=a-b; else if (b>a) b=b-a; while (a!=b); printf("UCLN = %d",a); return 0; } 64 Cấu trúc while (5) • Bài tập: Dùng câu lệnh while làm lại tập phần vòng lặp while (slide 60) 65 Vấn đề lặp vơ hạn • Xét ví dụ: - for (i=0;;i++) printf("%d\n",i); - for (i=0;i>=0;i++) printf("%d\n",i); - i=5;n=10; while (i