SlideShare a Scribd company logo
Chương 2:
Các thành phần trong
  ngôn ngữ C/C++
    ThS. Chu Nguyên Hoàng Minh



           LOGO
Nội dung

v Tập các ký tự dùng trong C
v Kiểu dữ liệu
v Từ khóa
v Biến
v Hằng
v Toán tử
v Một số hàm thường dùng
v Bài tập


minhcnh@gmail.com
Tập các ký tự dùng trong C




minhcnh@gmail.com
Mọi ngôn ngữ lập trình đều được xây dựng từ một bộ ký tự
nào đó. Các ký tự được nhóm lại theo nhiều cách khác nhau
để tạo nên các từ.




minhcnh@gmail.com
Ngôn ngữ C được xây dựng trên bộ ký tự sau:
  ü 26 chữ cái hoa : A B C .. Z
  ü 26 chữ cái thƣờng : a b c .. z
  ü 10 chữ số : 0 1 2 .. 9
  ü Các ký hiệu toán học : + - * / = ( )
  ü Ký tự gạch nối : _
  ü Các ký tự khác : . , : ; [ ] {} !  & % # $ ...
  ü Dấu cách (space) dùng để tách các từ.
    Ví dụ: chữ NGON NGU C có 10 ký tự, còn
    NGONNGUC chỉ có 8 ký tự.

minhcnh@gmail.com
Kiểu dữ liệu




minhcnh@gmail.com
Kiểu dữ liệu
Kiểu ký tự
             Kiểu              Phạm vi             Kích thước
             char              -128 ... +127       1 byte
             unsigned char     0... 255            1 byte
Giá trị kiểu char chiếm 1 byte và biểu diễn được một ký tự
trên bảng mã ASCII.
  Ví dụ:
  ‘0’..’9’ có mã 48..57; ‘A’..’Z’ <--> 65..90; ‘a’..’z’ <--> 97..122
Kiểu logic
bool: Nhận giá trị true hoặc false
   Ví dụ: bool t=true;
minhcnh@gmail.com
Kiểu dữ liệu
Kiểu số nguyên

                    Kiểu         Phạm vi         Kích thước
        int                 -32768 .. 32767          2 byte
        unsigned (int)           0 .. 65535          2 byte
        long (int)         -2.147.483.648 ..         4 byte
                             2.147.483.647
        unsigned long      0 .. 4.294.967.295        4 byte




minhcnh@gmail.com
Kiểu dữ liệu
Kiểu số thực

               Kiểu           Phạm vi          Kích thước
          float           3.4E-38 .. 3.4E+38     4 byte
          double         1.7E-308.. 1.7E+308     8 byte
          long double   3.4E-4932..1.1E+4932     10 byte




minhcnh@gmail.com
Từ khóa (keyword)




minhcnh@gmail.com
Từ khóa
Từ khóa là từ có ý nghĩa xác định dùng để khai báo dữ liệu, viết câu
lệnh… Trong C có khoảng 40 từ khóa, sau đây là một số từ khóa
thông dụng:

      break              else                short
      case               float               sizeof
      char               for                 static
      const              goto                struct
      continue           if                  switch
      default            int                 typedef
      do                 long                unsigned
      double             return              void
                                             while
*Lưu ý: từ khóa phải viết chữ thường.
minhcnh@gmail.com
Biến

    ü   Biến
    ü   Tên biến
    ü   Khai báo biến
    ü   Phạm vi của biến



minhcnh@gmail.com
Biến

v Một biến là 1 vùng nhớ trong RAM dùng lưu trữ dữ liệu
 tạm thời trong quá trình thực hiện chương trình. Việc truy
 xuất đến giá trị lưu trong vùng nhớ được thực hiện thông
 qua tên biến.


v Mỗi biến gắn liền với một kiểu dữ liệu và một định danh
 duy nhất gọi là tên biến.




minhcnh@gmail.com
Tên biến
1. Tên thường được đặt cho hằng, biến, mảng, con trỏ,
   nhãn… Chiều dài tối đa của tên là 32 ký tự.

2. Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự
   chữ, số và dấu gạch dưới. Ký tự đầu của tên phải là chữ
   hoặc dấu gạch dưới.

3. Tên không được đặt trùng với các từ khóa.




minhcnh@gmail.com
Tên biến

vChú ý: Trong C, tên bằng chữ thường và chữ hoa là khác
   nhau ví dụ tên AB khác với ab. Trong C, ta thường dùng
   chữ hoa để đặt tên cho các hằng và dùng chữ thường để đặt
   tên cho hầu hết cho các đại lượng khác như biến, biến
   mảng, hàm, cấu trúc. Tuy nhiên đây không phải là điều bắt
   buộc.




minhcnh@gmail.com
Tên biến
Ví dụ: Xét các loại tên biến sau:
                    abc           123
                    Delta1        Case
                                  Cong-2a
                    1delta
                                  $cong2
                    Delta 2       Tinh(a)
                    Delta_2
                    _delta
                    Binh_phuong
                    Do




minhcnh@gmail.com
Khai báo biến

Cách khai báo
        <kiểu_dữ_liệu> <tên_biến>;
        <tên_biến> = <giá_trị>;
Hoặc
        <kiểu_dữ_liệu> <tên_biến> = <giá_trị>;




minhcnh@gmail.com
Ví dụ:
         void main(){       void main() {
             int a, b, c;        int a = 2, b = 3, c = 4;
             a = 2;              …
             b = 3;         }
             c = 4;
             …
         }




minhcnh@gmail.com
Khi khai báo biến nên đặt tên biến theo quy tắc Hungarian
Notation.

Ví dụ:
int ituoi;          //khai báo biến ituoi có kiểu int
float fDTB;         //khai báo biến fDTB có kiểu float
char ckitu1, ckitu2; //khai báo biến ckitu1, ckitu2 có kiểu
                                        char




minhcnh@gmail.com
Phạm vi của biến
v Khai báo biến ngoài (biến toàn cục): Vị trí biến đặt bên ngoài tất
    cả các hàm, cấu trúc... Các biến này có ảnh hưởng đến toàn bộ
    chương trình. Chu trình sống của nó là bắt đầu chạy chương trình
    đến lúc kết thúc chương trình.

