13
CÚ PHÁP C++ CƠ BẢN 1.Định danh Định danh: Xâu ký tự thể hiện tên các biến, phương thức, các lớp và nhãn. 1.1.Quy định với định danh: - Các ký tự có thể là chữ số, chữ cái, '$' hoặc ‘_’ - Tên không được phép: + Bắt đầu bởi một chữ số. + Trùng với từ khóa. - Phân biệt chữ hoa chữ thường Yourname, yourname, YourName và yourName là 4 định danh khác nhau. 1.2.Từ khóa: Có 73 từ khóa and and_eq asm auto bitand bitor bool break case catch char class compl const const_cast continue default delete do double dynamic_cast else enum explicit export extern false float for friend goto if inline int long mutable namespace new not not_eq operato r or or_eq private protected public registe r reinterpret_ca st return short signed sizeof static static_cast struct switch template this throw true try typedef typeid typename union unsigned using virtual void volatile wchar_t while xor xor_eq 1.3.Qui ước với định danh Tên biến:

Bai 2 - Cu Phap C++ Co Ban

Embed Size (px)

Citation preview

Page 1: Bai 2 - Cu Phap C++ Co Ban

CÚ PHÁP C++ CƠ BẢN

1.Định danh

Định danh:

Xâu ký tự thể hiện tên các biến, phương thức, các lớp và nhãn.

1.1.Quy định với định danh:

- Các ký tự có thể là chữ số, chữ cái, '$' hoặc ‘_’- Tên không được phép:

+ Bắt đầu bởi một chữ số.+ Trùng với từ khóa.

- Phân biệt chữ hoa chữ thườngYourname, yourname, YourName và yourName là 4 định danh khác nhau.

1.2.Từ khóa: Có 73 từ khóa

and and_eq asm auto bitand bitorbool break case catch char class

compl const const_cast continue default delete

do double dynamic_cast else enum explicitexport extern false float for friend

goto if inline int long mutablenamespace new not not_eq operator oror_eq private protected public register reinterpret_cast

return short signed sizeof static static_cast

struct switch template this throw true

try typedef typeid typename union unsignedusing virtual void volatile wchar_t while

xor xor_eq

1.3.Qui ước với định danh

Tên biến:

Là 1 danh từ bắt đầu bằng 1 ký tự in thường các từ tiếp theo bắt đầu là 1 ký tự in hoa.

ex: line, audioSystem…

Biến chỉ số lượng nên có tiền tố “n”: nPoints, nLines

Tên hàm:

Page 2: Bai 2 - Cu Phap C++ Co Ban

Đặt tên “động” cho các hàm.

ex: getTime()

Các hàm trả về boolean nên đc đặt tên thể hiện giá trị nó trả về.

ex: isOctal(c)

Tên class và struct: Dùng chữ hoa tất cả các chữ cái đầu mỗi từ.

ex: Game, GameBoard

2. Các kiểu dữ liệu

Mọi biến đều phải khai báo một kiểu dữ liệu

Các kiểu dữ liệu cơ bản chứa một giá trị đơn

Kích thước và định dạng phải phù hợp với kiểu của nó

2.1.Các kiểu dữu liệu

Tên Số byte

Mô tả Miền giá trị

char 1 ký tự hay kiểu số nguyên 8-bit có dấu: -128 to 127không dấu: 0 to 255

short 2 kiểu số nguyên 16-bit có dấu: -32763 to 32762không dấu: 0 to 65535

long 4 kiểu số nguyên 32-bit có dấu:-2147483648 to 2147483647không dấu: 0 to 4294967295

int * Số nguyên. Độ dài của nó phụ thuộc vào hệthống, như trong MS-DOS nó là 16-bit, trênWindows 9x/2000/NT là 32 bit...

Xem short, long

float 4 Dạng dấu phẩy động 3.4e + / - 38 (7 digits)double

8 Dạng dấu phẩy động với độ chính xác gấpđôi

1.7e + / - 308 (15 digits)

long double

10 Dạng dấu phẩy động với độ chính xác hơnnữa

1.2e + / - 4932 (19 digits)

bool 1 Giá trị logic. Nó mới được thêm vào chuẩnANSI-C++. Bởi vậy không phải tất cả

true hoặc false

Page 3: Bai 2 - Cu Phap C++ Co Ban

cáctrình dịch đều hỗ trợ nó

Các hằng số

Các số nguyêno Cơ số hê 10

o Cơ số hệ 8: bắt đầu bởi 0

o Cơ số hệ 16: bắt đầu bởi 0X,oX,ox,Ox

Ex:75 //hệ 100113 //hệ 80x13 //hệ 16

