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

ngữ lập trình Lập trình và ngôn - uet.vnu.edu.vnuet.vnu.edu.vn/~tqlong/2016thcs4/slide2_programming.pdf · Lập trình (programming) Các thao tác xây dựng chương

Embed Size (px)

Citation preview

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

Nội dung● Thế nào là lập trình● Ngôn ngữ lập trình● Ngôn ngữ C và C++● Xây dựng một chương trình đơn giản

Lập trình (programming)● Các thao tác xây dựng chương trình máy

tính○ Giải quyết vấn đề bằng máy tính○ Thông qua ngôn ngữ lập trình

● Còn gọi là “viết mã” (coding)

Giải quyết vấn đề bằng máy tính● Xác định mục đích của bài toán● Thiết kế cấu trúc dữ liệu và giải thuật

○ Program = Data Structure + Algorithm (N. Wirth)● Thể hiện bằng một NNLT cụ thể● Thực thi & Kiểm tra & Hiệu chỉnh● Viết tài liệu sử dụng và bàn giao

Các bước phát triển chương trình● Soạn thảo mã nguồn (source code)● Biên dịch mã nguồn thành tệp đối tượng

(object file)● Liên kết các tệp đối tượng thành tệp thực thi

(executable file)● Thực hiện / chạy chương trình

Ngôn ngữ lập trình● Ngôn ngữ máy

○ Dạng mã nhị phân 0-1, đặc thù theo từng dòng máy● Hợp ngữ

○ Ngôn ngữ máy ở dạng ký hiệu● Ngôn ngữ bậc cao

○ Thường độc lập với máy○ Có thể biểu diễn chương trình gần như lời nói

Thông dịch● Khi thực hiện chương trình mới được dịch● Có nhiều cấu trúc lệnh trừu tượng● An toàn, khả chuyển● Hiệu năng thấp

Biên dịch● Dịch chương trình sang mã máy trước khi

chạy● Chỉ cần tệp thực thi để chạy chương trình● Hiệu năng cao

Các bước chạy chương trình● Biên dịch (compile): chuyển mã nguồn sang

tệp đối tượng (object file)● Liên kết (link): kết nối các tệp đối tượng và

thư viện thành tệp thực thi

Lịch sử ngôn ngữ lập trình

Ngôn ngữ C● D. Ritchie phát triển tại Bell Labs (1972)

○ dựa trên ngôn ngữ BCPL (Martin Richards -1967) và ngôn ngữ B (Ken Thompson – 1970)

○ được cài đặt lần đầu tiên trên hệ điều hành UNIX● Ngôn ngữ vạn năng (general-purpose)● Ngôn ngữ bậc cao, có cấu trúc● Có khả năng truy cập bộ nhớ ở mức thấp● Phù hợp cho phát triển các ứng dụng lớn, ứng dụng hệ

thống

Ngôn ngữ C● Ngôn ngữ rất “mạnh” và “mềm dẻo”● Có hệ thống thư viện (theo chuẩn ANSI/ISO)● Có nhiều thư viện khác (third party)● Hỗ trợ các phép toán kỹ thuật● Người mới học có thể thấy “rắc rối”

Ngôn ngữ C++● Ngôn ngữ C cộng với đối tượng● Hỗ trợ lập trình hướng đối tượng (object

oriented programming)● Có hệ thống thư viện mẫu chuẩn (Standard

Template Library - STL)

Các thành phần của ngôn ngữ● Bảng chữ cái

○ Tập các ký tự dùng để viết chương trình○ C/C++ phân biệt chữ hoa, chữ thường

● Từ khóa○ Các từ cơ bản của ngôn ngữ

● Cú pháp○ Cách viết các câu lệnh

● Ngữ nghĩa○ Ý nghĩa của các cấu trúc

Từ khóa trong Cauto double int struct

break else long switch

case enum register typedef

char extern return union

const float short unsigned

continue for signed void

default goto sizeof volatile

do if static while

and const export namespace signed typename

and_eq const_cast extern new sizeof union

asm continue extern "C" not static unsigned

auto default false not_eq static_cast using

bitand #define float operator struct virtual

bitor delete for or switch void

bool do friend or_eq template volatile

break double goto private this void

case dynamic_cast if protected throw wchar_t

catch else inline public true while

char enum int register try xor

class exit() long reinterpret_cast typedef xor_eq

compl explicit mutable short typeid

C++

Ví dụ (hello.c)

Phân tích ví dụDòng số 1: ● Chú thích tên file● Có thể đánh thông tin bất kì trong chú thích● Trình biên dịch sẽ không dịch chú thích

Phân tích ví dụDòng số 3: ● Chỉ thị tiền xử lý ● Chèn toàn bộ tệp vào vị trí này

Phân tích ví dụDòng số 5: ● Khai báo hàm có tên là ● Với C/C++, hàm là hàm chạy đầu tiên● Còn gọi là điểm vào (entry point)● Giá trị trả về là số nguyên ( )● Không có tham số

Phân tích ví dụDòng số 6 và 9: ● Dấu : điểm bắt đầu khối lệnh● Dấu : điểm kết thúc khối lệnh● Khối lệnh ở đây là các lệnh của hàm

Phân tích ví dụDòng số 7: ● Câu lệnh in 1 chuỗi ký tự● Dấu là ký hiệu kết thúc dòng, xuống dòng● Kết thúc câu lệnh bằng dấu

Phân tích ví dụDòng số 8: ● Kết thúc hàm main● Trả về giá trị số nguyên ( ) bằng

Biên dịch chương trình● Mở Command prompt

○ phím cửa sổ + R○ gõ cmd, gõ Enter

Biên dịch chương trình● Đặt đường dẫn PATH

○ gõ Enter

Biên dịch chương trình● Biên dịch

○ gõ Enter

Chạy chương trình● Chạy chương trình

○ gõ Enter

Biên dịch và chạy trong IDEBuildRunThực hành