Tải bản đầy đủ (.ppt) (44 trang)

chương 2 - giới thiệu ngôn ngữ cc++

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 (2.27 MB, 44 trang )

1
*
Ngôn ngữ C do Dennis Ritchie xây dựng từ
năm 1972 tại phòng thí nghiệm Bell Telephone
với mục đích tạo ngôn ngữ để viết HĐH UNIX.
Song nhờ có các tính năng ưu việt và tính mềm
dẻo nên được giới tin học chấp nhận
*
Năm 1978, xuất bản quyển sách “The C
programming language” do Kernighan và
Ritchie viết.
2
*
C++ dựa trên ngôn ngữ lập trình C
*
C++ được phát minh bởi Bijarne Stroustroup, bắt
đầu năm 1979
*
Các trình biên dịch phổ biến: Borland C++,
Microsoft Visual C++
3
4
*
Bộ lệnh phù hợp với phương pháp lập trình có
cấu trúc module, có thể sử dụng nhiều lần trong
chương trình hoặc chương trình khác, hỗ trợ lập
trình hướng đối tượng.
*
Kiểu dữ liệu phong phú, cho phép định nghĩa
kiểu dữ liệu mới.
*


Linh động về cú pháp, ít từ khóa.
*
Ngôn ngữ mạnh và mềm dẻo, được dùng để viết
OS, chương trình điều khiển, soạn thảo văn bản,
đồ hoạ, bảng tính… và các chương trình dịch cho
các ngôn ngữ khác .
*
Cú pháp thuộc loại lạ và khó học. Nếu người lập
trình đã học qua một ngôn ngữ khác thì sẽ dễ
dàng tiếp cận.
*
Một số ký hiệu có nhiều nghĩa khác nhau. Ví dụ:
dấu “*” là toán tử nhân, là khai báo con trỏ, là
toán tử thay thế, … Việc sử dụng đúng nghĩa các
toán tử phụ thuộc vào ngữ cảnh sử dụng.
*
Việc truy nhập tự do vào dữ liệu, việc trộn lẫn
các kiểu dữ liệu… làm cho chương trình có phần
bất ổn.
5
6
//Viết bằng VC++2003
//hoặc 2005, 2008, …
#include <iostream>
using namespace std;
void main()
{
cout<<"Xin chao cac ban";
}
//Viết bằng VC++6.0

//hoặc BC++3.1
#include <iostream.h>
void main()
{
cout<<"Xin chao cac ban";
}
Xuất ra màn hình dòng chữ: “Xin chao cac ban”
7
*
Lệnh
Lệnh thực hiện một chức năng nào đó (khai
báo, gán, xuất, nhập, …) và được kết thúc
bằng dấu chấm phẩy (;)
*
Khối lệnh
Khối lệnh gồm nhiều lệnh và được đặt trong
cặp dấu ngoặc { }
8
*
Từ vị trí cụ thể đến cuối dòng: dùng // ngay
tại vị trí đó.
*
Tạo nhiều dòng ghi chú: dùng cặp ký tự /*
ngay trước dòng đầu tiên, và cặp ký tự */
ngay sau dòng cuối cùng.
*
Chữ cái hoa: A, B, , Z
*
Chữ cái thường: a, b, c, , z
*

Chữ số: 0, 1, , 9
*
Các ký hiệu toán học: +, -, *, /, =, (, ),
*
Ký hiệu gạch nối: _
*
Các ký hiệu đặc biệt như: . , ; [] {} ? ! \ & | % #
*
Không được dùng các ký hiệu như: α, φ, Ω, π, …
hoặc tiếng việt có dấu: â, ă, ô…
9
10
    
    
    
    
    
    
    
    
    
  
11
*
Một biến đại diện cho một vùng nhớ hay tập các
vùng nhớ trên bộ nhớ chính của máy tính. Tên
biến được dùng để tham khảo đến những vùng
nhớ này.
*
Biến để lưu trữ các giá trị do người dùng nhập

vào hoặc các giá trị tạm thời trong quá trình
tính toán.
*
Mỗi biến sẽ có tên và kiểu dữ liệu tương ứng.
Kiểu dữ liệu của biến xác định những giá trị kiểu
nào có thể được lưu trong biến (ví dụ số hay
chữ…).
*
PHẢI khai báo BiẾN trước khi sử dụng
12
*
Kiểu cơ sở
Tích hợp sẵn trong ngôn ngữ
*
 ố
*
  ố ự
*
 ậ
*
  !ả
*
"  !ỗ
*
Kiểu tự định nghĩa (xét sau)
Dùng những kiểu cơ sở để xây dựng thành
những kiểu dữ liệu mới cho phù hợp với bài
toán.
13
   

 
 
 

  

  

  

  

  

  
!
   
