Tải bản đầy đủ (.pdf) (31 trang)

S nmc2 chuongtrinhc

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 (1.78 MB, 31 trang )

Chương 2
Cấu trúc và thành phần
của chương trình C
Presenter:

Nhập mơn về lập trình (C2)

Slide 1


Nội dung

Chương trình C đơn giản.
Phong cách lập trình.
Rèn luyện việc xuất ra màn hình.
Đọc dữ liệu từ bàn phím.
Xử lý đơn giản.

Nhập mơn về lập trình (C2)

Slide 2


Learning outcomes
L.O.1.4 – Biết được cấu trúc và hiểu được các thành phần
của một chương trình viết bằng ngơn ngữ lập trình
C.
L.O.1.5 – Vận dụng được các nguyên tắc trong phong cách
lập trình để viết được các chương trình trong sáng
và dễ đọc.
L.O.1.6 – Liệt kê được các kiểu dữ liệu cơ bản trong C và


ghi ra giá trị điển hình của các kiểu đó trong mã
nguồn.
L.O.1.7 – Sử dụng được các hàm để đọc dữ liệu từ bàn
phím và xuất dữ liệu ra màn hình.

Nhập mơn về lập trình (C2)

Slide 3


Chương trình C đơn giản

Nhập mơn về lập trình (C2)

Slide 4


Chương trình C đơn giản

Các thành phần

 Khai báo thư viện sẽ được sử
dụng bằng #include:
• Cho biết chương trình có sử dụng
thư viện hàm stdio.lib.
• Thư viện stdio.lib chứa 2 hàm :
printf( ) và getchar( ) .
• Cách khai báo bằng chỉ thị #include
như hình bên.
• Phân biệt stdio.lib và stdio.h.

Nhập mơn về lập trình (C2)

Slide 5


Chương trình C đơn giản

Các thành phần

 Chương trình viết bằng C sẽ bắt đầu chạy từ hàm main( ).
 main (viết toàn chữ thường) là tên hàm, theo sau phải có ( ).
• Lệnh đầu tiên được viết trong thân hàm main( )
• Mỗi chương trình viết bằng C dù có 1 hay nhiều module thì
cũng chỉ có một hàm có tên main

Dấu “{“ đánh dấu bắt đầu phần thân hàm main
Dấu “}“ đánh dấu điểm kết thúc phần thân hàm main

Nhập mơn về lập trình (C2)

Slide 6


Chương trình C đơn giản

Kiểu trả kết quả

 Kiểu trả kết quả do từ khóa viết trước tên hàm quy định (int).
 void là không trả kết quả về (không chuẩn, sẽ bị cảnh báo).


Không chuẩn

Chuẩn

Nơi này xác định kiểu trả kết quả về của hàm (main)
void : Hàm main khơng trả kết quả gì về cả (khơng có lệnh return cuối)
int : trả về kiểu số nguyên theo lệnh return cuối hàm
Nhập mơn về lập trình (C2)

Slide 7


Chương trình C đơn giản
Các thành phần

 Chú thích
 Chú thích là văn bản khơng
cần có văn phạm của C.
 Chú thích được chèn vào
nhằm giải thích, ghi chú,
đánh dấu, hay làm tiêu đề
dẫn nhập cho phần tử của C.
 Hai dạng chú thích:

Chú thích

 Chú thích trên nhiều dịng,
được bao bọc giữa ký hiệu
mở đầu "/*"và kết thúc
"*/".

 Chú thích trên một dịng, mở
đầu bởi "//".
Nhập mơn về lập trình (C2)

Slide 8


Phong cách lập trình
 Chương trình cũng như một bài văn trong ngơn ngữ tự nhiên.
 Do đó, cần được viết sao cho dễ đọc, dễ hiểu, và dễ phát hiện các sai sót.
 Trong các dự án lớn, phong cách lập trình là rất quan trọng nhằm :