Số thập phân (dạng dấu phẩy động)o float kết thúc bằng ký tự f (hoặc F)

7.1fo double kết thúc bằng ký tự d (hoặc D)

7.1Do e (hoặc E) được sử dụng trong dạng biểu diễn khoa học:

7.1e2o Một giá trị thực mà không có ký tự kết thúc đi kèm sẽ có kiểu là double

7.1 giống như 7.1d Kí tự và xâu kí tự

o Kí tự: được đặt trong cặp dấu nháy đơn

ex: ‘x’o Xâu kí tự: được đặt trong cặp dấu nháy kép

ex: ‘’x’’, ‘’Hello world’’ Các chuỗi ESCAPSE

Page 4: Bai 2 - Cu Phap C++ Co Ban

2.2.Ép kiểu

Một giá trị thuộc về những kiểu xây dựng sẵn mà chúng ta biết đến thời điểm này đều có thể được chuyển về bất kỳ một kiểu nào khác. Ví dụ:

(int) 3.14 // chuyển 3.14 sang int để được 3

(long) 3.14 // chuyển 3.14 sang long để được 3L

(double) 2 // chuyển 2 sang double để được 2.0

(char) 122 // chuyển 122 sang char có mã là 122

(unsigned short) 3.14 / / được 3 như là một unsigned short

Như đã được trình bày trong các ví dụ, các định danh kiểu xây dựng sẵn có thể được sử dụng như các toán tử kiểu. Các toán tử kiểu là đơn hạng (nghĩa là chỉ có một toán hạng) và xuất hiện bên trong các dấu ngoặc về bên trái toán hạng của chúng. Điều này được gọi là chuyển kiểu tường minh. Khi tên kiểu chỉ là một từ thì có thể đặt dấu ngoặc xung quanh toán hạng:

int(3.14) // như là: (int) 3.14

Trong một vài trường hợp, C++ cũng thực hiện chuyển kiểu không tường minh. Điều này xảy ra khi các giá trị của các kiểu khác nhau được trộn lẫn trong một biểu thức. Ví dụ:

double d = 1; // d nhận 1.0

int i = 10.5; // i nhận 10

i = i + d; // nghĩa là: i = int(double(i) + d)

Page 5: Bai 2 - Cu Phap C++ Co Ban

Trong ví dụ cuối , i + d bao hàm các kiểu không hợp nhau, vì thế trước tiên i được chuyển thành double (thăng cấp) và sau đó được cộng vào d. Kết quả là double không hợp kiểu với i trên phía trái của phép gán, vì thế nó được chuyển thành int (hạ cấp) trước khi được gán cho i.

2.3.Khai báo và khởi tạo biến

Các biến đơn (biến không phải là mảng) cần phải được khởi tạo trước khi sử dụng trong các biểu thức

Có thể kết hợp khai báo và khởi tạo cùng một lúc. Sử dụng dấu =

Ví dụ:

int i; // Khai báo biếni = 0; int k =i+1;cout<<i; // In ra 0cout<<k; // In ra 1

2.4.Phạm vi biến

Global variables (biến toàn cục) có thể được sử dụng ở bất kỳ đâu trong chương trình, ngay sau khi nó được khai báo.

Local variables (biến cục bộ) bị giới hạn trong phần mã mà nó được khai báo.

Thêm vào các biến toàn cục và cục bộ, còn có các biến ngoài (external). Các biến này không những được dùng trong một file mã nguồn mà còn trong tất cả các file được liên kết trong chương trình.

Ví dụ:

#include <stdio.h>

#include<conio.h>

void show() {

int i;//Biến cục bộ

for (i=0; i<100; i++) cout<<i;

}

void main() {

int i; //Biến toàn cục

Page 6: Bai 2 - Cu Phap C++ Co Ban

show();

}

Chú thích

C++ hỗ trợ 2 kiểu chú thích

// Chú thích trên một dòng /* Chú thích

một đoạn */

Câu lệnh

Các câu lệnh kết thúc bởi dấu ; Nhiều lệnh có thể viết trên một dòng. Một câu lệnh có thể viết trên nhều dòng

Ví dụ:

int x=0; int y=1;cout <<

“Hello! My name is Hoang”;

3. Toán tử (Operators)

Kết hợp các giá trị đơn hoặc các biểu thức con thành những biểu thức mới, phức tạp hơn và có thể trả về giá trị.

C++ cung cấp nhiều dạng toán tử sau:

Toán tử số học+, -, *, /, %

Toán tử bitAND: &, OR: |,XOR: ^,NOT: ~Dịch bit: <<,>>

Toán tử quan hệ==, !=, >, <, >=, <=

Toán tử logic&&, ||, !

