Tải bản đầy đủ (.pdf) (137 trang)

NGÔN NGỮ LẬP TRÌNH C++ - Vũ Song Tùng

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (3.83 MB, 137 trang )

NGÔN NGỮ LẬP TRÌNH
C/C++
Vũ Song Tùng
1
NỘI DUNG






2
3
5
22
45
77
123
I.    C/C++
3
• Ngôn   trình hàm
• Linh  trong    các  
• Truy      thông qua các con

•   các     các
struct
• Có  chia   trình thành 
mô-
I.    C/C++
4
•   các    C


•  hình      (overload)
•     các  (class)
•    các mã     
(inheritance)
II. Các thành   
Bộ ký tự
Chú thích
ịnh danh
Hằng
Biến
Vào/ra
5
II. Các thành phần cơ bản
6
•  cái  : a  z
•  cái hoa : A  Z
•   : 0  9
•   các  ( @ và $)
Ví dụ
#include <iostream>

void main()
{
int Arr[] = { 1, 2, 3, 4 };
for (int i = 0; i < 4; i++)
std::cout << Arr[i] << '\t';
}
II. Các thành phần cơ bản
7
• Dùng  mô   hàm hay  

 trình
// Hàm tính x^n
// x - số thực, n - số nguyên dương
double power(double x, int n)
{
/*
double g = 1;
for (int i = 0; i < n; i++)
g *= x;
return g;
*/
if (n == 0)
return 1; // x^0 = 1
return x * power(x, n - 1);
}
Mô  hàm
Có  dùng     
  trình
Làm rõ 
II. Các thành phần cơ bản
8
• Tên   cho các hàm, các , các   
v.v
• Các quy   danh
–   dùng các  cái,      
– Ký   tiên không là  
– Không  phép trùng  khóa
Chú ý. Ngôn ngữ C/C++ phân biệt chữ cái hoa và chữ cái
thường
Ví dụ

void _foo() // đúng quy cách
{
int so nguyen; // sai vì có chứa dấu cách
int soNguyen; // đúng quy cách
}
II. Các thành phần cơ bản
9
• Các giá    trong  trình
• Có  là  nguyên,  , ký   xâu ký

Ví dụ
5 // số nguyên kiểu int
05 // số nguyên biểu diễn trong hệ 8
0x5 // số nguyên biểu diễn trong hệ 16
5u // U hoặc u – số nguyên kiểu unsigned
5l // L hoặc l – số nguyên kiểu long
5.0 // số nguyên kiểu double
'5' // ký tự có giá trị số (mã ASCII) bằng 53
'A' // ký tự có giá trị số (mã ASCII) bằng 65
"5" // xâu ký tự gồm ký tự '5' và ký tự NULL
II. Các thành phần cơ bản
10
Bảng 2.1. Các ký tự đặc biệt

tự

tả
\
t
TAB


\
n
ENTER

\

Nháy

\

Nháy
kép
\
\
\

\
0

 NULL (giá   0)
II. Các thành phần cơ bản
11
• Là  vùng trong   RAM dùng  
   các giá   xác  
 tên 
• Phân 
•  
•  
•  con 

II. Các thành phần cơ bản
12
•  khai báo   khi  

Ví dụ
int a, b = 1; // Khai báo biến đơn
double A[10]; // Khai báo biến mảng
int *pa = &a; // Khai báo biến con trỏ
Cú pháp
kiểu tên_biến;
kiểu tên_biến = biểu_thức_khởi_tạo;
II. Các thành phần cơ bản
13
Bảng 2.2. Các kiểu biến
Kiểu

Kích thước
(byte)
Vùng
giá trị
 nguyên
char

1
-
 127
short

2



int

4


unsigned

4


long

4


long
long
8


9,223,372,036,854,775,807

 
float

4
±
3.4E±38
double


8
±
1.7E±308
long double

8
±
1.7E±308
II. Các thành phần cơ bản
14
•  vài chú ý

Ví dụ
void main()
{
int x = 10, y;
// Các biểu thức

for (int i = 0; i < 4; i++)
{
int x = 5;
// Các biểu thức
}

int y;
}
error C2086: 'int y' : redefinition
Trong   các tên   khác nhau
Cùng  tên  có  khai báo trong các  

