Tải bản đầy đủ (.pdf) (48 trang)

Bài giảng Tin học đại cương 2 - Chương 2: Nhập xuất dữ liệu và các lệnh điều khiển

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.49 MB, 48 trang )


Hàm xuất có định dạng: printf

Nhập/xuất
dữ liệu
NỘI
DUNG
CHÍNH

Hàm nhập có định dạng: scanf
Hàm nhập/xuất kí tự
Hàm xuất/nhập chuỗi: puts và gets
Câu lệnh rẽ nhánh: if, switch

Các lệnh
điều khiển

Câu lệnh lặp: while, do…while, for
Câu lệnh nhảy: break, continue, goto

2

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.1. Nhập xuất dữ liệu

Thiết bị xuất (màn hình)

Thiết bị nhập (bàn phím)


Ở chương này chúng ta sẽ chỉ nghiên cứu các lệnh
nhập/xuất với các thiết bị tương ứng là bàn phím và màn hình.
Để sử dụng các lệnh xuất/nhập dữ liệu thì cần khai báo tiền xử
lý #include <stdio.h> ở đầu chương trình.

3

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.1.1 Hàm xuất có định dạng printf
 Cú pháp sử dụng :
printf(“chuỗi định dạng”, danh sách đối số);
Chuỗi định dạng có thể bao gồm: kí tự văn bản, kí tự điều khiển
và đặc tả định dạng.
-

VD: printf(“Hello World\n”);/*In ra mà hình Hello World sau đó
đưa con trỏ xuống dịng kế tiếp bằng kí tự điều khiển \n*/
- Danh sách đối số là tùy ý, có thể khơng có đối số nào cả. Nếu có
nhiều đối số thì chúng phải được viết tách nhau bởi dấu phẩy.
VD: printf(“ 3+4 = %d “, 3+4);
printf(“ %d + %d = %d”, 3, 4, 3+4);
4

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Các kí tự điều khiển và kí tự đặc biệt
-


\n : Nhảy xuống dòng kế tiếp canh về cột đầu tiên;
\t : Canh cột tab ngang;
\b : Backspace xóa lùi một kí tự trước vị trí con trỏ;
\r : Nhảy về đầu dịng, khơng xuống dịng;
\a : Âm thanh báo;
\\ : In ra dấu \
\" : In ra dấu "
\' : In ra dấu '
%%: In ra dấu %

5

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Đặc tả định dạng
Mô tả cách thức hiển thị giá trị của các đối số trong phần
“danh sách đối số”. Khi in ra màn hình thì vị trí của đặc tả sẽ
được thay thế bằng giá trị của các đối số.
Dạng tổng quát của đặc tả định dạng:
%[cờ_hiệu][độ_rộng][.độ_chính_xác]kí_tự_định_kiểu
Một số kí tự định kiểu:
- c : Kí tự đơn ;
- s : Chuỗi ;
- d, ld : Số nguyên thập phân có dấu: char(dạng số), int, long;
- f, lf, Lf: Số thực dạng dấu phẩy tĩnh:float,double,long double ;
- e, le,Le : Số thực có mũ: float,double,long double;
- X, x : Số nguyên hệ 16 không dấu ;
- u, lu : Số nguyên không dấu ( unsigned int, unsigned long) ;

- o : Số nguyên bát phân không dấu .
6

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Cờ hiệu

Cờ hiệu
Ý nghĩa
Nếu không
Mặc định dữ liệu được canh lề phải


+

#

Dữ liệu được canh lề trái
In dữ liệu với dấu tương ứng (+ hoặc -)
Phụ thuộc vào kí tự định kiểu, nếu:
• o : Chèn thêm 0 trước giá trị > 0.
• X, x : Chèn thêm 0X hoặc 0x trước số này.
• e, f : Ln có dấu chấm thập phân kể cả
khi không cần thiết.

7

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật



Độ rộng

Độ rộng

n
0n
*

Ý nghĩa
Dành ra tối thiểu n vị trí, điền khoảng trắng
vào vị trí cịn trống
Dành ra tối thiểu n vị trí, điền số 0 vào vị
trí cịn trống
Số vị trí tối thiểu sẽ được xác định dựa vào
đối số tương ứng

8

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Độ chính xác

. Độ chính xác
Ý nghĩa
.m
- d, ld, u, lu, o, x, X: chỉ ra số chữ số tối
thiểu cần in ra.
- e, f: chỉ ra số chữ số cần in ra sau dấu

chấm thập phân. Độ chính xác mặc định là 6.
- s: chỉ ra số kí tự tối đa có thể in ra được
của một chuỗi.

.*

Độ chính xác dựa vào đối số tương ứng.

9

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Ví dụ :

Kết quả khi chạy chương trình :
----------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------10

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.1.2 Hàm nhập có định dạng scanf
Cú pháp sử dụng:

scanf (“ chuỗi định dạng”, danh sách đối số);
Các đối số là địa chỉ của các biến dùng để lưu trữ dữ liệu
khi nhập vào được viết sau toán tử “&”, các đối số viết tách nhau
bởi dấu phẩy;

Ví dụ: Nhập dữ liệu cho biến nguyên x và y như sau:
scanf(“%d%d”, &x, &y);
Chú ý: Để tránh lỗi nhập dữ liệu không đúng khi nhập chuỗi thì
trước khi dùng lệnh nhập, ta nên thêm vào dịng lệnh
“fflush(stdin) ; ” để xóa tồn bộ dữ liệu trong bộ nhớ đệm.
11

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.1.3 Hàm nhập kí tự
 Hàm getch(): Đọc ngay một kí tự nhập từ bàn phím. Khơng
