1. Trang chủ
  2. » Công Nghệ Thông Tin

Tài liệu ngôn ngữ lập trình C++, nnlt c++ cơ bản

53 616 1

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 53
Dung lượng 851 KB
File đính kèm Basics of C++.rar (530 KB)

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

C++ cơ bản hay nhất, tốt nhất, đầy đủ nhất: C++ là ngôn ngữ lập trình hỗ trợ lập trình thủ tục, dữ liệu trừu trượng, lập trình hướng đối tượng, và lập trình đa hình. C++ chứa một lượng lớn các chương trình viết sẵn nằm trong thư viện chuẩn C++ (STL Standard Template Library).

Trang 1

Chuyên đề 1

Một số nội dung NNLT C++

Trang 2

chương trình viết sẵn nằm trong

thư viện chuẩn C++ (STL -

Standard Template Library)

Trang 3

*NNLT C++

-Ngôn ngữ lập trình C++ được cho là ngôn ngữ

lập trình phổ biến nhất hiện nay vì tính tiện dụng

và linh hoạt Các nhà lập trình dùng nó để thiết

kế và cài đặt các phần mềm ứng dụng lớn C++

có thể can thiệp sâu vào các phần mềm hệ thống

và phần cứng.

-Các ứng dụng nổi tiếng như HĐH Windows,

máy tìm kiếm Google…Sau khi biết về ngôn ngữ lập trình C++, ta rất dễ tiếp cận các ngôn ngữ lập trình bậc cao khác như C#, Visual C++, Visual studio NET, Java hay PHP …

Trang 5

Bài 1 CHƯƠNG TRÌNH ĐƠN GIẢN

Trang 6

I Cấu trúc chương trình

***Chương trình 1

Trang 7

I Cấu trúc chương trình/ ***Chương trình 1

Chú thích được NLT dùng để minh họa, giải thích hay

bình phẩm trong mã nguồn Được bỏ khi biên dịch chương trình

Trang 8

I Cấu trúc chương trình/ ***Chương trình 1

Minh họa:

Trang 9

I Cấu trúc chương trình/ ***Chương trình 1

-Dòng 2 #include <iostream>: Đây là khai báo thư viện

iostream chứa các lệnh, hàm… vào ra cơ bản trong C++.

2 Khai báo thư viện:

Khi lập trình, để sử dụng chương trình có sẵn trong thư viện nào thì ta phải khai báo thư viện đó, khai báo thư viện như sau:

#include <tên thư viện>

-Nếu cần khai báo nhiều thì mỗi thư viện viết trên một

dòng.

Ví dụ: #include<iostream>

#include<cmath> //chứa các thuật toán toán học

Trang 10

I Cấu trúc chương trình/ ***Chương trình 1

-Dòng 3 “using namespace std;" cho phép sử dụng không

gian chuẩn làm mặc định và khi tham chiếu đến các thực thể trong nó thì không cần có tiền tố std::

Ví dụ: std::cout<<“Hi”; và cout<<“Hi”;

-Dòng 4 int main ()

Hàm main() là thân chương trình chính, không phụ

thuộc vào vị trí đặt hàm (ở đầu, cuối hay ở giữa của mã

nguồn) nó luôn được thực hiện đầu tiên khi chạy chương trình, mọi chương trình C++ đều tồn tại một hàm main()

Trang 11

I Cấu trúc chương trình/ ***Chương trình 1

3 Dòng đầu ra chuẩn (standard output stream)

cout là luồng đầu ra chuẩn được định nghĩa trong thư viện iostream, kết hợp với toán tử << để đưa thông tin ra thiết bị xuất Ví dụ:

cout<< “NNLT C++”<<endl;

cout<< “Xin chao 10Tin K25” <<“\nChuc cac ban hoc GIOI”;

-endl và \n để đưa con trỏ xuống đầu dòng mới.

-Dấu chấm phảy (;) xác định kết thúc mỗi lệnh trong C+

+.

Trang 12

I Cấu trúc chương trình/ ***Chương trình 1

-Dòng 6 return 0;

Lệnh kết thúc hàm main() và trả về giá trị 0 Đây là một kết thúc bình thường của một chương trình không có một lỗi nào trong quá trình thực hiện

-Cặp ngoặc { } thể hiện là một câu lệnh ghép hay khối

lệnh, hoặc bắt đầu và kết thúc hàm.

