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

LẬP TRÌNH C TRÊN LINUX

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 (3.42 MB, 136 trang )

LẬP TRÌNH C TRÊN LINUX
TS. Lê Văn Vinh
Bộ môn Vật lý tin học
Viện Vật lý kỹ thuật
Đại học Bách khoa Hà nội
1
Lập trình cấu trúc
2
Hàm (Function)
 Trong C mọi chương trình con là hàm, không có sự phân biệt
giữa hàm và thủ tục.
 Cách tiếp cận phân tích bài toán theo hướng top-down: xác
định chức năng của các hàm.
 Một chương trình C là một tập hợp các hàm tương tác bằng
cách gọi lẫn nhau và truyền các thông tin qua lại giữa các
hàm.
 Các hàm có thể được dùng lại nhiều lần => thành lập các thư
viện hàm. (vd: stdio, stdlib, conio, math, string,…)
 Hai loại hàm trong C:
 Hàm chuẩn trong các thư viện C: printf, scanf, các hàm tính toán
toán học, xử lý xâu ký tự, …
 Hàm do người dùng định nghĩa.
3
Hàm
 Là một đoạn mã lệnh độc lập, được đặt tên,
thực hiện một nhiệm vụ cụ thể và có thể trả
về một giá trị cho chương trình gọi hàm
 Sử dụng hàm trong chương trình giúp:
 Chia nhỏ chương trình thành những mô đun nhỏ
dễ quản lý
 Thống nhất các đoạn mã tương tự nhau, sử dụng


nhiều lần trong một chương trình
 Tái sử dụng mã lệnh trong nhiều hơn một chương
trình.
4
Các hàm trong C:
5
Ví dụ về hàm:
#include <stdio.h>
/* nguyen mau ham*/
int cube(int x);
void main()
{
int a, kq;
printf("Cho mot so nguyen:"); scanf("%d", &a);
kq=cube(a);
printf("\n Gia tri lap phuong cua %d la %d", a, kq);
}
/* Ham tinh lap phuong */
int cube(int x)
{
int x3;
x3 = x*x*x;
return x3;
}
6
Hoạt động của Hàm:
7
Khai báo Hàm:
8
File tiêu đề

9
Định nghĩa Hàm:
10
Các thành phần của Hàm:
11
Ví dụ 2:
 Chuyển đổi từ góc sang radian:
#include <stdio.h>
#include <math.h>
#define PI 3.14159
/* nguyen mau ham*/
float Radian(float x);
void main() {
float ang, adj, opp;
printf("Nhap gia tri cua goc (theo do:"); scanf("%f", &ang);
printf("Nhap canh ke:"); scanf("%f", &adj);
opp= adj*tan(Radian(ang));
printf("Canh doi la: %f\n", opp);
}
/* Ham tinh Radian */
float Radian(float deg) {
float result;
result = PI * deg/180.0;
return result;
}
12
Tên hàm:
13
Danh sách tham số:
14

Giá trị trả về:
15
Thân hàm:
16
Hàm tìm ƯSCLN
int USCLN(int a, int b)
{
a=abs(a);
b=abs(b);
while(a!=b)
{
if(a>b)
a=a-b;
else
b=b-a;
}
return a;
}
17
Phạm vi truy cập của biến:
18
Phạm vi truy cập
19
Biến tự động:
20
Cấp lưu trữ:
21
Biến tự động:
/* Hoán vị giá trị hai số nguyên */
#include <stdio.h>

void swap(auto int* , auto int* ); /* Hàm nguyên mẫu */
main()
{
auto int x, y;
x = 10; y = 20;
printf("Ban đầu x = %d, y = %d", x, y);
swap( &x, &y);
printf("Sau đó x = %d, y = %d", x, y);
}
/* Định nghĩa hàm swap */
void swap( auto int* a, auto int* b)
{
auto int temp;
temp = *a;
*a = *b;
*b = temp;
}
22
Biến toàn cục
23
Biến toàn cục:
#include <stdio.h>
long fibo(int count);
long f1=1,f2=1;/* khai báo biến toàn cục */
main()
{
int count,n;
printf("\nn =");scanf("%d",&n);
for(count=1;count<=n; ++count)
printf("\ni=%2d F=%ld", count,fibo(count));

}
long int fibo(int count)
{
long int f;
f=(count<3) ? 1: f1+f2;
f2=f1; f1=f;
return f;
}
24
Biến tĩnh
25

Tài liệu bạn tìm kiếm đã sẵn sàng tải về

Tải bản đầy đủ ngay
×