khác nhau
II. Các thành phần cơ bản
15
•  vài chú ý
• Kích   các    vào   mà
 trình  biên 
• Dùng toán  sizeof( )   kích  
 ,   hay  
// Chương trình Win32 Console Application

int sz;
sz = sizeof(sz); // sz = 4
sz = sizeof(long long); // sz = 8
sz = sizeof("12345"); // sz = 6
II. Các thành phần cơ bản
16
•   kê
• Dùng   danh cho các giá   int
enum tên_kiểu { danh sách tên };
Ví dụ
enum Boolean { False, True };
// False = 0, True = 1

enum Keys { Enter = 13, Escape = 27, A = 65, B, C };
// B = 66, C = 67

II. Các thành phần cơ bản
17
Dùng các  vào/ra trong   iostream 
làm   màn hình và bàn phím

–  vào (cin)   toán   vào (>>)
– Các  ra (cout, cerr)   toán   ra (<<)

Ví dụ
double a, b, c;
cout << "Nhap a, b, c: ";
cin >> a >> b >> c; // Dùng dấu cách, TAB hoặc ENTER để phân biệt các luồng
if (a != 0)
{
cout << "delta = " << b*b - 4*a*c << '\n';
// Các biểu thức
}
else
cerr << "a phai khac 0.\n";
II. Các thành phần cơ bản
18
Yêu cầu bài toán
•  các   a, b, c  bàn phím
•  thì
– Tính 
– In   ra màn hình  các  
•  > 0  
•  = 0  
•  < 0  Vo nghiem.

II. Các thành phần cơ bản
19
PhuongTrinhBac2.cpp
#include <iostream> // thư viện vào/ra
using namespace std; // nơi khai báo các thành phần chuẩn


void main()
{
double a, b, c;
cout << "Nhap a, b, c: "; cin >> a >> b >> c;
if (a != 0) {
// Đoạn biểu thức giải và biện luận phương trình //
}
else
cerr << "He so a phai khac 0.";

cout << endl; // in ký tự xuống dòng
system("pause"); // tạm dừng màn hình
}
II. Các thành phần cơ bản
20
PhuongTrinhBac2.cpp
// Giải và biện luận phương trình
double d = b*b - 4*a*c;
if (d >= 0)
{
if (d > 0)
{
cout << "X1 = " << (-b - sqrt(d)) / (2 * a) << ", X2 = "
<< (b - sqrt(d))/(2 * a);
}
else
cout << "X1 = X2 = " << -b / (2 * a);
} // if (d >= 0)
else

cout << "Vo nghiem.";
II. Các thành phần cơ bản
21
•  project PhuongTrinhBac2 trên Visual
Studio .NET và  tra  các  :
– a = 1, b = 2, c = 1
– a = 1, b = 2, c = 3
– a = 1, b = 3, c = 2

•    mã   trình  2
Gợi ý. Giảm số lượng các biểu thức 2 * a và sqrt(d)
III.   và toán 



22
Ví dụ
III.   và toán 
23
•    các toán  và toán 
•  thúc    
• Có  
(-b – sqrt(d)) / (2 * a)
 Các toán tử: () - / *
 Các toán hạng:
 Biến: a, b, d
 Hằng: 2
 Hàm: sqrt
III.   và toán 
24

Bảng 3.1. Phân loại các toán tử đơn
Nhóm

Các
toán tử
Ghi
chú
Gán

=



+
- * / %

    =

/
++

So
sánh
==
!= > < >= <=
Cho
giá  0  1

tra
?:


Logic

&& || !

Cho
giá  0  1

lý bit
& | ~ ^ << >>


    =
Con

& * new delete

Truy
 thành viên
:: .
->
Các
 khác
{}
() [] ,
Thứ tự ưu tiên các toán tử tham khảo tại

III.   và toán 
25
• Toán  gán:


a = 5; // gán 5 vào a
a = b = c = 5; // tương đương: c = 5; b = c; a = b;
a = b + (c = 5); // tương đương: c = 5; a = b + c;
Cú pháp
lvalue = rvalue
lvalue – tên_biến, rvalue – một biểu thức
Ví dụ

×