Bài giảng Ngôn ngữ lập trình C++

Chương I: Ngôn ngữ C++

Bài 1: Giới thiệu

I. Ngôn ngữ lập trình

 Là công cụ để giải bài toán trên máy tính

II. Giao diện Borland C (Turbo C++)

1. Khởi động -thoát khỏi Turbo C++

a. Khởi động

Kích đôi chuột vào biểu tượng Turbo C++ trên màn hình Desktop.

ppt132 trang | Chia sẻ: hienduc166 | Lượt xem: 1331 | Lượt tải: 0download
Bạn đang xem trước 20 trang tài liệu Bài giảng Ngôn ngữ lập trình C++, để xem tài liệu hoàn chỉnh bạn click vào nút TẢI VỀ ở trên
nh menu- Thao tác với thanh menu:+ Dùng chuột:+ Bàn phím: .ấn F10 rồi dùng các phím mũi tên. .ấn tổ hợp phím Alt và chữ cái gạch chân. 6Trang b.Cửa sổ soạn thảo chương trình - Khi con trỏ nhấp nháy ta có thể gõ vào các dòng lệnh của tập tin nguồn- Dùng chuột hoặc các phím trong quá trình soạn thảo	7Trang + Các phím mũi tên+ Lên trang trên, xuống trang dưới: PgUp, PgDn8Trang - Các lệnh chèn, xoá+ Chế độ chèn : Insert+ Xoá dòng có con trỏ đang đứng: Ctrl + Y+ Xoá kí tự ở bên trái, phải và ngay vị trí con trỏ: BackSpace, Delete.9Trang - Các lệnh về khối văn bản thường dùng+ Đánh dấu khối: Shift + một phím mũi tên+ Sao chép khối: Edit \ Copy (Ctrl + Insert).10Trang + Dán khối: Edit \ Paste (Shift + Insert)+ Di chuyển khối: Edit\Cut (Shift + Delete)+ Xoá khối: Ctrl+ Delete+ ẩn hiện khối: Ctrl + K + H 11Trang c. Phần cửa sổ thông báo (message) và quan sát (watch)- Khi chạy chương trình gặp lỗi sẽ hiển thị trong cửa sổ thông báo	12Trang d. Thanh trạng tháiKhi ở chế độ soạn thảo: F1: Help- F2: Save Tên.Cpp F3: Open F4: Go to Cursor F5: Zoom F6: Next13Trang F7: Trace Into F8: Step Over F9: Make F10: Menu14Trang Tổ hợp phím cần nhớ:+ Ctrl + F9: Compile & Run+ Alt + F5: User screen+ Alt + F3: Close + Alt + F8: Next Msg+ Alt + F7: Prev Msg15Trang IV. Cấu trúc chung của chương trình C++# include void main()	{	 //Các câu lệnh ghi ở đây 	 ...	}16Trang //Khai báo các hàmKiểu_dữ_liệu Tên_hàm (Các tham số) 	{	 .. .// các lệnh của hàm 	 	return (...); // Trả về giá trị nào đó cho tên hàm	}17Trang - Ví dụ: Chương trình in ra dòng chữ: Hello K5T1B18Trang # include #include void main()	{	cout28Trang 2. Cách ghi lời giải thích- Lời giải thích không có tác dụng tạo ra mã chương trình. Nó chỉ đơn giản là lời thuyết minh cho dễ hiểu- Phần lời giải thích đặt trên 1 dòng:	+ Dùng cặp kí hiệu //	+ Mỗi cặp // chỉ có tác dụng từ // đến hết dòng29Trang - Ví dụ: 	// Bat dau chuong trinh chinh	void main()	{ .. . }	30Trang V. Lệnh nhập, xuất1. Xuất dữ liệu ra màn- Cú pháp:	cout ;Trong đó: Tham số có thể là hằng, biến, biểu thức, hàm, phần tử mảng, .. . mà giá trị của nó cần hiển thị lên màn hình31Trang - Ví dụ:	cout> ;	Tham số: chỉ có thể là biến- Ví dụ:	cout>x;- Công dụng: Dùng để đọc các kí tự từ bàn phím, chuyển dịch và lưu nó vào một ô nhớ xác định33Trang - Chú ý: 	Khi dùng hàm cout và cin phải khai báo	#include 34Trang 3. Hàm xoá màn hình- Cú pháp:	clrscr();- Công dụng: Xoá sạch màn hình lần chạy trước khi chạy chương trình- Chú ý: Khi dùng phải khai báo	#include35Trang 4. Hàm getch()- Cú pháp: 	getch();- Công dụng: Dừng màn hình để xem kết quả hiển thị- Chú ý: Khi dùng phải khai báo 	#include 36Trang 5. Hàm đọc vào một xâu kí tự- Cú pháp: 	gets(); Trong đó Tham_số là biến kiểu char.- Ví dụ: char s;	gets(s);- Chú ý: Khi dùng phải khai báo 	 #include 37Trang Bài 3: Kiểu dữ liệu, biến, hằngI. Kiểu dữ liệu1. Phân loại38Trang 	Số nguyênSố thựcKiểu kí tựDo người lập trình tự định nghĩaCơ sởKiểu con trỏKiểu dữ liệu có cấu trúcKiểu vô hướngMảngCấu trúcTập tin39Trang 2. Kiểu số nguyênTừ khoá Số byte Dải giá trị char	1 -128.. .127 int	 ?	 ? long	 ?	 ? unsigned int	 ?	 ?unsigned long	? 	 ?40Trang 3. Kiểu số thựcTừ khoá Số byte Dải giá trị float	 ?	 ? double	 ?	 ?long double	 ?	 ?	 	41Trang 4. Kiểu kí tự- Từ khoá: char- Hằng kí tự đặt trong cặp dấu ‘ ’- Ví dụ:	char s;	s=‘C’;	42Trang Xâu (chuỗi) kí tự đặt trong cặp 	“ ”- Ví dụ:	char st[100];	st =“Chao cac ban!”;	43Trang II. Biến1. Khái niệm- Là một đại lượng có thể thay đổi giá trị khi thực hiện chương trình.44Trang 2. Khai báo- Cú pháp: ;+ Trong đó TenBien được đặt tên theo qui tắc đặt tên.+ Muốn khai báo từ 2 biến trở lên có cùng KDL thì các tên biến đặt cách nhau bởi dấu ,- Ví dụ:	float y;	float a, b;45Trang * Vị trí khai báo biến: Các biến phải được khai báo trước khi sử dụng.Khai báo biến ngoài: Biến được khai báo sau khi khai báo thư viện. -> biến có thể được sử dụng bất kỳ đâu trong chương trình (biến công cộng hay toàn cục).46Trang + Ví dụ:	#include int x;	void main()	{	...	}47Trang - Khai báo biến trong: Các biến được đặt trong hàm hoặc trong khối lệnh.	-> Biến chỉ có tác dụng trong hàm hoặc trong khối lệnh (biến địa phương). 	48Trang + Ví dụ: void InSo( )	{	int i = 100;	cout biến i chỉ có tác dụng trong hàm InSo.	49Trang - Khai báo đối số hàm:+ Vị trí của biến đặt trong phần định nghĩa tham số hàm.Ví dụ:int tong(int x, int y){	return (x + y);}50Trang 3. Gán và lấy giá trị- Mỗi biến đều có kiểu dữ liệu của chúng. Nếu không gán giá trị ban đầu cho biến thì biến mang giá trị trong miền kiểu dữ liệu được khai báo.51Trang - Khai báo và gán: = ; Ví dụ 1:	int x; cout =;- Ví dụ: const float pi =3.14; const float trieu = 1000000;53Trang 2. Cách sử dụng- Sau khi khai báo hằng, trong chương trình khi sử dụng TenHang sẽ được thay bằng GiaTri- Ví dụ:	 const float trieu = 1000000;	 ...cout, =, ==, !=).- Biểu thức logic: Là biểu thức về nguyên tắc có giá trị đúng (True) hoặc sai (False).56Trang Phép gán: biến = biểu thức;Ví dụ: long x, y; x = 100; y = x + 200; 57Trang 2. Các phép toánCác phép toán số học: +, -, *, /, %c. Các phép toán quan hệ: , =, ==, !=b. Các phép toán logic: &&, ||, ! 58Trang d. Các phép tăng, giảm một giá trị- Phép toán tăng: i = i + 1 được viết: i++ hoặc ++i- Phép toán giảm: i = i -1 được viết: i-- hoặc -- iSự khác nhau giữa ++i và i++ ++i : i được tăng trước khi gán i++: i được gán trước khi tăng59Trang Ví dụ: cho x = 3 a = x++; a = ++ x; a = x--; a = --x; 3. Phép chuyển đổi kiểuCú pháp: (kiểu) (biểu thức)Ví dụ: 	cout a thì max =b In kết quả max.Chương trình	#include	#include73Trang void main() { int a, b, max; cout>a; cout>b; max = a; if (b > a) 	max = b; cout a thì max=b; Ngược lại	max = a; In kết quả max.77Trang Chương trình#include#includevoid main() { int a, b, max;	cout>a;	cout>b;78Trang if (b > a) 	max =b;	else 	max =a;	cout){	 case : [Khối lệnh 1]; 	[break];	 case : [khối lệnh 2];	 [break];	 	......	 case : [khối lệnh n];	 [break];	 [default : [khối lệnh n + 1];]}81Trang b. Hoạt động- Tính giá trị của biểu thức, nếu biểu thức bằng , trong đó: i [1, n] thì sẽ thực hiện từ trở đi cho đến khi gặp lệnh break hoặc đến hết lệnh switch.- Nếu giá trị của không bằng một trong các giá trị được liệt kê sau case thì câu lệnh sau default (nếu có) sẽ được thực hiện hoặc thoát khỏi câu lệnh switch.82Trang c. Ví dụ: Viết chương trình nhập vào số nguyên xem có phải là số 0 hay 1 hay 2, nếu không phải 1 trong 3 số trên thì xuất ra dòng chữ “xin chao”Chương trình	#include	#include83Trang void 	main() { int n; cout>n;84Trang switch(n ) { case 0 : cout#includevoid main()	{	int diem;	cout>diem; 88Trang 	switch(diem)	{	case 0:	case 1:	case 2:	case 3: cout0)Chương trình#include#include96Trang { int n, s, i ; cout>n; s = 0; for( i = 1 ; i ) 	[khối lệnh ];98Trang 2. Hoạt động- Nếu biểu thức cho giá trị đúng (hoặc  0) thì thực hiện khối lệnh và quay lại kiểm tra điều kiện. - Nếu biểu thức cho giá trị sai (hoặc =0) thì thoát khỏi vòng lặp99Trang 3. Minh họa: Ví dụ 1:Viết chương trình tính ước số chung lớn nhất của 2 số nguyên dương a, b.100Trang Ví dụ 2: Viết chương trình nhập từ bàn phím vào tiền vốn, lãi suất /1 năm. Hỏi đến năm bao nhiêu tiền có được gấp đôi tiền vốn ban đầu.101Trang III. Vòng lặp do...while1. Cú pháp do { khối lệnh; }while( ); 2. Hoạt động - Bước 1: Thực hiện khối lệnh - Bước 2: kiểm tra biểu thức, nếu biểu thức cho giá trị đúng (hoặc # 0) thì quay lại bước 1, ngược lại thoát khỏi vòng lặp.102Trang 3. Ví dụ: Tính tổng S = 1 + 2 + 3 ++ n, với n nhập từ bàn phím (n >0).Chương trình#include#include103Trang void main(){	int n, s, i ;	cout>n;	s = 0; i =1;	do{	 s = s + i;	 i++;	 }while(i { 	[return (giá_trị_trả_về)]}1. Cú pháp107Trang a. Truyền theo giá trị:2. Truyền tham số thực cho các đối số- Giá trị của tham số thực trước và sau khi gọi hàm là không thay đổi.b. Truyền theo điạ chỉ:&a: kí hiệu địa chỉ bộ nhớ chứa giá trị avd: andy = 25;	 fred = andy;	 ted = &andy;108Trang 109Trang *a: giá trị được lưu trữ trong bộ nhớ có địa chỉ là a.110Trang Cú pháp: Tên_hàm()III. Lời gọi hàm:Ví dụ: Ta viết hàm GT (tính giai thừa) của số nguyên n , như sau:long int GT(int n){ 	long int gt = 1;	for(int i = 1; i >n	cout ;Ví dụ: int x[10];// mảng x gồm 10 phần tử114Trang - Các phần tử trong mảng được đánh số thứ tự lần lượt từ 0 đến (số phần tử -1)- Để truy suất đến các phần tử của mảng ta dùng cặp dấu [chỉ số phần tử của mảng]Ví dụ: x[3]: phần tử thứ 2 trong mảng.115Trang III. Các thao tác trên mảng1. Nhập mảng:	Với n là số phần tử của mảng, đoạn chương trình sau thực hiện nhập mảng a.	for( int i = 0; i >a[i]; }	116Trang 2. Xuất mảng:	Xuất mảng a sau khi đã được nhập ở phần trên: for( i = 0; i # includemain(){ 	int i, n, a[100]; cout>n; 	cout>a[i];	}118Trang 	cout# includemain(){ 	int i, j, n, a[100],t;	cout>n; 	// nhap mang 	for(i = 0 ; i >a[i];	 }120Trang // sap xep for(i = 0; i a[j])	 {	t = a[i];	a[i] = a[j]; 	a[j] = t	 } cout[độ dài tối đa];Ví dụ: char st[255]1. Cú pháp124Trang - hoặc có thể khai báo:char st[]=“ Day la xau ki tu”2. Truy cập các phần tử của xâu:- Có thể truy cập vào từng kí tự của xâu với tên biến và chỉ số đặt trong ngoặc vuông như truy cập đến phần tử của mảng.- Chỉ số xâu chạy từ 0 đến độ dài tối đa của xâu kí tự.125Trang III. Các hàm xử lý chuỗi:1. Nhập chuỗi: char hoten[30];-> Có hai cách nhập chuỗi:- cin>>hoten;// gặp kí tự trắng thì kết thúc việc nhập.- gets(hoten);// máy vẫn hiểu ngay cả nhập khoảng trắng, kết thúc việc nhập bằng phím Enter.126Trang - Sử dụng hàm gets(..) thì phải khai báo thư viện stdio.h2. Xuất chuỗi:	Dùng lệnh cout)	S : là chuỗi cần tính chiều dài.- Nội dung: tính chiều dài của chuỗi S.- Viết hàm định nghĩa 128Trang int	 chieudai(char s[20]){	int length = 0;	for(int i = 0; s[i] != ‘\0’ ; i++)	length ++;	return length;}129Trang 4. Hàm copy một chuỗi:- Cú pháp:	strcpy( T, S)	S : là chuỗi nguồn.	T: là chuỗi đích.- Nội dung: copy chuỗi S vào chuỗi T.- Viết hàm định nghĩa130Trang void str_copy(char t[20], char s[20]){	int i = 0;	while(s[i] !=‘\0’)	{	t[i] = s[i];	i ++;	}}131Trang 132Trang 

File đính kèm:

  • pptC.ppt