0% found this document useful (0 votes)
8 views29 pages

E Learning Week2 Format

sdsdsvsdv

Uploaded by

khangnd0542
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
8 views29 pages

E Learning Week2 Format

sdsdsvsdv

Uploaded by

khangnd0542
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
You are on page 1/ 29

MỤC LỤC

DANH MỤC HÌNH ẢNH


DANH MỤC BẢNG BIỂU

1.1 Giới thiệu.....................................................................5

1.2 Lập trình và ngôn ngữ lập trình.....................................6

1.3 Chương trình dịch.........................................................7

1.4 Biểu diễn thuật giải......................................................8

1.5 Quy trình viết và thực thi chương trình.........................10

1.6 Bộ kí tự và từ khóa (Character set and keyword)..........10

1.6.1 Bộ kí tự (Character set)..................................................................10


1.6.2 Từ khóa (Kewwords).......................................................................10

1.7 Định danh (identifier)..................................................11

1.8 Các kiểu dữ liệu cơ bản (Base type)..............................12

1.9 Biến và hằng (Variable and constant)...........................12

1.9.1 Biến (Variable):..............................................................................12


1.9.2 Hằng (Constant).............................................................................13

1.10 Biểu thức (Expressions).............................................13

1.10.1 Biểu thức số học..........................................................................14


1.10.2 Toán tử gán (Assignment operator).............................................14
1.10.3 Toán tử số học (Arithmetic operator)...........................................14
1.10.4 Các toán tử gán phức hợp (Compound assignment operators). . .15
1.10.5 Toán tử tăng và giảm một đơn vị (Increment and decrement).....15
1.10.6 Toán tử quan hệ và so sánh (Relational and comparison operators)
............................................................................................................... 16
1.10.7 Toán tử logic (Logical operator)...................................................16
1.10.8 Toán tử thao tác bit (Bitwise operator)........................................17
1.10.9 Một số toán tử khác (other operators)..........................................18
1.10.10 Chuyển đổi kiểu (type conversion).............................................19
1.10.11 Độ ưu tiên của toán tử (Precedence of operators)......................20

1.11 Câu lệnh và khối lệnh (statement and block statement)

.......................................................................................22

1.12 Chú thích (Comment)................................................22


1.13 Các lệnh vào ra dữ liệu (input/output data) từ thiết bị

1.13.1 Xuất dữ liệu ra màn hình với cout và toán tử ≪...........................23


chuẩn..............................................................................23

1.13.2 Nhập dữ liệu từ bàn phím với cin và toán tử ≫............................23

1.14 Cấu trúc chung của một chương trình C++ (Structure of
a program).......................................................................25
Chương 1. TỔNG QUAN VỀ C/C++
1.1 Giới thiệu
 Ngày nay với sự phát triển nhanh chóng của khoa học công nghệ

cùng với sự bùng nổ về dữ liệu, thì công việc xử lý thông tin không

thể làm một cách thủ công thiếu hiệu quả trong công việc. Do đó

việc sử dụng máy tính vào giải quyết các bài toán là vấn đề vô cùng

quan trọng đóng vai trò then chốt trong các ngành kinh tế kỹ thuật.

Công việc lập trình đòi hỏi tất cả những người làm kỹ thuật phải nắm

vững để giải các bài toán chuyên ngành mình. Kỹ thuật lập trình là

môn nền tảng cơ sở được trang bị cho sinh viên của tất cả các ngành

kỹ thuật. Có rất nhiều ngôn ngữ lập trình dùng để cài xây dựng

chương trình nhưng trong tài liệu này chúng tôi tập trung vào ngôn

ngữ lập trình C/C++.

 Ngôn ngữ lập trình C là được phát triển từ đầu thập niên 1970 bởi

Dennis Ritchie để dùng trong hệ điều hành UNIX. Từ đó, ngôn ngữ

này đã lan rộng ra nhiều hệ điều hành khác và trở thành một những

ngôn ngữ phổ dụng nhất. C là ngôn ngữ rất có hiệu quả và được ưa

chuộng nhất để viết các phần mềm hệ thống, mặc dù nó cũng được

dùng cho việc viết các ứng dụng. Ngoài ra, C cũng thường được

