1. Trang chủ
  2. » Công Nghệ Thông Tin

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

48 46 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 48
Dung lượng 2,49 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

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 được biên soạn với các nội dung nhập/xuất dữ liệu; các lệnh điều khiển; hàm xuất có định dạng Printf; đặc tả định dạng; các kí tự điều khiển và kí tự đặc biệt; hàm xuất kí tự...

Trang 2

Hàm nhập/xuất kí tự

Hàm xuất/nhập chuỗi: puts và gets

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

Câu lệnh rẽ nhánh: if, switch Câu lệnh lặp: while, do…while, for Câu lệnh nhảy: break, continue, goto

Trang 3

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ệnhnhậ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ử

#include <stdio.h> ở đầu chương trình

Trang 4

- 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

Trang 5

- \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;

Trang 6

Dạng tổng quát của đặc tả định dạng:

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) ;

Đặc tả định dạng

%[cờ_hiệu][độ_rộng][.độ_chính_xác]kí_tự_định_kiểu

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ố

Trang 7

Cờ hiệu

Nếu không

có 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 : Luôn có dấu chấm thập phân kể cả

khi không cần thiết

Trang 9

- 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

Trang 11

Cú pháp sử dụng:

Ví dụ: Nhập dữ liệu cho biến nguyên x và y như sau:

scanf(“%d%d”, &x, &y);

2.1.2 Hàm nhập có định dạng scanf

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;

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 toàn bộ dữ liệu trong bộ nhớ đệm.

Trang 12

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ự.

Trang 13

Cú pháp sử dụng:

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>

putch(Tên_biến);

putchar(Tên_biến);

Trang 14

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 ”) ;

Trang 15

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

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

Trang 16

Nội dung chính :

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

Trang 17

2.2.1 Lệnh điều kiện if

if ( Điều_kiện ) {

lệnh_1 ; }

else {

lệnh_2 ; }

Dạng đầy đủ if…else: Cách thức hoạt động:

Trang 18

if ( Điều_kiện ) {

lệnh ; }

Trang 19

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

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

Trang 20

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

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

Trang 21

sẽ được thực hiện chođến khi nào gặp lệnh

break hoặc dấu } thì

thoát khỏi switch Ngược

lại thì lệnh_n sau từ khóa

default sẽ được thựchiện

Trang 22

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.

Trang 23

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

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

Trang 24

Cấu trúc sử dụng: Hoạt động:

Trang 25

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 luôn 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.

Trang 26

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

-Ví dụ về sử dụng vòng lặp while

Trang 27

while ( điều_kiện_lặp );

Cấu trúc sử dụng: Hoạt động:

Bắt đầu

Điều_kiện_lặp Lệnh

Kết thúc Đúng

Sai

Trang 28

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

-Ví dụ về sử dụng vòng lặp do…while

Trang 29

Cấu trúc sử dụng: Hoạt động:

Bắt đầu

Điều_kiện_lặp Khởi tạo

Kết thúc

Đúng

Sai Lệnh

Cập_nhật

Trang 30

2.2.5 Vòng lặp for

Chú ý:

 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;

 Một câu lệnh for có thể lồng bên trong nó một lệnh for khác;

 Ba thành phần trong lệnh for có thể vắng, nhưng vẫn phải có

đủ hai dấu chấm phẩy ;

 Các thành phần trong lệnh for có thể là các biểu thức ghép.

Mỗi biểu thức ghép phân cách nhau bởi toán tử phẩy và được

thực hiện từ trái sang phải (xem Ví dụ 2 ).

Trang 31

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

-Ví dụ 1: Sử dụng vòng lặp for

Trang 32

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

-Ví dụ 2: Sử dụng vòng lặp for với hai biến điều khiển

Trang 33

2.2.6 Lệnh nhảy break

Cách dùng:

 Sử dụng trong một cấu trúc lặp để kết thúc sớm vòng lặp

trước khi điều_kiện_lặp nhận giá trị sai ;

 Sử dụng trong cấu trúc switch để kết thúc việc xử lí của mỗi

case thỏa mãn và bỏ qua các case còn lại trong switch;

 Trong trường hợp lệnh break nằm trong các lệnh lặp lồng

nhau thì nó chỉ có tác dụng với lệnh lặp trong cùng chứa nó

break ;

Trang 34

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

-Ví dụ : Kiểm tra số nguyên n có phải số nguyên tố không ?

Trang 35

2.2.7 Lệnh continue

Cách dùng:

 Lệnh continue chỉ được sử dụng trong các cấu trúc lặp để

kết thúc lần lặp hiện hành và chuyển sang lần lặp kế tiếp;

 Đối với vòng lặp while và do…while thì chương trình sẽ

chuyển sang kiểm tra biểu thức điều_kiện_lặp;

 Đối với lệnh for thì sẽ chuyển đến thực hiện biểu thức

cập_nhật rồi mới kiểm tra điều_kiện_lặp.

continue ;

Trang 36

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

-Ví dụ : In ra các số là bội của 3 trong đoạn [1,20]

Trang 37

2.2.8 Lệnh goto

Cách dùng:

 Nhảy chương trình về thực hiện lệnh từ vị trí nhãn;

 Trong đó nhãn có dạng như tên biến và có dấu “:” phía sau,

nhãn có thể được gán cho bất kì câu lệnh nào trong chương

trình;

 Lệnh goto và nhãn cần nằm chung trong một hàm;

 Không cho phép dùng goto để nhày từ ngoài vào một khối

lệnh tuy nhiên việc nhảy từ khối lệnh ra ngoài là hợp lệ

goto nhãn ;

