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

Bài giảng Ngôn ngữ lập trình C: Chương 2 - TS. Nguyễn Thị Hiền

54 68 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 54
Dung lượng 659,33 KB

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 Ngôn ngữ lập trình C - Chương 2: Các yếu tố cơ bản của ngôn ngữ C cung cấp cho người học các kiến thức: Từ vựng trong C, biểu thức, hàm vào/ra dữ liệu chuẩn, các câu lệnh điều khiển. Mời các bạn cùng tham khảo.

Trang 1

Chương 2

Các yếu tố cơ bản của ngôn ngữ C

Trang 2

Chương 2 - Các yếu tố cơ bản của ngôn ngữ C

 Từ vựng trong C

 Biểu thức

 Hàm vào/ra dữ liệu chuẩn

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

Trang 4

< , > , ? , ( , )

 Các ký tự không hiển thị ra màn hình: space , tab ,

enter

Trang 5

Từ vựng trong C

Từ khóa

 Là những từ dành riêng cho một ngôn ngữ lập trình

 Một số từ khóa thường dung:

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

Trang 6

Từ vựng trong C

Tên/Định danh (Identifier)

 Một dãy ký tự dùng để chỉ tên một hằng số, hằng ký tự, tên một biến, một kiểu dữ liệu, một hàm một hay thủ tục.

 Quy tắc đặt tên:

 Ký tự đầu tiên có thể là chữ cái hoặc dấu gạch dưới _

 Các ký tự sau đó (nếu có) có thể là chữ cái, dấu gạch dưới hoặc số.

1 la những tên không hợp lệ

Trang 7

Từ vựng trong C

Đối tượng dữ liệu: gồm các thuộc tính

Kiểu dữ liệu: chỉ ra loại dữ liệu có thể được lưu trữ

Giá trị: hiện đang được lưu trong đối tượng dữ liệu

Địa chỉ: vị trí của đối tượng dữ liệu trong bộ nhớ

Tên: dùng để xác định đối tượng dữ liệu

Kiểu dữ liệu

Mỗi kiểu dữ liệu có tên và kích thước nhất định.

Có miền giá trị xác định

Trang 10

Từ vựng trong C

Kiểu dữ liệu

Kiểu nguyên

short, int, long

 Kích thước và phạ vi biểu diễn:

int / signed int -32768 đến 32767 2/4 bytes

short / signed short -32768 đến 32767 2 bytes

long / signed long -2147483648 đến 2147483647 4 bytes

Trang 11

Từ vựng trong C

Kiểu dữ liệu

Kiểu số phẩy động

float, double, long double

 Kích thước và phạm vi biểu diễn:

Kiểu Phạm vi biểu diễn Kích thước

float 3.4E-38 đến 3.4E+38 4 bytes

double 1.7E-308 đến 1.7E+308 8 bytes

long

double

Trang 13

Từ vựng trong C

Hằng

Là đại lượng mà giá trị của nó không thay đổi trong suốt

quá trình hoạt động của chương trình

Hằng ký tự: ký tự đơn được viết trong dấu nháy đơn

Hằng kiểu chuỗi: một dãy các ký tự liên tục được đặt

trong dấu nháy kép

Trang 14

Từ vựng trong C

Biến

Là một đối tượng dữ liệu có giá trị thay đổi trong quá

trình hoạt động của chương trình

 Cú pháp khai báo:

<Kiểu_dữ_liệu> <Tên_biến>;

 Ví dụ

int a,b,c; Khai báo ba biến int là a,b,c

long dai,mn; Khai báo hai biến long là dai và mn

char kt1,kt2; Khai báo hai biến ký tự là kt1 và kt2

float x,y Khai báo hai biến float là x và y

double canh1,canh2; Khai báo hai biến double là canh1 và canh2

Trang 15

Từ vựng trong C

 Biến (t.)

Vị trí khai báo biến:

Các biến ngoài:

 Là các biến được khai báo bên ngoài hàm

 Phạm vi sử dụng được tính từ vị trí khai báo đến cuối chương trình

Trang 17

Biểu thức

Là sự kết hợp giữa toán tử và toán hạng để

diễn đạt một công thức toán học nào đó

 Mỗi biểu thức có một giá trị trả về

 Biểu thức thường được dùng trong:

Vế phải của câu lệnh gán

 Đối số của hàm

 Làm chỉ số cho phần tử của mảng

 Trong các biểu thức điều kiện

Trang 18

Biểu thức

Toán tử:

 Là các phép toán được ngôn ngữ lập trình hỗ trợ trựctiếp

 Được biểu diễn thông qua các ký hiệu

