GV: Vũ Thị Phương Dung - K.CNTT
1
Trường Cao đẳng Kinh tế - Kĩ thuật TP.HCM
Khoa Công nghệ thông tin
Vũ Thị Phương Dung
KỸ THUẬT
LẬP TRÌNH CĂN BẢN
Email:
1
GV: Vũ Thị Phương Dung - K.CNTT
2
Nội dung
1
Khái niệm NNLT C
2
Các hàm nhập xuất
3
Cấu trúc điều khiển
4
Hàm
5
Mảng và chuỗi
2
GV: Vũ Thị Phương Dung - K.CNTT
3
Tài liệu tham khảo
• Giáo trình kỹ thuật lập trình C, Nguyễn Linh Giang,
Lê Văn Thái, Kiều Xuân Thực, Nhà xuất bản Giáo
dục, 2008
• Giáo trình ngơn ngữ C, Tiêu Kim Cương, Nhà xuất
bản Giáo dục,2008
• Giáo trình KTLT trường CĐ KT-KT TP.HCM, 2015
3
GV: Vũ Thị Phương Dung - K.CNTT
4
Bài 1 : Khái niệm NNLT C
1.1 Khái quát về NNLT C
1.1.1 Giới thiệu
•
Computer program –chương trình máy tính là
một tập các câu lệnh (instruction) hướng dẫn máy
tính làm một số việc nhất định.
• Programming language - Ngơn ngữ lập trình
là ngơn ngữ để viết chương trình. Có nhiều loại
ngơn ngữ lập trình ( Pascal, C, Java, .Net …).
• Compiler – trình biên dịch, là phần mềm chịu
trách nhiệm dịch chương trình viết bằng một ngơn
ngữ lập trình sang dạng mã máy.
4
GV: Vũ Thị Phương Dung - K.CNTT
5
1 : Khái quát về ngơn ngữ lập trình C
ThuậtBài
tốn
Là tập hợp (dãy) hữu hạn các chỉ thị (hành động) được định
nghĩa rõ ràng nhằm giải quyết một bài tốn cụ thể nào đó.
• Ví dụ
• Thuật tốn giải PT bậc nhất: ax + b = 0
(a, b là các số thực).
Đầu vào: a, b thuộc R
Đầu ra: nghiệm phương trình ax + b = 0
• Nếu a = 0
• b = 0 thì phương trình có nghiệm bất kì.
• b ≠ 0 thì phương trình vơ nghiệm.
• Nếu a ≠ 0
• Phương trình có nghiệm duy nhất x = -b/a
5
GV: Vũ Thị Phương Dung - K.CNTT
6
Bài 1 : Khái qt về ngơn ngữ lập trình C
Sử dụng lưu đồ Input – Process – Output:
Input (I) : xác định dữ liệu nhập.
Process (P): tiến trình xử lí.
Output (O): xác định dữ liệu xuất.
Ví dụ:
1. Xác định tiền lương của nhân viên, biết rằng:
tiền lương = lương căn bản * hệ số.
Input: lương căn bản, hệ số
Process: Tiền lương = lương căn bản * hệ số
Output: tiền lương
6
GV: Vũ Thị Phương Dung - K.CNTT
7
Bài 1 : Khái qt về ngơn ngữ lập trình C
Ví dụ:
2. Xác định Input – Process – Output trong các trường hợp sau:
a) Đổi từ VNĐ sang USD, biết rằng 1 USD = 18.000 VNĐ.
b) Tính điểm trung bình 3 mơn : Tốn, Lý, Hóa.
c) Giải phương trình bậc nhất ax + b = 0.
c)
Input: a, b
Process: Nếu a = 0
- Nếu b=0 thì
Output: PTVSN
Ngược lại thì
Output: PTVN
Ngược lại
thì
Output: x= - b/a
7
GV: Vũ Thị Phương Dung - K.CNTT
8
Bài 1 : Khái qt về ngơn ngữ lập trình C
Sử dụng lưu đồ - sơ đồ khối
Khối giới hạn
Chỉ thị bắt đầu và kết thúc.
Khối vào ra
Nhập/Xuất dữ liệu.
Khối lựa chọn
Tùy điều kiện sẽ rẽ nhánh.
Khối thao tác
Ghi thao tác cần thực hiện.
Đường đi
Chỉ hướng thao tác tiếp theo.
8
GV: Vũ Thị Phương Dung - K.CNTT
9
Bài 1 : Khái qt về ngơn ngữ lập trình C
Ví dụ:
1. Xác định tiền lương của nhân viên, biết rằng:
tiền lương = lương căn bản * hệ số.
Bắt đầu
Nhập
Lương căn bản, hệ số
Tính
Tiền lương = lương căn bản * hệ số.
Xuất Tiền lương
Kết thúc
9
GV: Vũ Thị Phương Dung - K.CNTT
10
Bài 1 : Khái qt về ngơn ngữ lập trình C
2. Giải phương trình bậc nhất ax + b = 0.
Bắt đầu
Đọc a,b
Đ
S
a=0
Đ
S
Tính
x = -b/a
b=0
Xuất
“VSN”
Xuất
“VN”
Kết thúc
Xuất x
1
GV: Vũ Thị Phương Dung - K.CNTT
11
Bài
2 :thành
Các kiểu
1.1.2
Các
phần dữ
cơ liệu
bản cơ sở
Tập ký tự hợp lệ dùng trong ngôn ngữ C
-
Các chữ cái : A, B, C ...,Z, a, b, c,...z ( 26 chữ cái thường)
Các chữ số : 0,1,..., 9
Ký tự gạch nối _ ( chú ý phân biệt dấu - ).
- Tên ( định danh )
Là 1 dãy kí tự bắt đầu bằng chữ hoặc ký tự gạch dưới, theo
sau là chữ cái, chữ số hoặc ký tự gạch nối (_).
- Từ khoá
Là từ dành riêng cho ngơn ngữ. Các từ khố trong C gồm :
break, char, continue, case, do, double, default, else, float, for,
goto, int,if, long, return, struct, switch, unsigned, while, typedef,
union voi, volatile,.. Các từ khóa phải viết bằng chữ thường.
1
GV: Vũ Thị Phương Dung - K.CNTT
12
Qui tắc đặt tên trong ngôn ngữ C
- Tên biến, hằng, hàm ...không được trùng với từ khố
- Kí tự đầu tiên phải là kí tự chữ hay kí tự ‘_’
Ví dụ :
Hãy cho biết những tên nào sau đây không hợp lệ:
1.
5ab
5.f(x
)
2.ax
b
6.for
3.a5
b
4.a b
7._AB
8.A-bx
1
GV: Vũ Thị Phương Dung - K.CNTT
13
Bài 2 : Các kiểu dữ liệu cơ sở
- Cấu trúc của một chương trình C
Ví dụ:
Chương trình xuất ra màn hình câu “Xin chao!”
# include <stdio.h>
/* Thư viện hàm */
# include <conio.h>
/* Chương trình chính */
void main ()
{
printf (“\n Xin chao !”) ;
getch();
}
1
GV: Vũ Thị Phương Dung - K.CNTT
14
1.2 Các kiểu dữ liệu
1.2.1 Các kiểu dữ liệu cơ bản
- Kiểu char ( 1 byte ) : biễu diễn 1 ký tự thuộc ASCII
( thực chất là số nguyên từ 0 đến 255)
Ví dụ : Ký tự ASCII
0 048
A 065
a 097
- Kiểu int : 3 loại : int, long int ( long ) và unsigned int
(unsigned).
- Kiểu float : biểu diễn các số thực độ chính xác định.
- Kiểu double : biễu diễn các số thực độ chính xác kép.
1
GV: Vũ Thị Phương Dung - K.CNTT
STT Kiểu
15
Phạm vi kích thước
1
char
0..255
byte
2
int
-32768..32767
bytes
3
long
2147483648..2147484647 4
bytes
4
unsigned
0..65535
bytes
2
5
float
3.4e *10-38..3.4e* 1038
bytes
4
6
double
1.7e * 10-308 .. 1.7e *10308 8
bytes
1
2
1
GV: Vũ Thị Phương Dung - K.CNTT
16
1.2.2 Khái niệm về Biến – hằng
1. Biến
Biến là đại lượng thay đổi; mỗi biến có 1 tên và địa chỉ vùng
nhớ dành riêng cho nó.
Khai báo biến :
< Kiểu dữ liệu > < Danh sách các biến >;
Ví dụ:
1. float x; /* khai báo 1 biến x có kiểu số thực */
2. int I, j ; /* khai báo 2 biến I, j có kiểu số nguyên */
1
GV: Vũ Thị Phương Dung - K.CNTT
17
2. Hằng
Hằng là đại lượng không thay đổi.
Khai báo hằng :
# define < tên hằng > < giá trị>
Ví dụ:
1.
2.
# define MAX
# define pi
100
3.141593
* Một số hằng đặc biệt được viết theo qui ước như sau :
'\"'
dấu nháy đơn
' \" ' " dấu nháy kép
' \\ ' \
dấu chéo ngược
'\n ' \n ký tự xuống dòng
' \0 ' \0 ký tự rỗng ( null)
1
GV: Vũ Thị Phương Dung - K.CNTT
18
Bài 3thức
: Biểu
thứctử
– Câu
lệnh
– Phép toán
1.3 Biểu
– Toán
- Câu
lệnh
1.3.1 Biểu thức và các toán tử
- Biểu thức gán
< Biến> = <Biểu thức>;
Ví dụ:
int m, n, k;
m=n=k=3;
1
GV: Vũ Thị Phương Dung - K.CNTT
19
Bài 3 : Biểu thức – Câu lệnh – Phép toán
- Biểu thức điều kiện
< Biểu thức 1> ? <Biểu thức 2> : <Biểu thức 3> ;
Giá trị của biểu thức điều kiện bằng:
+ Biểu thức 2 nếu biểu thức 1 Đúng
+ Biểu thức 3 nếu biểu thức 1 Sai
Ví dụ:
Hãy xác định giá trị của biến x, a, b sau khi thực hiện biểu
thức: x = a >5 ? 6 : 7.
Giả sử:
1. a=8;
8>5 :Đ x=6
3>5 :S x=7
2. a=3;
3. a=5; 5>5 :S x=7
1
GV: Vũ Thị Phương Dung - K.CNTT
20
Bài 3 : Biểu thức – Câu lệnh – Phép toán
- Câu lệnh gán
Sử dụng các toán tử : +=, -=, *=, /=, %=
<Biến> = <Biến> + <Biểu thức> ;
<Biến> + = <Biểu thức>;
Ví dụ:
Hãy xác định giá trị các biến n, x, y sau khi thực hiện các câu
lệnh gán sau:
1) int n = 5 ;
n += 8 ; /* n = n + 8 = 5 + 8 = 13 */
2) int x = 8;
x /= 2 ; /* x = x / 2 = 8 / 2 = 4 */
3) float x =2.1, y=1;
x *= y+2 ; /* x = x * ( y + 2 ) */
2
GV: Vũ Thị Phương Dung - K.CNTT
21
Bài 3 : Biểu thức – Câu lệnh – Phép toán
- Phép toán
Các phép toán quan hệ :
>,=>,<,<=,==(so sánh bằng ) ,!=(so sánh khác)
Thứ tự ưu tiên các phép toán :
số âm ;* ;/ ;% ;+ ;- ;> ;>= ;< ;<= ;== ;!=
2. Các phép toán luận lý :
- Phép và :&&
- Phép hoặc :| |
- Phép phủ định : !
Thứ tự ưu tiên của các phép toán : !,&&,||
2
GV: Vũ Thị Phương Dung - K.CNTT
22
Bài 3 : Biểu thức – Câu lệnh – Phép toán
Phép toán tăng tốn hạng
a.Tăng trước : (++n)
Ví dụ:
int k,n=5;
k=++n; /*n=6,k=6*/
b.Tăng sau : (n++)
Ví dụ: int k,n=5;
k = n++ ;/*n=6;k=5*/
Phép tốn giảm tốn hạng
a.Giảm trước : (--n)
Ví dụ:
int k,n=5;
k=--n; /*n=4,k=4*/
b.Giảm sau : (n--)
Ví dụ: int k,n=5;
k = n-- ;/*n=4;k=5*/
2
GV: Vũ Thị Phương Dung - K.CNTT
23
1.3.2 Lệnh và khối lệnh
Lệnh: Là một tác vụ, biểu thức, hàm, cấu trúc
điều khiển…
Ví dụ 1:
x = x + 2;
printf("Day la mot lenh\n");
2
GV: Vũ Thị Phương Dung - K.CNTT
24
Khối lệnh: Là một dãy các câu lệnh được bọc bởi
cặp dấu { }, các lệnh trong khối lệnh phải viết thụt
vô 1 tab so với cặp dấu { }
Ví dụ 2:
{
//dau khoi
a = 5;
b = 6;
printf("Tong %d + %d = %d", a, b, a+b);
}
//cuoi khoi
2
GV: Vũ Thị Phương Dung - K.CNTT
25
1.3.3 Chuyển đổi kiểu giá trị
Là cách để chuyển đổi một biến từ kiểu dữ liệu
này sang kiểu dữ liệu khác
Ví dụ :
2