Tải bản đầy đủ (.pdf) (21 trang)

Nhập môn C++, lý thuyết bài tập

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 (450.77 KB, 21 trang )

Nhập môn lập trình C++
HD: Nguyễn Mạnh Toàn
Chương 1: Tạo và bố trí văn bản
• #include<iostream>
using namespace std;

int main()
{
cout<<"\t\tToi yeu VietNam";
cout<<"\Mai mai trong tim toi yeu Viet Nam";
cout<<"\Mai mai chi yeu moi Viet Nam";
return 0;
}
Giải thích
• các dòng đầu tiên có lệnh #include là dùng để
gộp vào các file thư viện có chứa các hàm dựng
sẵn. ở đây ta thêm vào thư viện là stdio.h và
iostream. Nó có thêm dấu # trước include là để
báo rằng include là lệnh chứ không phải là một
chuỗi văn bản
Giải thích
• Tiếp theo là hàm main(), hàm này là hàm chính
mà trong một chương trình C bắt buộc phải có
mặt của nó.
• Nữa là dấu '{' đúng hơn là một lệnh, lệnh này là
dấu báo hiệu cho việc bắt đầu hàm được xử lý,
nó tương đương với Begin trong pascal.
Giải thích
• Tiếp nữa là những hàm cout (hàm này trong thư viện
iostream), hàm này là hàm xuất dùng để in ra màn hình
một chuỗi hay một giá trị được đặt trong " ".


– \n: (new) tín hiệu này để chuyển một chuỗi ngay sau nó sang
một dòng mới
– \t: (tab) để thụt dòng một chuỗi khi in với một khoảng được trình
biên dịch định sẵn
– \b: (back) Dùng để lùi lại một bước
– \f : Dùng để sang trang mới
• Cuối cùng là dấu '}', báo hiệu rằng hàm đã được xử lý xong
và kết thúc. Trong Pascal để làm việc này ta dùng lệnh
End. hoặc End;
Giải thích
• các dòng đầu tiên có lệnh #include là dùng để
gộp vào các file thư viện có chứa các hàm dựng
sẵn. ở đây ta thêm vào thư viện là stdio.h và
iostream. Nó có thêm dấu # trước include là để
báo rằng include là lệnh chứ không phải là một
chuỗi văn bản
• Thư viện stdio.h và conio.h chứa các hàm ở C
mà khi qua C++ những hàm này đã được bỏ đi.
• Thư viện iostream cung cấp cho ta 2 hàm chính
đó là cout và cin.
Nhập dữ liệu từ bàn phím
• Ví dụ: để vào từ bàn phím 2 giá trị kiểu int và 3 giá trị iểu float
có thể dùng các câu lệnh
int a, b; /*Khoi tao 2 bien kieu int*/
/*kiểu int là một số nguyên 16 bit, nghĩa là một biến kiểu int có
thể nhận giá trị trong khoảng -32768 32767*/
float c, d, e;/*Khoi tao 3 bien kieu float*/
/*kiểu float là kiểu số thực dấu chấm động, mỗi biến chiếm 4
byte và có thể biểu diễn giá trị trong khoảng 3.4E-38 3.4E+38.
Kiểu này thường dùng để biểu diễn các số thực hoặc các tính

toán cần độ chính xác. */
cin >> a;
cin >>b;
/*Đây là câu lệnh mà chúng ta sẽ học hôm nay*/
Chương 2: Kiểu dữ liệu
Kiểu char
• Khi gặp khai báo kiểu này, C "nói": anh sẽ cấp
cho chú vùng nhớ có dung lượng 8 bit=1 byte
để chú biểu diễn các kí tự trong bảng mã
ASCII_bảng mã có thể biểu diễn được 256 kí tự.
tiếp theo: có 2 kiểu char chú muốn kiểu nào?:
+)signed char:biểu diễn một số nguyên từ
• -128 >127
+)unsigned char: cũng giống signed char nhưng
biểu diễn số nguyên giá trị từ 0 >255
Ví dụ
• #include<stdio.h>
#include<conio.h>
void main()
{
char ch; //cấp cho ch 1 byte và là kiểu signed char
ch=15; // giá trị 15 cho ch
cout<< ch; //in ra màn hình kí tự tương ứng của ch trong bảng
mã ASCII
}
kết quả hiện lên màn hình: *
Kiểu nguyên( int – hay đọc là integer)
• Chú này hơi rắc rối hơn chú char một tí
kiểu này chia thành 3 loại: số nguyên ngắn,dài và không đấu(thêm
usnigned)

+) int n; //n được cấp phát 4 byte để biểu diễn giá trị từ -2^16 đến
2^16;
+) unsigned int n; //n được cấp phát 4 byte để biểu diễn số có giá
trị từ 0 đến 2^32.
KIỂU DẤU PHẨY ĐỘNG(HAY KIỂU THẬP
PHÂN)
Để biểu diễn các số thập phân mà kiểu nguyên không làm được
Có 3 loại: float, double và long double
khai báo:
+) float f; //f được cấp phát 4 byte để biểu diễn các giá trị số từ 3.4E-
38 >3.4E+38 với 7-8 chữ số có nghĩa
+) double f;// f được cấp phát 8 byte để biểu diễn các giá trị số từ
31.7E-308 >1.7E+308 với 15-16 chữ số có nghĩa
+) long double f; //f được cấp phát 12 byte để biểu diễn các giá trị số
từ 3.4E-4932 >1.1E+4932 với 17-18 chữ số có nghĩa
đây có lẽ là 3 kiểu dữ liệu cơ bản nhất của C++
Toán tử #define
• Toán tử #define dùng để đặt tên cho hằng
Vd : #define Pi 3.141593
#include <stdio.h>
#include <conio.h>
#difine Pi 3.141593\\Định nghĩa "Pi"=3.141593
void main()
{
float r,p,s;
cout <<"\nNhap ban kinh r =";
cin >>r;
p=(2*r)*Pi;
s=(r*r)*Pi;
cout <<“Chu vi =“ << p;

cout<<“Dien tich=“ <<s;
}
Các phép toán 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
/ Phép chia a/b
( Chia số nguyên kết quả sẽ bỏ phần thập phân )
% Phép lấy phần dư a%b
( Cho phần dư cuả phép chia a cho b nếu a chia hết cho b thì phần dư bằng 0 )
Phép toán - một ngôi
Ví dụ : -(a + b) sẽ đảo ngược giá trị của phép cộng (a + b)
- Các phép toán + và - có cùng thứ tự ưu tiên nhưng có thứ tự ưu tiên nhỏ hơn của các phép toán * , / ,%
- Các phép toán số học được thực hiện từ trái qua phải
Phép toán quan hệ và logic
>
So sánh lớn hơn a>b
4>5 có giá trị 0
>=
So sánh lớn hơn hoặc bằng
a>=b
6>=2 có giá trị 1
<
So sánh nhỏ hơn a<b
6<=7 có giá trị 1
<=
So sánh nhỏ hơn hoặc bằng
a<=b
8<=5 có giá trị 0

==
So sánh bằng nhau a==b
6==6 có giá trị 1
!=
So sánh khác nhau a!=b
9!=9 có giá trị 0
Các cấu trúc điều khiển
• Một chương trình thường không chỉ bao gồm các lệnh tuần tự nối tiếp nhau.
Trong quá trình chạy nó có thể rẽ nhánh hay lặp lại một đoạn mã nào đó. Để
làm điều này chúng ta sử dụng các cấu trúc điều khiển.
• Cùng với việc giới thiệu các cấu trúc điều khiển chúng ta cũng sẽ phải biết tới
một khái niệm mới: khối lệnh, đó là một nhóm các lệnh được ngăn cách bởi dấu
chấm phẩy “;” nhưng được gộp trong một khối giới hạn bởi một cặp ngoặc
nhọn: { và }.
Hầu hết các cấu trúc điều khiển mà chúng ta sẽ xem xét trong chương này cho
phép sử dụng một lệnh đơn hay một khối lệnh làm tham số, tuỳ thuộc vào
chúng ta có đặt nó trong cặp ngoặc nhọn hay không.
Cấu trúc điều kiện if và else
• Cấu trúc này được dùng khi một lệnh hay một khối lệnh chỉ được thực hiện khi một
điều kiện nào đó thoả mãn. Dạng của nó như sau:
– If (condition) statement
• trong đó condition là biểu thức sẽ được tính toán. Nếu điều kiện đó là true, statement
được thực hiện. Nếu không statement bị bỏ qua (không thực hiện) và chương trình
tiếp tục thực hiện lệnh tiếp sau cấu trúc điều kiện.
Ví dụ, đoạn mã sau đây sẽ viết x is 100 chỉ khi biến x chứa giá trị 100:
– if (x == 100) {
cout << "x is 100";
}
• Chúng ta cũng có thể chỉ định điều gì sẽ xảy ra nếu điều kiện không được thoả mãn
bằng cách sửu dụng từ khoá else. Nó được sử dụng cùng với if như sau:

if (condition) statement1 else statement2
– if (x == 100){
cout << "x is 100";}
else{
cout << "x is not 100"; }
Cấu trúc điều kiện if và else (tt)
• Cấu trúc if + else có thể được móc nối để kiểm tra nhiều giá trị. Ví dụ sau đây sẽ
kiểm tra xem giá trị chứa trong biến x là dương, âm hay bằng không.
– if (x > 0)
cout << "x is positive";
else if (x < 0)
cout << "x is negative";
else
cout << "x is 0";
Cấu trúc lặp
• Mục đích của các vòng lặp là lặp lại một thao tác với
một số lần nhất định hoặc trong khi một điều kiện nào
đó còn thoả mãn.
Cấu trúc lặp – Vòng lặp while (tt)
• KẾt quả ra màn hình
Enter the starting number > 8
8,7,6,5,4,3,2,1,FIRE!
Khi chương trình chạy người sử dụng được yêu cầu nhập vào một số để đếm ngược.
Sau đó, khi vòng lặp while bắt đầu nếu số mà người dùng nhập vào thoả mãn điều kiện
điều kiện n>0 khối lệnh sẽ được thực hiện một số lần không xác định chừng nào điều
kiện (n>0) còn được thoả mãn.
Chúng ta cần phải nhớ rằng vòng lặp phải kết thúc ở một điểm nào đó, vì vậy bên trong
vòng lặp chúng ta phải cung cấp một phương thức nào đó để buộc condition trở thành
sai nếu không thì nó sẽ lặp lại mãi mãi. Trong ví dụ trên vòng lặp phải có lệnh n; để làm
cho condition trở thành sai sau một số lần lặp.

Cấu trúc lặp – Vòng lặp for
• Dạng của nó như sau:
for (initialization; condition; increase) statement;
• và chức năng chính của nó là lặp lại statement chừng nào condition còn mang giá trị
đúng, như trong vòng lặp while. Nhưng thêm vào đó, for cung cấp chỗ dành cho lệnh
khởi tạo và lệnh tăng. Vì vậy vòng lặp này được thiết kế đặc biệt lặp lại một hành
động với một số lần xác định.
Cách thức hoạt động của nó như sau:
Sau đây là một ví dụ đếm ngược sử dụng vòng for.
#include <iostream.h>
int main ()
{
for (int n=10; n>0; n ) {
cout << n << ", ";
}
cout << "FIRE!";
return 0;
}

×