Tải bản đầy đủ (.doc) (6 trang)

II. Các thành phần cơ bản của ngôn ngữ 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 (144.03 KB, 6 trang )

II. Các thành phần cơ bản của ngôn ngữ C
1. Bộ kí tự cho C:
Mọi ngôn ngữ đều được xây dựng trên một bộ kí tự. Ngôn ngữ C sử dụng bộ kí tự sau:
o
Các chữ cái hoa: A, B, C, …Z
o
Chữ cái thường: a, b, c,… z
o
Các chữ số: 0,1,2,..9
o
Các dấu chấm câu: , . ; / : ? [] {} ! @ # $ % ^ & * ( ) + = - < > ‘ “
o
Các dấu cách, dấu nhảy cách tab, dấu xuống dòng
o
Dấu gạch nối dưới _
2. Từ khoá: là từ dùng riêng của C và mỗi từ khoá có một ý nghĩa và tác dụng cụ thể.
Danh sách từ khoá của C:
auto/ break/ case/ char/ continue/ default/ do/ double/ else/ extern/ float/ for/ goto/ if/ int/ long/
register/ return/ short/ sizeof/ static/ struct/ switch/ typedef/ union/ unsigned/ void/ volatile/ while/
_cs/ _ds/ _es/ _ss/ _AH/ _AL/ _AX/ _BH/ _BL/ _BX/ _CH/ _CL/ _CX/ _DH/ _DL/ _DX/ _BP/
_DI/ _SI/ _SP
3. Tên và cách đặt tên:
Tên là dãy các ký tự liền nhau gồm các chữ cái a…z,A..Z, các chữ số, dấu gạch nối dưới _.
Tên không được bắt đầu bằng chữ số, không chứa các kí hiệu đặc biệt dấu cách, dấu chấm câu,

Ví dụ:
Tên đúng: PI, ten_bien, _gtri
Tên sai: 3PI, PI$, ten bien
4. Hằng
 Định nghĩa: Hằng là một đại lượng có giá trị không thay đổi trong suốt quá trình thực
hiện chương trình. Hằng gồm có: hằng số, hằng kí tự, hằng chuỗi


 Khai báo:
const <kiểu dữ liệu> <tên hằng>=<giá trị hằng>;
Ví dụ:
const float pi=3.1415;
char ket_thuc=‘*’;
 Các loại hằng:
o
Hằng số nguyên:

Hằng int: giá trị : -32,768 à32,767

Hằng long: -2,147,483,648 à2,147,483,647
Có thể viết: 56,767L hoặc 56,767l
o
Hằng số thực: gồm có kiểu float hoặc double

Dạng thập phân: 123.45, -123.45

Dạng khoa học: 12.345e3, 12.345E-3
o
Hằng kí tự: là một kí tự đơn đặt giữa hai dấu nháy đơn ‘’, vidụ: ‘a’
o
Hằng xâu: là một xâu kí tự bất kì được đặt giữa hai dấu nháy kép “”.

Ví dụ:
“”, “hang xau”;
 Ta có thể định nghĩa hằng theo: #define name text
VD: #define pi 3.1415
5. Biến
 Định nghĩa: Biến là một đại lượng mà giá trị có thể thay đổi trong quá trình thực hiện

chương trình.
Mỗi biến thuộc kiểu dữ liệu nhất định.
 Khai báo:
<kiểu dữ liệu> <danh sách tên biến>;
Ví dụ:
int a, b;
6. Kiểu dữ liệu:
1. Kiểu dữ liệu nguyên:


Kiểu char: giá trị : -128 à127 (1 byte)
Ghi chú: Kiểu char thực chất là kiểu kí tự. Khi tính toán trong biểu thức số học à số
nguyên, khi tính toán trong biểu thức kí tự à xem như là kí tự
o Kiểu int: giá trị: -32,768 à32,767 (2 byte)
o Kiểu short: giá trị: -32,768 à32,767 (2 byte)
o Kiểu long: giá trị: -2,147,483,648 à2,147,483,647 (4 byte)
o Kiểu unsigned (số nguyên không dấu): giá trị: 0à255 (1 byte)
o Các phép toán số học đối với số nguyên
o

Phép toán

