1. Trang chủ
  2. » Công Nghệ Thông Tin

Ôn tập kỹ thuật lập trình

16 8 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 16
Dung lượng 894,95 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àng ngày, bạn dùng điện thoại di động để nhắn tin, gọi điện. Để điện thoại của bạn hoạt động được, cần có phần mềm cài đặt bên trong và phần mềm tại công ty viễn thông cung cấp dịch vụ điện thoại để tính cước.

Trang 1

Ôn tập kỹ thuật lập trình

GV: Nguyễn Hữu Thể Khoa CNTT – Đại Học Cửu Long

Trang 2

NỘI DUNG

Hàm và thủ tục

1

Con trỏ

2

5

Trang 3

I Hàm và thủ tục

I.1 Hàm

Khi định nghĩa hàm, ta luôn khai báo tường minh giá trị trả về khi

hàm thực hiện xong

− Cú pháp:

<kiểu dữ liệu> <tên hàm> (danh sách các tham số)

{

//Thân hàm return <biến> //cùng kiểu dữ liệu với hàm }

Trang 4

I.1 Hàm

Ví dụ: tính tổng 2 số nguyên a, b Trả về giá trị là tổng 2 số

Gọi hàm trong main()

int TinhTong(int a, int b)

{

int tong;

tong = a + b;

return tong;

}

int TinhTong(int a, int b) {

return (a+b);

}

void main()

{

int a=4, b=5;

int tmp;

tmp = TinhTong(a,b);

printf(“Tong 2 so:%d”

,tmp);

void main() {

int a=4, b=5;

printf(“Tong 2 so la:

%d”, TinhTong(a,b)); }

Trang 5

I.2 Thủ tục (Hàm không có giá trị trả về)

Thủ tục không trả về giá trị, ta dùng từ khóa void để khai báo kiểu

dữ liệu

− Cú pháp:

void <tên hàm> (danh sách các tham số)

{

//Thân hàm, xử lý các dữ liệu //Nếu cần biết thông tin dl thì in ra màn hình }

Trang 6

I.2 Thủ tục

Ví dụ: tính tổng 2 số nguyên a, b In kết quả ra màn hình

Gọi hàm trong main()

void TinhTong(int a, int b)

{

int tong;

tong = a + b;

printf(“%d”,tong);

}

void TinhTong(int a, int b) {

printf(“%d”,(a+b)); }

void main()

{

int a=4, b=5;

TinhTong(a,b);

}

void main() {

TinhTong(4,5));

}

Trang 7

Cách tổ chức mã nguồn trong C

Cách 1: khai báo prototype Cách 2: để hàm main sau cùng

#include<stdio.h>

#include<conio.h>

//khai báo prototype

void TinhTong(int a, int b);

void main()

{

int a=4, b=5;

TinhTong(a,b);

getch();

}

void TinhTong(int a, int b)

{

int tong;

tong = a + b;

printf(“%d”,tong);

#include<stdio.h>

#include<conio.h>

void TinhTong(int a, int b) {

int tong;

tong = a + b;

printf(“%d”,tong); }

void main() {

int a=4, b=5;

TinhTong(a,b);

getch();

}

Trang 8

II Con trỏ

II.1 Truy cập địa chỉ

− Trong các ngôn ngữ lập trình, khi một biến được khai báo, ba thuộc

tính cơ bản sau được liên kết đến nó:

 Tên định danh của biến

 Kiểu dữ liệu liên quan

 Địa chỉ trong bộ nhớ

Ví dụ: khai báo biến

int n = 10;

n là tên định danh của biến, có kiểu int và được lưu trữ đâu đó trong bộ nhớ máy tính.

 Xuất:

printf(“%d”,n); //in nội dung biến

10

Địa chỉ: FFF0

Nội dung ô nhớ

Trang 9

II.1 Truy cập địa chỉ

Ví dụ:

void main()

{

int n=10;

printf(“%d”,n); //in nội dung biến printf(“%0X”,&n);//in địa chỉ của biến }

Kết quả thực hiện như sau:

• Ta thấy giá trị của n là 10

• Địa chỉ biến n theo số hexa là FFF0

10 FFF0

Trang 10

II.2 Biến tham chiếu

− Dùng một biến khác truy cập đến cùng một địa chỉ với biến đã có, ta

sử dụng biến tham chiếu (references)

Cú pháp:

type& alias = name

 type: kiểu dữ liệu

 alias: tên biến tham chiếu

 name: tên của biến mà biến alias tham chiếu đến

void main()

{

int n=10;

int& r=n;

printf(“n=%d, r=%d”,n,r);

n++;

printf(“n=%d, r=%d”,n,r);

Kết quả

n = 10, r = 10 n= 11, r = 11

Trang 11

II.3 Biến con trỏ

− Dùng để lưu địa chỉ bộ nhớ của một đối tượng

Cú pháp:

type* var

 type: kiểu dữ liệu

 var: biến con trỏ

Ví dụ:

int x=10;

int* p;

p=&x; //p lưu địa chỉ của x, hay p trỏ đến x

 Ghi chú:

(*p): nội dung của p

toán tử (*): toán tử đọc nội dung gián tiếp thông qua con trỏ

Trang 12

II.3 Biến con trỏ

Ví dụ:

void main()

{

int x=10;

int* p=&x; //p tr? d?n x printf("Dia chi cua x: %0X \n",&x);

printf("Noi dung cua x: %d \n",x);

printf("Dia chi cua p: %0X \n",&p);

printf("Noi dung cua p: %0X",p);

printf("Noi dung tai dia chi ma p tro den: %d",*p); }

FFEE

FFF0

(&x)

Địa chỉ

FFF0 p

10

(x)

x

Nội dung (giá trị) Biến

Trang 13

Ví dụ

void HoanVi_1(int a, int b)

{

int tmp = a;

a = b;

b = tmp;

}

void HoanVi_2(int *a, int *b)

{

int tmp = *a;

*a = *b;

*b = tmp;

}

void HoanVi_3(int &a, int &b)

{

int tmp = a;

a = b;

b = tmp;

}

void main() {

int a = 1, b = 2;

HoanVi_1(a, b);

printf("a = %d",a); printf("b = %d",b); }

void main() {

int *a = 1, *b = 2; HoanVi_2(a, b);

printf("a = %d",*a); printf("b = %d",*b); }

void main() {

int a = 1, b = 2;

HoanVi_3(a, b);

printf("a = %d", a); printf("b = %d", b);

Trang 14

II.4 Con trỏ và mảng

− Con trỏ và mảng 1 chiều

int a[] = {4,5,7,9};

Truy xuất phần tử thứ hai a[1]=5

 Sử dụng con trỏ:

• Tên mảng xem như con trỏ

Truy xuất phần tử thứ i: a[i] hay *(a+i)

− Con trỏ và mảng 2 chiều

int a[2][3]={{4,5,7},

{9,10,12}};

Truy xuất phần tử thứ i=1,j=1 là: a[1][1]=10

 Sử dụng con trỏ:

• Tên mảng xem như con trỏ

Truy xuất phần tử thứ i,j: a[i][j] hay *(*(a+i)+j)

Trang 15

Bài tập

1 Cho mảng 1 chiều int a[] = {4,5,7,9}

Viết thủ tục xuất giá trị mảng ra màn hình (sử dụng con trỏ truy xuất mảng)

2 Cho mảng 2 chiều int a[2][3]={{4,5,7},{9,10,12}};

Viết thủ tục xuất giá trị mảng ra màn hình (sử dụng con trỏ truy xuất mảng)

Ngày đăng: 20/05/2021, 03:42

TỪ KHÓA LIÊN QUAN

w