Trang 13

I Cấu trúc chương trình

*** Chương trình 2 Chương trình nhận vào bán kính r từ bàn phím, hiện chu vi và diện tích ra màn hình.

Trang 14

I Cấu trúc chương trình *** Chương trình 2

-Dòng 2 #define PI 100 là khai báo hằng tên là PI mang giá

trị 3.14 Trong các biểu thức liên quan ta dùng PI thay vì giá trị 3.14.

•Trong hệ cơ số 8, thêm số 0 ở đầu: 012,055…

•Trong hệ cơ số 16, thêm 0x ở đầu số: 0x35…

Ví dụ số 65(10) trong hệ 8 là 101(8) và hệ 16 là 41(16), cách viết

tương ứng 65, 0101, 0x41 cùng biểu diễn giá trị 65(10).

Trang 15

I Cấu trúc chương trình *** Chương trình 2

+Hằng logic: True (1), False (0)

+Hằng xâu kí tự: là dãy các kí tự: “I love you”; “Lop 10 Tin”; đặt trong cặp nháy kép (“ ”).

Trang 16

I Cấu trúc chương trình *** Chương trình 2

4 Hằng

-Hằng mang tên – hằng chuẩn:

được ngôn ngữ lập trình quy định sẵn như INT_MAX,

INT_MIN… và được viết IN HOA trong thư viện climits Người sử dụng phải khai báo thư viện chứa hằng khi muốn

sử dụng chúng

Trang 17

I.Cấu trúc chương trình *** Chương trình 2.

4 Hằng

-Hằng do người lập trình tự định nghĩa (khai báo):

Cú pháp: #define <tên_hằng> <giá trị>

Hoặc const <kiểu_dữ_liệu> <tên_hằng> = <giá_trị>;

Hoặc const <tên_hằng> = <giá_trị>;

Trang 18

I Cấu trúc chương trình *** Chương trình 2

-Dòng 5 float r, dt, cv; khai báo biến r, dt, cv kiểu số thực

float để lưu giá trị bán kính, diện tích và chu vi

5 Biến

-Biến là đại lượng được đặt tên để mang giá trị và có thể

thay đổi khi thực hiện chương trình Trong lập trình,

muốn lưu trữ giá trị nào đó thì phải khai báo biến để mang

-Khi khai báo, máy tính cấp cho mỗi biến một vùng nhớ

tương ứng với kích thước tên kiểu dữ liệu được khai báo

-Biến phải được khai báo trước khi sử dụng và có thể

khai báo ngay tại vị trí bắt đầu dùng.

Trang 19

I Cấu trúc chương trình *** Chương trình 2

5 Biến

Cách khai báo (declaring variables):

-Cách 1: khai báo thường.

Tên_Kiểu_dữ_liệu <biến1>, <biến2>, …;

-Cách 2: khai báo và khởi tạo giá trị đầu.

C1: Tên_Kiểu_dữ_liệu biến1=<giá trị 1>, biến2=<giá trị 2>,

…;

Ví dụ:

-long a,b; //khai biến a và b kiểu long

-int n=10; //khai báo và khởi tạo biến n=10

-int i(2),k=n + 5;// biến i nguyên và khởi tạo bằng 2, k bằng 15 -float eps=1.0e-6; // biến thực eps khởi tạo bằng 10 -6

-char c = 'Z'; // biến c kiểu kí tự và khởi tạo bằng 'Z'

Trang 20

I Cấu trúc chương trình *** Chương trình 2

-Dòng 7 cin>>r; khi chạy chương trình, máy

chờ người nhập vào giá trị số từ bàn phím, máy

sẽ lưu trữ giá trị đó vào ô nhớ r.

6 Dòng đầu vào chuẩn (standard input

stream)

cin là luồng đầu vào chuẩn, kết hợp với toán

tử >> để đọc dữ liệu từ thiết bị vào và lưu vào ô nhớ của biến ngay sau >>

Cú pháp: cin>>biến_1 >>biến_2 …

Khi nhập các giá trị khác nhau phải cách

nhau 1 dấu cách hoặc dấu “enter”

Trang 21

I Cấu trúc chương trình *** Chương trình 2

-Dòng 8 dt=PI*r*r; và dòng 9 cv=PI*r; là các

công thức tính diện tích và chu vi theo r (bán kính).

7 Toán tử gán - công thức

Dấu bằng (=) gọi là toán tử gán, bên trái dấu

= bắt buộc là một biến, bên phải là một biếu

thức Biểu thức có thể là hằng, biến hoặc là sự kết hợp giữa hằng, biến, phép toán và dấu

ngoặc tròn - ()

Máy tính giá trị của biểu thức ở vế phải và

gán cho biến ở bên trái lưu trữ

Trang 22

I Cấu trúc chương trình *** Chương trình 2

7 Toán tử gán - công thức

-a=100; // gán giá trị 100 cho biến a

-a=a+1; // tính a+1, gán lại cho biến a

Trang 23

I Cấu trúc chương trình *** Chương trình 2

Trang 24

II Phần mềm codeblocks

1 Giới thiệu

-CodeBlocks là một Môi trường phát triển tích hợp (IDE) hỗ

trợ lập trình C++, có giao diện đẹp và miễn phí CodeBlocks kết hợp trình biên dịch MinGW cho phép soạn thảo, biên dịch (compiler) và gỡ lỗi (debbuger) rất thuận tiện.

-Biểu tượng phiên bản 13.12:

Trang 25

-Thiết lập dịch: Từ cửa sổ CodeBlocks, kích

Settings/Compiler, x.h hộp thoại Compiler

Trang 26

II Phần mềm codeblocks

1 Giới thiệu

-Thiết lập thông số của Debug, kích menu Project/ Biuld

Option/ và đảm bảo đặt dấu tích vào dòng “produce debugging symbols [-g]”/ OK:

Trang 27

II Phần mềm codeblocks

2 Soạn thảo và thực hiện chương trình

B1: Tạo file CPP

-Menu File/ New/ Empty file, xuất hiện cửa

sổ soạn thảo mới với tên Untitled1…

-Menu “File/ Save”, đặt tên tệp mới (ví dụ:

Tong.cpp) và kích nút Save/ chọn tiếp OK.

-Soạn thảo mã nguồn cho bài toán.

Ví dụ: Viết chương trình nhập vào hai số

nguyên a và b từ bàn phím, in lên màn hình

tổng giá trị của hai số a + b như sau:

Trang 28

Viết chương trình nhập vào hai số nguyên a và b từ bàn phím, in

lên màn hình tổng giá trị của hai số a + b như sau:

Trang 31

Nếu hết lỗi cú pháp, CT sẽ thực thi luôn và

xuất hiện màn hình Console

Nhập vào 2 số nguyên có giá trị 4 và 5

<enter> xuất hiện như hình dưới đây:

Trang 32

III Kiểu dữ liệu chuẩn, các phép toán.

1 Kiểu dữ liệu chuẩn

-Dùng để mô tả thông tin đầu vào, đầu ra và tính toán

trung gian Bao gồm các loại sau:

-Kiểu ký tự (char): Biểu diễn ký tự thông qua bảng mã

ASCII (‘A’, ‘$’, ‘9’ ) mỗi kí tự chiến một byte:

Trang 33

III Kiểu dữ liệu chuẩn, các phép toán.

- Kiểu ký tự (char):

Trang 34

III Kiểu dữ liệu chuẩn, các phép toán.

- Kiểu ký tự (char):

Trang 35

III Kiểu dữ liệu chuẩn, các phép toán.

1 Kiểu dữ liệu chuẩn

-Kiểu số nguyên - Numerical integer types:

Có thể biểu diễn các giá trị như 5, 178, 1024 và

tồn tại ở nhiều tên với kích thước khác nhau 1, 2

hoặc 4 byte thuộc số nguyên không dấu

(unsigned) và có dấu (signed)

Trang 36

III Kiểu dữ liệu chuẩn, các phép toán.

1 Kiểu dữ liệu chuẩn

-Kiểu số thực (dấu phảy động):

Trang 37

III Kiểu dữ liệu chuẩn, các phép toán.

1 Kiểu dữ liệu chuẩn

-Kiểu ký tự (char):

-Kiểu số nguyên - Numerical integer types:

-Kiểu số thực (dấu phảy động):

-Kiểu logic - Boolean type: Với tên bool thể hiện được hai

trạng thái True (1) hoặc False (0).

-Kiểu xâu tí tự - string: Lưu trữ một dãy các kí tự viết liên

tiếp và đặt trong dấu “ ” như “hello world!”, “Ngon ngu lap trinh C++”

Trang 38

III Kiểu dữ liệu chuẩn, các phép toán.

Trang 39

III Kiểu dữ liệu chuẩn, các phép toán.

Trang 40

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

-Các toán tử logic ( !, &&, ||) = (NOT, AND, OR ).

+!a; //phủ định của a; !(3==3) = false; !9 = 0;

+a && b = true khi a=true và b=true

+a || b = true khi hoặc a=true hoặc b=true

Trang 41

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

-Tăng (++) và giảm ( ) một đơn vị.

++a; a++; //tăng giá trị biến a 1 đơn vị

a; a ; //giảm giá trị biến a 1 đơn vị

3 lệnh sau là tương đương: a++; a+=1; a=a+1;

Khi chúng đứng độc lập, giá trị sau khi thực hiện là như nhau Nếu chúng là một phần của biểu thức thì sẽ ảnh hưởng đến giá trị của biểu thức.

a=5; b=10;

c= ++a * 2 + b ; //c= 6, c=21, b=9.

Toán tử tăng/giảng đứng trước, sẽ thực hiện trước; đứng sau

sẽ thực hiện sau khi tham gia vào tính toán giá trị của biểu thức.

Trang 42

III Kiểu dữ liệu chuẩn, các phép toán.

Trang 43

III Kiểu dữ liệu chuẩn, các phép toán.

// i = 3 , j = 6

Trang 44

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

- Toán tử điều kiện ?

Cú pháp: condition ? result1 : result2

Nếu condition là true thì giá trị trả về là result1, nếu

không giá trị trả về là result2.

Trang 45

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

-Các toán tử thao tác bit ( &, |, ^, ~, <<, >> ).

thay đổi trực tiếp các bit biểu diễn, tốc độ tính toán nhanh hơn G/s a=6 (hệ 2: 110) và b=5 (hệ 2: 101)

Trang 46

III Kiểu dữ liệu chuẩn, các phép toán.

Trang 47

III Kiểu dữ liệu chuẩn, các phép toán.

Trang 48

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

-Thứ tự ưu tiên của các toán tử

(), ++, , *, /, %, +, -, phép quan hệ, thao tác bit, phức hợp

Trang 49

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

* Một số hàm xử lí số thực trong thư viện

cmath:

-abs(x): trả về giá trị tuyệt đối của số x.

-pow(x, y): hàm mũ, trả lại giá trị x lũy thừa y

-exp(x): trả lại giá trị e mũ x (ex).

-log(x), log10(x) : trả lại lôgarit cơ số e và

lôgarit thập phân của x (lnx, logx).

-sqrt(x): trả lại căn bậc 2 của x.

Trang 50

III Kiểu dữ liệu chuẩn, các phép toán.

số thực có giá trị bằng số nguyên lớn nhất nhỏ hơn

hoặc bằng x floor(2.4)=2, floor(-2.8)=-3

-Hàm round(x): làm tròn vê số nguyên gần nhất

round(2.4)=2, round(2.6)=3.

-atof(s_number) : trả lại số thực ứng với số viết dưới

dạng xâu kí tự s_number.

Trang 51

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

* Hàm xử lý ký tự trong thư viện ctype:

-Hàm isdigits(c): là true nếu c là chữ số từ

‘0’ ’9’

-Hàm isalpha(c): là true nếu c là ký tự thuộc

‘A’ ‘Z’ hoặc ‘a’ ‘z’

-Hàm islower(c): là true nếu c là ký tự in

thường

-Hàm isupper(c): là true nếu c là ký tự in HOA

Trang 52

III Kiểu dữ liệu chuẩn, các phép toán.

2 Các phép toán

*Sinh số ngẫu nhiên

-Hàm rand() sinh giá trị ngẫu nhiên từ 0 đến 32767

(RAND_MAX) trong thư viện cstdlib.

-Hàm srand() khởi tạo số ngẫu nhiên trong thư viện

ctime:

+srand (time(NULL));

-VD: Sinh số nguyên ngẫu nhiên x từ minx đến maxx:

srand (time(NULL));

long long minx=…, maxx=…, x;

long long xx=maxx-minx;

x= minx + xx*rand()/RAND_MAX;

Trang 53

* Gỡi lỗi chương trình

Ngày đăng: 01/12/2016, 14:52

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm