CHƯƠNG 2
GIỚI THIỆU NGÔN NGỮ C/C++
1
LỊCH SỬ RA ĐỜI
Ngôn ngữ C do Dennis Ritchie xây dựng từ
năm 1972 tại phòng thí nghiệm Bell
Telephone với mục đích tạo ngôn ngữ để
viết HĐH UNIX. Song nhờ có các tính năng
ưu việt và tính mềm dẻo nên được giới tin
học chấp nhận
Năm 1978, xuất bản quyển sách “The C
programming language” do Kernighan và
Ritchie viết.
2
C++ dựa trên ngôn ngữ lập trình C
C++ được phát minh bởi Bijarne
Stroustroup, bắt đầu năm 1979
Các trình biên dịch phổ biến: Borland
C++, Microsoft Visual C++
3
ƯU ĐIỂM
Xuất ra màn hình dòng chữ: “Xin chao cac ban”
Viết bằng VC++6.0
hoặc BC++3.1
Viết bằng VC++2003
hoặc 2005, 2008, …
#include <iostream.h>
#include <iostream>
using namespace std;
void main()
{
cout
Ký hiệu gạch nối: _
Các ký hiệu đặc biệt như: . , ; [] {} ? ! \ & | % #...
Không được dùng các ký hiệu như: α, φ, Ω,
π, … hoặc tiếng việt có dấu: â, ă, ô…
9
TỪ KHÓA (KEYWORD)
auto
break
case
char
const
continue
enum
if
short
switch
volatile
delete
operator
this
default
return
struct
void
class
namespace
template
10
BIẾN
Một biến đại diện cho một vùng nhớ hay tập các
vùng nhớ trên bộ nhớ chính của máy tính. Tên biến
được dùng để tham khảo đến những vùng nhớ này.
Biến để lưu trữ các giá trị do người dùng nhập vào
hoặc các giá trị tạm thời trong quá trình tính toán.
Mỗi biến sẽ có tên và kiểu dữ liệu tương ứng. Kiểu
dữ liệu của biến xác định những giá trị kiểu nào có
thể được lưu trong biến (ví dụ số hay chữ…).
PHẢI khai báo BIẾN trước khi sử dụng
11
CÁC KIỂU DỮ LIỆU
Kiểu cơ sở
Tích hợp sẵn trong ngôn ngữ
– Số nguyên
– Số thực
-126 đến 127
Số nguyên
2
Số nguyên
unsigned char dương
3 short
Số nguyên
1 byte
0 đến 255
2 bytes
-32763 đến 32762
Số nguyên
unsigned short dương
2 bytes
0 đến 65535
Số nguyên
Số nguyên
dương
4 bytes
KIỂU SỐ THỰC
KÍCH
THƯỚC
MIỀN GIÁ TRỊ
4 bytes
3.4*10–38 đến 3.4*1038
1
float
GHI
CHÚ
số thực
2
double
số thực
8 bytes
1.7*10–308 đến 3.4*10308
3
Dùng để đặt tên biến, tên hằng, tên hàm, …
Bắt đầu bằng một ký tự.
Các ký tự trong tên biến chỉ có thể là các
ký tự chữ, số hoặc dấu gạch dưới (_)
Không được trùng với các từ khoá.
Không được trùng với phạm vi khai báo.
Tên dễ hiểu, súc tích và gợi nhớ.
Phân biệt chữ hoa và thường
15
KHAI BÁO BIẾN
Cú pháp
<Kiểu dữ liệu> tênbiến;
Ví dụ:
int a; //Khai báo biến để lưu số nguyên tên a
float c; //Khai báo biến để lưu số thực tên c
Khai báo nhiều biến cùng kiểu
<Kiểu dữ liệu> tênbiến1, tênbiến2, tênbiến3;
Ví dụ:
int a, x, y;
16
KHAI BÁO VÀ KHỞI GÁN GIÁ TRỊ BAN
ĐẦU CHO BIẾN
số có thể là nguyên (có kiểu dữ liệu int, hay long
int) hay thực (có kiểu dữ liệu là float, double,
long double).
Hằng ký tự: Được đặt trong dấu nháy đơn. Ví
dụ: 'A', 'a' tương ứng với giá trị nguyên 65, 97
trong bảng mã ASCII.
Hằng chuỗi: Là tập hợp các ký tự được đặt
trong cặp dấu nháy kép " ". Ví dụ: “Lap trinh C"
Chú ý: Một hằng chuỗi được trữ tận cùng bằng ký tự
19
null (\0)
KÝ HIỆU CÁC PHÉP TOÁN
STT
PHÉP
TOÁN
Ý NGHĨA
GHI CHÚ
PHÉP TOÁN SỐ HỌC
1
2
3
+
Đối với 2 số nguyên thì kết quả
là chia lấy phần nguyên
Chỉ áp dụng cho 2 số nguyên
Chia lấy phần dư
PHÉP TOÁN QUAN HỆ
Lớn hơn
Nhỏ hơn
Lớn hơn hoặc bằng
Nhỏ hơn hoặc bằng
Bằng nhau
Khác nhau
20
PHÉP TOÁN LOGIC
1 ! NOT
2 && AND
3 || OR
1
2
1
2
3
4
5
6
TOÁN TỬ TĂNG GIẢM
++ Tăng 1
THỨ TỰ ƯU TIÊN PHÉP TOÁN
Toán tử
() [] ->
! ~ ++ -- - + *
* /
%
+
==
!=
&
|
^
&&
||
? :
= += -= *= /= %=
&
Độ ưu tiên Trình tự kết hợp
1
Từ trái qua phải
CÁC LỖI THƯỜNG GẶP KHI VIẾT CHƯƠNG TRÌNH
Quên khai báo các biến sử dụng trong
chương trình.
Lưu một giá trị vào một biến nhưng không
cùng kiểu dữ liệu với biến.
Sử dụng biến trong một biểu thức khi nó
chưa có giá trị. Lỗi này thì không được phát
hiện bởi trình biên dịch, khi đó giá trị của
biến là một giá trị bất kỳ và kết quả của
biểu thức là vô nghĩa.
24
CÁC LỖI THƯỜNG GẶP KHI VIẾT CHƯƠNG TRÌNH
Sử dụng giá trị của phép chia không chính xác.
Lỗi này thường xuất hiện trong các biểu thức
có nhiều toán hạng và lỗi này rất khó phát
hiện.
Ví dụ: 3.2 + 2/3 + 1.5 thì sẽ khác (3.2 + 2)/3
+ 1.5
Sử dụng một biểu thức mà trong đó chứa
nhiều loại dữ liệu nhưng lại không biết chắc
chắn kiểu dữ liệu của kết quả.
25