Chương 2
Các yếu tố cơ bản của
ngôn ngữ C
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
Từ vựng trong C
Tập ký tự
Tên
Từ khóa
Các kiểu dữ liệu
Hằng
Biến
Từ vựng trong C
Tập ký tự
26
chữ cái hoa: A, B, …, Z
26 chữ cái thường: a, b, …, z
10 chữ số: 0, 1, …9
Các ký tự đồ họa: +, -, *, /, =, !, #, %, ^, &,
_, ~, [, ],\, |, ; , :, ‘, “, {, }, ,, .,
<, >, ?, (, )
Các ký tự không hiển thị ra màn hình: space, tab,
enter
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
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ố.
VD: x1, temp, _bien1 là những tên hợp lệ; 1abc, bai
1 la những tên không hợp lệ
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
Từ vựng trong C
Kiểu dữ liệu
Kiểu ký tự
Tên: char và unsigned char
Kích thước: 1 byte
Miền giá trị
Kiểu
Phạm vi biểu diễn
Số ký tự
char
-128 đến 127
256
unsigned char
0 đến 255
256
Một ký tự được biểu diễn thông qua bảng mã ASCII
( />
Từ vựng trong C
Kiểu dữ liệu
Kiểu
ký tự
Phân nhóm ký tự: 3 nhóm
Nhóm các ký tự điều khiển: từ 0÷31 và 127
Nhóm các ký tự văn bản: 32÷126
Nhóm các ký tự đồ họa: 128÷255
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:
Kiểu
Phạm vi biểu diễn
Kích thước
int/ signed int
-32768 đến 32767
2/4 bytes
unsigned int
0 đến 65535
2/4 bytes
short/ signed short
-32768 đến 32767
2 bytes
unsigned short
0 đến 65535
2 bytes
long/ signed long
-2147483648 đến 2147483647
4 bytes
unsigned long
0 đến 4294967295
4 bytes
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
3.4E-4932 đến 1.1E4932
10 bytes
long
double
Từ vựng trong C
Kiểu dữ liệu
Định
nghĩa kiểu dữ liệu mới bằng typedef
Cú pháp:
typedef <kiểu_dữ_liệu> <tên_mới>;
Ví dụ:
typedef int nguyen
typedef float m50[50]
typedef int m_20x30[20][30]
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
Cú pháp khai báo
#define <tên_hằng> <giá_trị>
Ví dụ: #define MAX 1000
#define PI 3.141593
Hằng số học:
Hằng số nguyên
Hằng số thực
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
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
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
Các biến cục bộ:
Là các biến được khai báo bên trong hàm, hoặc bên
trong các khối lệnh
Phạm vi sử dụng: được tính từ vị trí khai báo đến cuối
hàm hoặc cuối khối lệnh
Biểu thức
Biểu thức trong C
Các toán tử
Phép toán chuyển đổi kiểu dữ liệu
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
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ực
tiế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: & | ~ ^
!=
Biểu thức
Các loại biểu thức
Biểu thức số học
Biểu thức so sánh
Biểu thức logic
Biểu thức gán
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.
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ằng
phép chuyển kiểu (ép kiểu)
Cú pháp: (Kiểu_dữ_liệu_mới) <Biểu_thức>;
Biểu thức
Ví dụ :
0
1
2
3
4
5
6
7
8
9
10
11
#include <stdio.h>
#define Max 100
const int m = 40;
int bt;
int main()
{
int a = 15; a=1; // co so 10
int b = 015;
// co so 8
int c = 0x15;
// co so 16
float d = 1.2e-6; // 15.06*10^-3
bt = a + b + c/m + (a>b);
}
Nhập/xuất dữ liệu
Thư viện
#include <stdio.h> (standard input/output)
Cú pháp
printf(<chuỗi định dạng>[, <đs1>, <đs2>, …]);
định dạng> là cách trình bày thông tin xuất và
được đặt trong cặp nháy kép “ ”, có thể bao gồm các
thành phần sau:
Văn bản thường (literal text)
Ký tự điều khiển (escape sequence)
Đặc tả (conversion specifier)
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.
Ví dụ
Xuất
chuỗi Hello World
printf(“Hello ”); printf(“World”);
printf(“Hello World”);
Xuất
chuỗi a + b
printf(“a + b”);
Nhập/xuất dữ liệu
Ký tự điều khiển (escape sequence)
Gồm dấu \ và một ký tự như trong bảng sau:
Ký tự điều khiển
Ý nghĩa
\a
\b
\n
\t
\\
\?
\”
Tiếng chuông
Lùi lại một bước
Xuống dòng
Dấu tab
In dấu \
In dấu ?
In dấu “
Ví dụ
printf(“\t”); printf(“\n”);
printf(“\t\n”);