Tải bản đầy đủ (.ppt) (27 trang)

KỸ THUẬT LẬP TRÌNH CĂN BẢN

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 (231.98 KB, 27 trang )

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


×