Please enable JavaScript.
Coggle requires JavaScript to display documents.
Chương 2:giới thiệu về ngôn ngữ lập trình C - Coggle Diagram
Chương 2:giới thiệu về ngôn ngữ lập trình C
2.1: lịch sử phát triển và đặc điểm của ngôn ngữ lập trình C
Đặc điểm của ngôn ngữ lập trình C
Có tính khả chuyến ,linh hoạt cao
Có thế mạnh trong việc sử lý dữ liệu số , văn bản ,cơ sở dữ liệu
lLà ngôn ngữ lập trình có cấu trúc:
Chương trình có thể chia nhỏ thành các hàm (functions) hoặc các khối lệnh (code bloccks)
Cho phép ẩn lệnh ,thông tin khỏi phần còn lại của chương trình để dùng cho tác vụ riêng
Cho phép tập hợp mã lệnh và cấu trúc
Được xem như ngôn ngữ lập trình hệ thống ,sử sụng để xây dựng các chương trình hệ thống ,trình điều kiển thiết bị, xử lý ảnh,...
Lịch sử phát triển ngôn ngữ lập trình C
Được phát triển bởi Dennis MacAlistair 2Ritchie (1941-2011) là xem là cha đẻ của ngôn ngữ lập trình C
Giai đoạn phát triển khởi đầu : 1969.1973 ,trong đó giai đoạn sáng tạo nhất là trong năm 1972
2.2 Môi trường lập trình với ngôn ngữ C
Lưu ý
Lập trình viên không bắt buộc phải lập trình trong môi trường IDE
Có thể sử dụng một phần mềm soạn thảo chuyên dụng để tạo file nguồn (VD: Notepad++)sau đó sử dụng trình biên dịch thích hợp (VD: BCC 5.5)để biên dịch và tạo file thực thi
Các môi trường điển hình :
Turbo C++ và Borland C++ của Borland, lnc
MSC và VC của Microsft Corp
GCCcủa GNU project
Môi trường phát triển tích hợp (IDE-Integrane Development Evironment):
Sửa lỗi ( gỡ rồi -debug)
biên dịch (compile)
Soạn thảo (biên tập chương trình nguồn -edit)
Thực thi (runtime)
Xây dựng chương trình
2.4Cấu trúc chương trình viết bằng ngôn ngữ C
Một vài chương trình đơn giản
Chường trình tính tổng 2 số nguyên a,b
Chương trình viết câu thông báo ra màn hình
Các quy tắc xây dựng chương trình
Căn lề
Quy tắc viết lệnh
Mỗi câu lệnh đều phải kết thúc bằng dấu :
Mỗi câu lệnh nên đặt trên một dòng
Khối lệnh gồm nhiều lệnh đơn phải đặt trong cặp dấu {}
Quy tắc viết chú thích :
Trên một dòng:// lời chú thích
Viết trên nhiều dòng: /* lời chú thích
Cấu trúc chương trình
Gồm các phần theo thứ tự sau:
Khai báo các biến toán cục
Cú pháp :Kiểu_dữ_liệu tên_biến;
Định nghĩa các kiểu dữ liệu mới
Cú pháp:typedef khai báo kiểu dữ liệu mới;
Khai báo các macro
Cú pháp:#define tên giá_trị
Hàm main()
Cú pháp: Kiểu_dữ_liệu_trả_về main(void) {các khai báo , các lệnh;}
Khai báo các tệp tiêu đề
include
<stdib.h>
Các hàm tiện ích
<ctype.h>
Các hàm xử lý ký tự
<conio.h>
Các hàm giao tiếp người dùng sử dụng MS-DOSAPI
<stdio.h>
các hàm vào ra cơ bản
Lưu ý
Người lập trình cũng có thể xây dựng sẵn các hàm vafddawtj vào trong thư viện để dùng khi cần thiết
Một số trình biên dichjcho phép thêm hàm do người lập trình xây dựng vào thư viện chuẩn. Một số trình biên dịch yêu cầu người lập trình phải tạo thư viện riêng
<math.h>
Các hàm toán cơ bản
<string.h>
Các hàm sử lý xâu
<time.h>
Các hàm điều khiển thời gian
Định nghĩa các hàm (đã khai báo nguyên mẫu)
Các hàm đã được khai báo nguyên mẫu cần được định nghĩa ở đây
Khai báo nguyên mẫu của các hàm
Cú pháp : kiểu_dữ_liệu_trả_về tên_hàm(danh_sách_kiểu_dữ_liệu_tên_tham_số);
2.3 Các thành phần cơ bản của ngôn ngữ lập trình C
Tập kí tự
Tập ký tự của ngôn ngữ C gồm :
26 chữ cái in hoa :A,B....Z
26 chữ cái in thường :a,b,...z
10 chữ số: 0,1,...,9
Các ký hiệu toán học:+-*/<>...
ký tự gạch nối
dấu cách
các ký hiệu đặc biệt:..,;?!\&\%#$()[]{}
Là phần tử cơ bản , Bắt buộc phải có để tạo nên chương trình :
Tổ hợp kí tự ->từ
Liên tkeets các tử theo cú pháp ->câu lệnh
Tổ chức các câu lệnh ->chương trình
Từ khóa
3 từ quan trọng
const
char,int
float
Tên
Là dãy các ký tự dùng để xác định các đối tượng trong chương trình như biến ,hằng ,hàm ,kiểu dữ liệu,...
Lưu ý :ngôn ngữ C phân biệt chữ hoa và chữ thường
Hằng
Là đại lượng không đổi trong suốt quá trình thực thi chương trình
define tên _hằng giá _trị
Biến
là đại lượng do người lập trình định nghĩa ,được đặt tên thông qua việc khai báo biến
Dùng để chứa dữ liệu ,giá trị của biến có thể bị thay đổi trong quá trình thực thi chương trình
Cú pháp khai báo
Kiểu _dữ _liệu tên _biến 1,...tên_biến;
Cần khai báo tất cả các biến trước khi sử dụng
Có thể kết hợp khai báo biến với việc khởi tạo giá trị cho biến theo cú pháp
Hàm
Biểu thức
Toán tử :tác động lên các toán hạng và giả về giá trị thuộc một kiểu nhất định. Các toán tử:+,-,*,...
Toán hạng:hàng ,biển, phần tử mang lời gọi hàm,...
Toán tử
Các toán tử số học
Các phép thao tác trên bịt
Các toán tử đặc biệt
Dấu
Phép lấy địa chỉ của biến
Vùng nhớ được đánh địa chỉ ->biển có địa chỉ
Cú pháp :&tên_biến
Tên biến được xem là tên vùng nhớ lưu trữ giá trị của biến
Toán tử gián
Cú pháp :tên_biến=biểu_thức; ý nghĩa : gán giá trị của biểu_thức cho tên_biến
PHép ép kiểu
Sử dụng khi biểu thức gồm các toán hạng khác kiểu hoặc khi cần gán giá trị thuộc kiểu này cho một biến thuộc kiểu khác
Các toán tử logic
Các toán tử quan hệ
Thứ tự ưu tiên của các toán tử
Câu lệnh
Là một chỉ thị hoàn chỉnh yêu cầu máy tính b hiện một một nhóm thao tác nào đó
Lệnh đơn :không chứa các câu lệnh khác(lệnh gán giá trị,...)
Lệnh phức :chứa nhiều lệnh (khối lệnh,..)
Lưu ý
Trình biên dịch bỏ qua các dấu cách ,Tab và các ký hiệu "xuống dòng được chèn vào trong các lệnh
Một khối lệnh có thể chứa nhiều khối lệnh khác
Thân hàm cũng được xem là một khối lệnh không nằm trong bất kỳ khối lệnh nào khác
Các kiểu dữ liệu cơ sở
Phân loại kiểu dữ liệu
Các kiểu dữ liệu có cấu trúc:
Kiểu màng
Kiểu xâu ký tự
Kiểu cấu trúc
Kiểu hợp
Kiểu tệp
Kiểu do người dùng tự định nghĩa
Kiểu liệt kê
Các kiểu dữ liệu cơ bản:
Kiểu số thực
Kiểu số nguyên
Kiểu ký tự
Các kiểu dưc liệu cơ sở
Kiểu số nguyên
Gồm 6 kiểu
int
2byte hoặc 4byte
unsigned int
2byte hoặc 4byte
short
2byte
unsigned short
2byte
long
2byte
unsigned long
2byte
Kiểu số thực
Gồm 2 kiểu
float
4byte
double
8byte
Có 2 cách biểu diễn hằng số thực
Biểu diễn theo dang thập phân : phần
nguyên. phần
thập_phân
Biểu diễn theo dạng khoa học hay dạng mũ : phần_định_trị Ephần_mũ
Kiểu ký tự
Dùng để biểu diễn các ký tự trong hàng mà A (256 ký tự)
Không lưu trữ trục tiếp các ký tự mà lưu mà 35 tương ứng( giá trị số)->kiểu ký tự có thể dùng như kiểu số nguyên
Các hàng ký tự đặt trong cập dấu nháy đơn hằng xâu ký tự đặt trong cập dấu nháy kép
Gồm 2 kiểu:
unsigned char
[signed] char
Một số hằng ký tự điều khiển :
"\n" đưa con trỏ xuống đầu dòng tiếp theo
"\t" tab
Khái niệm kiểu dữ liệu
Kiểu dữ liệu ,xác định tập các giá trị mà một đối tượng thuộc kiểu đó có thể nhận được ,cách thức lưu trữ dữ liệu và các phép toán có thể thực hiện
Kiểu dữ liệu 2byte:
Biểu diễn các số nguyên có dấu trong miền giá trị-32768..32767
Chiếm kích thước 2byte khi lưu trữ
Có thể thực hiện các phép toán :phép đào dẫn các phép toán số học+-*/%, các phép so sánh < >= = =>>!=