v Khai báo biến trong (biến cục bộ): Vị trí biến đặt bên trong hàm,
    cấu trúc….Chỉ ảnh hưởng nội bộ bên trong hàm, cấu trúc đó….
    Chu trình sống của nó bắt đầu từ lúc hàm, cấu trúc được gọi thực
    hiện đến lúc thực hiện xong.



minhcnh@gmail.com
Ví dụ
#include"iostream.h"
int x;
void main()
{
    int a =5, b = 2;
    {
          int a = 4;
          b = a+b;
          cout<<"n In trong khoi 2: a="<<a<<", b ="<<b<<", x ="<<x;
    }
    cout<<"n In trong khoi 1: a="<<a<<", b ="<<b<<", x ="<<x;
}

minhcnh@gmail.com
Hằng




minhcnh@gmail.com
Hằng là gì?
Hằng là những giá trị cố định thuộc phạm vi của một kiểu dữ
liệu, không bị thay đổi khi thực hiện chương trình.

      ü Hằng số nguyên

      ü Hằng số thực

      ü Hằng ký tự

      ü Hằng chuỗi




minhcnh@gmail.com
Hằng số nguyên
Hằng int: -15       1234

#include"iostream.h"
#define iTuoi 19 //pham vi toan cuc
void main(){
       const int iNam=2012; //pham vi cuc bo
       cout<<"Tuoi cua ban 1 nam sau: "<<iTuoi+1;
       cout<<"nNam sau la nam: "<<iNam+1;
       cout<<endl;
}



minhcnh@gmail.com
Hằng số nguyên
v Hằng long: được viết:        - 4567L         hay    - 4567l
Số nguyên vượt ra ngoài miền xác định của int cũng được xem là hằng long

          #include"iostream.h"
          #define TienVN 500000 //pham vi toan cuc
          #define TienUSD 2000L
          #define TIENUSD 2500l
          void main(){
                   const int TIENVN=2000000000; //pham vi cuc bo
                   cout<<"Tien VN sang USD: "<<TienVN/20000;
                   cout<<"nTien VN sang USD: "<<TIENVN/20000;
                   cout<<"nTien USD sang VN: "<<TienUSD*20000;
                   cout<<"nTien USD sang VN: "<<TIENUSD*20000;
                   cout<<endl;
          }

 minhcnh@gmail.com
Hằng số thực
Hằng số thực:
v Kiểu float :           123.45F
v Kiểu double:           123.45
v Kiểu long double:      123.45L

          #include"iostream.h"
          #define PI 3.14 //pham vi toan cuc
          #define fBankinh 4.8F
          void main(){
                  cout<<"Dien tich hinh tron: "<<2*PI*fBankinh;
                  cout<<endl;
          }

minhcnh@gmail.com
Hằng ký tự
Hằng kiểu ký tự: Là 1 ký tự riêng biệt được viết trong 2 dấu nháy đơn.
          Ví dụ: ‘A’
v Hằng ký tự thực sự là một số nguyên. Giá trị của hằng ký tự chính là
  mã ASCII của ký tự đó
          Ví dụ: char c1 = ‘A’;
v Hằng ký tự có thể tham gia vào các phép toán như mọi số nguyên
  khác:
          Ví dụ: ‘B’ - ‘A’ = 66 - 65 = 1




minhcnh@gmail.com
Hằng ký tự
#include"iostream.h"
#define cKytu 'A' //pham vi toan cuc
void main(){
          const char cKYTU='a'; // pham vi cuc bo
          cout<<"Ky tu sau A: "<<(char)(cKytu+1);
          cout<<"nKy tu sau a: "<<(char)(cKYTU+1);
          cout<<"nKhoang cach giua 2 ky tu: "<<'F'-'A';
          cout<<endl;
}

minhcnh@gmail.com
Hằng ký tự
Một vài hằng ký tự đặt biệt ta cần phải sử dụng cách viết sau:
 Ø Các kí tự điều khiển:
     n : Nhảy xuống dòng kế tiếp canh về cột đầu tiên.
     t : Canh cột tab ngang.
     r : Nhảy về đầu hàng, không xuống hàng.
     a : Tiếng kêu bip.
 Ø Các kí tự đặc biệt:
      : In ra dấu 
     " : In ra dấu "
     ' : In ra dấu '


minhcnh@gmail.com
Hằng chuỗi
Là chuỗi bất kỳ đặt trong cặp dấu ngoặc kép (“ “)
Ví dụ: “Lap trinh C”
vCác ký tự trong chuỗi có thể gồm các ký tự không có trên
 bàn phím, khi đó được biểu diễn sau ký hiệu ()
vChuỗi ký tự trong C được lưu trữ dưới dạng mảng các ký tự
 và được C thêm ký tự ‘0’ (null) cuối chuỗi.
Ví dụ: Phân biệt giữa ký tự ‘a’ và chuỗi “a”
vChuỗi rỗng được viết bằng 2 dấu nháy đôi liên tục: “”


minhcnh@gmail.com
Hằng chuỗi
#include"iostream.h"
#define cChuoi "Xin chao cac bannToi dang hoc lap trinh C"
void main(){
          cout<<cChuoi;
          cout<<endl;
}




minhcnh@gmail.com
Toán tử

   ü   Toán tử số học
   ü   Toán tử tăng, giảm
   ü   Toán tử gán
   ü   Toán tử so sánh
   ü   Toán tử logic
   ü   Phép toán chuyển đổi kiểu dữ liệu
   ü   Biểu thức dấu chấm hỏi

minhcnh@gmail.com
Toán tử số học

          Toán tử            Ý nghĩa          Cách dùng
             +      Cộng hai toán hạng   op1 + op2

             -        Trừ                op1 - op2
             *        Nhân               op1 * op2
             /        Chia               op1 / op2
             %        Chia lấy số dư     op1 % op2




minhcnh@gmail.com
Toán tử số học
Ví dụ:
          11+3=14
          11-3=8
          11*3=33
          11/3=3
          11%3=2




minhcnh@gmail.com
Toán tử tăng, giảm
v Phép toán tăng (++) :       ++op; op++;
  Ví dụ:      ++n; hay n++ <==> n = n+1;
v Phép toán giảm (--):--op; op--;
  Ví dụ:      --n; hay n--; <==> n = n -1;

