Trang 1
goupee.vn goupee.com Lập trình Chương 2: Tổng quan về C/C++ N cuu duong than cong . com ƠS H NI M G N À O H, 40 0 fb.com/goupee.vn 2 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn goupee.com Lập trình Chương 2: Tổng quan về C/C++ N cuu duong than cong . com ƠS H NI M G N À O H, 40 0 fb.com/goupee.vn 2 1 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnNộidungchương2 goupee.com 2.1 Tổ chức chương trình C/C++ 2.2 Biến và các kiểu dữ liệu cơ bản 2.3 Các kiểu dữ liệu dẫn xuất trực tiếp 2.4 Định nghĩa kiểu dữ liệu mới 2.5 Các lệnh điều khiển chương trình 2.6 Hàm và thư viện cuu duong than cong . com fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 2 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2.1 Tổ chức chương trì nh C/C++ goupee.com Tạ o dự á n dù ng visual studio .net 2008 cuu duong than cong . com fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 3 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnChươngtrình tính giaithừa: PhiênbảnC goupee.com #include <stdio.h> Lệnh tiền xử lý: Khai báo sử dụng hàm thư viện #include <conio.h> Khai báo hàm int gthua(int); Chương trình chính void main() { char c = 'N'; Khai báo biến Lời chú thích int N = 1; int kq; do { printf(“\n Nhap mot nguyen duong"); /* Viet ra man hinh*/ scanf("%d",&N); /* Nhap tu ban phim cho N*/ kq = gthua(N); printf(“\n Giai thua cua %d la %d", N, kq); printf(“\n Ban co muon tiep tuc khong? Y/N"); c = getch(); } while (c=='y' || c=='Y'); } cuu duong than cong . com int gthua(int n) { int kq = 1; while (n > 1) Định nghĩa hàm (thân hàm) kq *= n--; return kq; } fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 4 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnChươngtrình tính giaithừa:PhiênbảnC++goupee.com #include <iostream.h> #include <conio.h> int gthua(int); void main() { char c = 'N'; int N = 1; do { cout << “\nNhap mot so nguyen duong: “ cin >> N; int kq = gthua(N); cout << “\nGiai thua cua ” << N << “ la “ << kq cout << “\nBan co muon tiep tuc khong? Y/N"; c = getch(); } while (c == 'y' || c == 'Y'); } int gthua(int n) { cuu duong than cong . com int kq = 1; while (n > 1) kq *= n--; return kq; } fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 5 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnQui tắc soạn thảo mã nguồn goupee.com 1. Tên biến, tên hàm, tên kiểu mới: Tránh sử dụng các từ khóa và tên kiểu cơ sở Chỉ đượ c dù ng các ký tự sau: ‘A’..’Z’, ‘a’..’z’, ‘0’..’9’, ‘_’ Chỉ được bắt đầu bằng chữ cái hoặc dấu _ Phân biệt giữa chữ hoa và chữ thường. Nên đặt tên ngắn gọ n và có ý nghĩ a (có tí nh mô tả) 2. Sau mỗi câu lệnh có chấm phảy (;) 3. Đoạn { … } được coi là nhóm lệnh, không có dấu chấm phảy sau đó , trừ khi khai báo kiểu 4. Cấu trúc mã nguồn theo kiểu phân cấp => dễ đọc 5. Bổ sung chú thíchcuu duong than cong . comhợp lý (/*chú thích một đoạn*/hoặc //chú thích một dòng) 6. Chia một file lớn thành nhiều file nhỏ fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 6 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnCác từ khóa trong C goupee.com 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 cuu duong than cong . com fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 7 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnTừ khóa trong C++ goupee.com asm auto bool break case catch char class const const_cast continue default delete else extern do enum false double explicit float dynamic_cast export for friend goto if inline int long mutable namespace new operator private protected public register reinterpret_cast return short signed sizeof static static_cast struct switch template this throwcuu duong than cong . comtrue try typedef typeid typename union unsigned using virtual void volatile wchar_t while fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 8 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnBiên dịch(compile) goupee.com Trong Visual studio .Net 2008: Gọi Compile (Ctrl + F7) để biên dịch riêng rẽ hoặc Build (F6) để kết hợp biên dịch và liên kết cho toàn bộ dự án Các kiểu lỗi biên dịch (compile error): – Lỗi cú pháp: Sử dụng tên sai qui định hoặc chưa khai báo, thiếu dấu chấm phảy ;, dấu đóng } – Lỗi kiểu: Các số hạng trong biểu thức không tương thích kiểu, gọi hàm với tham số sai kiểu – … Các kiểu cảnh báo biên dịch (warning): – Tự động chuyển đổi kiểu làm mất chính xác – Hàm khai báo có kiểu trả về nhưng không trả vềcuu duong than cong . com – Sử dụng dấu = trong trường hợp nghi vấn là so sánh == – … fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 9 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnLiên kết (link) goupee.com Liên kết là quá trình ghép nhiều file đích (*.obj, *.lib) để tạo ra chương trình chạy cuối cùng *.exe Trong Visual studio .Net 2008: Gọi Build (F6) Lỗi liên kết có thể là do: – Sử dụng hàm nhưng không có định nghĩa hàm – Biến hoặc hàm được định nghĩa nhiều lần – … cuu duong than cong . com fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 10 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnChạy thử và gỡ rối (debug) goupee.com Chạy thử trong Visual studio .Net 2008: Start without debugging hoặc Ctrl+F5 Tìm lỗi: – Lỗi khi chạy là lỗi thuộc về phương pháp, tư duy, thuật toán, không phải về cú pháp – Lỗi khi chạy bình thường không được báo – Lỗi khi chạy rất khó phát hiện, vì thế trong đa số trường hợp cần tiến hành debug. Chạy Debug trong Visual studio .Net 2008: – Chạy tới chỗ đặt cursor: F9 – Chạy từng dòng lệnh:cuu duong than cong . comF10 – 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 fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 11 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnTổ chức bộ nhớ goupee.com Hệ điều hành Các CT khác Mã chương trình Đỉnh ngăn xếp Dữ liệu toàn cục SP n Array_A Vùng nhớ tự do f Ngăn xếp k (tham biến, biến cuu duong than cong . comi cục bộ) count a Vùng nhớ tự do fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 12 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2.2 Biến và dữ liệu goupee.com Biểu 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: – 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 cuu duong than cong . com fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 13 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2.2.1Các kiểu dữ liệu cơ bản của C/C++goupee.com Kiểu Kích cỡ thông dụng Phạm vi tối thiểu (tính bằng bit) char 8 −127 to 127 signed char 8 −127 .. 127 unsigned char 8 0 .. 255 int 16/32 −32767 .. 32767 signed int 16/32 -nt- unsigned int 16/32 0 .. 65535 short 16 −32767 .. 32767 signed short 16 nt unsigned short 16 0 .. 65535 long 32 −2147483647 .. 2147483647 signed long 32 nt unsigned long 32 0 .. 4294967295 float 32cuu duong than cong . comĐộ chính xác 6 chữ số double 64 Độ chính xác 10 chữ số long double 80 Độ chính xác 10 chữ số bool (C++) - - wchar_t (C++) 16 −32767 .. 32767 fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 14 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnCác phép toán cơ bản goupee.com Phép toán Ký hiệu Kiểu nguyên Kiểu số thực Kiểu bool Gán = X X X Số học +, -, *, /, X X x +=, -=, *=, /= %, %= X x ++, -- X x So sánh >, <, >=, <=, X X X ==, != Logic &&, ||, ! X X X Logic bit &, |, ^, ~ X x &=, |=, ^= Dịch bit <<,>>,cuu duong than cong . com<<=,>>= X x Lựa chọn ? : X X X Lũy thừa? Không có! fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 15 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnTương thích và chuyển đổi kiểu goupee.com Những kiểu dữ liệu tương thí ch nhau có thể tự độ ng chuyển đổi kiểu: – Giữa các kiểu số nguyên với nhau (lưu ý phạm vi giá trị) – 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 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: cuu duong than cong . com i = int(5.1) % 2; //C j = (int)5.1 + 2; // C++ fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 16 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2.2.2 Khai báo biến goupee.com char c = 'N'; Khai báo và khởi tạo giá trị bool b = true; int kq; Chỉ khai báo, giá trị bất định double d; long count, i=0; Khai báo kết hợp, chỉ i= 0 unsigned vhexa=0x00fa; Đặt giá trị đầu hexa unsigned voctal=082; Đặt giá trị đầu octal -> 66 chứ không phải 82 C: Toàn bộ biến phải khai báo ngay đầu thân hàm C++: Có thể khai báo tại chỗ nào cần Phân loại biến: – Biến toàn cục: Khai báo ngoài hàm, lưu giữ trong vùng nhớ dữ liệu chương trình – Biến cục bộ: Khai báo trong thân hàm, lưu giữ trong ngăn xếpcuu duong than cong . com (vùng nhớ tự do) – Tham biến: Khai báo trên danh sách tham số của hàm, lưu giữ trong ngăn xếp fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 17 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vnVí dụ khai báo các loại biến goupee.com Biến toàn cục int N = 1; void main() { char c = 'N'; do { cout<<“\nNhap so> 0:"; cin>>N; Biến cục bộ int kq = gthua(N); ... } while (c == 'y' || c == 'Y') Hai biến cục bộ } cùng tên ở hai phạm int gthua(int n) { vi khác nhau, int kq = 1; không liên quan gì while (n > 1) đến nhau! kq *= n--; cuu duong than cong . comreturn kq; } Tham biến fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 18 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2.3 Các kiểu dữ liệu dẫn xuất trực tiếpgoupee.com Kiểu liệt kê Kiểu hằng Kiểu con trỏ Kiểu mảng Kiểu tham chiếu (C++) cuu duong than cong . com fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 19 CuuDuongThanCong.com https://fb.com/tailieudientucntt
goupee.vn2.3.1Kiểu liệt kê(enum) goupee.com Tương tự như một kiểu số nguyên. Đượ c dù ng khi: – Cần hạn chế phạm vi sử dụng – Hoặc khi muốn sử dụng tên cụ thể thay cho hằng số nguyên Ví dụ void main() { enum Color {Red, Green, Blue}; enum WeekDay {Mon = 2,Tue, Wed, Thu, Fri, Sat, Sun = 1 }; //Tue=3, Wed=4… int n=Red; cout<<n; //in ra số 0 Color c=Green; n=c; //n=1; } Lưu ý : không thể gán trực tiếp một giá trị nguyên cho một biếncuu duong than cong . com enum mà phải ép kiểu VD: c=2;//Error c=Color(2);//OK fb.com/goupee.vn Chương 2: Tổng quan về C và C++ 20 CuuDuongThanCong.com https://fb.com/tailieudientucntt
Hiển thị 20 trang đầu. Tải tài liệu để xem đầy đủ.
Chưa có bình luận nào. Hãy là người đầu tiên!
Bình luận (0)
Chưa có bình luận nào. Hãy là người đầu tiên!