lab4

3

Click here to load reader

Upload: tran-van-nam

Post on 18-Jul-2015

48 views

Category:

Documents


11 download

TRANSCRIPT

Page 1: Lab4

o o n

Kỹ thuật lập trình 501127 – HK2/2011-2012 1

Ỹ UẬ LẬ Ì Bài ự àn 4

iể on rỏ, ấp p động và đệ q

ần 1: ài p bắ b ộ

Bài 1:

Thực hành theo yêu cầu sau và cho biết kết quả:

- Khai báo 2 con trỏ (giả sử đặt tên con trỏ thứ nhất là A, con trỏ thứ hai là B) trỏ

tới hai vùng nhớ được cấp phát động kiểu số nguyên và khởi tạo giá trị cho hai

vùng nhớ này.

- Xuất giá trị hai vùng nhớ này ra màn hình.

- Xóa vùng nhớ mà B trỏ đến. Xuất giá trị của B ra màn hình. Tiếp theo, gán B

bằng NULL rồi xuất giá trị của B ra màn hình.

- Gán B bằng A. Xuất giá trị của A và B ra màn hình.

- Xóa vùng nhớ mà A trỏ đến. Xuất giá trị của A và B ra màn hình.

Bài 2:

Tìm lỗi trong những đoạn chương trình bên dưới và sửa lỗi nếu được. Giả sử có

những đoạn khai báo sau:

int *aPtr; // aPtr sẽ trỏ đến mảng a

void *bPtr = 0;

int number;

int a[5] = [1,2,3,4,5];

a/ ++aPtr;

b/ // sử dụng con trỏ để lấy giá trị đầu tiên của mảng.

number = aPtr;

c/ // Gán number bằng phần tử thứ hai của mảng (giá trị 3).

number = *aPtr[2];

d/ // Xuất ra màn hình toàn bộ mảng a.

for (int i = 0; i <= 5; i++)

cout <<aPtr[i] <<endl;

e/ // Gán number bằng giá trị của bPtr

number = *bPtr;

f/ ++z;

cao quang hung
Insert Text
sai ki hieu [] thay bang {}
cao quang hung
Insert Text
cao quang hung
Insert Text
cao quang hung
Insert Text
aPtr khong phai mang sua thanh *(aPtr + 2)
cao quang hung
Insert Text
cao quang hung
Insert Text
tuong tu sua thanh aPtr+i
cao quang hung
Insert Text
Page 2: Lab4

o o n

Kỹ thuật lập trình 501127 – HK2/2011-2012 2

Bài 3:

Tìm lỗi trong những đoạn chương trình sau và sửa lỗi nếu có:

a) int *number;

cout « number « endl;

b) double *realPtr;

long *integerPtr;

integerPtr = realPtr;

c) int*x, y;

x = y;

d) char s[] = "Đây là một mảng các ký tự: ";

for ( ; *s 1= '\0'; s++)

cout « *s « * *;

e) short *numPtr, result;

void *genericPtr = numPtr;

result = *genericPtr + 7;

f) double x = 19.34;

double xPtr = &x;

cout « xPtr « endl;

Bài 4:

Viết chương trình tính lũy thừa của một số nguyên bằng đệ quy.

// int luyThua(int coSo, int soMu)

Bài 5:

Viết chương trình tìm một số trong một mảng số nguyên được sắp thứ tự tăng dần

bằng phương pháp đệ quy. Nếu có trả về true, ngược lại trả về false.

// int a[100];

// bool findNumber (int number, int begin, int end)

// begin và end: là hai cận để tìm number trong mảng a.

ần 2: ài p làm êm

Bài 6:

Viết các dòng lệnh C++ theo những mô tả bên dưới:

Page 3: Lab4

o o n

Kỹ thuật lập trình 501127 – HK2/2011-2012 3

a/ Khai báo một mảng kiểu double với 10 phần tử. Khởi tạo giá trị cho các phần tử là

0.0, 1.1, 2.2, 3.3, 4.4, 5.5, 6.6, 7.7, 8.8, 9.9

b/ Khai báo biến con trỏ dPtr trỏ đến mảng trên.

c/ Sử dụng con trỏ dPtr in tất cả các phần tử trong mảng trên.

d/ Khai báo thêm hai con trỏ aPtr và bPtr kiểu số thực.

e/ Sử dụng ba con trỏ aPtr, bPtr và dPtr để hoán đổi giá trị ở phần tử thứ hai với phần tử

thứ tám.

f/ Sử dụng con trỏ dPtr để in ra tất cả các phần tử của mảng trên.

Bài 7:

Viết các dòng lệnh C++ theo những mô tả bên dưới:

a/ Cho hai biến kiểu float number1 và number2. Khởi tạo giá trị cho number1 là 7.3.

b/ Khai báo con trỏ fPtr kiểu double.

c/ Gán giá trị của biến number1 đến con trỏ fPtr.

d/ In giá trị của con trỏ fPtr ra màn hình.

e/ Gán trị của con trỏ fPtr đến biến number2.

f/ In giá trị của number2 ra màn hình.

g/ In địa chỉ của number1 ra màn hình.

h/ In địa chỉ mà fPtr đang trỏ đến.

-- ế --