Trường hợp sử dụng toán tử này trong một biểu thức thì việc đặt trước
hay sau sẽ ảnh hưởng đến kết quả bài toán:
v Đặt trước: để thay đổi giá trị cho n trước khi sử dụng n

v Đặt sau: để thay đổi giá trị cho n sau khi sử dụng n xong.
Ví dụ: Với n = 4.      Lệnh x = ++n; <==> n = n + 1; x = n;
                       Lệnh x = n++; <==> x = n; n = n + 1;

minhcnh@gmail.com
Toán tử tăng, giảm

 Ví dụ:

 int x = 4, y ;

 y = x++;           //Giá trị x gán cho y trước, rồi mới tăng lên một đơn vị, x=5, y=4


 y = ++x;           //Giá trị x tăng lên một đơn vị, rồi mới gán cho y, x=6, y=6


 x++;               //Kết quả cho x = 7


 cout<<(++x);       //Tăng x lên một đơn vị rồi mới in ra 8




minhcnh@gmail.com
Câu 1. Cho biết giá trị của x, a và b sau khi thi hành đoạn mã sau.
   int x, a = 6, b = 7;
   x = a++ + b++;
         a. x = 15, a = 7, b = 8
                                    Câu 2. Cho khai báo sau:
         b. x = 15, a = 6, b = 7
                                             int i=5, j;
         c. x = 13, a = 7, b = 8
                                             j=i++;
         d. x = 13, a = 6, b = 7
                                             j-=--i;
                                             i--;
                                    Cho biết kết quả của i và j là bao nhiêu.
                                    a. i=4 và j=2              b. i=3 và j=1
                                    c. i=2 và j=3              d. i=4 và j=0

minhcnh@gmail.com
Toán tử gán

                    Toán tử          Ví dụ          Giải thích
            =                 int c=3, d=5, c=4;
            +=                c+=7                 c=c+7
            -=                d-=4                 d=d-4
            *=                e*=5                 e=e*5
            /=                f/=3                 f=f/3
            %=                g%=9                 g=g%9




minhcnh@gmail.com
Toán tử so sánh

              Toán tử           Ý nghĩa             Cách dùng
             ==            Bằng                      op1 = = op2
             !=            Không bằng                op1 != op2
             <             Nhỏ hơn                   op1 < op2
             >             Lớn hơn                   op1 > op2
             <=            Nhỏ hơn hoặc bằng         op1 <= op2
          >=               Lớn hơn hoặc bằng        op1 >= op2
 Toán tử so sánh cho ta giá trị đúng (1) hoặc giá trị sai (0). Nói cách
 khác, khi các điều kiện nêu ra là đúng thì nhận được giá trị 1, ngược lại
 nhận giá trị 0.
minhcnh@gmail.com
Ví dụ: int A=7, B=9;

                              Kết quả
             ==        A==B   0
             !=        A!=B   1
             <         A<B    1
             >         A>B    0
             <=        A<=B   1
             >=        A>=B   0


minhcnh@gmail.com
Toán tử logic

            Toán tử             Ý nghĩa              Cách dùng
           &&              Và (And)                  op1&& op2
           ||              Hoặc (Or)                 op1 || op2
           !               Phủ định (Not)            ! op


 Toán tử logic cho ta giá trị đúng (1) hoặc giá trị sai (0). Nói cách
 khác, khi các điều kiện nêu ra là đúng thì nhận được giá trị 1, ngược lại
 nhận giá trị 0.



minhcnh@gmail.com
Toán tử logic
                    op     !op
                    1       0
                    0       1

             op1    op2   op1&&op2   op1||op2
              1      1       1          1
              0      1       0          1
              1      0       0          1
              0      0       0          0


minhcnh@gmail.com
Toán tử logic
Ví dụ: int A=6, B=9, C=7, D=20;


                                     Kết quả
           &&       (A>B)&&(B>C)       0
           ||       (B>C)||(C>D)       1
           !        !(A>B)             1




minhcnh@gmail.com
Thứ tự ưu tiên của các toán tử




minhcnh@gmail.com
Phép toán chuyển đổi kiểu dữ liệu
                            (tênkiểu) Biểuthức
v Phép chuyển kiểu cho ra giá trị thuộc kiểu chỉ định.
v Bản thân của biểu thức thì không thay đổi kiểu.
Ví dụ 1: Đổi số thực sang số nguyên có làm tròn số
          int a; float x;
          a = (int)( x + 0.5);
Ví dụ 2: x1 và x2 bằng bao nhiêu ?
          int a = 5, b = 2; float x1, x2;
          x1 = (float) a / b;
          x2 = a / b;
minhcnh@gmail.com
Biểu thức dấu chấm hỏi
             (điều kiện) ? <biểu thức 1> : <biểu thức 2> ;
Nếu <điều kiện> đúng thì trả về giá trị của <biểu thức 1>;
ngược lại trả về giá trị của <biểu thức 2>

Ví dụ: Tìm số lớn nhất trong 2 số bất kỳ nhập từ bàn phím.
void main(){
     float a, b, c;
     cout<<“n Nhập số thứ nhất: “; cin>>a;
     cout<<“nNhap so thứ hai: “; cin>>b;
     c = (a > b) ? a : b;
     cout<<“nSo lon nhat la: “<<c;
}


minhcnh@gmail.com
Một số hàm thường dùng

  ü Hàm đại số
  ü Hàm lượng giác
  ü Hàm xử lý ký tự




minhcnh@gmail.com
Hàm đại số
1.    Tính trị tuyệt đối của số nguyên num:     int abs(int num);
2.    Tính trị tuyệt đối số nguyên kiểu long:   long labs(long num);
3.    Tính trị tuyệt đối của 1 số thực x:       double fabs(double x);
4.    Tìm số nguyên lớn nhất £ x:               double floor(double x);
5.    Tìm số nguyên bé nhất ³ x:                double ceil(double x);
6.    Tìm phần dư của y/x:                      double fmod(double y, double x);
7.    Tính căn bặc 2 của x:                     double sqrt(double x);
8.    Tính yx :                                 double pow(double y, double x);
9.    Tính ex :                                 double exp(double x);
10.   Tính lnx:                                 double log(double x);
11.   Tính log10x :                             double log10(double x);



