Tải bản đầy đủ (.ppt) (42 trang)

CHƯƠNG 2: NHỮNG VẤN ĐỀ CƠ BẢN TRONG C++ pdf

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (442.32 KB, 42 trang )


CHƯƠNG 2: NHỮNG VẤN ĐỀ
CƠ BẢN TRONG C++

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

Xét ví dụ sau:
#include <iostream>
using namespace std;
int main()
{
cout << “Hello world \n”;
return 0;
}
•#include: yêu cầu chương trình dịch chèn
thêm file vào mã nguồn.
• using namespace

cout
nằm trong namespace std;


Hàm main()
• Câu lệnh: kết thúc bởi dấu “;”
• Câu chú thích: Câu chú thích bắt đầu
bằng dấu // hoặc nằm trong /* */.
/>
2. Biến

Phải khai báo biến trước khi sử dụng


Có thể khai báo biến ở mọi nới trong chương
trình

Tên biến

Phân biệt chữ hoa, chữ thường

Sử dụng các ký tự từ a-z, 0-9 và dấu “_”

Ví dụ:

int var1;

int var2=10;

Kiểu dữ liệu đơn giản

Kiểu nguyên:
int
,
long
,
short

Kiểu ký tự:
char
– lưu mã ASCII của ký tự

Ký tự nằm trong dấu ‘’. Ví dụ: ‘a’


Ký tự đặc biệt: \n, \tab, \\, \’, \”, …

Kiểu không dấu:
unsigned char
,
unsigned int
,
unsigned short, unsigned long

Kiểu dấu phẩy động:
float
,
double
,
long
double

Kiểu
bool
: có giá trị True/False

Kiểu dữ liệu đơn giản …
Type Low High Bytes
char -128 127 1
short -32768 32767 2
int -2147483648 2147483647 4
long -2147483648 2147483647 4
float 3.4x10
-38
3.4x10

38
4
double 1.7x10
-308
1.7x10
308
8
long
double
3.4x10
-4932
3.4x10
4932
10

Kiểu string

string không phải là kiểu cơ bản trong C++

string được định nghĩa trong lớp chuẩn string
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string mystring;
mystring = "This is the initial string content";
cout << mystring << endl;
mystring = "This is a different string content";
cout << mystring << endl;

return 0;
}

Biến hằng (Constant Variables)

Giá trị của hằng không thay đổi.

Có 2 cách khai báo hằng:

const float PI=3.14;

#define PI 3.14

Định nghĩa ở đầu chương trình

Không xác định kiểu của PI

3. Toán tử

Toán tử toán học

Toán tử quan hệ

Toán tử logic

Toán tử toán học

+, -, *, /, %

int i = 1/3;

// kết quả i = 0

float x = 1.0/3;
// kết quả x=0.3333

int j = 7 % 3;
// kết quả j=1

++,
int i=3;
int j=7;

cout << 10 * i++;
// hiển thị 30, sau đó i=4

cout << 10 * ++j;
// hiển thị 80, sau đó j=8

+=, -=, *=, /=
float x=6.0;
x+=3.5; tương tự x=x+3.5;

Toán tử quan hệ

So sánh 2 giá trị.

Kết quả trả về là true hoặc false

>, <, ==, !=, >=, <=


Ví dụ:
int x=44;
int y=12;
(x == y) // false
(x >= y) // true
(x != y) // true

Toán tử logic

logical and : &&

(x >= 5) && ( x <= 15)
// true nếu x nằm trong [5,15]

logical or : ||

(x == 5) || ( x == 10)
// true nếu x=5 hoặc x=10

logical negation : !

! (x == 5)
// true nếu x khác 5

Tương tự
x != 5


Toán tử điều kiện (
conditional operator

) : ? … :

<condition> ? <true expression> : < false expression>

Ví dụ:

min = (alpha<beta) ? alpha : beta;


Tương tự
if (alpha < beta)
min = alpha;
else
min = beta;

4. Thao tác vào/ra chuẩn

Sử dụng đối tượng stream để thực hiện
các thao tác input/output

Được khai báo trong header file
iostream

Sử dụng
cout

cout
là một đối tượng được định nghĩa trước trong C++, tương
ứng với luồng ra chuẩn (
standard output stream

).

Toán tử << là toán tử chèn, định hướng nội dung cần hiển thị.

Ví dụ:
string str=”Hello world”;
int i=8;
cout << str << endl;
// endl (hoặc \n) là dấu hiệu xuống dòng.
cout << ”i=” << i << endl;

Để định dạng nội dung hiển thị, sử dụng
setw
(nằm trong
iomanip
)

cout<< setw(12) << str << setw(5) << i;

Kết quả: Hello world 8

Sử dụng
cin

cin
là toán tử được định nghĩa trước trong C++,
tương ứng với luồng vào chuẩn (
standard input
stream
).


Toán tử >> đưa nội dung từ luồng vào chuẩn vào
biến.

Ví dụ:

int temperature;
cout << ”Enter temperature in Celsius: ”;
cin >> temperature;

int a,b;
cin>>a>>b; // tương đương cin>>a;
cin>>b;

cin và string
cin>>mystring

cin dừng khi nhập dấu cách

Để lưu cả dòng khi nhập, sử dụng getline
#include <iostream>
#include <string>
using namespace std;
int main ()
{
string mystr;
cout << "What's your name? ";
getline (cin, mystr);
cout << "Hello " << mystr << ".\n";
cout << "What is your favorite team? ";

getline (cin, mystr);
cout << "I like " << mystr << " too!\n";
return 0;
}

Header File và Library File

Một số nhiệm vụ được thực hiện bởi Library Function.

Header File chứa khai báo các hàm mà ta cần sử
dụng trong chương trình.

Ví dụ:

#include <math.h>

#include ”myprog.h”

<>: yêu cầu chương trình dịch tìm từ thư mục chuẩn.

” ” : yêu cầu chương trình dịch tìm từ thư mục hiện tại.

Nếu không include Header File thích hợp thì chương
trình dịch sẽ báo lỗi.

myprog.cpp
somelib.h
myprog.h
#include <somelib.h>
#include ”myprog.h”

myprog.obj
myprog.exe
cs.lib
user header file
compiler
linker
library header file
library fileobject file
executable file

5. Các câu lệnh

Vòng lặp

Rẽ nhánh

Một số lệnh điều khiển khác

Vòng lặp for
increment expressiontest expressioninitialization expression
for ( i=0; i<15; i++ )
initialization
expression
body of loop
increment
expression
test
expression exit
true
false

• Có thể đặt nhiều biểu thức trong các phần của vòng for
( ; ; ); các biểu thức đó cách nhau bởi dấu phẩy.

Ví dụ:
for(int j=0, float alpha=100.0; j<50; j++, alpha )
{
// body for
}

Vòng lặp for
int i;
for (i=1; i<=15; i++) // thân vòng lặp for có 1 lệnh
cout << i*i << ” ”;
cout << endl;
for (i=1; i<=15; i++) // thân vòng lặp for có nhiều lệnh
{
cout << setw(4) << i << ” ”;
// setw(n) gán kích thước của trường hiển thị bằng n
int cube = i*i*i;
cout << setw(6) << cube << endl;
}

Vòng lặp while

Vòng lặp while được sử dụng khi không biết trước số lần lặp.

Lặp cho đến khi biểu thức kiểm tra vẫn có giá trị True.

Ví dụ:
char c=’n’;

while ( c != ’y’)
{
cout << ”Do you want to continue: (y/n)” << endl;
cin >> c;
}

Vòng lặp while
test expressionwhile ( c != ’y’ )
{

}
body of loop
test
expression
exit
true
false

Vòng lặp do

Trong vòng lặp do, biểu thức kiểm tra được đánh
giá ở cuối vòng lặp.

Thân vòng lặp được thực hiện ít nhất một lần.

Ví dụ:
char c;
do
{
cout << ”Do you want to continue: (y/n)” << endl;

cin >> c;
}
while ( c != ’y’);

Vòng lặp do
body of loop
test expression
do
{ … }
while ( c != ’y’ );
test
expression exit
true
false

If … Else

Phụ thuộc vào điều kiện kiểm tra là true hay false
để quyết định nhánh thực hiện

Ví dụ:
int x;
cout << ”Enter a number: ”;
cin >> x;
if ( x > 100)
cout << x << ” is greater than 100” << endl;
else
cout << x << ” is not greater than 100” << endl;

×