1. Trang chủ
  2. » Ngoại ngữ

Bài giảng Nhập môn tin học: Những khái niệm cơ bản về ngôn ngữ C - TS. Đào Nam Anh

20 31 0

Đ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

Định dạng
Số trang 20
Dung lượng 280,04 KB

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

Nội dung

trợ trong thư viện chuẩn và những hàm được dịch riêng lẻ khác kết nối lại bởi bộ liên kết để cho ra mã có thể thực thi được.  Bộ nạp (Loader): Mã thực thi được thi hành bởi bộ nạp của[r]

Trang 1

NHẬP MÔN TIN HỌC

NHỮNG KHÁI NIỆM CƠ BẢN VỀ NGÔN NGỮ C

TS Đào Nam Anh

Trang 2

Tài liệu

Slides do TS.Đào Nam Anh thực hiện dựa trên tài liệu [1,2] và các mã nguồn [3]:

1 B W Kernighan and D M Ritchie The C

Programming Language Prentice Hall 1978, ISBN 0-13-110163-3

2 TS.Nguyễn Thị Thu Hà, TS.Nguyễn Hữu

Quỳnh, TS.Nguyễn Thị Thanh Tân,

Giáo trình Nhập môn tin học, Khoa CNTT,

Đại học Điện lực, 2013

Trang 3

Nội dung

1 Giới thiệu về ngôn ngữ lập trình C

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

3 Biên dịch và thực thi một chương trình C

4 Các kiểu dữ liệu cơ sở và dẫn xuất

5 Biến, hằng, định danh

6 Nhập và xuất trong C

7 Bài tập c nh

Trang 4

1.Giới thiệu về ngôn ngữ lập trình C

4

 Ngôn ngữ C do Brian W.Kernighan và Dennis M.Ritchie phát triển vào đầu những năm 70 với mục đích ban đầu là phát triển

hệ điều hành UNIX

 Cuố sách viết về C đầu tiên “The Programming Language” do Brian W.Kernighan và Dennis M.Ritchie viết năm 1978

Trang 5

1.Giới thiệu về ngôn ngữ lập trình C

 C được Viện Tiêu chuẩn hoá của Mỹ (ANSI:

American National Standard Institute) làm thành

tiêu chuẩn với tên gọi ANSI C

 C rất hiệu quả để viết các chương trình thuộc

nhiều lĩnh vực khác nhau C cũng được dùng để

lập trình hệ thống Mã C rất dễ di chuyển, nghĩa

là phần mềm viết cho loại máy tính này có thể

chạy trên một loại máy tính khác và ít bị lỗi

Trang 6

1.Giới thiệu về ngôn ngữ lập trình C

.

Ngôn ngữ lập trình C hiện tại thường sử dụng các trình

dịch:

 Turbo C/C++, Borland C/C++ của hãng Borland

International Inc

 C-Free của của hãng phần mềm ProgramArts

 Dev C/C++ của hãng Bloodshed Software

 Các phần mềm mã nguồn mở Code::Blocks, Eclipse

 MSC, VC của Microsoft Corp

 Lattice C của Lattice

Sau này, C++ đã được phát triển từ C, bổ sung các yếu

tố về lập trình hướng đối tượng từ C

Trang 7

1.Giới thiệu về ngôn ngữ lập trình C

.

 C là ngôn ngữ lập trình cấu trúc Tuy nhiên, C không phải

là ngôn ngữ cấu trúc khối, không cho phép việc tạo hàm trong hàm

 C là ngôn ngữ có độ thích nghi cao Bởi các kiểu dữ liệu và cấu trúc điều khiển của C có hầu hết trên các máy tính nên thư viện lúc chạy cần để cài đặt chương trình khá gọn

 C độc lập với kiến trúc máy đặc thù, mọi chương

trình chạy không liên quan tới sự thay đổi về phần

cứng của máy tính

Trang 8

1.Giới thiệu về ngôn ngữ lập trình C

.

 C được sử dụng rộng rãi trong các lĩnh vực chuyên nghiệp vì đáp ứng được yêu cầu và có tính hiệu quả cao

 C cung cấp những cấu trúc điều khiển như các câu

lệnh lựa chọn, lệnh lặp giống ở Pascal

 C cung cấp con trỏ và khả năng định địa chỉ số học

 C cho phép hàm được gọi đệ quy và các biến cục bộ của hàm sẽ được tự động sinh ra hoặc được tạo mới với mỗi lần gọi mới

 C tương đối thoải mái trong chuyển đổi dữ liệu

Trang 9

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

C có chính xác là 32 từ khóa Những từ khóa này kết hợp với cú pháp của C hình thành ngôn ngữ C Nhưng nhiều

trình biên dịch cho C đã thêm vào những từ khóa dùng cho việc tổ chức bộ nhớ ở những giai đoạn tiền xử lý nhất định

Một số quy tắc khi lập trình C như sau:

 Tất cả từ khóa là chữ thường (không in hoa)

 Ðoạn mã trong chương trình C có phân biệt chữ thường

và chữ hoa Ví dụ: do while thì khác với DO WHILE

 Từ khóa không thể dùng cho các mục đích khác như đặt tên biến (variable name) hoặc tên hàm (function name)

Trang 10

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

Cấu trúc cơ bản nhất

của C gồm 5 phần:

Phần tiền xử lý, phần

khai báo các biến

ngoài, các hàm

nguyên mẫu, định

nghĩa các hàm và

phần chương trình

chính Một chương

trình C thông thường

có dạng như sau:

#include<stdio.h>//Gọi tiền xử lý

#define // định nghĩa hằng xâu ký tự typedef // Định nghĩa kiểu dữ liệu function prototype // Nguyên mẫu các hàm int x,y; // Phần khai báo các biến ngoài void main // Chương trình chính

{ float a;

int k=6;

printf ();

scanf();

các câu lệnh, lời gọi hàm

getch();

}

function 1// Định nghĩa hàm {

các câu lệnh trong thân của hàm }

function 2 {

các câu lệnh trong thân của hàm }

Trang 11

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

11

Phần tiền xử lý: Sử dụng các thư viện cần dùng

trong chương trình bắt đầu bằng dấu # và từ khoá

include Tên thư viện được đặt sau từ khoá include

và đặt trong dấu <>

 Thư viện hàm chuẩn dùng cho những tác vụ

chung Thư viện ở trong một tập tin (file) lớn

trong khi đa số còn lại chứa nó trong nhiều tập

tin nhỏ

 Hàm được chứa trong thư viện có thể được dùng

cho nhiều loại tác vụ khác nhau

 Vài trình biên dịch cho phép hàm được thêm vào

thư viện chuẩn trong khi số khác lại yêu cầu tạo

một thư viện riêng

#include<stdio.h>//Gọi tiền xử lý

#define // định nghĩa hằng xâu ký tự typedef // Định nghĩa kiểu dữ liệu function prototype // Nguyên mẫu các hàm int x,y; // Phần khai báo các biến ngoài void main // Chương trình chính

{ float a;

int k=6;

printf ();

scanf();

các câu lệnh, lời gọi hàm

getch();

}

function 1// Định nghĩa hàm {

các câu lệnh trong thân của hàm }

function 2 {

các câu lệnh trong thân của hàm }

Trang 12

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

CNTT Nhập môn tin học

12

Phần khai báo các biến ngoài: Đây là

khu vực các biến toàn cục, được khai báo

tại phần các biến ngoài của chương trình

C

Khai báo các hàm nguyên mẫu: Trong

Pascal chương trình con có 2 loại: thủ tục

và hàm, ở trong C chỉ có một loại chương

trình con duy nhất đó là hàm Hàm trong

C có thể trả về giá trị hay không trả về

giá trị Trong các hàm có sử dụng khai

báo các biến dùng trong phạm vi hàm đó

#include<stdio.h>//Gọi tiền xử lý

#define // định nghĩa hằng xâu ký tự typedef // Định nghĩa kiểu dữ liệu function prototype // Nguyên mẫu các hàm int x,y; // Phần khai báo các biến ngoài void main // Chương trình chính

{ float a;

int k=6;

printf ();

scanf();

các câu lệnh, lời gọi hàm

getch();

}

function 1// Định nghĩa hàm {

các câu lệnh trong thân của hàm }

function 2 {

các câu lệnh trong thân của hàm }

Trang 13

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

13

Phần định nghĩa các hàm: Chương trình C

được chia thành từng đơn vị gọi là hàm

 Tên hàm luôn được theo sau là cặp dấu

ngoặc đơn () Trong dấu ngoặc đơn có thể

có hay không có các tham số (parameters)

 Một định nghĩa hàm thường gồm các câu

lệnh, lời gọi hàm, chúng đều được nằm

giữa 2 dấu {} Dấu ngoặc nhọn mở { đánh

dấu điểm bắt đầu của một khối mã lệnh, dấu

ngoặc nhọn đóng } đánh dấu điểm kết thúc

của khối mã lệnh đó

#include<stdio.h>//Gọi tiền xử lý

#define // định nghĩa hằng xâu ký tự typedef // Định nghĩa kiểu dữ liệu function prototype // Nguyên mẫu các hàm int x,y; // Phần khai báo các biến ngoài void main // Chương trình chính

{ float a;

int k=6;

printf ();

scanf();

các câu lệnh, lời gọi hàm

getch();

}

function 1// Định nghĩa hàm {

các câu lệnh trong thân của hàm }

function 2 {

các câu lệnh trong thân của hàm }

Trang 14

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

14

Phần chương trình chính - Hàm main():

Hàm main() là hàm đầu tiên được gọi đến

khi một chương trình bắt đầu chạy Hệ

điều hành luôn trao quyền điều khiển cho

hàm main() khi một chương trình C được

thực thi Lệnh getch() cuối thân chương