minhcnh@gmail.com
Hàm lượng giác
1.   Tính sin(x):               double sin(double x);
2.   Tính cosine của x:         double cos(double x);
3.   Tính tangent của x:        double tan(double x);
4.   Tính arc cosine của (x):   double acos(double x);
5.   Tính arc sine của (x)      double asin(double x);
6.   Tính arc tangent của x:    double atan(double x);




minhcnh@gmail.com
Hàm xử lý ký tự (thư viện ctype.h)
 1. int tolower(int ch): tolower(‘A’) à ‘a’
 2. int toupper(int ch): toupper(‘a’) à ‘A’
 Nhóm hàm kiểm tra ký tự:
 3. int islower(int ch)  Là chữ thường
 4. int isupper(int ch)  Là chữ in hoa
 5. int isdigit( int ch) Là số
 6. int isalpha(int ch)  Là mẫu tự
 7. int isalnum(int ch)  Là số hay mẫu tự
 8. int isspace(int ch)  Là dấu cách.


minhcnh@gmail.com
Bài tập




minhcnh@gmail.com
1. Nếu biết số giây tính từ nửa đêm. Hãy viết chương trình tính giờ,
    phút, giây hiện tại.
    HD: Giờ = số giây / 3600; Phút = (số giây % 3600) / 60;
         Giây = số giây % 60
 2. Viết chương trình nhập vào giờ (h), phút (m) giây (s). Sau đó
    nhập thêm số giây (a). Máy tính toán và in ra màn hình:
    § Lúc đầu là:        h giờ : m phút : s giây.
    § Nếu bạn cộng thêm : a giây
    § Giờ mới là:        x giờ : y phút : z giây.
 3. Viết chương trình nhập giờ phút giây khởi hành và giờ phút giây
    đến đích của một vận động viên điền kinh. In thời gian chạy của
    vận động viên theo giờ phút giây.


minhcnh@gmail.com
4. Nhập một góc tính bằng độ, đổi ra đơn vị radian, và tính sin, cos,
   tang, cotang của góc đó
       Công thức chuyển đổi:

5. Giải tam giác khi biết cạnh a, góc B, góc C (theo đơn vị độ). Tính
   cạnh b,c, góc A(theo radian và độ).
   Áp dụng:             a/sinA=b/sinB=c/sinC
                hay     a2 = b2 + c2 + 2bcCosA và A+B+C=180o
6. Cho tam giác ABC với 3 đỉnh A, B, C có toạ độ là: (x1, y1);
   (x2, y2); (x3, y3). Hãy tính:
       a) Chu vi tam giác.
       b) Diện tích tam giác




minhcnh@gmail.com
7. Nhập vào độ dài ba cạnh a, b, c của tam giác. Tính và in ra :




minhcnh@gmail.com
7. Nhập vào độ dài ba cạnh a, b, c của tam giác. Tính và in ra :




minhcnh@gmail.com
minhcnh@gmail.com




    LOGO

More Related Content

What's hot

Chuong 6 xac thuc va toan ven thong tin
Chuong 6  xac thuc va toan ven thong tinChuong 6  xac thuc va toan ven thong tin
Chuong 6 xac thuc va toan ven thong tin
np_thanh
 
Phần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựPhần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựHuy Rùa
 
Pplthdt c01 phong_cachlaptrinh_v13.09a
Pplthdt c01 phong_cachlaptrinh_v13.09aPplthdt c01 phong_cachlaptrinh_v13.09a
Pplthdt c01 phong_cachlaptrinh_v13.09aPix Nhox
 
Hàm và Chuỗi
Hàm và ChuỗiHàm và Chuỗi
Hàm và Chuỗi
pnanhvn
 
Phong cach lap trinh c++
Phong cach lap trinh c++Phong cach lap trinh c++
Phong cach lap trinh c++
ptquang160492
 
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)Thanh Minh Hoang
 
Pplthdt c03 kieu_dulieucoso_lopdungsan_v13.09a
Pplthdt c03 kieu_dulieucoso_lopdungsan_v13.09aPplthdt c03 kieu_dulieucoso_lopdungsan_v13.09a
Pplthdt c03 kieu_dulieucoso_lopdungsan_v13.09aPix Nhox
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Thanh Giảng Lê
 
C++ can ban
C++ can banC++ can ban
C++ can ban
ThØȵg Lȝ
 
Thu vien lap trinh c++
Thu vien lap trinh c++Thu vien lap trinh c++
Thu vien lap trinh c++
ptquang160492
 
LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2
pnanhvn
 
Con trỏ trong C
Con trỏ trong CCon trỏ trong C
Con trỏ trong C
Nguyễn Văn Hiếu
 
Phần 7: Mảng một chiều
Phần 7: Mảng một chiềuPhần 7: Mảng một chiều
Phần 7: Mảng một chiềuHuy Rùa
 
tài liệu Mã nguồn mở Bai 3 phan mem soan thao - vi
tài liệu Mã nguồn mở  Bai 3   phan mem soan thao - vitài liệu Mã nguồn mở  Bai 3   phan mem soan thao - vi
tài liệu Mã nguồn mở Bai 3 phan mem soan thao - vi
Thuyet Nguyen
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlopHồ Lợi
 

What's hot (19)

Chuong 6 xac thuc va toan ven thong tin
Chuong 6  xac thuc va toan ven thong tinChuong 6  xac thuc va toan ven thong tin
Chuong 6 xac thuc va toan ven thong tin
 
Phần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tựPhần 9: Chuỗi ký tự
Phần 9: Chuỗi ký tự
 
Pplthdt c01 phong_cachlaptrinh_v13.09a
Pplthdt c01 phong_cachlaptrinh_v13.09aPplthdt c01 phong_cachlaptrinh_v13.09a
Pplthdt c01 phong_cachlaptrinh_v13.09a
 
Hàm và Chuỗi
Hàm và ChuỗiHàm và Chuỗi
Hàm và Chuỗi
 
Ch02
Ch02Ch02
Ch02
 
Phong cach lap trinh c++
Phong cach lap trinh c++Phong cach lap trinh c++
Phong cach lap trinh c++
 
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
Một số vấn đề thường gặp trong lập trình - Đăng Bình Phương (ĐH KHTN)
 
Chuong 2
Chuong 2Chuong 2
Chuong 2
 
