Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 38 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
38
Dung lượng
181 KB
Nội dung
Ôn tập ngôn ngữ C Mục tiêu Ôn tập khaí niệm lập trình Ôn tập cú pháp C Ôn tập kỹ thuật viết chương trình C Ôn tập kỹ thuật viết hàm C Ôn tập kỹ thuật phân tích chương trình có hàm Ôn tập mảng chiều Ôn tập ma trận Ôn tập chuỗi ký tự Ôn tập cấu trúc Nội dung 1- Các khái niệm lập trình 2- Cú pháp ngôn ngữ C 3- Kỹ thuật giải toán đơn giản 4- Kỹ thuật xây dựng hàm C 5- Kỹ thuật phân tích chương trình có hàm 6- Pointer 7- Mảng chiều 8- Ma trận 9- Chuỗi ký tự 10- Cấu trúc 1- Các khái niệm lập trình Chương trình máy tính: Tập lệnh nhị phân có thứ tự nhằm giải toàn máy tính Ngôn ngữ lập trình:Một tập định nghĩa cú pháp cho phép người sử dụng tạo chương trình máy tính Một chương trình tạo từ chuỗi phát biểu cú pháp Dịch chương trình:Quá trình chuyển chương trình ngôn ngữ lập trình thành chương trình nhị phân (mã máy) Như chương trình có dạng: chương trình ngôn ngữ lập trính chương trình mã máy Các khái niệm lập trình Phần mềm ngôn ngữ: Một phần mềm máy tính thực cú pháp ngôn ngữ lập trình, cung cấp cho người sử dụng số tiện ích : Môi trường soạn thảo chương trình (editor), dịch chương trình + kiểm lỗi cú pháp chương trình (compile), chạy cả/ bước chương trình, kiểm tra trị biến (debug, View) Các khái niệm lập trình Giải thuật: Phương pháp / cách tiếp cận để giải toán Đặc điểm giải thuật: (1) Có nhật điểm bắt đầu + điểm kết thúc (2) Giải thuật phải dừng (3) Kết qủa phải Mô tả giải thuật (1) Một trật tự hữu hạn bước giải theo ngôn ngữ (chương trình máy tính giải thuật cho toán cụ thể) (2) Lưu đồ Các khái niệm lập trình Các bước lập trình Start End Bài toán Phân tích No giải thuật sai Yes Kq Chạy Dùng Editor NNLT Dữ liệu Giải thuật Yes Lỗi cú pháp Chương trình mã máy Lỗi No Chương trình ngôn ngữ Dịch 2- Cú pháp ngôn ngữ C 2.1- Từ khóa cách đặt từ Từ khóa: Từ ngôn ngữ Cách đặt từ: Ký tự đầu chữ hay gạch nối, ký tự sau chữ+số+gạch nối Không đặt từ trùng với từ khóa, không sử dụng ký hiệu toán tử, không dùng ký tự khoảng trống Mỗi khái niệm đặt từ riêng 2.2- Toán tử Toán tử số học: + - * / % ++ -Toán tử so sánh: < = > != : trả trị (sai) (đúng) Toán tử luận lý: ! && || : trả trị (sai) (đúng) Toán tử bit : & | ^ ( and, or, xor) Toán tử dịch: >> AND -> OR) Cuối toán tử gán (Xem thên help với từ khóa precedence) 2.3- Kiểu liệu-Hằng- Biến Datatype: Khái niệm đặc tả kích thước nhớ lưu trữ loại liệu khác Các kiểu liệu bản: char, int, long, float, double Kiểu liệu dẫn xuất (derived): Kiểu liệu dẫn từ kiểu bản, thí dụ: mảng, chuỗi ký tự, cấu trúc Hằng (constant) : Dữ liệu không đổi theo thời gian Khai báo hằng: Cách 1: #define PI 3.141592 // dùng macro Cách 2: const int MaxN = 100 ; 6- Pointer Pointer= Biến mang trị địa vùng nhớ Cung cấp phương tiện gián tiếp để truy cập liệu ( biết địa đến địa truy cập liệu) Cú pháp khai báo pointer: DataType * p; pointer=NULL; mang ý nghĩa pointer không đến liệu gọi biến không tên 2500 1000 int* p2 1000 int * p1 100 int n 100 biến có tên Toán tử thao tác pointer & : Lấy địa biến * : Truy cập trị địa new : cấp phát vùng nhớ , trả pointer delete pointer : Trả vùng nhớ cấp phát động ++ : Lấy địa phần tử sau : Lấy địa phần tử trước = : Gán pointer với So sánh pointer cho biết vị trí trước sau liệu Đơn vị thay đổi trị pointer cộng trừ kích thước kiểu liệu mà pointer đến Toán tử thao tác pointer & : Lấy địa biến * : Truy cập trị địa new : cấp phát vùng nhớ , trả pointer delete pointer : Trả vùng nhớ cấp phát động ++ : Lấy địa phần tử sau : Lấy địa phần tử trước = : Gán pointer với So sánh pointer cho biết vị trí trước sau liệu Đơn vị thay đổi trị pointer cộng trừ kích thước kiểu liệu mà pointer đến Toán tử thao tác pointer -7 400 30 100 200 10 200 10 p3 400 p3 p3 p3 p2 p2 p2 200 p2 200 p1 100 p1 100 p1 100 n int n =4; int *p1 = &n; int *p2, *p3; p1 100 n 100 *p1=3; 100 n n p2= new int; p3= new int [n]; *p2= 10; p3[0]= 30; p3[1]=6; p3[2]=-7; Toán tử thao tác pointer -7 -7 -7 6 -100 400 30 400 30 400 11 10 200 100 p3 400 p3 400 p3 400 p3 p2 p2 100 p2 400 p2 p1 100 p1 100 p1 100 p1 100 n 100 n 100 n 100 n delete p2; p2= p1; p2= p3; delete [] p3; p2 = NULL; *p2=5; *p2= 11; p3= p2= NULL; *(p2+1) = -100; Bài tập Chạy code sau: int m=3, n=6; int* p1= &m, *p2=&n ; int* p3 = new int [3] , *p4=p3; p3[0]= *p1 + * p2; p3[1] = (*p1) * (*p2); p3[2]= (*p1) - (*p2); p4++; *p4 -=5; for (int i = 0; i