dùng làm phương tiện giảng dạy trong khoa học máy tính.

 C++ được phát triển bởi Bjarne Stroustrup như là một bản nâng cao

của ngôn ngữ C. Những bổ sung nâng cao bắt đầu với sự thêm vào
của khái niệm lớp, tiếp theo đó là các khái niệm hàm ảo, chồng toán

tử, đa kế thừa, và xử lý ngoại lệ.

1.2 Lập trình và ngôn ngữ lập trình

 Lập trình (Programming) là việc sử dụng các ngôn ngữ lập trình, các

đoạn mã lệnh và các tiện ích có sẵn để xây dựng các chương trình

phần mềm, trò chơi ứng dụng của hệ thống xử lý các trang web…

giúp người dùng có thể thực hiện các mệnh lệnh của máy tính cũng

như tương tác qua lại với nhau thông qua các thiết bị điện tử.

 Ngôn ngữ lập trình (Programming language) là ký hiệu để

viết chương trình, là các đặc tả của một phép tính hoặc thuật toán.

Hay nói cách khác ngôn ngữ lập trình được thiết kế, chuẩn hóa để

truyền chỉ thị cho máy tính.

 Phân loại ngôn ngữ lập trình:

 Ngôn ngữ máy (mã máy: 0/1): nền tảng của bộ vi xử lý, ngôn ngữ

duy nhất máy tính hiểu. Các chương trình viết bằng các ngôn ngữ

khác được dịch ra ngôn ngữ máy để thực thi

 Hợp ngữ: gần như ngôn ngữ máy, dùng ký hiệu gợi nhớ (mã lệnh

hình thức) biểu diễn các mã lệnh của máy. Chương trình hợp ngữ

thông qua trình hợp dịch (assembler) để tạo ra mã máy.

 Ngôn ngữ cấp cao: sử dụng danh từ, động từ, ký hiệu toán học, liên

hệ, thao tác luận lý. Chương trình viết bằng ngôn ngữ cấp cao được
trình biên dịch hoặc trình thông dịch chuyển thành các ngôn ngữ

máy chạy trên các loại máy tính khác nhau. Một số ngôn ngữ thông

dụng: Visual Basic, Java, C#, PHP, JavaScript, Python,…

1.3 Chương trình dịch

 Như trên đã trình bày, muốn chuyển từ chương trình nguồn sang

chương trình đích phải có chương trình dịch. Thông thường mỗi một

ngôn ngữ cấp cao đều có một chương trình dịch riêng nhưng chung

quy lại thì có hai cách dịch: thông dịch và biên dịch.

 Thông dịch (interpreter): Là cách dịch từng lệnh một, dịch tới đâu

thực hiện tới đó. Chẳng hạn ngôn ngữ LISP sử dụng trình thông

dịch.

 Biên dịch (compiler): Dịch toàn bộ chương trình nguồn thành

chương trình đích rồi sau đó mới thực hiện. Các ngôn ngữ sử dụng

trình biên dịch như Pascal, C...

 Giữa thông dịch và biên dịch có khác nhau ở chỗ: Do thông dịch là

vừa dịch vừa thực thi chương trình còn biên dịch là dịch xong toàn

bộ chương trình rồi mới thực thi nên chương trình viết bằng ngôn

ngữ biên dịch thực hiện nhanh hơn chương trình viết bằng ngôn ngữ

thông dịch.

 Một số ngôn ngữ sử dụng kết hợp giữa thông dịch và biên dịch

chẳng hạn như Java. Chương trình nguồn của Java được biên dịch
tạo thành một chương trình đối tượng (một dạng mã trung gian) và

khi thực hiện thì từng lệnh trong chương trình đối tượng được thông

dịch thành mã máy.

1.4 Biểu diễn thuật giải

 Ngôn ngữ tự nhiên: Ngôn ngữ tự nhiên là ngôn ngữ của chúng ta

đang sử dụng, chúng ta có thể sử dụng ngôn ngữ tự nhiên để mô tả

giải thuật giống như các ví dụ ở trên. Ví dụ: Ta có giải thuật giải

phương trình bậc nhất dạng ax+bx =0 như sau:

 Bước 1: Nhận giá trị của các tham số a, b

 Bước 2: Xét giá trị của a xem có bằng 0 hay không?