hiển thị kí tự nhập trên màn hình;
 Hàm getche(): Đọc ngay một kí tự nhập từ bàn phím. Hiển thị
kí tự khi nhập trên màn hình;
 Hàm getchar(): Đọc một kí tự sau khi đã bấm enter. Hiển thị
kí tự nhập trên màn hình.
Cú pháp sử dụng:
Tên_biến = getch() ;
Tên_biến = getche() ;
Tên_biến = getchar() ;
Lưu ý: Để sử dụng hàm getch() và hàm getche() cần phải khai
báo tiền xử lý #include<conio.h>, biến sử dụng thuộc kiểu kí tự.
12

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.1.4 Hàm xuất kí tự
Hàm putch() và hàm putchar() dùng để hiển thị một kí tự

ra màn hình. Riêng hàm putch() để sử dụng thì cần khai báo
#include<conio.h>
Cú pháp sử dụng:
putch(Tên_biến);
putchar(Tên_biến);

13

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.1.5 Hàm xuất/nhập chuỗi
- Hàm nhập chuỗi gets(): Nhập 1 chuỗi từ bàn phím kể cả
khoảng trắng, hàm dừng đọc khi ấn phím enter.
gets(Tên_biến_kiểu_chuỗi) ;
Chú ý: Để tránh xảy ra trường hợp không nhập được chuỗi, cần
thêm lệnh fflush(stdin); trước khi gọi hàm gets().
- Hàm xuất chuỗi puts() : hiển thị một chuỗi kí tự ra màn
hình và sau đó đưa con trỏ lệnh xuống dịng mới. Mỗi lần nó chỉ
có thể hiển thị một chuỗi duy nhất.
puts(Tên_biến_kiểu_chuỗi) ;
Hoặc:
puts(“ Chuỗi ”) ;
14

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Ví dụ về xuất nhập chuỗi :


Kết quả khi chạy chương trình :
----------------------------------------------------------------------------------------

---------------------------------------------------------------------------------------15

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.2 Các lệnh điều khiển
Nội dung chính :

16

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.2.1 Lệnh điều kiện if
Dạng đầy đủ if…else:

Cách thức hoạt động:
Bắt đầu

if ( Điều_kiện )
{
lệnh_1 ;
}
else
{
lệnh_2 ;
}


Điều_kiện

Sai

Đúng

Lệnh_1

Lệnh_2

Kết thúc

17

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.2.1 Lệnh điều kiện if
Dạng thiếu if :

Cách thức hoạt động :
Bắt đầu

if ( Điều_kiện )
{
lệnh ;
}

Điều_kiện


Sai

Đúng

Lệnh

Kết thúc

18

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Ví dụ 1: Sử dụng if dạng đầy đủ

Kết quả chạy chương trình khi nhập vào số -3:
-----------------------------------------------------------------------------------------

----------------------------------------------------------------------------------------19

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Ví dụ 2: Sử dụng if lồng nhau

Kết quả chạy chương trình khi nhập vào 3 số 2, 3, 4:
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------20

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật



2.2.2 Lệnh rẽ nhánh switch
Cấu trúc sử dụng:

Hoạt động:

switch(biến/biểu_thức)
{
case giá_trị_1:
lệnh_1; break;
case giá_trị_2:
lệnh_2; break;
……….
default: lệnh_n ;
}

Nếu biến/biểu_thức
có giá trị là giá_trị_i thì
các lệnh bắt đầu từ lệnh_i
sẽ được thực hiện cho
đến khi nào gặp lệnh
break hoặc dấu } thì
thốt khỏi switch. Ngược
lại thì lệnh_n sau từ khóa
default sẽ được thực
hiện.

21


Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.2.2 Lệnh rẽ nhánh switch
Lưu ý :
 Biến hoặc biểu thức trong cặp ngoặc ( ) của switch phải có
giá trị là hằng nguyên hoặc kí tự;
 Sau các từ khóa case có thể có nhiều lệnh mà khơng cần để
trong cặp dấu { };
 Lệnh default là tùy chọn, có thể có hoặc khơng có và nằm ở
bất cứ vị trí nào trong switch ;
 Nếu vắng lệnh default và các giá trị sau từ khóa case khơng
trùng với giá trị của biến/biểu_thức chỉ ra trong switch thì
lệnh switch coi như không thực hiện.

22

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


Ví dụ về sử dụng cấu trúc switch

Kết quả khi chạy chương trình :
------------------------------------------------------------------------------------------------

-----------------------------------------------------------------------------------------------23

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật



2.2.3 Vòng lặp while
Cấu trúc sử dụng:

Hoạt động:

while(điều_kiện_lặp)
{
/*thân vòng lặp*/
Lệnh;
}

24

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật


2.2.3 Vịng lặp while
Chú ý:
 Lệnh while có thể lồng bên trong nó một lệnh while khác;
 Vịng lặp sẽ lặp vơ hạn nếu điều_kiện _lặp ln có giá trị
đúng;
 Thân vịng lặp có thể khơng được thực hiện lần nào nếu
điều_kiện_lặp nhận giá trị sai ngay từ đầu.

25

Khoa CNTT - Bài giảng THDC - Khối ngành kỹ thuật



×