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

Bài giảng tin học đại cương chương 4 ngôn ngữ lập trình c

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 (1.45 MB, 52 trang )

CHƯƠNG 4

NGÔN NGỮ LẬP TRÌNH C


Ngôn ngữ lập trình C
Tổng quan
Các thành phần cơ bản của ngôn ngữ C
Cấu trúc rẽ nhánh

Cấu trúc lặp
Hàm
Mảng



Nội dung

1

Tổng quan

2

Các thành phần cơ bản của C


Giới thiệu
Giới thiệu về ngôn ngữ C
 Dennis Ritchie tại Bell Telephone năm
1972.


 Tiền thân của ngôn ngữ B, KenThompson,
cũng tại Bell Telephone.
 Là ngôn ngữ lập trình có cấu trúc và phân
biệt chữ Hoa - thường (case sensitive)
 ANSI C.


Giới thiệu…
Đặ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
trình chuyên nghiệp.
 Có tính khả chuyển, ít thay đổi trên các hệ
thống máy tính khác nhau.
 Rõ ràng, cô đọng.
 Lập trình đơn thể, tái sử dụng thông qua
hàm.


Giới thiệu…
Môi trường lập trình
 Borland C++ 3.1 for DOS.
 Visual C++ 6.0, Win32 Console
Application.


Các thành phần cơ bản của ngôn ngữ C
 Bộ chữ viết
 Bộ chữ cái 26 ký tự Latinh: A, B, C, …, Z,

a, b, c, …, z
 Bộ chữ số thập phân : 0, 1, 2, …, 9
 Các ký hiệu toán học : + – * / = < > ( )
 Các ký tự đặc biệt : . , : ; [ ] % \ # $ ‘
 Ký tự gạch nối _ và khoảng trắng ‘ ’


Các thành phần cơ bản của ngôn ngữ C
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 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, …


Các kiểu dữ liệu sơ cấp

Cá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)

2

char

1 byte

-128  127

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

6

int

2 bytes

-32,768  32,767


Các kiểu số nguyên
Kiể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ố 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
kiểu sau:
Ví dụ:
STT

17.06 = 1.706*10 = 1.706*101
Kiểu dữ
liệu

Độ lớn
(Byte)

(Trị tuyệt đối) Miền giá trị

1

float


4 bytes

3.4 * 10 -38  3.4 * 10 38

2

double

8 bytes

1.7 * 10 -308  1.7 * 10 308

3

long
double

10 bytes 3.4 *10-4932  1.1 *104932


Tên, biến, hằng và biểu thức
Tê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
Tê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
Tên (danh biểu-Identifier)
Ví dụ:
 Các tên hợp lệ: GiaiPhuongTrinh,
Bai_Tap1
 Các tên không hợp lệ: 1A, Giai Phuong
Trinh
 Phân biệt chữ hoa chữ thường, do đó các
tên sau đây khác nhau:
• A, a
• BaiTap, baitap, BAITAP, bAItaP, …


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ớ đó.
Ví dụ
Biến

int i;
int j, k;
float ketqua, delta;

Cú pháp
<kiểu> <tên biến>;
<kiểu> <tên biến 1>, <tên biến 2>;


Tên, biến, hằng và biểu thức
 Hằng
Hằ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ó.
Cú pháp
#define <tênhằng> <giá trị>
Hoặc:
const <kiểu dữ liệu> <Tên biến> = <giá trị hằng>;
Ví dụ:
#define MAX 100
#define PI 3.14
const int MAX = 100;
const float PI = 3.14;



Tên, biến, hằng và biểu thức
Biể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.
 Toán tử: +, –, *, /, %….
 Toán hạng: hằng, biến, lời gọi hàm...
Ví dụ:
 2 + 3, a / 5, (a + b) * 5, …


Các toán tử (phép toán)
Toán tử gán
− Thường được sử dụng trong lập trình.
− Gán giá trị cho biến.
Cú pháp:
• <biến> = <giá trị>;
• <biến> = <biến>;
• <biến> = <biểu thức>;
• Có thể thực hiện liên tiếp phép gán.




Các toán tử (phép toán)
Toán tử gán
Phép gán mở rộng
x
x

x
x
x

Ví dụ:

+=
-=
*=
/=
%=

y
y
y
y
y







x
x
x
x
x


=
=
=
=
=

x +
x –
x*y
x /
x %

y
y
y
y

int a,b,c,d,e,thuong;
a=10;
b=a;
thuong=a/b;
a=b=c=d=e=156;
a+=5;


Các toán tử (phép toán)
Toán tử số học
 +, –, *, /, % (chia lấy phần dư).

Ví dụ:

 a = 1 + 2; b = 1 – 2; c = 1 * 2; d = 1 / 2;
 e = 1*1.0 / 2;
 h = 5 % 2;

Chú ý:

− Phép toán (%) không dùng cho kiểu dữ liệu float
hay double.
− Thứ tự ưu tiên của các toán tử số học: *, /, % , + ,-.


Các toán tử (phép toán)
Toán tử tăng, giảm 1
 ++ (tăng 1 đơn vị), -- (giảm 1 đơn vị).
 Đặt trước toán hạng
• Ví dụ ++x hay --x: thực hiện tăng/giảm trước.

 Đặt sau toán hạng
• Ví dụ x++ hay x--: thực hiện tăng/giảm sau.

x =b++;
x= ++b;




x = b;
b=b+1;
b=b+1;
x=b;



Các toán tử (phép toán)
Toán tử tăng, giảm 1
Ví dụ

Kết quả

x=10;
y=10,x=11
y=x++;
x=10;
y=11,x=11
y=++x;
a=4;b=2;
c=b+a-- ;
a=4;b=2;
c=--a+b ;

c=6,a=3
c=5,a=3
ITTC_HUFI


Các toán tử (phép toán)
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).
 ==, >, <, >=, <, <=, !=


Ví dụ:
5 > 2  có giá trị 1 (đúng).
5 <= 4  có giá trị 0 (sai).
‘a’!=’b’  có giá trị 1 (đúng).


×