Toán tử gán=, +=, -=, %=

Toán tử một ngôiĐảo dấu: +, -

Page 7: Bai 2 - Cu Phap C++ Co Ban

Tăng giảm 1 đơn vị: ++, --Phủ định một biểu thức logic: !

4. Cấu trúc điều khiển

4.1. Lệnh if –else

Cú pháp

if (dieu_kien){

cac_cau_lenh;

}

else{

cac_cau_lenh;

}

• Mệnh đề else là tùy chọn

Ví dụ: Kiểm tra số chẵn –lẽ

void main(){

int num =10;

if (num %2 == 0)

cout<<num <<” la so chan”;

else

cout<<num <<”la so le”;

}

4.2. Lệnh switch –case

Kiểm tra một biến đơn với nhiều giá trị khác nhau và thực hiện trường hợp tương ứng- break: Thoát khỏi lệnh swith-case.

Page 8: Bai 2 - Cu Phap C++ Co Ban

- default: kiểm soát các giá trị nằm ngoài các giá trị case.

Ví dụ

Lệnh switch –case

switch (day){

case 1:

s = “Sunday”;

break;

case 2:

s = ”Monday”;

break;

case 7:

s = “Saturday”;

break;

default:

s = “error !”;

break;

}

Page 9: Bai 2 - Cu Phap C++ Co Ban

4.3. Vòng lặp while và do...whileThực hiện một câu lệnh hoặc một khối lệnh khi điều kiện vẫn nhận giá trị true. Vòng

while có thể kết thúc mà không thực hiện 1 lệnh nào. Còn do...while sẽ thực hiện lệnh ít nhất 1 lần.

Ví dụ:

int x = 2;

while (x <2 ){

x++;

cout<<x <<”\n”;

int x = 2;

do {

x++;

cout<<x;

} while (x < 2);

4.4. Vòng lặp for

Cú pháp:

for(Startexpr; Testexpr; Incrementexpr){

// code to execute repeatedly

Page 10: Bai 2 - Cu Phap C++ Co Ban

}

Chú ý:- Startexpr chỉ được thực hiện 1 lần.- 3 biểu thức đều có thể vằng mặt.- Có thể khai báo biến trong câu lệnh for.

Ví dụ:

for (int i = 0; i < 10; i++)

sum+=i;

cout<<”Tong cua 10 so tu nhien dau tien la “ <<sum;

4.5. Các lệnh thay đổi cấu trúc điều khiển

break- Có thể được sử dụng để thoát ra ngoài câu lệnh switch.- Kết thúc vòng lặp for, while hoặc do...while.

continue- Có thể được sử dụng cho vòng lặp for, while hoặc do...while.- Bỏ qua các câu lệnh còn lại của vòng lặp hiện thời và chuyển sang thực hiện vòng

lặp tiếp theo.

5. Mảng (array)

Tập hợp hữu hạn các phần tử cùng kiểu. Phải được khai báo trước khi sử dụng. Khai báo:

- Cú pháp:kieudulieu tenmang[KTMANG];

- Ví dụ:float a[100]; //Khai báo mảng một chiềuint matrix[10][10]; //Khai báo mảng hai chiềuint [4] = { 21, 9, 23, 10 };

Chú ý- Nếu không khởi tạo mảng nhận giá trị mặc định tùy thuộc vào kiểu dữ liệu.- Luôn bắt đầu từ phần tử có chỉ số 0.

SO SÁNH VỚI C VÀ JAVA

C++ C Java

OOPHỗ trợ lập trình hướng

đối tượng và hướng cấu trúc

Hỗ trợ lập trình hướng cấu trúc

Hỗ trợ lập trình lập trình hướng đối tượng

Page 11: Bai 2 - Cu Phap C++ Co Ban

Biên dịchSourcecode được dịch

thành mã máySourcecode được dịch thành

mã máy

Sourcecode được dịch thành bytecode. Rồi được

thông dịch bởi JVMKhả

chuyểnKhông Không Có

Kiểu dữ liệu

char,short, int, long int, float, double, long double,bool, pointer

Một số kiểu dữ liệu gồm 2 loại: không dấu

và có dấu

char, short, int, long int, float, double, long double,

pointer

Một số kiểu dữ liệu gồm 2 loại: không dấu và có dấu

Kiểu dữ liệu nguyên thủy: integer, float, char,

Boolean.

Kiểu dữ liệu tham chiếu: array, object

Các kiểu chương

trìnhỨng dụng Ứng dụng

Ứng dụng, applet, ứng dụng web

Toán tử Giống nhau

Cấu trúc điều khiển

Giống nhau

Keyword 73 32 50