• Dễ dàng phối hợp giữa các thành viên phát triển.
• Dễ dàng phát hiện sai sót.
• Dễ dàng bảo trì và nâng cấp.

 Danh sách các chủ đề có thể xem chi tiết ở những trang sau.
 Sinh viên phải rèn luyện phong cách trong suốt q trình học, thơng qua thực
hành.
Tất cả các bài nộp cho giảng viên xem phải tuân thủ hầu hết các gợi ý.

Xem thêm

1. />2. />
Nhập mơn về lập trình (C2)

Slide 9


Phong cách lập trình
Các gợi ý


 Về quy cách đặt tên:
• Hàm
 Bắt đầu bởi động từ (verb), vì hàm là đơn vị xử lý (nghĩa là thực thi
hành động).
 Tên phải nêu bật tính năng xử lý của hàm.
Ví dụ:
Nên dùng: check_for_errors()hay dump_data_to_file()
Thay cho: error_checking() hay file_data_dumping()
 Nên sử dụng “suffix” hay “prefix” để tăng ngữ nghĩa.
 Prefixes
• is
• get
• set

kiểm tra xem một điều kiện nào đó có thỏa hay không
lấy giá trị
gán giá trị

Nhập môn về lập trình (C2)

Slide 10


Phong cách lập trình
Các gợi ý
• Biến
 Thường bắt đầu bởi danh từ (noun).
 Tất cả các ký tự trong tên đều là chữ thường.
 Nối các từ với nhau bởi dấu gạch dưới "_".

 Đưa đơn vị vào tên nếu có thể.
Ví dụ: unit32 timeout_msec;
time
time_of_error;

• Biến kiểu pointer
 Đặt dấu * liền sát tên biến
 Suffix với "ptr" nếu có thể
Ví dụ:
char *name;
Student *student_ptr;

Nhập mơn về lập trình (C2)

Slide 11


Phong cách lập trình
Các gợi ý

 Về quy cách đặt tên:
• Biến tồn cục
 Prefix với "g_", để dễ phân biệt trong code
Ví dụ:
Logger g_logger;
Logger g_logger_ptr;

• Hằng tồn cục
 Sử dụng tồn bộ chữ hoa
Ví dụ:

const int A_GLOBAL_CONSTANT=5;

 Xem chi tiết trong trang chỉ dẫn trước, và luyện tập đến cuối
chương trình học.

Nhập mơn về lập trình (C2)

Slide 12


Kết xuất trong C
Hàm printf( )

 Cú pháp
int printf(const char *format,<list of expression>);

 Mô tả biến dùng trong chuỗi định dạng format
%[flags][width][.precision]type
flags : thay đổi dạng in (xem phần sau).
width : số cột tối thiểu in ra.
.precision : số số lẻ in ra.
type : kiểu dữ liệu (xem phần sau).

Nhập mơn về lập trình (C2)

Slide 13


Kết xuất trong C
Flags

Flags

Mô tả

- (dấu trừ)

In sát biên trái (mặc định là in sát biên phải).

+ (dấu cộng)

In dấu + hoặc – trước số.

(khoảng trắng) In khoảng trắng trước số dương, dấu – trước
số âm.
0 (số không)
In số 0 thay cho khoảng trắng ở các chỗ trống.

Nhập môn về lập trình (C2)

Slide 14


Kết xuất trong C
Type
Định dạng

Kết xuất

%


Ký tự %

C

Ký tự ASCII

S

Chuỗi ASCIIZ

d, i

Số nguyên (thập phân)

U

Số nguyên không dấu (thập phân)

O

Số nguyên không dấu (bát phân)

x, X

Số nguyên không dấu (thập lục phân với chữ nhỏ hoặc chữ lớn)

e, E

Số chấm động (dạng khoa học, có phần mũ với chữ e hoặc E)


F

Số chấm động (dạng chấm tĩnh)

g, G

Số chấm động (%e hoặc %f tùy giá trị với chữ e hoặc E)

p

Địa chỉ con trỏ (số thập lục phân)

Nhập môn về lập trình (C2)

Slide 15


Kết xuất trong C
Số nguyên

 Kiểu số nguyên
 Tên kiểu “int”, sẽ nói kỹ hơn