Phân loại: 1 ngôi, 2 ngôi, 3 ngôi

 Một số toán tử thông dụng

 Toán tử số học: + - * / %

 Toán tử quan hệ: == > < >= <= !=

 Toán tử gán: = += -= *= /=

 Toán tử tăng, giảm trị: ++

 Toán tử logic: && || !

 Toán tử trên bit gồm: & | ~ ^

Trang 20

Biểu thức

Phép toán chuyển đổi kiểu dữ liệu:

 Trong biểu thức gồm các toán hạng khác kiểu, kiểu thấp

hơn sẽ được tự động nâng thành kiểu cao hơn trước khi thực hiện phép toán Điều này được gọi là tăng cấp kiểu

Cấp của kiểu dữ liệu theo thứ tự:char < int < long < float <

double

 Giá trị của kiểu dữ liệu này được gán cho 1 biến có kiểu dữ liệu khác Việc này xảy ra trong lệnh gán hoặc truyền giá trị

các tham số, kiểu dữ liệu được tự động đổi kiểu như sau:

 Giá trị của vế phải được chuyển sang kiểu của vế trái đó là kiểu của kết quả

 Kiểu int có thể được chuyển thành float

 Kiểu float có thể chuyển thành int do chặt đi phần sau dấu phảy

 Kiểu double chuyển thành float bằng cách làm tròn

 Kiểu long được chuyển thành int.

Trang 21

Biểu thức

Phép toán chuyển đổi kiểu dữ liệu:

 Ngoài ra, có thể thực hiện chuyển kiểu giá trị bằngphép chuyển kiểu (ép kiểu)

Cú pháp: (Kiểu_dữ_liệu_mới) <Biểu_thức>;

Trang 23

 Văn bản thường (literal text)

 Ký tự điều khiển (escape sequence)

 Đặc tả (conversion specifier)

Trang 24

Nhập/xuất dữ liệu

 Văn bản thường (literal text)

 Được xuất y hệt như lúc gõ trong chuỗi định dạng

Trang 25

Nhập/xuất dữ liệu

 Gồm dấu \ và một ký tự như trong bảng sau:

In dấu \

In dấu ?

In dấu “

Trang 26

Nhập/xuất dữ liệu

 Đặc tả (conversion specifier):

%[-][fw][.pp]<kí tự định dạng>

 Ý nghĩa:

Dấu -: căn lề cho dữ liệu

 Có dấu - : kết quả in ra được căn trái

 Không có dấu - : kết quả được căn theo bên phải

fw: xác định kích thước tối thiểu để in

pp:

Đối số kiểu double/float: pp là độ chính xác của giá trị in ra

Đối số là xâu ký tự:

pp nhỏ hơn độ dài của xâu: in ra pp ký tự đầu tiên của xâu

Không có pp hoặc pp lớn hơn độ dài xâu: in ra toàn bộ xâu

Đối số là số nguyên: số ký tự được in ra (điền thêm số 0 nếu cần)

Trang 27

Số nguyên không dấu

char char, int, short, long float, double

char[], char*

unsigned int/short/long

Trang 30

Nhập/xuất dữ liệu

 Ví dụ: cho a và b kiểu số nguyên

 Các câu lệnh sau đây sai

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

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”); //chứa ký tự khác

Trang 31

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

 Câu lệnh điều khiển rẽ nhánh

Câu lệnh if … else

Câu lệnh switch … case

 Câu lệnh điều khiển lặp

 Câu lệnh for

Câu lệnh while

Câu lệnh do … while

Trang 32

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

Câu lệnh if … else

Bài toán: Xác định 1 năm có phải là năm nhuận

Lệnh if là lệnh cho phép thực hiện hay không thực hiện một khối lệnh nào đó tùy thuộc vào tính đúng của biểu thức.

Trang 33

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

Câu lệnh if … else

Trang 34

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

Câu lệnh if … else

 Trong C, cho phép sử dụng nhiều câu lệnh if lồng

nhau

Máy sẽ ghép lệnh else với lệnh if không có else gần nhất

 Chú ý: nên sử dụng dấu {} để tránh nhầm lẫn if-else của câu

lệnh này với câu lệnh khác

 Khi muốn thực hiện 1 trong n quyết định

if (biểu thức 1)

khối lệnh 1

else if (biểu thức 2)

khối lệnh 2

else

khối lệnh n

Trang 35

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

 Ví dụ:

 Viết chương trình nhập vào hai số nguyên n, k Kiểm tra xem n có chia hết cho k hay không, nếu có in ra màn hình dưới định dạng: n chia het cho k (Ví dụ: 6 chia hết cho 3), nếu không in