Kí hiệu

Ví dụ

Cộng

+


a+b

Trừ

-

a–b

Nhân

*

a*b

Chia lấy phần nguyên

/

a/b

Chia lấy phần dư

%

a%b

Ghi chú:
 Phép chia hai số nguyên à kết quả số nguyên
 Muốn có kết quả số thực à (float) a/b
o Kiểu dữ liệu logic:

C không định nghĩa kiểu logic rõ ràng mà ẩn dưới dạng số nguyên. Theo định nghĩa
của C, giá trị của số nguyên được hiểu như sau:
1 à true
0 àfalse
Ví dụ:
int
phai;
phai=0; //phái nam
 Ghi chú:
 Phép chia hai số nguyên à kết quả số nguyên
 Muốn có kết quả số thực à (float) a/b
2. Kiểu dữ liệu thực:
o Định nghĩa: Kiểu số thực là kiểu dữ liệu số có phần thập phân
o Dạng thập phân:.; VD: 123.45
o Dạng mũ: E<số mũ>
VD: 0.31415E+01
o C có các kiểu số thực sau đây:
Kiểu float : 4bytes ; 1.2E-38 à 3.4E+38
Kiểu double: 8bytes; 2.2E-308 à1.8E+308
Kiểu long double:10bytes; 3.4E-4932à3.4E+4932
 Ví dụ biểu diễn số thực: float bien
Muốn in ra số thập phần thì : printf(“%f”,bien)
Chẳng hạn: bien=123.45 à printf(“%8.3f”,bien)


1

2

3


.

4

5

0


Muốn in ra dạng số mũ: printf(“%e”,bien)
Chẳng hạn: bien=123.45 à printf(“%8.2e”,bien)
1

.

2

3

e

+

0

2

Các phép toán đối với kiểu số thực
+, -, * , /

Không tồn tại phép toán : %
o Khai báo và khởi tạo:
Ví dụ:
float x;
x=3.333;
Hoặc float x=3.333;
3. Kiểu dữ liệu kí tự: char
o Định nghĩa: là kiểu dữ liệu bao gồm các kí tự trong bảng mã ASCII và có kích thức là
1 byte
o Hằng kí tự:
 Đặt trong dấu nháy đơn: ‘’. VD: ‘a’
 Ta có thể viết: #<mã ASCII của kí tự>; VD:#65 à(kí tự ‘A’ )
 Một số kí tự đặc biệt: #13 (kí tự Enter); #27(kí tự Escape)
o Khai báo biến:
char <tên biến>
Ví dụ:
char ch;
4. Kiểu liệt kê:
o Khái niệm: Trong các kiểu dữ liệu được nêu ra ở phía trên, chúng ta đã làm quen với
các kiểu dữ liệu loại chuẩn như: char, int, long, float, double. Tính chất của các loại
này được xác định hoàn toàn khi sử dụng tên của chúng. Tuy nhiên trong Turbo C cho
phép chúng ta định nghĩa kiểu dữ liệu vô hướng mới, gọi là kiểu liệt kê (enum), bằng
cách liệt kê các giá trị của kiểu vô hướng mới này thông qua các danh hiệu.
o Định nghĩa kiểu liệt kê: enum <tên kiểu> {danh sách các giá trị};
o Tên kiểu: là tên đặt cho kiểu dữ liệu
 Danh sách các giá trị: liệt kê các giá trị của kiểu, cách nhau bởi dấu phảy ‘,’
 Ví dụ:
enum ngaytrongtuan {chunhat, hai, ba, tu, nam, sau, bay};
enum phai {nam,nu};
o Khai báo biến:

enum <tên kiểu> <biến>;
Ví dụ: enum ngaytrongtuan ngay, ngaymai;
o Truy cập dữ liệu:
Cách truy cập dữ liệu kiểu liệt kê cũng tương tự như cách truy cập các kiểu dữ liệu
khác với những điều lưu ý như sau:
 Một biến kiểu liệt kê có thể được gán bằng một trong những danh hiệu đã liệt
kê trong danh sách định nghĩa thay vì gán bằng một giá trị số.
Ví dụ:
phai=nam;
ngay=chunhat;
if(ngay==hai)
ngaymai=ba;
 Lưu ý: Giá trị trong các kiểu liệt kê không được trùng nhau;
