Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
403 KB
Nội dung
Phần 1: Ngơn ngữ lập trình C Chương 1: Ơn tập số nội dung NNLT C Kỹ thuật lập trình Các nội dung Các đặc điểm bật C Cấu trúc chương trình viết C Các kiểu liệu Các thao tác nhập/xuất Các kiểu liệu có cấu trúc Kiểu liệu trỏ Các cấu trúc điều khiển lệnh Kỹ thuật lập trình 2/31 Một số đặc điểm C C ngơn ngữ lập trình bậc trung (kết hợp bậc cao bậc thấp) C ngôn ngữ có cấu trúc C ngơn ngữ mạnh mềm dẻo, viết chương trình nhiều mức khác từ thấp đến cao C tạo chương trình hiệu C ngơn ngữ khả chuyển (portable) C có kích thước nhỏ C định kiểu không cứng nhắc (loose typing) Kỹ thuật lập trình 3/31 Cấu trúc chương trình #include /* Chỉ thị gọi tệp thư viện/tiền xử lý */ Kiểu_hàm main () /* Hàm main, thân chương trình */ { /* Các câu lệnh thân chương trình */ … [return (giá_trị);] /* trả giá trị cho hàm main*/ } /*Định nghĩa hàm con, chương trình */ Kiểu_hàm Tên_hàm (các tham số) { /* Các lệnh hàm */ … [return (giá_trị)] /* trả giá trị cho hàm */ } Kỹ thuật lập trình 4/31 Các thành phần chương trình Các đối tượng liệu: cần khai báo gồm có tên kiểu liệu, chia thành loại Biến (variable) Hằng (constant) Các lệnh xử lý (statement): chia làm nhóm: Lệnh đơn: lệnh gán, lệnh khai báo liệu,… Lệnh có cấu trúc: gồm cấu trúc điều khiển Kỹ thuật lập trình 5/31 Một số chương trình mẫu Program 1.1: Viết chương trình tính điện trở tương đương điện trở R1 R2 mắc song song Giá trị R1 R2 nhập từ bàn phím (Lưu ý: giá trị nhập vào phải hợp lệ) Program 1.2: Mở rộng Program 1.1, với tính kiểm tra tính hợp lệ giá trị điện trở nhập vào Kỹ thuật lập trình 6/31 Program 1.1: Chương trình tính điện trở tương đương hai điện trở R1 R2 #include //Khai báo tệp thư viện #include void main() { float R1, R2; //Các biến lưu điện trở R1 R2 float R; //Biến lưu điện trở tương đương printf("Nhap gia tri R1:"); scanf("%f",&R1); printf("Nhap gia tri R2:"); scanf("%f",&R2); R = 1/(1/R1+1/R2); //Tính điện trở tương đương in kết printf("R tuong duong = %.2f\n",R); system("PAUSE"); } Kỹ thuật lập trình 7/31 Kết chạy Program 1.1 Kỹ thuật lập trình 8/31 Các kiểu liệu Kiểu kí tự (char) Kiểu số nguyên (int, long, unsigned): unsigned kiểu số nguyên khơng dấu (khơng âm) Kiểu mặc định có dấu (signed) Kiểu logic: khơng có từ khóa khai báo, mà sử dụng kiểu số nguyên để biểu diễn giá trị logic Kiểu số thực (float, double) Kiểu chuỗi: gồm dãy ký tự nằm cặp “”, kí tự kết thúc chuỗi ‘\0’ Kỹ thuật lập trình 9/31 Các thao tác nhập/xuất Các thao tác nhập liệu Các thao tác nhập kí tự: getchar(); getch(); getche() Nhập chuỗi kí tự: gets() Hàm đa scanf() Các thao tác xuất liệu Xuất kí tự: putchar() Xuất chuỗi kí tự: puts() Hàm đa năng: printf() Kỹ thuật lập trình 10/31 Kiểu liệu trỏ Giới thiệu: Là đối tượng DL mà giá trị địa đối tượng khác (có thể nó) nhớ P A P = &A Kỹ thuật lập trình 17/31 Kiểu liệu trỏ Vai trò: Quản lý đối tượng DL động cấu trúc lưu trữ động (như CTLT móc nối) để cài đặt lưu trữ CTDL động danh sách, cây,… Định vị, truy nhập vào thành phần kiểu DL có cấu trúc nhằm tăng tốc độ thực độ linh hoạt xử lý Ta hay dùng trỏ để truy nhập vào mảng, ghi (struct) Tổ chức tham số đóng vai trị đầu chương trình (hàm con) Kỹ thuật lập trình 18/31 Kiểu liệu trỏ Các thao tác trỏ: Khai báo Phép lấy địa Phép gán Truy nhập vào đối tượng trỏ Phép tăng/giảm địa int * pi; //Con trỏ kiểu int float * pf[20]; //Mảng trỏ kiểu float float (*pf)[20]; //Con trỏ kiểu mảng void * p; //Con trỏ tổng quát int i=20; pi = &i; //gán giá trị cho trỏ p = pi; //gán trỏ cho trỏ *pi = 30; //truy nhập vào đối tượng đc trỏ, //i = 30 now int a[10]; pi = a; //pi = &a[0] pi[2]=20; //a[2] = 20 pi++; //pi = &a[1] Kỹ thuật lập trình 19/31 Một số chương trình mẫu Program 1.3: mở rộng Program 1.2 với N điện trở mắc song song Program 1.4: thay đổi Program 1.3, với việc tính điện trở tương đương thực hàm Kỹ thuật lập trình 20/31 Program 1.3 #include #include //#define N void NhapDienTro(float *R); int main() { const int N = 5; float R[N]; float Rtd; //Dien tro tuong duong int i; //Nhập giá trị điện trở tính điện trở tương đương … } Kỹ thuật lập trình 21/31 Program 1.3 (tiếp) int main() { //Nhập giá trị điện trở tính điện trở tương đương for (i=0;i