ra màn hình dòng chữ “khong chia het”.

 Viết chương trình giải phương trình bậc nhất.

 Viết chương trình giải phương trình bậc 2 (kể

cả trường hợp có nghiệm phức)

Trang 36

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

Trang 37

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

Trang 38

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

Trang 39

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

Câu lệnh switch … case

 Có thể sử dụng câu lệnh switch để chọn 1 trong nhiều quyết

case n2:

khối lệnh 2 break;

case nk:

khối lệnh k break;

[ default:

khối lệnh k+1 break;]

 Sự hoạt động của switch:

• Giá trị biểu thức bằng ni,

chương trình hoạt động tại nhãn

case ni, cho đến khi gặp break.

• Nếu giá trị biểu thức khác với tất

cả các ni, sẽ thực hiện lệnh sau default, hoặc thoát khỏi switch.

Trang 40

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

Câu lệnh switch … case

Trang 41

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

Câu lệnh switch … case

 Ví dụ:

 Viết chương trình đọc các số từ 0 đến 9 Nếu nằm ngoài khoảng

đó, in ra dòng thông báo: “Khong doc duoc”.

 Viết chương trình in ra số ngày trong tháng, nếu là tháng 2 yêu cầu nhập thêm năm để tính ngày.

Trang 42

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

Câu lệnh for

Bài toán: in ra bảng cửu chương của 3?

Lệnh for cho phép thực hiện lặp lại 1 số câu lệnh tuân

theo một số quy luật nào đó

<Lệnh> Đ

S

<Đ/K lặp>

<Khởi đầu>

<Bước nhảy>for (<Khởi đầu>; <Đ/K lặp>; <Bước nhảy>)

<Lệnh>;

Trang 43

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

Câu lệnh for

 Ví dụ

 Một số lưu ý:

1 Câu lệnh for là câu lệnh đơn, và có thể lồng nhau

2 Các phần khởi đầu, bước nhảy, điều kiện lặp có thể không

xuất hiện

3 Lệnh break làm kết thúc câu lệnh.

4 Lệnh continue bỏ qua lần lặp hiện tại.

5 Các thành phần <Khởi đầu>, <Đ/K lặp>, <Bước nhảy> cách

nhau bằng dấu ; (bắt buộc phải có!)

6 Nếu có nhiều thành phần trong mỗi phần thì được cách nhau

bằng dấu ,

int i;

for ( i = 1; i <= 9; i++ )

printf ( "3x%d = %d\n", i, i*3 ) ;

Trang 44

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

Trang 45

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

Trang 46

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

}

Trang 47

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

Btoán: in ra các bội số (nhỏ hơn 20) của 2?

Lệnh while là lệnh thực hiện 1 số câu lệnh khi thỏa mãn một

điều kiện nào đó.

Trang 48

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

Câu lệnh while

 Một số lưu ý:

Câu lệnh while là câu lệnh đơn, có thể đặt lồng nhau

Câu lệnh while có thể không thực hiện lần nào

Câu lệnh while có thể lặp vô tận

vòng lặp

Trang 49

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

câu lệnh khi còn thỏa mãn một điều kiện nào đó.

Trang 50

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

Câu lệnh do…while

 Một số lưu ý:

Câu lệnh do … while là câu lệnh đơn, có thể đặt lồng

nhau

Câu lệnh do … while thực hiện ít nhất 1 lần

Câu lệnh do … while có thể lặp vô tận

vòng lặp

Trang 51

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

 So sánh 3 câu lệnh lặp

 Đều có khả năng lặp lại một (hoặc nhiều) hành độngnhiều lần

Câu lệnh for có số vòng lặp được xác định trước

while có thể không thực hiện lần nào

do… while sẽ được thực hiện ít nhất 1 lần

Trang 52

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

 Bài tập trên lớp: Sử dụng các câu lệnh điều

khiển thực hiện các bài sau

 Viết chương trình nhập vào một số nguyên dương

không lớn hơn 10000, in ra màn hình tổng các chữ sốcủa số đó (ví dụ nhập n = 1356 in ra 15) Chương

trình chỉ cho phép người dùng nhập các giá trị từ 1 –

10000, nếu nằm ngoài vùng giá trị trên yêu cầu nhậplại

 Viết chương trình in ra 3 số hoàn thiện bé nhất Sốhoàn thiện n là số nguyên dương mà tổng các ướcnguyên dương (nhỏ hơn n) bằng n VD: 28 =

1+2+4+7+14;

Trang 53

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

 Viết chương trình C

thực hiện thuật toán

theo sơ đồ khối hình

bên

Ngày đăng: 15/05/2020, 22:37

TỪ KHÓA LIÊN QUAN

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

w