trình dùng để lưu lại trên màn hình các kết

quả

#include<stdio.h>//Gọi tiền xử lý

#define // định nghĩa hằng xâu ký tự typedef // Định nghĩa kiểu dữ liệu function prototype // Nguyên mẫu các hàm int x,y; // Phần khai báo các biến ngoài void main // Chương trình chính

{ float a;

int k=6;

printf ();

scanf();

các câu lệnh, lời gọi hàm

getch();

}

function 1// Định nghĩa hàm {

các câu lệnh trong thân của hàm }

function 2 {

các câu lệnh trong thân của hàm }

Trang 15

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

15

Dấu kết thúc câu lệnh: Dòng int x,y;

trong đoạn mã mẫu là một câu lệnh

(statement) Một câu lệnh trong C được kết

thúc bằng dấu chấm phẩy (;) C không hiểu

việc xuống dòng dùng phím enter, khoảng

trắng dùng phím spacebar hay một khoảng

cách do dùng phím tab Có thể có nhiều

hơn một câu lệnh trên cùng một hàng

nhưng mỗi câu lệnh phải được kết thúc

bằng dấu chấm phẩy Một câu lệnh không

được kết thúc bằng dấu chấm phẩy được

xem như một câu lệnh sai

#include<stdio.h>//Gọi tiền xử lý

#define // định nghĩa hằng xâu ký tự typedef // Định nghĩa kiểu dữ liệu function prototype // Nguyên mẫu các hàm int x,y; // Phần khai báo các biến ngoài void main // Chương trình chính

{ float a;

int k=6;

printf ();

scanf();

các câu lệnh, lời gọi hàm

getch();

}

function 1// Định nghĩa hàm {

các câu lệnh trong thân của hàm }

function 2 {

các câu lệnh trong thân của hàm }

Trang 16

1.Giới thiệu về ngôn ngữ lập trình C

u c cơ n a t chương nh C

Dòng chú thích (Comment): Những chú thích thường

được viết để mô tả công việc của một lệnh đặc biệt, một hàm hay toàn bộ chương trình Trình biên dịch sẽ không dịch chúng Trong C, chú thích bắt đầu bằng ký hiệu /*

và kết thúc bằng */ Trường hợp chú thích có nhiều

dòng, ta phải chú ý ký hiệu kết thúc (*/), nếu thiếu ký hiệu này, toàn bộ chương trình sẽ bị coi như là một chú thích Trong trường hợp chú thích chỉ trên một dòng ta

có thể dùng // Ví dụ:

float a; // Biến ‘a’ đã được khai báo như là một kiểu số thực (float)

Trang 17

1.Giới thiệu về ngôn ngữ lập trình C

Biên ch c thi t chương nh

# include file

Tập tin thêm vào

Source file

Mã nguồn

Compiler

Trình biên dịch

Object File

Tập tin đối tượng

Library File

Thư viện

Other User-generated Object

File

Các tập tin thực thi khác của người

dùng

Linker

Bộ liên kết

Executable File

Tập tin thực thi

Trang 18

1.Giới thiệu về ngôn ngữ lập trình C

Biên ch c thi t chương nh

18

Soạn thảo/Xử lý từ: Lập trình viên dùng một trình

xử lý từ (word processor) hay trình soạn thảo (editor)

để viết mã nguồn (source code) C chỉ chấp nhận loại

mã nguồn viết dưới dạng tập tin văn bản chuẩn

Mã nguồn: Ðây là đoạn văn bản của chương trình mà

người dùng có thể đọc Nó là đầu vào của trình biên dịch C

Bộ tiền xử lý C: Từ mã nguồn, bước đầu tiên là

chuyển nó qua bộ tiền xử lý của C Bộ tiền xử lý này

sẽ xem xét những câu lệnh bắt đầu bằng dấu #

Những câu lệnh này gọi là các chỉ thị tiền biên dịch (directives)

Trang 19

1.Giới thiệu về ngôn ngữ lập trình C

Biên ch c thi t chương nh

Mã nguồn mở rộng C: Bộ tiền xử lý của C khai triển

các chỉ thị tiền biên dịch và đưa ra kết quả

Trình biên dịch C (Compiler)

Trình biên dịch C dịch mã nguồn mở rộng thành ngôn ngữ máy để máy tính hiểu được Nếu chương trình

quá lớn nó có thể được chia thành những tập tin riêng biệt và mỗi tập tin có thể được biên dịch riêng rẽ

Trang 20

1.Giới thiệu về ngôn ngữ lập trình C

Biên ch c thi t chương nh

Bộ liên kết (Linker): Mã đối tượng cùng với những thủ tục hỗ

trợ trong thư viện chuẩn và những hàm được dịch riêng lẻ khác kết nối lại bởi bộ liên kết để cho ra mã có thể thực thi được

Bộ nạp (Loader): Mã thực thi được thi hành bởi bộ nạp của

hệ thống

Ngày đăng: 11/03/2021, 10:11

TỪ KHÓA LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w