1. Trang chủ
  2. » Công Nghệ Thông Tin

Kỹ thuật lập trình C phần 2 pps

66 327 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 66
Dung lượng 0,94 MB

Nội dung

© 2004, HOÀNG MINH SƠN Chươn g 1 Kỹ thuật lập trình 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 0101010101010101100001 0101010101010101100001 0101010101010101100001 0101010100101010100101 0101010100101010100101 0101010100101010100101 1010011000110010010010 1010011000110010010010 1010011000110010010010 1100101100100010000010 1100101100100010000010 1100101100100010000010 8/19/2006 y = A*x + B*u; x = C*x + d*u; StateController start() stop() LQGController start() stop() Chương 2: Các yếutố cơ bản củaC vàC++ 2 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Nộidung chương 2 2.1 Tổ chứcchương trình C/C++ 2.2 Biếnvàcáckiểudữ liệucơ bản 2.3 Các kiểudữ liệudẫnxuấttrựctiếp 2.4 Định nghĩakiểudữ liệumới 2.5 Điềukhiểnchương trình: phân nhánh 2.6 Điềukhiểnchương trình: vòng lặp 2.7 Mộtsố lệnh ₫iềukhiểnchương trình khác 3 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ 2.1 Tổ chức chương trình C/C++  Cấutrúcvàcácphầntử cơ bảncủamộtchương trình viếttrênC/C++  Qui trình tạoramộtchương trình chạy ₫ược: —Vấn ₫ề tạodự án —Qui tắcsoạnthảomãnguồn —Biêndịch từng phầnvàsửacácloạilỗibiêndịch —Liênkếtvàsử dụng thư viện, sửalỗiliênkết —Chạythử và gỡ rối(Debug)  Sơ lượcvề tổ chứcbộ nhớ 4 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ 2.1 Tổ chức chương trình C/C++ Chương trình (CT) # Tiền xử lý Thân hàm chính void main() { } Khai báo biến, hàm Định nghĩa hàm (thân hàm) Khai báo thư viện và macro Khai báo hàm ₫ược sử dụng trong CT chính Chương trình chính Định nghĩa thân hàm ₫ã khai báo 5 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Chương trình tính giai thừa: Phiên bảnC #include <stdio.h> #include <conio.h> int factorial(int); void main() { char c = 'N'; int N = 1; int kq; do { printf(“\nEnter a number > 0:"); /* writing on the screen */ scanf("%d",&N); /* reading from keyboard to N */ kq = factorial(N); /* calling function with argument N */ printf(“\nFactorial of %d is %d", N, kq); /*write result on screen */ printf(“\nPress 'Y' to continue or any other key to stop"); c = getch(); /* reading a character from keyboard*/ } while (c=='y' || c=='Y'); /* checking loop condition */ } int factorial(int n) { int kq = 1; while (n > 1) kq *= n ; return kq; } 6 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Chương trình tính giai thừa: Phiên bảnC++ #include <iostream.h> #include <conio.h> int factorial(int); void main() { char c = 'N'; int N = 1; do { cout << “\nEnter a number > 0:“ // writing on the screen cin >> N; // reading from keyboard to N int kq = factorial(N); // calling function with argument cout << “\nFactorial of ” << N << “ is “ << kq cout << “\nPress 'Y' to continue or any other key to stop"; c = getch(); // reading a character from keyboard } while (c == 'y' || c == 'Y'); // checking loop condition } int factorial(int n) { int kq = 1; while (n > 1) kq *= n ; return kq; } 7 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Tạodự án 1 2 3 4 8 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Bổ sung file mã nguồn và soạnthảo 5 Cửasổ soạnthảo Cửasổ bàn làm việc/ dự án Cửasổ thông báo kếtquả (biên dịch,…) Các công cụ biên dịch và liên kết 9 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Qui tắcsoạnthảomãnguồn 1. Tên biến, tên hàm, tên kiểumới:  Tránh sử dụng các từ khóa và tên kiểucơ sở  Các ký tự dùng ₫ược: ‘A’ ’Z’, ‘a’ ’z’, ‘0’ ’9’, ‘_’  Phân biệtgiữachữ hoavàchữ thường: n khác N  Ngắnnhưng ₫ủ khả năng phân biệt, gợinhớ₫ểnhậnbiết  Sử dụng tiếng Anh hoặctiếng Việt không dấu(kể cả dòng chú thích) 2. Sau mỗicâulệnh có chấmphảy; 3. Đoạn{ …} ₫ược coi là nhóm lệnh, không có dấu chấmphảysau₫ó, trừ trường hợp khai báo kiểu 4. Cấutrúcmãnguồntheokiểuphâncấp => dễ₫ọc 5. Bổ sung chú thích ₫ầy ₫ủ, hợp lý (/* …*/ hoặc //) 6. Chia mộtfile lớn thành nhiềufile nhỏ 10 © 2004, HOÀNG MINH SƠN Chương 2: Các yếutố cơ bảncủaC vàC++ Các từ khóa trong C auto double int struct break else long switch case enum register typedef char extern return union const float short unsigned continue for signed void default goto sizeof volatile do if static while [...]... long double bool (C+ +) wchar_t (C+ +) 8 8 8 16/ 32 16/ 32 16/ 32 16 16 16 32 32 32 32 64 80 16 © 20 04, HOÀNG MINH SƠN Kiểu Chương 2: C c yếu tố c bản c a C và C+ + Phạm vi tối thiểu − 127 to 127 − 127 127 0 25 5 − 327 67 327 67 -nt0 65535 − 327 67 327 67 nt 0 65535 21 47483647 21 47483647 - nt0 429 496 729 5 Độ chính x c 6 chữ số Độ chính x c 15 chữ số Độ chính x c 17 chữ số − 327 67 327 67 17 C c phép toán c bản Phép toán... F10 Chạy vào trong hàm: F11 Chạy tiếp bình thường: F5 Xem kết quả dưới c a sổ Output ho c gọi QuickWatch Chương 2: C c yếu tố c bản c a C và C+ + 14 Tổ ch c bộ nhớ Hệ điều hành C c CT kh c Mã chương trình Dữ liệu toàn c c Đỉnh ngăn xếp SP Vùng nhớ tự do n Matran_A © 20 04, HOÀNG MINH SƠN f Ngăn xếp (tham biến, biến c c bộ) k i count a Vùng nhớ tự do Chương 2: C c yếu tố c bản c a C và C+ + 15 2. 2 Biến... lượng c c phần tử c ₫ịnh C c phần tử c c ng kiểu C c phần tử ₫ư c sắp xếp kế tiếp trong bộ nhớ C thể truy nhập từng phần tử một c ch tự do theo chỉ số ho c theo ₫ịa chỉ Chương 2: C c yếu tố c bản c a C và C+ + 34 Khai báo mảng Số phần tử c a mảng phải là hằng số nguyên (trong C phải là một tr c kiện, trong C+ + c thể là kiểu const ) Khai báo không khởi tạo: © 20 04, HOÀNG MINH SƠN int enum double const... −34l 23 4L 0x0AL 081L 10000U 987u 40000u 123 .23 F 4.34e−3f 1f 123 .23 1.0 −0.9876 324 1e−10 1001.2L ‘A’ ‘B’ ‘ ‘ ‘a’ ‘\n’ ‘\t’ ‘\b’ true false L’A’ L’B’ Chương 2: C c yếu tố c bản c a C và C+ + 25 2. 3 C c kiểu dữ liệu dẫn xuất tr c tiếp © 20 04, HOÀNG MINH SƠN Kiểu liệt kê Kiểu hằng Kiểu con trỏ Kiểu mảng Kiểu tham chiếu (C+ +) Chương 2: C c yếu tố c bản c a C và C+ + 26 2. 3.1 Kiểu liệt kê (enum) M c ₫ích sử... về biến mà con trỏ mang ₫ịa chỉ => c thể ₫ c ho c thay ₫ổi giá trị c a biến ₫ó Không bao giờ sử dụng toán tử truy nhập nội dung, nếu con trỏ chưa mang một ₫ịa chỉ ô nhớ mà chương trình c quyền kiểm soát Chương 2: C c yếu tố c bản c a C và C+ + 33 2. 3.4 Kiểu mảng Chỉ số 0 1 2 N-1 ₫ịa chỉ ₫ầu ₫ịa chỉ cuối ₫ịa chỉ ₫ầu - ₫ịa chỉ cuối = N * kích c một phần tử © 20 04, HOÀNG MINH SƠN C u tr c dữ liệu với:... func 22( ) { x = y / 10; } void func23() { y = 10; } Biến static: ₫ư c lưu trữ trong bộ nhớ dữ liệu CT — Biến static c c bộ: hạn chế truy nhập từ bên ngoài hàm — Biến static toàn c c: hạn chế truy nhập từ file kh c Chương 2: C c yếu tố c bản c a C và C+ + 24 2. 2.3 Hằng số (tr c kiện) © 20 04, HOÀNG MINH SƠN Kiểu Ví dụ int long int unsigned int float double long double char bool wchar_t 1 123 21 000 23 4... Giữa c c kiểu số th c với nhau (lưu ý ₫ộ chính x c) — Giữa c c kiểu số nguyên và số th c (lưu ý phạm vi giá trị và ₫ộ chính x c) — Kiểu bool sang số nguyên, số th c: true => 1, false => 0 — Số nguyên, số th c sang kiểu bool: ≠ 0 => true, 0 => false © 20 04, HOÀNG MINH SƠN Nếu c lỗi ho c cảnh báo => kh c ph c bằng c ch ép chuyển ₫ổi kiểu: — VD: i = int (2. 2) % 2; j = (int )2. 2 + 2; // C+ + Chương 2: C c yếu... ₫ư c thay ₫ổi => khai báo hằng số © 20 04, HOÀNG MINH SƠN void main() { const double pi = 3.14 12; // initializing is OK! const int ci = 1; // initializing is OK! ci = 2; // error! ci = 1; // error, too! int i = ci; // const int is a subset of int const Color cc = Red; cc = Green; // error const double d; // potential error } Chương 2: C c yếu tố c bản c a C và C+ + 29 2. 3.3 Kiểu con trỏ Con trỏ th c chất... Chương 2: C c yếu tố c bản c a C và C+ + 19 Nhìn nhận về chuyển ₫ổi kiểu long double long int double short float char © 20 04, HOÀNG MINH SƠN bool Chương 2: C c yếu tố c bản c a C và C+ + 20 Nhìn nhận về chuyển ₫ổi kiểu long double long int double short © 20 04, HOÀNG MINH SƠN float Chương 2: C c yếu tố c bản c a C và C+ + 21 2. 2 .2 Khai báo biến char bool int double long unsigned unsigned c = 'N'; Khai báo... th c = dữ liệu + phép toán + … Biểu diễn dữ liệu: Thông qua biến ho c hằng số, kèm theo kiểu Nội dung trong phần này: © 20 04, HOÀNG MINH SƠN — — — — C c kiểu dữ liệu c bản C c phép toán áp dụng Tương thích và chuyển ₫ổi kiểu Khai báo biến, phân loại biến Chương 2: C c yếu tố c bản c a C và C+ + 16 2. 2.1 C c kiểu dữ liệu c bản c a C/ C++ Kích c thông dụng (tính bằng bit) char signed char unsigned char . Điềukhiểnchương trình: vòng lặp 2. 7 Mộtsố lệnh ₫iềukhiểnchương trình kh c 3 © 20 04, HOÀNG MINH SƠN Chương 2: C c yếutố c bảncủaC v C+ + 2. 1 Tổ ch c chương trình C/ C++  C utrúcv c cphầntử c bảncủamộtchương. SƠN Chương 2: C c yếutố c bảncủaC v C+ + 2. 2.1 C c kiểudữ liệu c bảncủaC /C+ + KiểuKíchcỡ thông dụng Phạmvi tốithiểu (tính bằng bit) char 8 − 127 to 127 signed char 8 − 127 127 unsigned char 8 0 25 5. sửalỗiliênkết —Chạythử và gỡ rối(Debug)  Sơ lượcvề tổ chứcbộ nhớ 4 © 20 04, HOÀNG MINH SƠN Chương 2: C c yếutố c bảncủaC v C+ + 2. 1 Tổ ch c chương trình C/ C++ Chương trình (CT) # Tiền xử lý Thân hàm chính void

Ngày đăng: 12/08/2014, 19:21

TỪ KHÓA LIÊN QUAN