1. Trang chủ
  2. » Cao đẳng - Đại học

chương 2 - giới thiệu ngôn ngữ cc++

44 526 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Tiêu đề Chương 2 - Giới Thiệu Ngôn Ngữ C/C++
Trường học Trường Đại học Bách Khoa Hà Nội
Chuyên ngành Khoa học Máy tính
Thể loại Bài giảng
Năm xuất bản 2023
Thành phố Hà Nội
Định dạng
Số trang 44
Dung lượng 3,89 MB

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

Nội dung

*Bộ lệnh phù hợp với phương pháp lập trình có cấu trúc module, có thể sử dụng nhiều lần trong chương trình hoặc chương trình khác, hỗ trợ lập trình hướng đối tượng.*Kiểu dữ liệu phong ph

Trang 2

*Ngôn ngữ C do Dennis Ritchie xây dựng từ năm 1972 tại phòng thí nghiệm Bell Telephone với mục đích tạo ngôn ngữ để viết HĐH UNIX Song nhờ có các tính năng ưu việt và tính mềm dẻo nên được giới tin học chấp nhận

*Năm 1978, xuất bản quyển sách “The C programming language” do Kernighan và Ritchie viết.

Trang 3

*C++ dựa trên ngôn ngữ lập trình C

*C++ được phát minh bởi Bijarne Stroustroup, bắt đầu năm 1979

*Các trình biên dịch phổ biến: Borland C++,

Microsoft Visual C++

Trang 4

*Bộ lệnh phù hợp với phương pháp lập trình có cấu trúc module, có thể sử dụng nhiều lần trong chương trình hoặc chương trình khác, hỗ trợ lập trình hướng đối tượng.

*Kiểu dữ liệu phong phú, cho phép định nghĩa kiểu dữ liệu mới.

*Linh động về cú pháp, ít từ khóa.

OS, chương trình điều khiển, soạn thảo văn bản,

đồ hoạ, bảng tính… và các chương trình dịch cho các ngôn ngữ khác

Trang 5

*Cú pháp thuộc loại lạ và khó học Nếu người lập trình đã học qua một ngôn ngữ khác thì sẽ dễ dàng tiếp cận.

*Một số ký hiệu có nhiều nghĩa khác nhau Ví dụ: dấu “*” là toán tử nhân, là khai báo con trỏ, là toán tử thay thế, … Việc sử dụng đúng nghĩa các toán tử phụ thuộc vào ngữ cảnh sử dụng.

*Việc truy nhập tự do vào dữ liệu, việc trộn lẫn các kiểu dữ liệu… làm cho chương trình có phần bất ổn.

Trang 6

//Viết bằng VC++2003 //hoặc 2005, 2008, …

#include <iostream>

using namespace std;

void main() {

cout<<"Xin chao cac ban"; }

Trang 7

Lệnh thực hiện một chức năng nào đó (khai báo, gán, xuất, nhập, …) và được kết thúc bằng dấu chấm phẩy (;)

Khối lệnh gồm nhiều lệnh và được đặt trong cặp dấu ngoặc { }

Trang 8

* Từ vị trí cụ thể đến cuối dòng: dùng // ngay tại vị trí đó.

* Tạo nhiều dòng ghi chú: dùng cặp ký tự /* ngay trước dòng đầu tiên, và cặp ký tự */ ngay sau dòng cuối cùng.

Trang 9

*Các ký hiệu đặc biệt như: , ; [] {} ? ! \ & | % #

*Không được dùng các ký hiệu như: α, φ, Ω, π, … hoặc tiếng việt có dấu: â, ă, ô…

Trang 10

auto break case char const

Trang 11

*Một biến đại diện cho một vùng nhớ hay tập các vùng nhớ trên bộ nhớ chính của máy tính Tên biến được dùng để tham khảo đến những vùng nhớ này.

*Biến để lưu trữ các giá trị do người dùng nhập vào hoặc các giá trị tạm thời trong quá trình tính toán.

*Mỗi biến sẽ có tên và kiểu dữ liệu tương ứng Kiểu dữ liệu của biến xác định những giá trị kiểu nào có thể được lưu trong biến (ví dụ số hay chữ…).

*PHẢI khai báo BiẾN trước khi sử dụng

Trang 12

* Kiểu tự định nghĩa (xét sau)

Dùng những kiểu cơ sở để xây dựng thành những kiểu dữ liệu mới cho phù hợp với bài toán.

Trang 13

STT TÊN KIỂU GHI CHU KÍCH THƯỚC

Trang 14

STT TÊN KIỂU GHI CHU KÍCH THƯỚC

Trang 15

Dùng để đặt tên biến, tên hằng, tên hàm, …

*Bắt đầu bằng một ký tự.

*Các ký tự trong tên biến chỉ có thể là các ký tự chữ, số hoặc dấu gạch dưới (_)

*Không được trùng với các từ khoá.

*Không được trùng với phạm vi khai báo.

*Tên dễ hiểu, súc tích và gợi nhớ

*Phân biệt chữ hoa và thường

Trang 16

Khai báo nhi u bi n cùng ki u ề ế ể

<Kiểu dữ liệu> tênbiến1, tênbiến2, tênbiến3;

Ví dụ:

int a, x, y;

Trang 17

<Kiểu dữ liệu> tênbiến = giá trị;

Ví dụ:

int a = 5;

float b = 5.4, c = 9.2;

char ch = ‘n’;

Trang 18

*Hằng là đại lượng không thay đổi giá trị trong quá trình thi hành

chương trình

*Dùng toán tử #define

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

Ví dụ: #define MAX 100

*Biến hằng được định nghĩa nhờ từ khoá const với cú pháp như sau:

const <kiểu_dữ_liệu> <tên_biến> = <giá_trị>;

Ví dụ: const int MAX = 100;

Tên hằng số nên viết bằng chữ in HOA

Trang 19

*Hằng số: Đó là các giá trị xác định, một hằng số có thể

là nguyên (có kiểu dữ liệu int, hay long int) hay thực (có kiểu dữ liệu là float, double, long double).

tương ứng với giá trị nguyên 65, 97 trong bảng mã ASCII.

nháy kép " " Ví dụ: “Lap trinh C"

(\0)

Trang 20

STT TOÁN PHÉP Ý NGHĨA GHI CHU

PHÉP TOÁN SỐ HỌC

1 + Cộng

3 * Nhân

4 / Chia Đối với 2 số nguyên thì kết quả là chia lấy phần nguyên

5 % Chia lấy phần dư Chỉ áp dụng cho 2 số nguyên

PHÉP TOÁN QUAN HÊ

1 > Lớn hơn

2 < Nhỏ hơn

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

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

5 = = Bằng nhau

6 != Khác nhau

Trang 21

PHÉP TOÁN LOGIC

2 && AND

3 || OR

TOÁN TỬ TĂNG GIẢM

1 ++ Tăng 1 Nếu toán tử tăng giảm đặt

trước thì tăng giảm trước rồi tính biểu thức hoặc ngược lại.

Trang 22

Ví dụ:

int x = 5, y = 11;

int z = ++x + y++;

Kết quả: x=6; y=12; z=17

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

(ĐK)?<BT cho trường hợp đúng>:<BT cho trường hợp sai>

Trang 23

Toán tử Độ ưu tiên Trình tự kết hợp

() [] -> 1 Tư trái qua phải

! ~ ++ - + * & sizeof 2 Tư phải qua trái

<< >> 5 Tư trái qua phải

< <= >= > 6 Tư trái qua phải

Trang 24

*Quên khai báo các biến sử dụng trong chương trình.

*Lưu một giá trị vào một biến nhưng không cùng kiểu dữ liệu với biến.

*Sử dụng biến trong một biểu thức khi nó chưa có giá trị Lỗi này thì không được phát hiện bởi trình biên dịch, khi đó giá trị của biến là một giá trị bất kỳ và kết quả của biểu thức là vô nghĩa.

Trang 25

*Sử dụng giá trị của phép chia không chính xác Lỗi này thường xuất hiện trong các biểu thức có nhiều toán hạng và lỗi này rất khó phát hiện

Ví dụ: 3.2 + 2/3 + 1.5 thì sẽ cho kết quả sẽ bằng 4.7 thay vì kết quả đúng phải bằng 5.36666666666667

liệu nhưng lại không biết chắc chắn kiểu dữ liệu của kết quả.

Trang 26

*Thư viện hàm: iostream.h

cout<<“Gia tri cua a = “<<a;

Các biến và chuỗi cách nhau bởi dấu <<

(chuỗi nằm trong cặp dấu nháy kép “” )

Trang 27

Thư viện iomanip.h

Trang 28

5.3 5.339

cout<<setprecision(n);

 Xu t s th p phân g m n ch s l (ph n th p ấ ố ậ ồ ữ ố ẻ ầ ậ phân)

Trang 29

*Thư viện <stdio.h>

Trang 33

Ký tự Ý nghĩa Ví dụ

\t Tab vào một

đoạn ký tư trắng

cout<<"xyz\tzyx”;Kết quả: xyz zyx

\b Xuất lùi về sau cout<<"xyz\t\bzyx”;

Kết quả: xyzzyx

\n hoặc

endl Xuống dòng

cout<<"xyz\nzyx”;Kết quả: xyz

zyx

\r Về đầu dòng cout<<"xyz\rzyx”;

Kết quả: zyx

Trang 34

* Mỗi lệnh nằm trên một dòng Cuối dòng lệnh PHẢI có dấu chấm phẩy (;).

*Lệnh quá dài có thể được viết thành nhiều dòng sao cho mỗi lệnh phải được quan sát trọn vẹn trong pham vi cửa sổ lệnh.

Trang 35

* Không nên đặt nhiều lệnh trên cùng một dòng, ngay cả các khai báo biến, nếu các biến có khác kiểu cũng nên đặt trên các dòng khác nhau.

* Có các chú thích, ghi chú đầy đủ

*Chương trình phân cấp các khối lệnh con theo từng cột

Trang 39

Cho biết kết quả của những lệnh sau:

Trang 40

-cout<<(k%3==0)?k++: k ;

Với k =10 Kết quả:

Với k =15 Kết quả:

Trang 41

Các định danh nào sau đây là không hợp lệ?

Trang 43

Mô tả giải thuật bằng mã giả, lưu đồ và viết các chương trình sau:

*Viết chương trình nhập vào giờ phút và giây, đổi ra giây và xuất kết quả ra màn hình.

*Viết chương trình nhập vào 3 số nguyên a, b và

c, tính giá trị trung bình cộng của 3 số trên và xuất kết quả ra màn hình.

Trang 44

* Viết chương trình cho phép nhập vào một số đo

nhiệt độ theo độ Fahrenheit và xuất ra nhiệt độ tương đương của nó theo độ Celsius, sử dụng công thức chuyển đổi:

* Viết chương trình nhập vào 3 số nguyên a, b và

c, cho biết 3 số vừa nhập có thứ tự tăng dần (a<b<c) không? Và xuất kết quả.

) 32

( 9

5 0

0C = F

Ngày đăng: 23/05/2014, 10:00

TỪ KHÓA LIÊN QUAN