Nếu a=0 thì làm bước 3, nếu a khác không thì làm bước 4.

 Bước 3: (a bằng 0) Nếu b bằng 0 thì ta kết luận phương trình vô số

nghiệm, nếu b khác 0 thì ta kết luận phương trình vô nghiệm.

 Bước 4: ( a khác 0) Ta kết luận phương trình có nghiệm x=-b/a

Giả mã: (Pseudocode) là một bản mô tả giải thuật ngắn gọn và không chính

thức, trong đó sử dụng những quy ước có cấu trúc của một số ngôn ngữ lập

trình (thường là Pascal) nhưng thường bỏ đi những chi tiết không cần thiết

để giúp hiểu rõ giải thuật hơn.

-Ví dụ: Thuật giải phương trình bậc 2

vào: a,b,c

ra: kết luận về nghiệm begin


delta: = b*b – 4*a*c;
if delta=0 then
phương trình có nghiệm kép x=-b/(2*a);
else begin
if delta<0 then
phương trình vô nghiệm
else
begin
PT có 2 nghiệm x1=(-b+sqrt(delte))/(2*a)
x2=(-b+sqrt(delte))/(2*a)
end
end
END.
 Lưu đồ thuật toán: Ngôn ngữ sơ đồ (lưu đồ) là một ngôn ngữ đặc

biệt dùng để mô tả giải thuật bằng các sơ đồ hình khối. Mỗi khối quy

định một hành động như mô tả ở hình dưới.

Bảng 1.1 Quy tắc sử dụng các hình trong lưu đồ thuật toán.

Hình dạng( symbol) Hành động( Activity)

Dữ liệu vào( Input)

Xử lý( Process)

Quyết định( Decision)


Luồng xử lý

Gọi chương con

Bắt đầu hoặc kết thúc

1.5 Quy trình viết và thực thi chương trình

1.6 Bộ kí tự và từ khóa (Character set and keyword)

1.6.1 Bộ kí tự (Character set)

Có phân biệt hoa thường

26 chữ cái Latinh lớn: A, B, C..., Z

26 chữ cái Latinh nhỏ: a, b, c ..., z

10 chữ số thập phân: 0, 1, 2...9

Các ký hiệu toán học: +, -, *, /, =, <, >

Các ký hiệu đặc biệt: . , ; : " ' _ % # ! ^ [ ] { } ( ) ...

Dấu cách hay khoảng trống, xuống hàng (\n) và tab (\t)

1.6.2 Từ khóa (Kewwords)


Bảng 1.2 Từ khóa trong C++
asm auto bool break
case catch char class
const const_cast continue default
delete else extern do
enum false double explicit
float dynamic_cast export for
Friend goto if inline
Int long mutable namespace
new operator private protected
public register reinterpret_cast 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

1.7 Định danh (identifier)

 Định danh là dùng một dãy kí tự để gọi tên các đối tượng trong

chương trình như biến, hằng, hàm, mảng, …

 Một số qui tắc cần tuân theo khi định danh:

+Dùng: chữ cái (A..Z,a..z), chữ số (0..9)

+Dấu gạch dưới ‘_’

+Không bắt đầu bằng số.

+Không trùng với từ khóa.

-Ví dụ: nhap_mang_1_chieu (đúng), 2vonglap (sai: bắt đầu bằng chữ số),

typedef (sai: trùng với từ khóa).


 Để thuận tiện trong làm việc nhóm, thống nhất với nhau cách đặt tên

để đỡ tốn công sức và chi phí thời gian, thường dùng quy tắc đặt tên

theo kiểu “lạc đà” (Camel case) hoặc theo phong cách Hung-ga-ri.

1.8 Các kiểu dữ liệu cơ bản (Base type)

Bảng 1.3 Các kiểu dữ liệu cơ bản

Kiểu dữ liệu Kích thước Miền giá trị

char 1 byte -128  +127


Kí tự
unsigned char 1 byte 0  255

Số int 2 byte -32768  32767 (- 215 215-

nguyên 1)

unsigned int 2 byte 0  65535 (0216 - 1)

long 4 byte -2147483648  2147483647

(-231231-1)

unsigned long 4 byte 0  4294967295 (0 232 -1)