Trang 38

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

-Ví dụ : Tính tổng 10 số nguyên dương đầu tiên

Trang 39

Bài 1: Nhập vào ngày, tháng, năm và xuất ra màn hình dưới dạng

"ngay/thang/nam" (chỉ lấy 2 số cuối của năm).

Bài 2: Viết chương trình nhập vào hai số nguyên x, y Xuất ra màn

hình giá trị của các biểu thức sau:

Trang 40

Bài tập luyện tập

Bài 3: Viết chương trình nhập vào hai số thực x và y Xuất ra màn

hình kết quả của các biểu thức sau:

a) x/y – Kết quả làm tròn đến 4 chữ số thập phân.

b) sinx – Để sử dụng hàm sin() cần khai báo #include<math.h>

đầu chương trình.

c) x – Nếu x>=0 (hàm tính căn bậc hai là sqrt(), cần khai báo

thư viện #include<math.h> ).

#include<math.h>.

Bài 4: Viết chương trình nhập vào một góc với số đo x có đơn vị

là là độ Tính và xuất ra màn hình giá trị của biểu thức cos(2x+1) ?

Trang 41

Bài tập luyện tập

Bài 5: Viết chương trình nhập vào họ và tên, giới tính và năm sinh

của một người Xuất ra màn hình họ và tên, giới tính và tuổi củangười đó theo định dạng như ví dụ dưới:

Bài 6: Nhập vào số giây từ 0 đến 86399, đổi số giây nhập vào và

xuất ra màn hình theo dạng "gio:phut:giay", mỗi thành phần là một

số nguyên có 2 chữ số

Trang 42

Bài tập luyện tập

Bài 7: Viết chương trình nhập vào tọa độ cho ba điểm A, B, C

nằm trong mặt phẳng với hệ trục tọa độ Đề-Các vuông góc Oxy.Hỏi ba điểm A, B, C đó có phải là ba đỉnh của một tam giáckhông ? Nếu phải, hãy giải tam giác ABC ( tính các cạnh, các góc,chu vi, diện tích, tam giác đó cân, vuông hay đều)

Bài 8: Nhập vào 3 số, in ra số lớn nhất.

Bài 9: Giải hệ phương trình bậc nhất: + =

Bài 10: Giải biện luận phương trình trùng phương: ax4+bx2+c=0

Bài 11: Viết chương trình nhập vào thứ trong tuần Xuất ra màn

hình thời khóa biểu của thứ đó ?

Trang 43

Bài tập luyện tập

Bài 12: Viết chương trình nhập vào tháng trong năm Xuất ra màn

hình mùa tương ứng với tháng đó

Bài 13: Nhập vào tên của sinh viên A và điểm thi của A In ra màn

hình xếp loại tổng kết của A trong đó: dưới 5 điểm ( không qua), 5hoặc 6 ( trung bình), 7( khá), 8 hoặc 9( giỏi), 10 ( xuất sắc)

Bài 14: Tính chỉ số BMI và in ra kết qủa đánh giá.

Hướng dẫn: BMI = cân nặng(kg)/(chiều cao(m))2

 BMI < 18: Người gầy

 BMI = 18 - 24,9: Người bình thường

 BMI = 25 - 29,9: Người béo phì độ I

 BMI = 30 - 34,9: Người béo phì độ II

 BMI > 35: Người béo phì độ III

Trang 44

Bài tập luyện tập

Bài 15: Nhập số nguyên có 4 chữ số In ra các số hàng nghìn,

trăm, chục và đơn vị

Bài 16: Tìm các số tự nhiên có 4 chữ số sao cho chia hết cho 3

nếu là số lẻ và chia hết cho 7 nếu là số chẵn

Bài 17: Viết chương trình lặp lại công việc tính giai thừa của một

số nguyên (nếu tồn tại) Để kết thúc việc lặp lại đó và dừng

chương trình thì người dùng ấn phím ‘t’

Bài 18: Viết chương trình xuất ra màn hình tất cả các số nguyên

dương gồm 4 chữ số thỏa mãn điều kiện tổng của chữ số hàng

nghìn và chữ số hàng đơn vị luôn bằng tổng của chữ số hàng trăm

và chữ số hàng chục ?

Trang 45

c) Tổng các số tự nhiên chẵn nhỏ hơn hoặc bằng n ?

d) Cho biết n có phải là số nguyên tố hay không ?

e) Số n có phải là số chính phương hay không ?

f) Số n có mấy chữ số ?

g) Tổng các chữ số của n ?

Trang 46

Bài tập luyện tập

Bài 20: Hãy viết lại chương trình sau, sử dụng cấu trúc while :

#include<stdio.h>

main() {

int i, n, s=0;

printf("Nhap vao so nguyen : n = ");

scanf("%d",&n);

if(n>0) for(i=1; i<=n; i++) s+=2*n;

printf("s=%d", s);

}

Trang 47

Bài tập luyện tập

Bài 21: Viết chương trình cho thuật toán sau :

Trang 48

Bài tập luyện tập

Bài 22: Hãy viết chương trình in ra màn hình n phần tử đầu tiên

của dãy Fibonacci (dãy Fibonacci là dãy vô hạn các số tự nhiên,bắt đầu từ số 0 và số 1, các số sau đó được tính bắng tổng các sốliền kề trước nó Một số phần tử đầu tiên của dãy Fibonacci : 0,

1, 1, 2, 3, 5, 8,…)

Bài 23: Xuất ra màn hình các số có 3 chữ số trong đó tổng ba chữ

số của nó luôn chẵn

Ngày đăng: 18/12/2020, 07:56

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm