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

Bài giảng Lập trình C: Chương 4 - Biểu thức và phép toán

31 5 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 31
Dung lượng 3,27 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 Lập trình C: Chương 4 - Biểu thức và phép toán bao gồm những nội dung về biểu thức, phép toán số, chuyển kiểu, phép toán quan hệ & luận lí, kiểu bool, toán tử trên bít và một số nội dung khác. Mời các bạn tham khảo.

Trang 1

CHƯƠNG 4

BIỂU THỨC VÀ PHÉP TOÁN

Trang 2

Biểu thức

Là sự kết hợp hợp lệ các toán hạng và toán tử, để cho một

kết quả duy nhất sau cùng

Ví dụ: delta= b*b – 4*a*c;

pi= 4*atan(1.0);

Biểu thức với toán tử là phép toán số  biểu thức số.

Với phép toán quan hệ & luận lí  biểu thức quan hệ

& luận lí.

Với toán tử điều kiện  biểu thức điều kiện

Trang 3

Phép toán 1 toán hạng: +

Phép toán 2 toán hạng: * / % +

-Trong biểu thức số, thực hiện từ trái qua phải

với các phép toán cùng cấp (cùng độ ưu tiên).

Ví dụ:

a = - 9/2*2 - 2 – 7%5;

b = - 9/2*2 - 2 – -7%5;

Phép toán số

Trang 4

- Trong một biểu thức:

toán hạng khác kiểu  chuyển sang cùng kiểu

để tính toán

- Chuyển kiểu tự động và chuyển kiểu tường minh.

(1) Việc tự động chuyển kiểu được thực hiện từ

toán hạng có kiểu “hẹp” sang kiểu “rộng” hơn

Ví dụ:

x = - 9.0/4*2/2 - 2 – 7%5;

y = - 9.0/4*2%2 - 2 – 7%5; //??

Chuy ển kiểu

Trang 5

- Với phép gán, kết quả của biểu thức bên phải sẽ

được chuyển thành kiểu của biến bên trái

Trang 7

(2) Chuyển kiểu tường minh :

Buộc kiểu của biểu thức chuyển sang kiểu khác.

Trang 8

???

Trang 11

Kiểu bool

Kiểu bool được dùng để biểu diễn kết quả của biểu

thức luận lí, cho kết quả là đúng (true) hoặc

sai (false)

Ngôn ngữ C không định nghĩa tường minh kiểu

bool, được dùng thông qua kiểu số nguyên.

- Kết quả biểu thức là true  giá trị là 1

- Kết quả biểu thức là false  giá trị là 0

Trang 12

Kiểu bool

int a, b, c;

cin>>a>>b;

c= a>b; //c= 0 or 1

- Giá trị biểu thức là  0  KQ ứng là true

- Giá trị biểu thức là = 0  KQ ứng là false

if (b)

cout<<a/b;

Trang 13

Ví dụ 1:

Kiểm tra một năm y có phải là năm nhuận ?

(Năm là nhuận nếu là năm chia hết cho 400 hoặc

chia hết cho 4 nhưng không chia hết cho 100)

int y;

cout<<“Ban hay nhap mot nam: “;

cin>>y;

cout<<y<<“ la nam nhuan !”;

else

cout<<y<<“ khong la nam nhuan !”;

Trang 14

Ví dụ 2:

Kiểm tra a, b, c có thể là 3 cạnh của một tam giác ?

(Tổng chiều dài của hai cạnh bất kì luôn lớn hơn

chiều dài cạnh còn lại)

int a, b, c;

cout<<“Ban hay nhap 3 so nguyen: “;

cin>>a>>b>>c;

if ( a+b>c && a+c>b && c+b>a )

cout<<“Thoa 3 canh mot tam giac!”;

else

cout<<“Khong thoa ”;

 Làm lại cách khác dùng mệnh đề và phép phủ định !!

Trang 16

To án tử sizeof

Cho biết kích thước (theo byte) của kiểu dữ kiệu

cơ sở (hoặc của một đối tượng cụ thể)

Trang 17

To án tử trên bít

- Các phép toán trên bít đối với các toán hạng kiểu

nguyên (char, short, int, long – với cả

Trang 18

Toán tử trên bít

- Phép toán ^ (XOR) đặt trị 0 cho bít tại nơi mà các

toán hạng có bít giống nhau

Phép dịch << (và >>) dịch các bít của toán hạng

sang trái (phải) một số vị trí và sẽ “lấp” bít 0 vàocác vị trí đã dịch

Trang 23

Ph ép t ăng ( ++ ) và giảm ( )

- Nếu phép tăng (giảm) đặt ngay trước tên biến, là

phép toán “tăng (giảm) trước”.

- Giá trị của biến được tăng (giảm) 1 đơn vị, sau đó

giá trị mới này được dùng trong biểu thức màbiến xuất hiện

int a= 5, b= 6, c;

c= ++a + b; //  a=a+1, c= a+b

c= a * b; //  b=b-1, c= a*b

Trang 24

Phép tăng ( ++ ) và giảm ( )

- Nếu phép tăng (giảm) đặt ngay sau tên biến, là

phép toán “tăng (giảm) sau”.

- Giá trị hiện tại của biến được dùng trong biểu

thức mà nó xuất hiện, sau đó giá trị của biến mớiđược tăng (giảm) 1 đơn vị

int a= 5, b= 6, c;

c= a++ + b; //  c= a+b, a=a+1

c= a * b ; //  c= a*b, b=b-1

Trang 28

Độ ưu tiên và thứ tự tính toán

- Khi thực hiện tính toán trong một biểu thức, phéptoán có độ ưu tiên cao hơn sẽ thực hiện trước

Trang 29

! ~ ++ + (type) sizeof

Trang 30

Độ ưu tiên và thứ tự tính toán

(3.0/4 < 4.0/5) && (‘a’ < ‘b’) (3/4 < 4/5) && (‘a’ < ‘b’)

!(48.5+2 < 50) || (2 > 4/2)

n&1==0

Ngày đăng: 08/05/2021, 11:55

w