Số thực float 4 byte 3.4*10-38  3.4*1038

double 8 byte 1.7*10-308  1.7*10308

long double 10 byte 3.4*104932  1.1*104932

Logic bool 1 byte true/false


1.9 Biến và hằng (Variable and constant)

1.9.1 Biến (Variable):

 Để lưu trữ dữ liệu trong bộ nhớ máy tính do người lập trình định

nghĩa (khai báo biến) đặt bởi một tên.

 Có thể thay đổi giá trị của biến.

 Kiểu dữ liệu thì không được thay đổi.

 Dùng thì phải khai báo, được khai báo bất kỳ ở vị trí nào trong

chương trình.

 Khai báo: <Kiểu_dữ _liệu> tên_biến_1, tên_biến_2,… ;

-Ví dụ: int x, y;

-Khai báo và khởi tạo: int x=7; int x(7); int x{7};

1.9.2 Hằng (Constant)

 Không đổi trong suốt quá trình thực thi của chương trình.

 Có thể : một chuỗi ký tự, ký tự, con số xác định.

Khai báo:

#define Tên_hằng Giá_trị

const Kiểu_dữ _liệu Tên_hằng = Giá_trị ;

Ví dụ:

#define PI 3.14

const int MAX = 100;


1.10 Biểu thức (Expressions)

 Sự kết hợp các toán tử và các toán hạng. Biểu thức có thể là một

hằng, một biến, một hàm, …

 Toán tử có thể là dấu các phép toán: +, - * , /,… hay >, >=,…

 Toán hạng có thể là hằng, biến, hàm

-Ví dụ: 2 + y*sqrt(25)

 Nếu kết quả của biểu thức là một số thì gọi là biểu thức, nếu kết quả

là đúng (true) hoặc sai (false) gọi là biểu thức logic.

1.10.1 Biểu thức số học

 Biểu thức số học có thể được biểu diễn trong C/C++ bằng cách sử

dụng các toán tử số học

-Ví dụ :

++i % 7

5 + (c = 3 + 8)

a * (b + c/d) - 22

1.10.2 Toán tử gán (Assignment operator)

 Toán tử gán (=) có thể được dùng với bất kỳ biểu thức C/C++ hợp lệ

nào.

Variable_name = expression;

Tên biến = biểu thức


Gán liên tiếp: nhiều biến có thể được gán với cùng một giá trị trong một câu

lệnh đơn.

Ví dụ: a = b = c = 10; (đúng)

Tuy nhiên, không thể áp dụng quy tắc trên khi khai báo biến

Ví dụ: int a = int a = int c = 10; (sai)

1.10.3 Toán tử số học (Arithmetic operator)

Bảng 1.4 Các phép toán hai ngôi số học

Phép toán Ý nghĩa Ví dụ

+ Phép cộng a+b

- Phép trừ a-b

* Phép nhân a*b

a/b - Chia 2 số nguyên sẽ bỏ phần thập


/ Phép chia
phân

Phép lấy phần


% a%b

1.10.4 Các toán tử gán phức hợp (Compound assignment operators)

 Các toán tử: +=, -=, *=, /=, %=, >>=, <<=, &=, ^=, |=

-Ví dụ:

+a += 5; tương đương với a = a + 5;

+a -= 5; tương đương với a = a - 5;

+a /= b; tương đương với a = a / b;


+a *= b + 1; tương đương với a = a * (b + 1);

1.10.5 Toán tử tăng và giảm một đơn vị (Increment and decrement)

 Các toán tử: ++ và --

+a++;

+a+=1;

+a = a+1

 Các câu lệnh là tương đương.

 Lưu ý: Các toán tử ++/-- đặt trước (tiền tố) hay sau (hậu tố) trong

biểu thức.

-Ví dụ:

B = 3;

A = ++B; // A bằng 4, B bằng 4

Ví dụ

B = 3;

A = B++; // A bằng 3, B bằng 4

1.10.6 Toán tử quan hệ và so sánh (Relational and comparison

operators)

Bảng 1.5 Toán tử quan hệ và so sánh

Toán tử Ý nghĩa

> Lớn hơn


>= Lớn hơn hoặc bằng

< Nhỏ hơn

<= Nhỏ hơn hơn hoặc bằng

== Bằng

!= Khác

Kết quả cho true (đúng) hoặc false (sai).

1.10.7 Toán tử logic (Logical operator)

Bảng 1.6 Toán tử logic

Toán tử Ý nghĩa

&& AND: cho kết quả true nếu cả 2 điều kiện có kết quả true,

còn lại cho false

|| OR: cho kết quả true nếu chỉ cần 1 trong 2 điều kiện có kết

quả true, còn lại cho false khi cả 2 điều kiện cùng false

! NOT: tác động lên các giá trị riêng lẻ, chuyển true thành

false hoặc ngược lại.

1.10.8 Toán tử thao tác bit (Bitwise operator)

Bảng 1.7 Toán tử thao tác bitwise

Toán tử Mô tả

Bitwise AND Mỗi vị trí của bit trả về kết quả là 1 nếu bit của hai

( x & y) toán hạng là 1, còn lại là 0

Bitwise OR Mỗi vị trí của bit trả về kết quả là 1 nếu bit của một
trong hai toán hạng là 1.

( x | y)

Bitwise NOT Ðảo ngược giá trị của toán hạng (1 thành 0 và ngược

( ~ x) lại).

Bitwise XOR Giống nhau cho 0, khác nhau cho 1

( x ^ y) (0^0 = 0, 1^1 = 0, 0^1 = 1, 1^0 = 1)

Bitwise SHL Dịch sang trái n bit, tương đương x* 2n

( x <<n)

Bitwise SHR Dịch sang phải n bit, tương đương x/ 2n

( x >>n)

Ví dụ

10 & 15 1010 & 11111010  10

10 | 15 1010 | 11111111  15

10 ^ 15 1010 ^ 11110101  5

1.10.9 Một số toán tử khác (other operators)

Bảng 1.8 Toán tử khác

Toán tử Ý nghĩa

Sizeof Toán tử sizeof trả về kích cỡ của một biến. Ví dụ:

sizeof(a), với a là int, sẽ trả về 4 bytes

Điều kiện ? X : Y Toán tử điều kiện. Nếu điều kiện là true ? thì nó trả

về giá trị X : nếu không thì trả về Y


s1 = (1 > 2) ? 2912 : 1706; s1=1706

, (phẩy) Toán tử phẩy làm cho một dãy hoạt động được thực

hiện. Giá trị của toàn biểu thức phẩy là giá trị của

biểu thức cuối cùng trong danh sách được phân biệt

bởi dấu phảy

(biểu _thức_1, biểu_thức_2,…, biểu_thức_n)

m = (t = 2, t*t + 3);  m = 7

. (dot) và -> Toán tử thành viên được sử dụng để tham chiếu các

(arrow) phần tử đơn của các lớp, các cấu trúc và union

cast Toán tử ép kiểu (Casting) trong C++ biến đổi một

kiểu dữ liệu thành kiểu khác. Ví dụ: int(2.2000) sẽ trả

về 2.

Cú pháp: type_cast <new_type> (expression);

type: const, dynamic, reinterpret, static

Ví dụ: reinterpret_cast<char*>(&x);

& Toán tử con trỏ & (toán tử 1 ngôi) trả về địa chỉ của

một biến.

Ví du: &a; sẽ trả về địa chỉ thực sự của biến này

* Toán tử con trỏ * là trỏ tới một biến.

Ví dụ: *var sẽ trỏ tới một biến var


1.10.10 Chuyển đổi kiểu (type conversion)

 Chuyển đổi kiểu ngầm định: Trong cùng 1 biểu thức, nếu các toán

hạng không cùng kiểu với nhau thì trước khi tính toán giá trị của

biểu thức, chương trình dịch sẽ thực hiện việc chuyển đổi kiểu ngầm

định (nếu được) theo nguyên tắc “Kiểu có phạm vi giá trị biểu diễn

nhỏ hơn sẽ được chuyển sang kiểu có phạm vị giá trị biểu diễn lớn

hơn”.

 Sơ đồ chuyển đổi kiểu ngầm định:

char → int → long → float → double → long double

 Ép kiểu (type casting): Trong một số trường hợp, ta bắt buộc phải sử

dụng ép kiểu để tạo ra một biểu thức hợp lệ như sau:

(<tên kiểu>) (<biểu thức>)

