1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Hàm trong C

15 447 4
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 đề Hàm
Trường học Trường Đại Học Công Nghệ Thông Tin
Chuyên ngành Công Nghệ Thông Tin
Thể loại Bài Tập
Thành phố Hồ Chí Minh
Định dạng
Số trang 15
Dung lượng 79,5 KB

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

Nội dung

Hàm trong C

Trang 1

LẬP TRÌNH C++

§7 Hàm (function)

Trang 2

I Khai báo và sử dụng hàm

1 Khái niệm

 Hàm là một đoạn chương trình độc lập thực hiện trọn vẹn một công việc nhất định sau đó trả về giá trị cho chương trình gọi nó, hay nói cách khác hàm là sự chia nhỏ của chương trình

 Khi có một công việc giống nhau cần thực hiện ở nhiều vị trí

 Khi cần chia một chương trình lớn phức tạp thành các đơn thể nhỏ (hàm con) để chương trình được trong sáng, dễ hiểu trong việc xử lý, quản lý việc tính toán và giải quyết vấn đề

Trang 3

2 Khai báo hàm

<Kiểu_dữ_liệu_của_hàm> Tên hàm ([các_tham_số]);

Ví dụ :

Khai báo hàm không định kiểu :

void Tên_hàm ([danh sách các tham số])

{

Khai báo các biến cục bộ;

Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;

}

Khai báo hàm có định kiểu dữ liệu:

<Kiểu dữ liệu> Tên_hàm ([danh sách các tham số])

{

<Kiểu dữ liệu> kq;

Khai báo các biến cục bộ;

Các câu lệnh / khối lệnh hay lời gọi đến hàm khác;

return kq;

}

Trang 4

3 Bài tập :

1 Đọc vào số tự nhiên n, tính n!=1*2*3*…*n

2 Đọc vào số thực a và số tự nhiên n, tinh an

3 Giải hệ phương trình :

4 Tính :

5 Đọc vào 3 số thực a, b, c (a có thể bằng 0)

Giải phương trình :

= +

= +

2 2

2

1 1

1

c y

b x

a

c y

b x

a

k n

k

0

ax

Trang 5

II Tính đệ quy của hàm

1 Khái niệm :

lại ngay chính nó, tính chất này được gọi là tính

đệ qui của hàm

2 Bài tập :

 Tính an

a1=a2=1; an=an-1+an-2 với n>2

5 Bài toán chuyển tháp (bài toán tháp Hà Nội)

Trang 6

III Thạm trị và tham biến

Giả sử ta khai báo hàm sau :

void timUCBC(long a,long b, long &s, long &d)

 Thì a và b được gọi là tham trị, s và d được gọi là tham biến

số, còn tham biến thì bắt buộc phải gọi bằng biến số

 Khi ra khỏi hàm, giá trị của tham biến ở hàm thế nào thì ở chương trình chính cũng thế, con tham trị khi ra khỏi hàm nó lại trở về giá trị ban đầu mặt

dù trong hàm nó có thể bị thay đổi

Trang 7

Ví dụ: Tìm UCLN và BCNN của 2 số nguyên a và b

#include <iostream.h>

//Hàm số tìm UCLN và BCNN

void timUCBC(long a,long b, long &s, long &d)

{

s=a*b;

while (a!=b)

if (a>b) a=a-b;

else b=b-a;

d=a;

s=s/a;

}

Trang 8

// Chương trình chính :

void main()

{

long a,b,s,d;

cout<<"Cho a va b: "; cin>>a>>b;

timUCBC(a,b,s,d);

cout<<“a="<<a<<endl;

cout<<“b="<<b<<endl;

cout<<"UCLN="<<d<<endl;

cout<<"BCNN="<<s<<endl;

}

Trang 9

Cách 2: a,b bị thay đổi

#include <iostream.h>

//Hàm số tìm UCLN và BCNN

void timUCBC(long &a,long &b, long &s, long &d) {

s=a*b;

while (a!=b)

if (a>b) a=a-b;

else b=b-a;

d=a;

s=s/a;

}

Trang 10

// Chương trình chính :

void main()

{

long a,b,s,d;

cout<<"Cho a va b: "; cin>>a>>b;

timUCBC(a,b,s,d);

cout<<“a="<<a<<endl;

cout<<“b="<<b<<endl;

cout<<"UCLN="<<d<<endl;

cout<<"BCNN="<<s<<endl;

}

Trang 11

IV Biến toàn cục và biến địa phương

 Biến toàn cục là biến khai báo ở đầu chương trình ngay sau các câu lệnh #include< >, biến địa

phương là biến khai báo ở hàm con

 Biến toàn cục có thể sử dụng trong toàn bộ

chương trình (cả chương trình chính và hàm con) còn biến địa phương khai báo ở hàm nào thì chỉ

sử dụng cho hàm đó

 Tên biến địa phương có thể trùng với tên biến

toàn cục và ở hàm con biến đó có thể bị thay đổi giá trị nhưng khi về chương trình chính nó lại trở

về giá trị ban đầu

Trang 12

Ví dụ: Tìm UCLN và BCNN của 2 số nguyên a và b

#include <iostream.h>

//Hàm số tìm UCLN và BCNN

void timUCBC(long a,long b) //Biến địa phương a,b {

s=a*b;

while (a!=b)

if (a>b) a=a-b;

else b=b-a;

d=a;

s=s/a;

}

Trang 13

// Chương trình chính :

void main()

{

cout<<"Cho a va b: "; cin>>a>>b;

timUCBC(a,b);

cout<<“a="<<a<<endl;

cout<<“b="<<b<<endl;

cout<<"UCLN="<<d<<endl;

cout<<"BCNN="<<s<<endl;

}

Trang 14

Cách 2: a,b bị thay đổi

#include <iostream.h>

//Hàm số tìm UCLN và BCNN

void timUCBC()

{

s=a*b;

while (a!=b)

if (a>b) a=a-b;

else b=b-a;

d=a;

s=s/a;

}

Trang 15

// Chương trình chính :

void main()

{

cout<<"Cho a va b: "; cin>>a>>b;

timUCBC();

cout<<“a="<<a<<endl;

cout<<“b="<<b<<endl;

cout<<"UCLN="<<d<<endl;

cout<<"BCNN="<<s<<endl;

}

Ngày đăng: 05/11/2012, 11:45

Xem thêm

TỪ KHÓA LIÊN QUAN

w