Xem mẫu

  1. LỚP SP TIN 1 C NHÓM THỰC HIỆN : TRẦN TRUNG HIẾU 1. NGUYỄN HUY THẮNG 2. LƯU THỊ HẢO 3. 1
  2. LỚP SP TIN 1 C GIỚI THIỆU CHUNG VỀ THƯ VIỆN CSTDLIB Cstdlib hay còn gọi là thư viện hàm  chuẩn (C standard general utilities ) là thư viện được định nghĩa với nhiều chức năng. Kể cả quản lý bộ nhớ động, tự động tạo số ngẫu nhiên, giao tiếp với môi trường làm việc (phần cứng hay hệ điều hành) , các phép toán về số nguyên, tìm kiếm, xắp xếp và chuyển đổi….
  3. LỚP SP TIN 1 C 1. Chức năng số học CÓ CÁC HÀM SAU : + abs(x) là ham lây trị tuyêt đôi cua x ̀ ́ ̣ ́ ̉ + labs(x) là ham lây trị tuyêt đôi cua x ̀ ́ ̣ ́ ̉ + div là phep chia số nguyên dang int ́ ̣ + ldiv là phep chia số nguyên dang long ́ ̣ int + div_t là giá trị trả về của div Cú Pháp : ; Đối với div và ldiv có cú pháp sau: ;
  4. LỚP SP TIN 1 C Vd : #include #include using namespace std; int main ()         /* div example */  {  div_t divresult;  divresult = div (38,5); cout
  5. LỚP SP TIN 1 C 2. Các hàm chuyển đổi xâu kí tự : atof chuyển đổi xâu kí tự về dạng double. + atoi chuyển đổi xâu kí tự về dạng int. + atol chuyển đổi xâu kí tự về dạng long int. + strtod chuyển đổi xâu kí tự về dạng + double. + strtol chuyển đổi xâu kí tự về dạng long int. + strtoul chuyển đổi xâu kí tự về dạng số nguyên không âm + itoa đổi value thành chuổi tương ứng với cơ số được khai báo
  6. LỚP SP TIN 1 C atof : CÚ PHÁP : double atof(const char*s) Nêu không chuyên đôi được thì trả về 0.0 ́ ̉ ̉ atoi : CÚ PHÁP : int atoi(const char*s) Nêu không chuyên đôi được thì trả về 0 ́ ̉ ̉ Vd : ban khai bao chuôi là “ abc” thì giá trị trả ̣ ́ ̉ về là 0
  7. LỚP SP TIN 1 C Atol : CÚ PHÁP : long int atol ( const char * str ); Nêu không chuyên đôi được thì trả về 0 ́ ̉ ̉ strtod : CÚ PHÁP : long int strtol ( const char * str, char ** endptr, int base ); strtoul : CÚ PHÁP : unsigned long int strtoul ( const char * str, char ** endptr, int base );
  8. LỚP SP TIN 1 C itoa : Cú pháp : Char itoa(int value, char * s, int hệ_cơ_số); Vd : int i=“123”; char s[100]; itoa(I,s,10);//đổi sang cơ số 10 cout
  9. LỚP SP TIN 1 C Vd: # include//example atof # include using namespace std; int main() {char c [100]; float b; int quantity; Cout
  10. LỚP SP TIN 1 C Cout
  11. LỚP SP TIN 1 C 1. Các hàm tạo số ngẫu nhiên: + rand tạo và trả về một số int ngẫu nhiên từ 0 – rand_max (rand_max có giá trị tùy vào thư viện nhưng bé nhất cũng phải bằng 32767) + srand xây dựng giá trị khởi tạo seed cho một số được tạo ra bởi rand nếu trước đó sử dụng rand thì giá trị trả về bằng 1
  12. LỚP SP TIN 1 C #  //example random include #  ́ ̃ C là sô ngâu nhiên có  include using  namespace std;   int main() c=15 Out put: { float c; c=rand()%26; srand (1);
  13. LỚP SP TIN 1 C 4. Quản lý bộ nhớ động Tổng quan về biến con trỏ: biến con trỏ là biến lưu địa chỉ ô nhớ  Có các hàm sau: + calloc + free + malloc + realloc + new + delete
  14. LỚP SP TIN 1 C  calloc đây là hàm tổng quát để cấp phát bộ nhớ cho con trỏ có cấu trúc sau:            void * malloc(size_t  nbyte); nbyte là số byte chúng ta muốn gán cho con trỏ ; Hàm trả về kiểu void nên ta phải đổi kiểu sang kiểu con trỏ đích Vd : char* c; c=(char*)malloc(10);
  15. LỚP SP TIN 1 C Đoạn mã trên cấp cho C một khối nhớ 10 byte, khi muốn cấp phát khối dữ liệu có kiểu khác char ta có cú pháp sau: int*d; d=(int*)malloc(5*sizeof(int)); Đoạn mã này cấp cho d một khối nhớ gồm 5 số nguyên kiểu int, kích cỡ dữ liệu bằng 2 byte hay 4 byte tùy thuộc chương trình được dịch
  16. LỚP SP TIN 1 C Calloc hoạt động rất giống malloc  nhưng khác nhau giá trị khởi tạo của nó =0 và về cú pháp: void*calloc(size_t nelements, size_t size); Nó sử dụng hai tham số thay vì một. Hai tham số này được nhân với nhau để có được kích thước tổng cộng của khối nhớ
  17. LỚP SP TIN 1 C Hàm realloc : Nó thay đổi kích thước của khối nhớ được cấp phát cho con trỏ Cú pháp: void*realloc(void*pointer, size_t size); tham số pointer nhận vào một con trỏ đã được cấp phát bộ nhớ, size chỉ định kích thước bộ nhớ mới. Hàm này sẽ cấp phát bộ nhớ size byte cho con trỏ. Nó có thể thay đổi vị trí khối nhớ để có đủ chổ cho kích thước mới của khối nhớ và nội dung hiện thời được copy tới vị trí mới đảm bảo dữ liệu không bị mất con trỏ mới trỏ tới khối nhớ mới được hàm trả về nếu không thể thay đổi kích thước khối nhớ hàm sẽ trả về con trỏ null
  18. LỚP SP TIN 1 C Hàm new : để có bộ nhớ động của 1 kiểu dữ liệu xác định chúng ta có thể làm như sau Cú phap :New kiểu_ dữ_ liệu ́ vd: int*p=new int; Hàm delete : bộ nhớ động chỉ cần thiết trong khoảng thời gian nhất định khi không cần nữa thì được giãi phóng để cung cấp cho nhu cầu khác cú pháp : delete pointer; hoặc delete[] pointer;
  19. LỚP SP TIN 1 C Hàm free: hàm này giải phóng một khối nhớ động được cấp bởi malloc, calloc hoặc realloc để cấp bộ nhớ cho nhu cầu khác Cú pháp: void free (void*pointer) Vd /* free example */ #include #include int main ()
  20. LỚP SP TIN 1 C { int * buffer1, * buffer2, * buffer3; buffer1 = (int*) malloc (100*sizeof(int)); buffer2 = (int*) calloc (100,sizeof(int)); buffer3 = (int*) realloc (buffer2,500*sizeof(int)); free (buffer1); free (buffer3); Độ dai cua ̀ ̉ return 0; số kiêu int ̉ }
nguon tai.lieu . vn