Giới thiệu
Bộ lệnh phù hợp với phương pháp lập trình có cấu trúc
Kiểu dữ liệu phong phú, cho phép định nghĩa kiểu dữ liệu mới.
Linh động về cú pháp, ít từ khóa.
Ngơn ngữ mạnh và mềm dẻo, được dùng để viết OS, chương
trình điều khiển, soạn thảo văn bản, đồ hoạ, bảng tính… và các
chương trình dịch cho các ngôn ngữ khác .
Giới thiệu
Nhược điểm:
Cú pháp: lạ và khó học.
Một số ký hiệu có nhiều nghĩa khác nhau. Ví dụ: dấu “*” là toán
tử nhân, là khai báo con trỏ, là toán tử thay thế, … Việc sử dụng
đúng nghĩa các toán tử phụ thuộc vào ngữ cảnh sử dụng.
Việc truy nhập tự do vào dữ liệu, việc trộn lẫn các kiểu dữ liệu…
làm cho chương trình có phần bất ổn.
Giới thiệu
Ví dụ: Xuất ra màn hình dịng chữ: “Xin chao cac ban”
Hoặc
#include <stdio.h>
void main()
{
printf("Xin chao cac ban!");
}
#include <stdio.h>
int main()
{
printf("Xin chao cac ban!");
return 0;
}
Các khái niệm cơ bản
Lệnh:
Lệnh thực hiện một chức năng nào đó (khai báo, gán,
xuất, nhập, …) ,kết thúc bằng dấu chấm phẩy (;)
Khối lệnh
Khối lệnh gồm nhiều lệnh và được đặt trong cặp dấu
ngoặc { }
Các khái niệm cơ bản
Chú thích: để chương trình dễ đọc và dễ hiểu hơn, trình
biên dịch sẽ bỏ qua nội dung chú thích khi biên dịch
chương trình.
Ký hiệu:
//: chú thích một dịng
/* và */: chú thích nhiều dịng
Tập ký tự trong ngôn ngữ C/C++
Chữ cái: A, B, ..., Z và a, b, ..., z
Chữ số: 0, 1, ..., 9
Các ký hiệu toán học: +, -, *, /, =, (, ),...
Ký hiệu gạch nối: _
Các ký hiệu đặc biệt: . , ; [] {} ? ! \ & | % # ...
Không được dùng các ký hiệu như: α, φ, Ω, π, … hoặc tiếng
việt có dấu: â, ă, ơ…
Từ khóa
auto
continue
enum
break
default
extern
case
do
float
char
double
for
const
else
goto
if
short
switch
int
signed
typedef
long
sizeof
union
register
static
unsigned
return
struct
void
volatile
delete
while
friend
bool
inline
catch
new
class
namespace
operator
private
protected
public
template
this
throw
try
Biến
Biến để lưu trữ 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 tốn.
Mỗi biến có tên và kiểu dữ liệu tương ứng.
PHẢI khai báo BIẾN trước khi sử dụng
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
Logic
Mảng
Chuỗi
Kiểu người dùng định nghĩa
Kiểu dữ liệu
Kiểu số nguyên
TÊN KIỂU
STT
1
char
GHI CHÚ
KÍCH THƯỚC
Ký tự
1 byte
Số nguyên
1 byte
2
unsigned char
Số nguyên dương
1 byte
3
short
Số nguyên
2 bytes
4
unsigned short
Số nguyên dương
2 bytes
5
int
Số nguyên
4 bytes
6
unsigned int
Số nguyên dương
4 bytes
7
long
Số nguyên
4 bytes
8
unsigned long
Số nguyên dương
4 bytes
Kiểu dữ liệu
Kiểu số thực
Kiểu logic
STT
TÊN KIỂU
1 float
2 double
3 long double
STT
TÊN KIỂU
1 bool
GHI CHÚ
KÍCH THƯỚC
4 bytes
8 bytes
8 bytes
GHI CHÚ
KÍCH THƯỚC
Gồm 2 giá trị: true hoặc false
Quy tắc đặt tên
Quy tắc đặ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ừ khố.
Khơng được trùng với phạm vi khai báo.
Dễ hiểu, súc tích và gợi nhớ.
Phân biệt chữ hoa và thường
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;
Gán giá trị cho biến
Cú pháp: <Kiểu dữ liệu> tênbiến = giá trị;
Ví dụ:
int a = 5;
float b = 5.4, c = 9.2;
char ch = ‘n’;
Định nghĩa hằng số
Hằng là đại lượng không thay đổi giá trị trong quá trình thi
hành chương trình
Định nghĩa hằng: Dùng tốn tử #define
Cú pháp: #define <tên_hằng> <giá_trị_hằng>
Ví dụ: #define MAX 100
Tên hằng số dùng chữ in HOA
Định nghĩa hằng số
Khai báo biến có giá trị hằng số dùng từ khoá const
Cú pháp:
const <kiểu_dữ_liệu> <tên_biến> = <giá_trị>;
Ví dụ:
const int MAX = 100;
Các loại hằng
Hằng số: là các giá trị xác định, một hằng số có thể là
Số nguyên (có kiểu dữ liệu int, hay long int)
Số thực (có kiểu dữ liệu là float, double, long double).
Hằng ký tự: đặ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
Các loại hằng
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 kết thúc bằng ký tự null (\0)
Các phép tốn
Stt
Phép tốn
Ý nghĩa
Ghi chú
Phép tốn sớ học
1
+
Cộng
2
-
Trừ
3
*
Nhân
4
/
Chia
Đối với 2 số nguyên thì kết quả là
chia lấy phần nguyên
5
%
Chia lấy phần dư
Chỉ áp dụng cho 2 số nguyên
Các phép toán
Stt
Phép toán
Ý nghĩa
Ghi chú
Phép toán so sánh
1
>
Lớn hơn
2
<
Nhỏ hơn
3
>=
Lớn hơn hoặc bằng
4
<=
Nhỏ hơn hoặc bằng
5
==
Bằng nhau
6
!=
Khác nhau
Kết quả của phép toán so
sánh là giá trị True hoặc
False
Các phép toán
Phép toán logic
! NOT
&& AND
|| OR
Toán tử tăng giảm
++ Tăng 1
--
Giảm 1
Nếu toán tử tăng giảm đặt trước thì
tăng giảm trước rời tính biểu thức
hoặc ngược lại.
Các phép tốn
Ví dụ:
int x = 5, y = 11;
int z = ++x + y++;
Kết quả: x=6; y=12; z=17
Các phép toán
Phép toán thao tác trên bit
1
&
AND
2
|
OR
3
^
XOR
4
<<
Dịch trái
5
>>
Dịch phải
6
~
Lấy phần bù theo bit
Các phép toán
Toán tử điều kiện
(ĐK)?<kết quả khi ĐK đúng>:<Kết quả khi ĐK sai>
Ví dụ:
int n;
(n%2==0)? n ++ : n --;
nếu n = 10 thì giá trị n = 11
nếu n = 21 thì giá trị n = 20