-Ví dụ 1.4 để tạo biểu thức số học hợp lệ sau 8.0 % 3, ta cần thực hiện ép

kiểu như sau: (int) 8.0 % 3

1.10.11 Độ ưu tiên của toán tử (Precedence of operators)

Bảng 1.9 Độ ưu tiên toán tử

Level Precedence group Operator Grouping

(Độ ưu (Nhóm ưu tiên) (Toán tử) (Thứ tự thực

tiên) hiện)

1 Scope (Phạm vi) :: Left-to-right

2 Postfix (unary) ++ -- Left-to-right


Hậu tố (một ngôi) ()

[]

.→

Prefix (unary) ++ -- Right-to-left

Tiền tố (một ngôi) ~!

+-

3 &*

new delete

sizeof

(type)

Pointer-to-member .* ->* Left-to-right


4
(Trỏ đến thành viên)

Arithmetic: scaling */% Left-to-right


5
(Số học: tỷ lệ)

Arithmetic: addition +- Left-to-right


6
(Số học: tăng giảm)

7 Bitwise shift (Dịch bit) << >> Left-to-right

8 Relational (So sánh hơn) < > <= >= Left-to-right

9 Equality (So sánh bằng) == != Left-to-right

10 Bit AND & Left-to-right

11 Bit XOR ^ Left-to-right

12 Bit OR | Left-to-right
13 Logical AND Left-to-right

14 Logical OR || Left-to-right

Assignment-level = *= /= %= += -= Right-to-left

15 expressions (Gán) >>= <<= &= ^= |=

?:

16 Sequencing (Sắp xếp) , Left-to-right

1.11 Câu lệnh và khối lệnh (statement and block statement)

 Câu lệnh:

 Là một chỉ thị nhằm ra lệnh cho chương trình thực hiện một tác vụ

cụ thể nào đó.

 Mỗi câu lệnh có thể được viết trên một hoặc nhiều dòng.

 Mỗi câu lệnh được kết thúc bằng dấu chấm phẩy (dấu chấm phẩy

dùng ngăn cách các câu lệnh).

 Câu lệnh được phân chia thành 2 loại:

 Câu lệnh đơn: Là câu lệnh không chứa câu lệnh khác.

-Ví dụ: câu lệnh gán, lệnh khai báo, lệnh xuất nhập…

 Câu lệnh phức: Là câu lệnh có chứa câu lệnh khác bên trong nó.

-Ví dụ: khối lệnh, câu lệnh rẽ nhánh, câu lệnh lặp, …

 Khối lệnh:
 Gồm một hoặc nhiều câu lệnh đơn được bao bởi cặp dấu ngoặc {}.

 Một khối lệnh có thể lồng bên trong nó một hoặc nhiều khối lệnh

khác.

1.12 Chú thích (Comment)

 Nếu nội dung chú thích trên một dòng thì đặt sau dấu //

-Ví dụ: //day la tim kiem phan tu x

 Nếu nội dung chú thích trên một dòng hoặc nhiều dòng thì đặt trong

dấu /* nội dung */

-Ví dụ:

/* day la sap xep mang tang dan

dung ham swap*/

 Chú thích có thể để bất kỳ vị trí nào trong chương trình, không ảnh

hưởng đến kết quả. Nên sử dụng để sau này đọc code dễ hiểu hơn.

1.13 Các lệnh vào ra dữ liệu (input/output data) từ thiết bị chuẩn

1.13.1 Xuất dữ liệu ra màn hình với cout và toán tử ≪

cout << biểu thức 1 ;

cout << biểu thức 2;

cout << biểu thức 3 ;

hoặc:

cout << biểu thức 1 << biểu thức 1 << …<< biểu thức n;
 Biểu thức là chuỗi ký tự thì đặt nội dung trong cặp dấu nháy đôi “ ”.

-Ví dụ:

#include<iostream>
using namespace std ;
int main()
{
cout<< "Ky Thuat Lap Trinh";
}
1.13.2 Nhập dữ liệu từ bàn phím với cin và toán tử ≫
cin >> biến_1 ;

cin >> biến_2 ;

cin >> biến_3 ;

Hoặc: cin >> biến_1 >> biến_2 >> biến_3 ;

