You are on page 1of 26

Tin học cơ sở 2

Ngôn ngữ lập trình C++

Nguyễn Thị Hậu


nguyenhau2007@gmail.com
Giới thiệu môn học
• Tên môn học : Tin học cơ sở 2 (2 tín chỉ)
• Mục đích : Làm quen với ngôn ngữ lập trình (C++)
• Phân bố thời gian:
16 tiết lý thuyết + 2 tiết bài tập + 24 tiết thực hành
• Hình thức thi cử :
– Bài tập và chuyên cần (10 – 20 %)
– Thi thực hành giữa kỳ (20 -30%)
– Thi thực hành cuối kỳ (có thể có câu hỏi lý thuyết kèm theo)
• Tài liệu tham khảo:
Ngôn ngữ lập trình C++ , Phạm Hồng Thái
Object Oriented programming with C++ , E. Balagurusamy (Tata McGaw
Hill, 2nd Edition)
Quá trình phát triển của các ngôn ngữ
lập trình
Đôi nét về C++
• C++ do Bjarne Stroustrup phát tiển tại AT&T lab vào những năm dầu của
thập niên 80.
• C++ phát triển trên nền C
• Các yếu tố C++ mở rộng hơn C : classes, inheritance, function overloading,
operator overloading
Cấu trúc một chương trình C++
// In dòng chữ Hello World ra màn /* chú thích */
hình
#include <iostream.h> /* File thư viện chứa các hàm dùng
trong chương trình*/
using namespace std; /*khai báo namespace*/

int main ()
{ /*Chương trình chính*/
cout << "Hello World!"; /*In ra màn hình chuỗi ký tự*/
cin.ignore(2);
return 0; /* Giá trị trả về */
}
• Thông thường một chương trình gồm có các nội dung sau:
– Phần khai báo các tệp thư viện: khai báo tên các tệp chứa những thành
phần có sẵn (như các hằng chuẩn, kiểu chuẩn và các hàm chuẩn) mà
người dùng sẽ dùng trong chương trình.
– Phần khai báo các kiểu dữ liệu, các biến, hằng ... do người dùng định
nghĩa và được dùng chung trong toàn bộ chương trình.
– Danh sách các hàm của chương trình (do người dùng viết, bao gồm cả
hàm main()).
• Cấu trúc hàm main()
Kiểu_dữ_liệu main ( [tham số] )
{
/* Khai báo biến, hằng*/
/* câu lệnh*/
/*giá trị trả về */
}
Qui trình viết và thực hiện
chương trình
1. Xác định yêu cầu của chương trình
2. Xác định thuật toán giải.
3. Viết thành chương trình
4. Dịch chương trình nguồn để tìm và sửa các lỗi gọi là lỗi cú
pháp.
5. Chạy chương trình, kiểm tra kết quả in ra trên màn hình.
Các kiểu câu lệnh
- câu lệnh khai báo biến, hằng
- câu lệnh xuất nhập dữ liệu
- biểu thức toán
- câu lệnh điều khiển

Câu lệnh khai báo hằng :


const kiểu_dữ_liệu tên_hằng = const int so = 50 ;
giá_trị_hằng ;

Câu lệnh khai báo biến :

tên_kiểu tên_biến_1 ; int a; float i;


tên_kiểu tên_biến_1, tên_biến_2, char ch,name[30];
tên_biến_3 ;
tên_kiểu tên_biến_1 = gt_1; float a=20.2, b=10;
Các khái niệm cơ bản
1.Các ký tự trong C++
Ký tự

Chữ cái A , B, C,…, Z a,b,c,…, z


Chữ số 0,1,2,3,4,5,6,7,8,9
Dấu gạch dưới _

Các ký hiệu toán học +, -, *, /, % , &, ||, !, >, <, = ...


Ký tự đặc biệt ~!@#$…

Mỗi ký tự có một giá trị trong bảng mã ASCII.


Vd : ký tự ‘A’ có giá trị 65 trong bảng mã ASCII
2. Từ khóa
• Một từ khoá là một từ được qui định trước trong ngôn ngữ lập
trình (NNLT) với một ý nghĩa cố định, thường dùng để chỉ
các loại dữ liệu hoặc kết hợp thành câu lệnh
auto, break, case, char, continue, default, do, double, else,
externe, float,for, goto, if, int, long, register, return, short,
sizeof, static, struct, switch, typedef, union, unsigned, while ...
• Một đặc trưng của C++ là các từ khoá luôn luôn được viết
bằng chữ thường
3. Biến
• Tên biến là tên đặt cho một vùng trong bộ nhớ của máy tính.
• Mỗi kiểu biến chỉ chứa giá trị của kiểu dữ liệu tương ứng với nó :
ví dụ : int count;
‘count’ là biến số nguyên, chỉ chứa giá trị số nguyên từ -32,768 -> +32,767
• Quy tắc đặt tên biến :
– Tên biến là tổ hợp của chữ cái, chữ số, dấu gạch dưới ( _ ) .
– Ký tự đầu tiên của tên biến phải là chữ cái hoặc gạch dưới
– Tên biến không được trùng với từ khóa trong C++
– Vd tên biến hợp lệ : so123, chuoi, sinhvien, a1, dem,…
– Vd tên biến không hợp lệ : 8abc, abc@xyz,
4. Hằng

• Hằng số nguyên : 112, +112, -800,…