Pplthdt c03 kieu_dulieucoso_lopdungsan_v13.09a
Pplthdt c03 kieu_dulieucoso_lopdungsan_v13.09aPplthdt c03 kieu_dulieucoso_lopdungsan_v13.09a
Pplthdt c03 kieu_dulieucoso_lopdungsan_v13.09a
 
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
Bài giảng ngôn ngữ lập trình C cơ bản trường đại học công nghiệp thực phẩm TP...
 
C2 basics of_c_and_cpp
C2 basics of_c_and_cppC2 basics of_c_and_cpp
C2 basics of_c_and_cpp
 
C++ can ban
C++ can banC++ can ban
C++ can ban
 
Thu vien lap trinh c++
Thu vien lap trinh c++Thu vien lap trinh c++
Thu vien lap trinh c++
 
LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2LAP TRINH C - SESSION 2
LAP TRINH C - SESSION 2
 
Con trỏ trong C
Con trỏ trong CCon trỏ trong C
Con trỏ trong C
 
Phần 7: Mảng một chiều
Phần 7: Mảng một chiềuPhần 7: Mảng một chiều
Phần 7: Mảng một chiều
 
tài liệu Mã nguồn mở Bai 3 phan mem soan thao - vi
tài liệu Mã nguồn mở  Bai 3   phan mem soan thao - vitài liệu Mã nguồn mở  Bai 3   phan mem soan thao - vi
tài liệu Mã nguồn mở Bai 3 phan mem soan thao - vi
 
Bai giangtrenlop
Bai giangtrenlopBai giangtrenlop
Bai giangtrenlop
 
Ch09
Ch09Ch09
Ch09
 

Similar to Chuong 2@ngon ngu c

Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansi
Huynh MVT
 
chapter2.2.Variable.datatype.Arithmetic_Expression.pdf
chapter2.2.Variable.datatype.Arithmetic_Expression.pdfchapter2.2.Variable.datatype.Arithmetic_Expression.pdf
chapter2.2.Variable.datatype.Arithmetic_Expression.pdf
NguyenDiem50
 
Giới thiệu ngôn ngữ lập trình C++
Giới thiệu ngôn ngữ lập trình C++Giới thiệu ngôn ngữ lập trình C++
Giới thiệu ngôn ngữ lập trình C++
LAnhHuy4
 
Ngon ngu c
Ngon ngu cNgon ngu c
Ngon ngu c
hoangnguyentien
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
tienhien110293
 
C cho 8051
C cho 8051C cho 8051
C cho 8051Nhan Bui
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
mai_non
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu ChungCuong
 
06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu cTrí Nguyễn
 
C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)Nguyễn Phụng
 
01 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_101 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_1htpsccbb159
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
Huy Nguyễn
 
06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c
Hanh Nguyễn Văn
 
Nhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá ThịnhNhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá Thịnh
silverclaw
 
C9 templates
C9 templatesC9 templates
C9 templates
Tiến Quang Phan
 

Similar to Chuong 2@ngon ngu c (20)

Ngon ngu c theo chuan ansi
Ngon ngu c theo chuan ansiNgon ngu c theo chuan ansi
Ngon ngu c theo chuan ansi
 
chapter2.2.Variable.datatype.Arithmetic_Expression.pdf
chapter2.2.Variable.datatype.Arithmetic_Expression.pdfchapter2.2.Variable.datatype.Arithmetic_Expression.pdf
chapter2.2.Variable.datatype.Arithmetic_Expression.pdf
 
Giới thiệu ngôn ngữ lập trình C++
Giới thiệu ngôn ngữ lập trình C++Giới thiệu ngôn ngữ lập trình C++
Giới thiệu ngôn ngữ lập trình C++
 
Lect09 string
Lect09 stringLect09 string
Lect09 string
 
Ngon ngu c
Ngon ngu cNgon ngu c
Ngon ngu c
 
Chuong1 c
Chuong1 c Chuong1 c
Chuong1 c
 
Programming technique 1_2_7921
Programming technique 1_2_7921Programming technique 1_2_7921
Programming technique 1_2_7921
 
C cho 8051
C cho 8051C cho 8051
C cho 8051
 
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.comBài giảng Lập trình cơ bản - truongkinhtethucpham.com
Bài giảng Lập trình cơ bản - truongkinhtethucpham.com
 
1 Gioi Thieu Chung
1 Gioi Thieu Chung1 Gioi Thieu Chung
1 Gioi Thieu Chung
 
06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c
 
C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)C++ can ban(dung thu vien iostream)
C++ can ban(dung thu vien iostream)
 
01 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_101 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_1
 
01 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_101 ngon ngu_c#_phan_1
01 ngon ngu_c#_phan_1
 
Bai giang c
Bai giang cBai giang c
Bai giang c
 
Nmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_inNmlt c03 cac_kieudulieucoso_in
Nmlt c03 cac_kieudulieucoso_in
 
06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c06 tong quan ve ngon ngu c
06 tong quan ve ngon ngu c
 
Nhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá ThịnhNhập môn lập trình - Vương Bá Thịnh
Nhập môn lập trình - Vương Bá Thịnh
 
C9 templates
C9 templatesC9 templates
C9 templates
 
C9 templates
C9 templatesC9 templates
C9 templates
 