trong chương sau.
 Cách viết giá trị nguyên thập
phân (literal constant):
Ví dụ: 15, -20, 40, . . .
 Sử dụng đặc tả "%d" hoặc "%i"
trong printf như ví dụ bên.
• Câu hỏi: luật in số ngun ra
màn hình?

Nhập mơn về lập trình (C2)

Slide 16


Kết xuất trong C
Rèn luyện phong cách lập trình

Nên

Khơng nên

Sử dụng TAB để canh lề code
Nhập mơn về lập trình (C2)

Slide 17


Kết xuất trong C
In nhiều trị nguyên
 Kiểu số nguyên
 In nhiều số dùng chỉ một hàm printf

Nhập môn về lập trình (C2)

Slide 18


Kết xuất trong C
Số thực


 Kiểu số thực chấm động
 Kiểu chính xác đơn:
 Kiểu chính xác kép:

float
double

 Giá trị ghi ra trong code (literal
constant):
Ví dụ:
float:
5.5f
double:
5.5
 Sử dụng đặc tả "%f" trong printf.

Câu hỏi

1. Làm sao chỉ in ra 3 ký số sau chấm thập phân.
2. Hãy in ra số thực có 7 ký số (kể cả dấu chấm).

Nhập mơn về lập trình (C2)

Slide 19


Kết xuất trong C
Ký tự


 Kiểu ký tự (ASCII)
 Tên kiểu: char
 Cách viết ký tự (literal constant):
Ví dụ: 'A', 'a', '8', '(', hằng escape
 Sử dụng “%c” trong printf.

Câu hỏi

1. Hãy giải thích ý nghĩa của định dạng “%3c”.
2. Định dạng “%03c” in ra thế nào ?

Nhập môn về lập trình (C2)

Slide 20


Kết xuất trong C
Hằng escape

Nhập mơn về lập trình (C2)

Slide 21


Kết xuất trong C
Chuỗi ký tự
Kiểu chuỗi (string / ASCIIZ)
 Kiểu chuỗi được hiểu là dãy ký
tự (character array) và kết thúc
bằng ký tự null ('\0', không thấy

được). Định nghĩa như sau:
char s[50]; //chuoi 49 ky tu
 Giá trị chuỗi (literal constant)
viết trong 2 dấu nháy kép (""):
"Programming Fundamentals",
"Computer", ...

 Sử dụng đặc tả "%s" trong
printf.

Nhập mơn về lập trình (C2)

Slide 22


Nhập liệu trong C
 Ngun tắc
• Dữ liệu có thể được nhập vào từ bàn phím thơng qua các hàm
nhập.
• Giá trị nhập vào sẽ được lưu giữ trong biến.

Sinh viên tạm thời chấp nhận hai khái niệm sau:
1. Biến là vùng nhớ có kiểu và được đặt tên
Ví dụ:
int i,so; float x,y; char ktu,s[36];
2. Lấy địa chỉ của vùng nhớ bằng tốn tử &

Ví dụ:
&ktu, &so, &x
(sử dụng dấu & trước tên của biến)

Nhập mơn về lập trình (C2)

Slide 23


Nhập liệu trong C
Hàm scanf( )
 Hàm nhập dữ liệu
• Hàm scanf trong thư viện stdio.lib.
• Cú pháp:
scanf(<hằng chuỗi định dạng>,<danh sách địa chỉ biến>)

Phần đặc tả những
kiểu mong muốn đọc

Nhập mơn về lập trình (C2)

•Phần liệt kê địa chỉ của các biến tương
ứng với những kiểu mong muốn.
•Dùng dấu phẩy “,” để phân cách các địa
chỉ

Slide 24


Nhập liệu trong C
Nhập số vào biến nguyên
 Nhập số nguyên : %d

Cửa sổ ban đầu:


(chương trình chờ người dùng nhập vào một số nguyên)
Cửa sổ sau khi nhập giá trị 123 và nhấn phím ENTER:

Nhập mơn về lập trình (C2)

Slide 25


Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×