14
   

" 



 

!

 


!
   
  #$%&'()
15
Dùng để đặt tên biến, tên hằng, tên hàm, …
*
Bắt đầu bằng một ký tự.
*
Các ký tự trong tên biến chỉ có thể là các ký tự
chữ, số hoặc dấu gạch dưới (_)
*
Không được trùng với các từ khoá.
*
Không được trùng với phạm vi khai báo.
*
Tên dễ hiểu, súc tích và gợi nhớ.
*
Phân biệt chữ hoa và thường
16
Cú pháp
<Kiểu dữ liệu> tênbiến;
Ví dụ:
#$$%& '   ế ể ư ố
#$$%& '    ế ể ư ố ự
Khai báo nhi u bi n cùng ki uề ế ể
<Kiểu dữ liệu> tênbiến1, tênbiến2, tênbiến3;
Ví dụ:
int a, x, y;
17
<Kiểu dữ liệu> tênbiến = giá trị;

Ví dụ:
int a = 5;
float b = 5.4, c = 9.2;
char ch = ‘n’;
*
Hằng là đại lượng không thay đổi giá trị trong quá trình thi hành
chương trình
*
Dùng toán tử #define
Cú pháp: #define <tên_hằng> <giá_trị_hằng>
Ví dụ: #define MAX 100
*
Biến hằng được định nghĩa nhờ từ khoá const với cú pháp như sau:
const <kiểu_dữ_liệu> <tên_biến> = <giá_trị>;
Ví dụ: const int MAX = 100;
Tên hằng số nên viết bằng chữ in HOA
18
*
Hằng số: Đó là các giá trị xác định, một hằng số có thể
là nguyên (có kiểu dữ liệu int, hay long int) hay thực (có
kiểu dữ liệu là float, double, long double).
*
Hằng ký tự: Được đặt trong dấu nháy đơn. Ví dụ: 'A', 'a'
tương ứng với giá trị nguyên 65, 97 trong bảng mã
ASCII.
*
Hằng chuỗi: Là tập hợp các ký tự được đặt trong cặp dấu
nháy kép " ". Ví dụ: “Lap trinh C"
*
Chú ý: Một hằng chuỗi được trữ tận cùng bằng ký tự null

(\0)
19
20



 
 !
 " *+
 # ,-
 $ ./
 % *
0 12    3 45 67 8
 9:;
 & * 9:;
*<&:=
'(
 ) >2
 * .?
 )+ >2)@
 *+ .?)@
 ++ A@
 ,+ &
21
-
 B .C,
 DD E.F
 GG CH
./01
 II ,J

.5 & K J 7% L)
23 J 7% 2 $
MNO)P QR
 SS #7%
23
 D E.F
 G CH
 T UCH
 VV F'&
 WW F':7
 X >9:;Y
22
Ví dụ:
int x = 5, y = 11;
int z = ++x + y++;
Kết quả: x=6; y=12; z=17
Toán tử điều kiện
(ĐK)?<BT cho trường hợp đúng>:<BT cho trường hợp sai>
Ví dụ:
int n;
(n%2==0)? n ++ : n ;

nếu n = 10 thì giá trị n = 11

nếu n = 21 thì giá trị n = 20
23
4567 89:;<6 =6>?@A>BC
() [] ->
 ,-&6:7
! ~ ++ - + * & sizeof

 ,-:76&
* / %
 ,-&6:7
+ -
 ,-&6:7
<< >>
 ,-&6:7
< <= >= >
 ,-&6:7
== !=
 ,-&6:7
&
! ,-&6:7
|
Z ,-&6:7
^
[ ,-&6:7
&&
 ,-&6:7
||
 ,-&6:7
? :
 ,-:76&
= += -= *= /= %=
 ,-:76&
24
*
Quên khai báo các biến sử dụng trong chương
trình.
*

Lưu một giá trị vào một biến nhưng không cùng
kiểu dữ liệu với biến.
*
Sử dụng biến trong một biểu thức khi nó chưa có
giá trị. Lỗi này thì không được phát hiện bởi
trình biên dịch, khi đó giá trị của biến là một giá
trị bất kỳ và kết quả của biểu thức là vô nghĩa.
25
*
Sử dụng giá trị của phép chia không chính xác. Lỗi này
thường xuất hiện trong các biểu thức có nhiều toán
hạng và lỗi này rất khó phát hiện.
Ví dụ: 3.2 + 2/3 + 1.5 thì sẽ cho kết quả sẽ bằng 4.7
thay vì kết quả đúng phải bằng 5.36666666666667
*
Sử dụng một biểu thức mà trong đó chứa nhiều loại dữ
liệu nhưng lại không biết chắc chắn kiểu dữ liệu của kết
quả.

×