• Hằng số thực :
– dạng dấu phẩy tĩnh : 634.34, -768.0, …
– dạng dấu phẩy động : +3.1e8, 3.2e-8,-3.1e8,…
• - Hằng số ký tự : ’A’, ’5’,’=’,…
5. Biểu thức

• Biểu thức là dãy kí hiệu kết hợp giữa các toán hạng, phép toán và cặp dấu (
) theo một qui tắc nhất định. Các toán hạng là hằng, biến,hàm.
• vd :
b + 2*(c +d);
pow(2,3) +239;

6. Chú thích trong chương trình


Có 2 cách báo cho chương trình biết một đoạn chú thích:
• Nếu chú thích là một đoạn kí tự bất kỳ liên tiếp nhau (trong 1 dòng hoặc
trên nhiều dòng) ta đặt đoạn chú thích đó giữa cặp dấu đóng mở chú thích
/* (mở) và */ (đóng).
• Nếu chú thích bắt đầu từ một vị trí nào đó cho đến hết dòng, thì ta đặt dấu //
ở vị trí đó. Như vậy // sử dụng cho các chú thích chỉ trên 1 dòng.
Kiểu dữ liệu, các phép toán
1.Kiểu dữ liệu
Kiểu dữ liệu Ký hiệu Dung Miền giá trị
lượng

Số nguyên int 2 bytes -32768 ->32767


unsigned int 2 bytes 0 -> 65535
long 4 bytes

Ký tự char 1 byte -128 ->127


unsigned char 1 byte 0 -> 255

Số thực float 4 bytes -3.4e38 -> +3.4e38


double 8 bytes -1.7e308 ->+1.7e308
long double 10 bytes -1.7e4932 ->+1.7e4932
2. Các phép toán
2.1.Các phép toán số học

Thứ tự ưu Phép toán


tiên
1 *, /, % Nhân, chia, phần dư
2 +, - Cộng, trừ
3 =

Nếu có một chuỗi các phép toán cùng thứ tự ưu tiên thì phép toán xuất hiện
trước sẽ được thực hiện trước
Ví dụ : a= b*c + d*e;
i= 3/2*4 + 3/8 +3 ;
2.2.Các phép so sánh
== bằng nhau != khác nhau < nhỏ hơn > lớn hơn
<= nhỏ hơn hoặc bằng >= lớn hơn hoặc bằng
Đây là các phép toán mà giá trị trả lại là đúng hoặc sai. Nếu giá trị của biểu
thức là đúng thì nó nhận giá trị 1, ngược lại là sai thì biểu thức nhận giá trị
0
a=3;b=5;
a == b // = 0 vì sai
a != b // = 1
2.3. Các phép toán logic
&& (và), || (hoặc ), ! (không, phủ a b a&&b a||b !a
định) 0 0 0 0 1
0 1 0 1 1
a=3;b=4;c=5;
(a >1) && (b > c) 1 0 0 1 0
// = 0 vì có hạng thức (4>5) sai 1 1 1 1 0
(a >1) && (b < c)
// = 1 vì cả hai hạng thức cùng đúng
2.4. Các phép gán
• Phép gán thông thường : x= 6*y+3;
• Phép gán có điều kiện : biến = (điều_kiện) ? a: b ;
• Phép toán này gán giá trị a cho biến nếu điều kiện đúng và b nếu ngược lại
x = (4 > 7) ? 10: 20 // x = 20 vì 4>7 là sai
x = (3 < 4) ? 10: 20 // x = 10 vì 3<4 là đúng

• Cách viết gọn của phép gán:


x= x+2; có thể được viết lại x+=2;
x=x-2 x-=2;
x=x*2 x*=2;
x=x/2 x/=2;
2.5. Thứ tự ưu tiên của các phép toán :
1.Các biểu thức trong cặp dấu ngoặc ( )
2.Các phép toán 1 ngôi (tự tăng, giảm, lấy địa chỉ, lấy nội dung con trỏ
…)
3.Các phép toán số học.
4.Các phép toán so sánh, logic.
5.Các phép gán.
VÀO/RA TRONG C++
1.Vào dữ liệu từ bàn phím
cin >> biến_1 ;
hoặc:
cin >> biến_1 >> biến_2 >> biến_3 ;

2.In dữ liệu ra màn hình


cout << bt_1 ;
hoặc:
cout << bt_1 << bt_2 << bt_3 ;
cout<< “Chao mung ban den voi C++”;
Ví dụ 1
/*Chương trình kiểm tra ký tự vừa nhập từ bàn phím */
#include<iostream.h>
using namespace std;
int main()
{
char c;
cout<<"nhap chu cai vao";
cin>>c;
if(c>='a'&&c<='z')
cout<<"chu cai nay la chu cai thuong";
else if(c>='A'&&c<='Z')
cout<<"chu cai da cho la chu in hoa";
else
cout<<"khong la chu cai";
getchar();getchar();
return 0;
}
Ví dụ 2
/* Chương trình tính chu vi, diện tích hình chữ nhật*/
#include <iostream.h>
using namespace std;
int main()
{
int x,y,s1,c1;
cout << "hay nhap vao chieu dai,chieu rong hinh chu nhat :\n";
cin >> x>>y;
cout <<“x= ”<<x<<“,y=“<<y;
s1=x*y;
c1=2*(x+y);

cout <<"dien tich hinh chu nhat la : "<< s1<<"\n";


cout <<"chu vi hinh chu nhat la : "<<c1<<"\n";

cin.ignore(2);
return 0;
}

You might also like