cin.get(c): nhập một kí tự vào biến kí tự c

cin.getline(s, n): nhập tối đa n-1 kí tự vào xâu s (mảng ký tự : char s[100])

getline(cin, s): Nhập chuỗi nhưng khai báo string s;

cin.ignore(): để lấy ra kí tự xuống dòng còn sót lại trong bộ đệm.

endl: Xuống dòng ('\n')

Định dạng in ra màn hình:

Cần khai báo #include<iomanip>

setw(n): Qui định độ rộng dành để in ra các giá trị là n cột màn hình.

setprecision(n): Chỉ định số chữ số in ra là n.

setprecision(n) kết hợp với fixed: Chỉ định số chữ số của phần thập phân in

ra là n. Số sẽ được làm tròn trước khi in ra.

Ví dụ:
#include<iostream>
using namespace std ;
int main()
{
int x;
float a, b;
char kitu, xau_kitu[25];

cout<< "Nhap vao so nguyen x = " ; cin>> x;

cout<< "Nhap vao 2 so thuc:\n" ; cin>> a >> b;

cout<< "Nhap vao 1 ki tu: " ; cin>> kitu;

cout<< "Nhap vao 1 xau ki tu: " ;

cin>> xau_kitu;

cout<< "---------------------------\n" ;

cout<<"Cac so da nhap:\n" << x << "\t" << a << "\t" << b << endl;

cout<< "Ki tu da nhap la: " << kitu << endl;

cout<< "Xau da nhap la: " << xau_kitu;

Ví dụ sau sẽ minh họa về cách sử dụng hàm cin.getline()

#include<iostream>
using namespace std ;
int main()
{
char hoten[30] ;
cout<< "Nhap vao ho va ten cua ban:\n" ;
cin.getline(hoten, 30) ; //Nhap cho chuoi hoten toi da 29 ki tu
cout<< "Xin chao: " << hoten ;
}
Ghi chú:
Ngoài ra trong C++ còn cung cấp các hàm cin.get(c), c = getchar(), c =

getche(), c = getch() để nhập vào cho biến kí tự c 1 kí tự từ bàn phím. Để

dùng các hàm getch() và getche() thì đầu chương trình ta cần khai báo

#include<conio.h>

1.14 Cấu trúc chung của một chương trình C++ (Structure of a

program)

Bảng 1.10 Cấu trúc của một chương trình

Cấu trúc Giải thích

# Tiền xử lý Khai báo thư viện và macro

Khai báo biến, hàm,..; Khai báo các biến toàn cục, khai báo

nguyên mẫu hàm được sử dụng trong

chương trình chính

int main() Chương trình chính

Thân chương trình chính;

Định nghĩa các hàm (thân Định nghĩa thân hàm đã được khai báo

hàm)

Ví dụ:

#include<iostream>
#include<cmath>
using namespace std;
void swap(int &,int &);
int main()
{
int x,y;
cout<<"Nhap x,y = ";
cin>>x>>y;
swap(x,y);
cout<<" x= "<<x<<"y = "<<y;
return 0;
}
void swap(int &a,int &b)
{
int t;
t = a;
a = b;
b = t;
}
BÀI TẬP CHƯƠNG 1

Bài 1. Viết chương trình nhập vào 2 số nguyên a và b. Xuất ra màn hình giá

trị của a, b và kết của quả các phép tính: a+b, a-b, a/b, a*b, a%b (% là phép

toán lấy số dư trong phép chia a/b) .

Bài 2. Viết chương trình nhập vào 2 số thực a và b. Xuất ra màn hình giá trị

của a, b và kết của quả các phép tính: a+b, a-b, a/b, a*b.

Bài 3. Nhập vào từ bàn phím họ tên và năm sinh cho 2 người. Xuất ra màn

hình tên và tuổi của 2 người đó.

Bài 4. Viết chương trình tính khoảng cách từ điểm A(x, y, z) tới mặt phẳng:

ax + by + cz +d = 0

Biết: cho điểm M(x0,y0,z0) và mp (P): Ax+By+Cz+D=0 công thức tính

khoảng cách từ điểm M đến mặt phẳng (P) là:

d(M,(P))=
Hình 1.1 Quy trình viết và thực thi chương trình

You might also like