Chuong 2@ngon ngu c

  • 1. Chương 2: Các thành phần trong ngôn ngữ C/C++ ThS. Chu Nguyên Hoàng Minh LOGO
  • 2. Nội dung v Tập các ký tự dùng trong C v Kiểu dữ liệu v Từ khóa v Biến v Hằng v Toán tử v Một số hàm thường dùng v Bài tập minhcnh@gmail.com
  • 3. Tập các ký tự dùng trong C minhcnh@gmail.com
  • 4. Mọi ngôn ngữ lập trình đều được xây dựng từ một bộ ký tự nào đó. Các ký tự được nhóm lại theo nhiều cách khác nhau để tạo nên các từ. minhcnh@gmail.com
  • 5. Ngôn ngữ C được xây dựng trên bộ ký tự sau: ü 26 chữ cái hoa : A B C .. Z ü 26 chữ cái thƣờng : a b c .. z ü 10 chữ số : 0 1 2 .. 9 ü Các ký hiệu toán học : + - * / = ( ) ü Ký tự gạch nối : _ ü Các ký tự khác : . , : ; [ ] {} ! & % # $ ... ü Dấu cách (space) dùng để tách các từ. Ví dụ: chữ NGON NGU C có 10 ký tự, còn NGONNGUC chỉ có 8 ký tự. minhcnh@gmail.com
  • 7. Kiểu dữ liệu Kiểu ký tự Kiểu Phạm vi Kích thước char -128 ... +127 1 byte unsigned char 0... 255 1 byte Giá trị kiểu char chiếm 1 byte và biểu diễn được một ký tự trên bảng mã ASCII. Ví dụ: ‘0’..’9’ có mã 48..57; ‘A’..’Z’ <--> 65..90; ‘a’..’z’ <--> 97..122 Kiểu logic bool: Nhận giá trị true hoặc false Ví dụ: bool t=true; minhcnh@gmail.com
  • 8. Kiểu dữ liệu Kiểu số nguyên Kiểu Phạm vi Kích thước int -32768 .. 32767 2 byte unsigned (int) 0 .. 65535 2 byte long (int) -2.147.483.648 .. 4 byte 2.147.483.647 unsigned long 0 .. 4.294.967.295 4 byte minhcnh@gmail.com
  • 9. Kiểu dữ liệu Kiểu số thực Kiểu Phạm vi Kích thước float 3.4E-38 .. 3.4E+38 4 byte double 1.7E-308.. 1.7E+308 8 byte long double 3.4E-4932..1.1E+4932 10 byte minhcnh@gmail.com
  • 11. Từ khóa Từ khóa là từ có ý nghĩa xác định dùng để khai báo dữ liệu, viết câu lệnh… Trong C có khoảng 40 từ khóa, sau đây là một số từ khóa thông dụng: break else short case float sizeof char for static const goto struct continue if switch default int typedef do long unsigned double return void while *Lưu ý: từ khóa phải viết chữ thường. minhcnh@gmail.com
  • 12. Biến ü Biến ü Tên biến ü Khai báo biến ü Phạm vi của biến minhcnh@gmail.com
  • 13. Biến v Một biến là 1 vùng nhớ trong RAM dùng lưu trữ dữ liệu tạm thời trong quá trình thực hiện chương trình. Việc truy xuất đến giá trị lưu trong vùng nhớ được thực hiện thông qua tên biến. v Mỗi biến gắn liền với một kiểu dữ liệu và một định danh duy nhất gọi là tên biến. minhcnh@gmail.com
  • 14. Tên biến 1. Tên thường được đặt cho hằng, biến, mảng, con trỏ, nhãn… Chiều dài tối đa của tên là 32 ký tự. 2. Tên biến hợp lệ là một chuỗi ký tự liên tục gồm: Ký tự chữ, số và dấu gạch dưới. Ký tự đầu của tên phải là chữ hoặc dấu gạch dưới. 3. Tên không được đặt trùng với các từ khóa. minhcnh@gmail.com
  • 15. Tên biến vChú ý: Trong C, tên bằng chữ thường và chữ hoa là khác nhau ví dụ tên AB khác với ab. Trong C, ta thường dùng chữ hoa để đặt tên cho các hằng và dùng chữ thường để đặt tên cho hầu hết cho các đại lượng khác như biến, biến mảng, hàm, cấu trúc. Tuy nhiên đây không phải là điều bắt buộc. minhcnh@gmail.com
  • 16. Tên biến Ví dụ: Xét các loại tên biến sau: abc 123 Delta1 Case Cong-2a 1delta $cong2 Delta 2 Tinh(a) Delta_2 _delta Binh_phuong Do minhcnh@gmail.com
  • 17. Khai báo biến Cách khai báo <kiểu_dữ_liệu> <tên_biến>; <tên_biến> = <giá_trị>; Hoặc <kiểu_dữ_liệu> <tên_biến> = <giá_trị>; minhcnh@gmail.com
  • 18. Ví dụ: void main(){ void main() { int a, b, c; int a = 2, b = 3, c = 4; a = 2; … b = 3; } c = 4; … } minhcnh@gmail.com
  • 19. Khi khai báo biến nên đặt tên biến theo quy tắc Hungarian Notation. Ví dụ: int ituoi; //khai báo biến ituoi có kiểu int float fDTB; //khai báo biến fDTB có kiểu float char ckitu1, ckitu2; //khai báo biến ckitu1, ckitu2 có kiểu char minhcnh@gmail.com
  • 20. Phạm vi của biến v Khai báo biến ngoài (biến toàn cục): Vị trí biến đặt bên ngoài tất cả các hàm, cấu trúc... Các biến này có ảnh hưởng đến toàn bộ chương trình. Chu trình sống của nó là bắt đầu chạy chương trình đến lúc kết thúc chương trình. v Khai báo biến trong (biến cục bộ): Vị trí biến đặt bên trong hàm, cấu trúc….Chỉ ảnh hưởng nội bộ bên trong hàm, cấu trúc đó…. Chu trình sống của nó bắt đầu từ lúc hàm, cấu trúc được gọi thực hiện đến lúc thực hiện xong. minhcnh@gmail.com
  • 21. Ví dụ #include"iostream.h" int x; void main() { int a =5, b = 2; { int a = 4; b = a+b; cout<<"n In trong khoi 2: a="<<a<<", b ="<<b<<", x ="<<x; } cout<<"n In trong khoi 1: a="<<a<<", b ="<<b<<", x ="<<x; } minhcnh@gmail.com
  • 23. Hằng là gì? Hằng là những giá trị cố định thuộc phạm vi của một kiểu dữ liệu, không bị thay đổi khi thực hiện chương trình. ü Hằng số nguyên ü Hằng số thực ü Hằng ký tự ü Hằng chuỗi minhcnh@gmail.com
  • 24. Hằng số nguyên Hằng int: -15 1234 #include"iostream.h" #define iTuoi 19 //pham vi toan cuc void main(){ const int iNam=2012; //pham vi cuc bo cout<<"Tuoi cua ban 1 nam sau: "<<iTuoi+1; cout<<"nNam sau la nam: "<<iNam+1; cout<<endl; } minhcnh@gmail.com
  • 25. Hằng số nguyên v Hằng long: được viết: - 4567L hay - 4567l Số nguyên vượt ra ngoài miền xác định của int cũng được xem là hằng long #include"iostream.h" #define TienVN 500000 //pham vi toan cuc #define TienUSD 2000L #define TIENUSD 2500l void main(){ const int TIENVN=2000000000; //pham vi cuc bo cout<<"Tien VN sang USD: "<<TienVN/20000; cout<<"nTien VN sang USD: "<<TIENVN/20000; cout<<"nTien USD sang VN: "<<TienUSD*20000; cout<<"nTien USD sang VN: "<<TIENUSD*20000; cout<<endl; } minhcnh@gmail.com
  • 26. Hằng số thực Hằng số thực: v Kiểu float : 123.45F v Kiểu double: 123.45 v Kiểu long double: 123.45L #include"iostream.h" #define PI 3.14 //pham vi toan cuc #define fBankinh 4.8F void main(){ cout<<"Dien tich hinh tron: "<<2*PI*fBankinh; cout<<endl; } minhcnh@gmail.com
  • 27. Hằng ký tự Hằng kiểu ký tự: Là 1 ký tự riêng biệt được viết trong 2 dấu nháy đơn. Ví dụ: ‘A’ v Hằng ký tự thực sự là một số nguyên. Giá trị của hằng ký tự chính là mã ASCII của ký tự đó Ví dụ: char c1 = ‘A’; v Hằng ký tự có thể tham gia vào các phép toán như mọi số nguyên khác: Ví dụ: ‘B’ - ‘A’ = 66 - 65 = 1 minhcnh@gmail.com
  • 28. Hằng ký tự #include"iostream.h" #define cKytu 'A' //pham vi toan cuc void main(){ const char cKYTU='a'; // pham vi cuc bo cout<<"Ky tu sau A: "<<(char)(cKytu+1); cout<<"nKy tu sau a: "<<(char)(cKYTU+1); cout<<"nKhoang cach giua 2 ky tu: "<<'F'-'A'; cout<<endl; } minhcnh@gmail.com
  • 29. Hằng ký tự Một vài hằng ký tự đặt biệt ta cần phải sử dụng cách viết sau: Ø Các kí tự điều khiển: n : Nhảy xuống dòng kế tiếp canh về cột đầu tiên. t : Canh cột tab ngang. r : Nhảy về đầu hàng, không xuống hàng. a : Tiếng kêu bip. Ø Các kí tự đặc biệt: : In ra dấu " : In ra dấu " ' : In ra dấu ' minhcnh@gmail.com
  • 30. Hằng chuỗi Là chuỗi bất kỳ đặt trong cặp dấu ngoặc kép (“ “) Ví dụ: “Lap trinh C” vCác ký tự trong chuỗi có thể gồm các ký tự không có trên bàn phím, khi đó được biểu diễn sau ký hiệu () vChuỗi ký tự trong C được lưu trữ dưới dạng mảng các ký tự và được C thêm ký tự ‘0’ (null) cuối chuỗi. Ví dụ: Phân biệt giữa ký tự ‘a’ và chuỗi “a” vChuỗi rỗng được viết bằng 2 dấu nháy đôi liên tục: “” minhcnh@gmail.com
  • 31. Hằng chuỗi #include"iostream.h" #define cChuoi "Xin chao cac bannToi dang hoc lap trinh C" void main(){ cout<<cChuoi; cout<<endl; } minhcnh@gmail.com
  • 32. Toán tử ü Toán tử số học ü Toán tử tăng, giảm ü Toán tử gán ü Toán tử so sánh ü Toán tử logic ü Phép toán chuyển đổi kiểu dữ liệu ü Biểu thức dấu chấm hỏi minhcnh@gmail.com
  • 33. Toán tử số học Toán tử Ý nghĩa Cách dùng + Cộng hai toán hạng op1 + op2 - Trừ op1 - op2 * Nhân op1 * op2 / Chia op1 / op2 % Chia lấy số dư op1 % op2 minhcnh@gmail.com
  • 34. Toán tử số học Ví dụ: 11+3=14 11-3=8 11*3=33 11/3=3 11%3=2 minhcnh@gmail.com
  • 35. Toán tử tăng, giảm v Phép toán tăng (++) : ++op; op++; Ví dụ: ++n; hay n++ <==> n = n+1; v Phép toán giảm (--):--op; op--; Ví dụ: --n; hay n--; <==> n = n -1; Trường hợp sử dụng toán tử này trong một biểu thức thì việc đặt trước hay sau sẽ ảnh hưởng đến kết quả bài toán: v Đặt trước: để thay đổi giá trị cho n trước khi sử dụng n v Đặt sau: để thay đổi giá trị cho n sau khi sử dụng n xong. Ví dụ: Với n = 4. Lệnh x = ++n; <==> n = n + 1; x = n; Lệnh x = n++; <==> x = n; n = n + 1; minhcnh@gmail.com
  • 36. Toán tử tăng, giảm Ví dụ: int x = 4, y ; y = x++; //Giá trị x gán cho y trước, rồi mới tăng lên một đơn vị, x=5, y=4 y = ++x; //Giá trị x tăng lên một đơn vị, rồi mới gán cho y, x=6, y=6 x++; //Kết quả cho x = 7 cout<<(++x); //Tăng x lên một đơn vị rồi mới in ra 8 minhcnh@gmail.com
  • 37. Câu 1. Cho biết giá trị của x, a và b sau khi thi hành đoạn mã sau. int x, a = 6, b = 7; x = a++ + b++; a. x = 15, a = 7, b = 8 Câu 2. Cho khai báo sau: b. x = 15, a = 6, b = 7 int i=5, j; c. x = 13, a = 7, b = 8 j=i++; d. x = 13, a = 6, b = 7 j-=--i; i--; Cho biết kết quả của i và j là bao nhiêu. a. i=4 và j=2 b. i=3 và j=1 c. i=2 và j=3 d. i=4 và j=0 minhcnh@gmail.com
  • 38. Toán tử gán Toán tử Ví dụ Giải thích = int c=3, d=5, c=4; += c+=7 c=c+7 -= d-=4 d=d-4 *= e*=5 e=e*5 /= f/=3 f=f/3 %= g%=9 g=g%9 minhcnh@gmail.com
  • 39. Toán tử so sánh Toán tử Ý nghĩa Cách dùng == Bằng op1 = = op2 != Không bằng op1 != op2 < Nhỏ hơn op1 < op2 > Lớn hơn op1 > op2 <= Nhỏ hơn hoặc bằng op1 <= op2 >= Lớn hơn hoặc bằng op1 >= op2 Toán tử so sánh cho ta giá trị đúng (1) hoặc giá trị sai (0). Nói cách khác, khi các điều kiện nêu ra là đúng thì nhận được giá trị 1, ngược lại nhận giá trị 0. minhcnh@gmail.com
  • 40. Ví dụ: int A=7, B=9; Kết quả == A==B 0 != A!=B 1 < A<B 1 > A>B 0 <= A<=B 1 >= A>=B 0 minhcnh@gmail.com
  • 41. Toán tử logic Toán tử Ý nghĩa Cách dùng && Và (And) op1&& op2 || Hoặc (Or) op1 || op2 ! Phủ định (Not) ! op Toán tử logic cho ta giá trị đúng (1) hoặc giá trị sai (0). Nói cách khác, khi các điều kiện nêu ra là đúng thì nhận được giá trị 1, ngược lại nhận giá trị 0. minhcnh@gmail.com
  • 42. Toán tử logic op !op 1 0 0 1 op1 op2 op1&&op2 op1||op2 1 1 1 1 0 1 0 1 1 0 0 1 0 0 0 0 minhcnh@gmail.com
  • 43. Toán tử logic Ví dụ: int A=6, B=9, C=7, D=20; Kết quả && (A>B)&&(B>C) 0 || (B>C)||(C>D) 1 ! !(A>B) 1 minhcnh@gmail.com
  • 44. Thứ tự ưu tiên của các toán tử minhcnh@gmail.com
  • 45. Phép toán chuyển đổi kiểu dữ liệu (tênkiểu) Biểuthức v Phép chuyển kiểu cho ra giá trị thuộc kiểu chỉ định. v Bản thân của biểu thức thì không thay đổi kiểu. Ví dụ 1: Đổi số thực sang số nguyên có làm tròn số int a; float x; a = (int)( x + 0.5); Ví dụ 2: x1 và x2 bằng bao nhiêu ? int a = 5, b = 2; float x1, x2; x1 = (float) a / b; x2 = a / b; minhcnh@gmail.com
  • 46. Biểu thức dấu chấm hỏi (điều kiện) ? <biểu thức 1> : <biểu thức 2> ; Nếu <điều kiện> đúng thì trả về giá trị của <biểu thức 1>; ngược lại trả về giá trị của <biểu thức 2> Ví dụ: Tìm số lớn nhất trong 2 số bất kỳ nhập từ bàn phím. void main(){ float a, b, c; cout<<“n Nhập số thứ nhất: “; cin>>a; cout<<“nNhap so thứ hai: “; cin>>b; c = (a > b) ? a : b; cout<<“nSo lon nhat la: “<<c; } minhcnh@gmail.com
  • 47. Một số hàm thường dùng ü Hàm đại số ü Hàm lượng giác ü Hàm xử lý ký tự minhcnh@gmail.com
  • 48. Hàm đại số 1. Tính trị tuyệt đối của số nguyên num: int abs(int num); 2. Tính trị tuyệt đối số nguyên kiểu long: long labs(long num); 3. Tính trị tuyệt đối của 1 số thực x: double fabs(double x); 4. Tìm số nguyên lớn nhất £ x: double floor(double x); 5. Tìm số nguyên bé nhất ³ x: double ceil(double x); 6. Tìm phần dư của y/x: double fmod(double y, double x); 7. Tính căn bặc 2 của x: double sqrt(double x); 8. Tính yx : double pow(double y, double x); 9. Tính ex : double exp(double x); 10. Tính lnx: double log(double x); 11. Tính log10x : double log10(double x); minhcnh@gmail.com
  • 49. Hàm lượng giác 1. Tính sin(x): double sin(double x); 2. Tính cosine của x: double cos(double x); 3. Tính tangent của x: double tan(double x); 4. Tính arc cosine của (x): double acos(double x); 5. Tính arc sine của (x) double asin(double x); 6. Tính arc tangent của x: double atan(double x); minhcnh@gmail.com
  • 50. Hàm xử lý ký tự (thư viện ctype.h) 1. int tolower(int ch): tolower(‘A’) à ‘a’ 2. int toupper(int ch): toupper(‘a’) à ‘A’ Nhóm hàm kiểm tra ký tự: 3. int islower(int ch) Là chữ thường 4. int isupper(int ch) Là chữ in hoa 5. int isdigit( int ch) Là số 6. int isalpha(int ch) Là mẫu tự 7. int isalnum(int ch) Là số hay mẫu tự 8. int isspace(int ch) Là dấu cách. minhcnh@gmail.com
  • 52. 1. Nếu biết số giây tính từ nửa đêm. Hãy viết chương trình tính giờ, phút, giây hiện tại. HD: Giờ = số giây / 3600; Phút = (số giây % 3600) / 60; Giây = số giây % 60 2. Viết chương trình nhập vào giờ (h), phút (m) giây (s). Sau đó nhập thêm số giây (a). Máy tính toán và in ra màn hình: § Lúc đầu là: h giờ : m phút : s giây. § Nếu bạn cộng thêm : a giây § Giờ mới là: x giờ : y phút : z giây. 3. Viết chương trình nhập giờ phút giây khởi hành và giờ phút giây đến đích của một vận động viên điền kinh. In thời gian chạy của vận động viên theo giờ phút giây. minhcnh@gmail.com
  • 53. 4. Nhập một góc tính bằng độ, đổi ra đơn vị radian, và tính sin, cos, tang, cotang của góc đó Công thức chuyển đổi: 5. Giải tam giác khi biết cạnh a, góc B, góc C (theo đơn vị độ). Tính cạnh b,c, góc A(theo radian và độ). Áp dụng: a/sinA=b/sinB=c/sinC hay a2 = b2 + c2 + 2bcCosA và A+B+C=180o 6. Cho tam giác ABC với 3 đỉnh A, B, C có toạ độ là: (x1, y1); (x2, y2); (x3, y3). Hãy tính: a) Chu vi tam giác. b) Diện tích tam giác minhcnh@gmail.com
  • 54. 7. Nhập vào độ dài ba cạnh a, b, c của tam giác. Tính và in ra : minhcnh@gmail.com
  • 55. 7. Nhập vào độ dài ba cạnh a, b, c của tam giác. Tính và in ra : minhcnh@gmail.com