Ví dụ:
enum mau1 {do,vang, xanh};
enum mau2 {do, tim, nau};
o


7. Biến
Định nghĩa: là một đại lượng mà giá trị của nó có thể thay đổi trong quá trình thực hiện chương
trình
Tên biến: là tên của ô nhớ, dữ liệu mà biến ghi nhớ à giá trị.
Qui tắc đặt tên biến:

Bắt đầu bằng chữ cái, theo sau là :chữ số, chữ cái, dấu gạch dưới liền nhau

Tên biến không trùng từ khoá

Độ dài tối đa: 32 kí tự

Khai báo biến: <kiểu dữ liệu> <tên biến>;
Ví dụ: int a, b;
float bankinh1, dien_tich;
Vị trí khai báo:
Biến toàn cục: biến có tầm tác dụng trong toàn bộ chương trình, ở vị trí bên ngoài hàm
Biến cục bộ: Biến chỉ có tác dụng trong phạm vi hàm hoặc trong khối lệnh, ở vị trí đầu
hàm hoặc đầu khối lệnh
8. Toán tử

Toán tử gán: danh hiệu = biểu thức
Ví dụ: x=1;
a=b;
delta=b*b-4*a*c;

Toán tử số học:
o
Phép toán 1 ngôi: dấu ‘-’ , vd: -x
o
Phép toán 2 ngôi:



Toán tử

Ý nghĩa

Ví dụ

+


Cộng

A=x+y

-

Trừ

B=x-y

*

Nhân

C=x*y

/

Chia

X=1/2

%

Chia lấy phần dư

X=10%3 (=1)

++


Tăng biến lên 1 đơn vị

i++

--

Giảm biến xuống 1 đv

i--

Toán tử so sánh/quan hệ
Toán tử

Ý nghĩa

Ví dụ

>

Lớn hơn

x>y

<

nhỏ hơn

x
==


Bằng

x= =y

!=

Khác

x!=y


>=

Lớn hơn hoặc bằng

x>=y

<=

nhở hơn hoặc bằng

x<=y

Ghi chú:
 Không nhầm lẫn: = (gán) và == (bằng)
 Phép so sánh cho kết quả kiểu int (1=true;0=false)
Toán tử logic










&&

x&&y

=true nếu x và y đều đúng
=false nếu có 1 trong hai sai

||

x||y

=true nếu có 1 trong hai là đúng
=false nếu cả 2 đều sai

!

!x

=true nếu x là false
=false nếu x là true

Toán tử điều kiện:
 <biểu thức đều kiện>?<biểu thức1>:<biểu thức2>

 VD: max=(a>b)? a:b ;
Toán tử viết tắt
 a=a+b a+=b
 a=a-b a-=b
 a=a*b a*=b
 a=a/b a/=b
 a=a%b a%=b
Biểu thức: là một công thức tính toán, là một tổ hợp bao gồm các danh hiệu, các toán tử,
các toán hạng và dấu ngoặc
 Ví dụ:
(a+b)*c
(sqrt(a)+b/c)*d
 Thứ tự ưu tiên các phép toán
Toán tử

Chiều tính toán

()

L->R

-

R->L

*/%

L->R

+-


L->R

< <= > >=

L->R

== !=

L->R

&&

L->R

||

L->R


 Thứ tự ưu tiên các phép toán(tt)
Ví dụ:
5+7 -3 à (5+7) -3
7+6*4 à 7 + (6*4)
4/6*3 à (4/6)*3
9. Lời chú thích:
Để chú thích trong ngôn ngữ C, chúng ta có thể dùng ký hiệu /* và */
/* đây là phần thuyết minh */
10. Cấu trúc của một chương trình C
#include <…> /* gọi các tệp tiền xử lí */

void main() {
…. /* các lệnh */
}
<Danh sách các hàm>
Ví dụ đây là một chương trình được viết bằng ngôn ngữ C. Chương trình in ra màn hình câu “chao
mung các bạn”
#include <stdio.h>
#include <conio.h>
void main() {
printf(“chao mung cac ban”);
getch();
}



×