Bài giảng Tin học đại cương Chương 6: Cấu trúc rẽ nhánhChia sẻ: loud_12 | Ngày: 30072014Bài giảng Tin học đại cương Chương 6: Cấu trúc rẽ nhánh trình bày về các câu lệnh điều kiện cho phép thay đổi luồng chương trình, dựa trên một điều kiện nào đó, một công việc có thể được thực hiện hoặc không.
Trang 1CHƯƠNG 4
NGÔN NGỮ LẬP TRÌNH C
Trang 2Ngôn ngữ lập trình C
Hàm
Cấu trúc lặp Cấu trúc rẽ nhánh Các thành phần cơ bản của ngôn ngữ C Tổng quan
Mảng
Trang 5Giới thiệu
Giới thiệu về ngôn ngữ C
Dennis Ritchie tại Bell Telephone năm
Trang 6 Đặc điểm của C
Rất mạnh và linh động, có khả năng thể hiện bất cứ ý tưởng nào.
Được sử dụng rộng rãi bởi các nhà lập
Trang 7 Môi trường lập trình
Borland C++ 3.1 for DOS.
Visual C++ 6.0, Win32 Console Application
Trang 8Các thành phần cơ bản của ngôn ngữ C
Trang 9 Từ khóa (keyword)
Các từ dành riêng trong ngôn ngữ.
Không thể sử dụng từ khóa để đặt tên cho biến, hàm, tên chương trình con.
Một số từ khóa thông dụng:
• const, enum, signed, struct, typedef, unsigned…
• char, double, float, int, long, short, void
• case, default, else, if, switch
• do, for, while
• break, continue, goto, return
Các thành phần cơ bản của ngôn ngữ C
Trang 10Các kiểu dữ liệu sơ cấp
C có 2 kiểu sơ cấp như sau:
Kiểu số nguyên : giá trị của nó là các số nguyên như 2912, -1706, …
Kiểu số thực : giá trị của nó là các số thực như 3.1415, 29.12, -17.06, …
Trang 11Các kiểu số nguyên
STT Kiểu dữ liệu Độ lớn
(Byte) Miền giá trị
1 unsigned char 1 byte Từ 0 đến 255 (tương đương 256
ký tự trong bảng mã ASCII)
3 enum 2 bytes -32,768 32,767
4 unsigned int 2 bytes 0 65,535
5 short int 2 bytes -32,768 32,767
Các kiểu dữ liệu sơ cấp
Trang 12Kiểu ký tự
Tên kiểu: char
Miền giá trị: 256 ký tự trong bảng mã ASCII.
Chính là kiểu số nguyên do:
• Lưu tất cả dữ liệu ở dạng số.
• Không lưu trực tiếp ký tự mà lưu mã ASCII của ký tự đó
Ví dụ:
Lưu số 65 tương đương với ký tự ‘A’…
Lưu số 97 tương đương với ký tự ‘a’.
Các kiểu số nguyên
Trang 13Các kiểu số thực(floating-point)
Các kiểu số thực: dùng để lưu các số thực hay các số có dấu chấm thập phân Gồm 3
Trang 14Tên (danh biểu-Identifier)
Tên hay còn gọi là danh biểu (identifier) được dùng
để đặt cho chương trình, hằng, kiểu, biến, chương trình con Tên có hai loại là tên chuẩn và tên do người lập trình đặt.
− Tên chuẩn là tên do C đặt sẵn như tên kiểu: int, char, float,…; tên hàm: sin, cos
− Tên do người lập trình tự đặt để dùng trong
chương trình của mình.
Tên, biến, hằng và biểu thức
Trang 15Tên (danh biểu-Identifier)
Sử dụng bộ chữ cái, chữ số và dấu gạch dưới (_)
để đặt tên, phải tuân thủ quy tắc:
− Bắt đầu bằng một chữ cái hoặc dấu gạch dưới.
− Không có khoảng trống ở giữa tên.
− Không được trùng với từ khóa, không nên đặt tên trùng với tên chuẩn
Tên, biến, hằng và biểu thức
Trang 16Tên (danh biểu-Identifier)
• BaiTap, baitap, BAITAP, bAItaP, …
Tên, biến, hằng và biểu thức
Trang 17Cú pháp
<kiểu> <tên biến>;
<kiểu> <tên biến 1>, <tên biến 2>;
Ví dụ
int i;
int j, k;
float ketqua, delta;
Tên, biến, hằng và biểu thức
Biến
Biến cho phép cung cấp một tên có ý nghĩa đại diện cho mỗi vị trí vùng nhớ Tên biến giúp truy cập vào vùng nhớ mà không cần dùng địa chỉ của vùng nhớ đó.
Trang 18Hằng là đại lượng có giá trị thuộc một kiểu dữ liệu nhất định, giá trị của hằng không thể thay đổi trong thời gian tồn tại của nó.
Tên, biến, hằng và biểu thức
Trang 19Biểu thức
Tạo thành từ các toán tử (Operator) và các
toán hạng (Operand)
Toán tử tác động lên các giá trị của toán hạng
và cho giá trị có kiểu nhất định
Trang 20Toán tử gán
− Thường được sử dụng trong lập trình
− Gán giá trị cho biến
Trang 23 ++ (tăng 1 đơn vị), (giảm 1 đơn vị).
Trang 25 Toán tử quan hệ
So sánh 2 biểu thức với nhau
Cho ra kết quả 0 (hay false nếu sai) hoặc 1 (hay true nếu đúng)
Trang 27Ví dụ: Hãy cho biết kết quả của biểu thức sau:
5*6/3+4<3 && (3<5 || 8>10)
có giá trị 0 (sai)
Trang 28 Toán tử điều kiện
Đây là toán tử 3 ngôi (gồm có 3 toán hạng)
<biểu thức 1> ? <biểu thức 2> : <biểu thức 3>
• <biểu thức 1> đúng thì giá trị là <biểu thức 2>.
• <biểu thức 1> sai thì giá trị là <biểu thức 3>.
Ví dụ:
x = 10;
y = x > 9 ? 100 : 200 ;
Kết quả y được gán giá trị 100
Nếu x nhỏ hơn 9 thì y sẽ nhận giá trị là 200.
Các toán tử (phép toán)
Trang 29 Phép chuyển kiểu (ép kiểu)
Trang 30Câu lệnh
Khái niệm
Là một chỉ thị trực tiếp, hoàn chỉnh nhằm ra lệnh cho máy tính thực hiện một số tác vụ
Trang 31 Phân loại
Câu lệnh đơn: chỉ gồm một câu lệnh
Câu lệnh phức (khối lệnh): gồm nhiều câu
lệnh đơn được bao bởi { và }
Trang 32/* thuat toan tim so lon nhat la
neu a lon hon b thi a lon nhat
nguoc lai b lon nhat */
if (a > b) printf("max: %d", a);
else printf("max: %d", b);
Trang 35Dấu tab
In dấu \
In dấu ?
In dấu “
Trang 36Chuỗi định dạng
Đặc tả
Gồm dấu % và một ký tự
Xác định kiểu của biến/giá trị muốn xuất
Các đối số chính là các biến/giá trị muốn xuất, được liệt kê theo thứ tự cách nhau dấu phẩy
Đặc tả Ý nghĩa Kiểu dữ liệu
Số nguyên không dấu
char int, short, long float, double char[], char*
unsigned int/short/long
Trang 381 7 0 6
7 6 8 5
1 7 6 8 5
1
Trang 39Chuỗi định dạng
Phối hợp các thành phần
int a = 1, b = 2;
Yêu cầu: Xuất <a>+<b>=<a+b>
printf("%d", a); // Xuất giá trị của biến a
Trang 40 Các đối số là tên các biến sẽ chứa giá trị
nhập và được đặt sau dấu &
Trang 41 Ví dụ: Cho a và b kiểu số nguyên
scanf(“%d”, & a); // Nhập giá trị cho biến a
scanf(“%d”, & b); // Nhập giá trị cho biến b
scanf(“%d%d”, &a, &b);
Các câu lệnh sau đây sai:
scanf(“%d”, a); // Thiếu dấu &
scanf(“%d”, &a, &b); // Thiếu %d cho biến b
scanf(“%f”, &a); // a là biến kiểu số nguyên
scanf(“%9d”, &a); // không được định dạng
scanf(“a = %d, b = %d”, &a, &b”);
Câu lệnh nhập
Trang 42Cấu trúc chương trình C
Khối khai báo Hàm main() Các hàm con (nếu có)
Khối khai báo
Gồm khai báo về sử dụng thư viện, khai báo hằng số, khai báo hàm con (các nguyên mẫu hàm), khai báo các biến toàn cục và khai báo các kiểu dữ liệu tự định nghĩa.
Hàm chính (main())
Chứa các biến, các lệnh và các lời gọi hàm cần thiết trong chương trình.
Trang 44Một số hàm hữu ích khác
Các hàm trong thư việc toán học
#include <math.h>
• acos, asin, atan, cos, sin, …
• exp, log, log10
• sqrt
• abs
• pow(double x, double y)
Trang 47Câu 6 Cho phương trình: ax 2 + bx + c = 0
Giả sử a#0 và Delta:= b*b- 4*a*c > 0 Một nghiệm của phương
Trang 50Câu 11 Để khai báo pi là hằng số có giá trị bằng 3.14 ta sử dụng câu lệnh nào dưới đây
a float pi=3.14;
b float const pi=3,14;
c const pi=3.14;;
d const float pi=3.14;
Câu 12 Cho biết giá trị của biến x khi thực hiện đoạn chương trình sau:
Trang 51BÀI TẬP
1.Viết chương trình in ra màn hình như sau:
2 Viết chương trình thực hiện yêu cầu sau: đọc vào
từ bàn phím hai cạnh của một hình chữ nhật, tính chu vi và diện tích của hình chữ nhật này
3 Biết rằng 1 Dollar tương đương 21000 đồng VN Hãy viết chương trình cho nhập vào số dollar và đổi sang đồng
Trang 52Company Logo