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

Bài giảng tin học đại cương bài 7 đh bách khoa hà nội

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 (986.66 KB, 18 trang )

Nội dung

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG

7.1. Các kiểu dữ liệu chuẩn trong C
7.2. Khai báo và khởi tạo biến, hằng
7.3. Biểu thức trong C
7.4. Các phép toán trong C
7.5. Một số toán tử đặc trưng
7.6. Các lệnh vào ra dữ liệu với các biến

TIN HỌC ĐẠI CƯƠNG
Phần 3. Lập trình C

Bài 7. Kiểu dữ liệu và biểu thức trong C

2

7.1. C|c kiểu dữ liệu chuẩn trong C
Kiểu dữ liệu

Ý nghĩa

Kích thước

Miền dữ liệu

unsigned char

Kí tự



1 byte

0  255

char

Kí tự

1 byte

-128  127

unsigned int

Số nguyên không 2 byte
dấu

065.535

short int

Số nguyên
có dấu

2 byte

-32.76832.767

int


Số nguyên có dấu 2 byte

-32.76832.767

7.1. C|c kiểu dữ liệu chuẩn trong C
Kiểu dữ liệu Ý nghĩa

Kích thước

Miền dữ liệu

unsigned long

Số nguyên không
dấu

4 byte

0
4,294,967,295

long

Số nguyên có dấu

4 byte

float


Số thực dấu phẩy
động,
độ chính x|c đơn
Số thực dấu phẩy
động,
độ chính x|c kép
Số thực dấu phẩy
động,
độ chính x|c kép
mở rộng

4 byte

-2,147,483,648 
2,147,483,647
 3.4E-38 
 3.4E+38

double

long double

3

8 byte

 1.7E-308  
1.7E+308

10 byte


 3.4E-4932  
1.1E+4932

4

1


Nội dung

7.2.1. Khai b|o v{ khởi tạo biến

7.1. Các kiểu dữ liệu chuẩn trong C
7.2. Khai báo và khởi tạo biến, hằng
7.3. Biểu thức trong C
7.4. Các phép toán trong C
7.5. Một số toán tử đặc trưng
7.6. Các lệnh vào ra dữ liệu với các biến

• Một biến trước khi sử dụng phải được khai b|o
• Cú pháp khai báo:

kieu_du_lieu ten_bien;
Hoặc:
kieu_du_lieu ten_bien1, …, ten_bienN;
• Ví dụ: Khai b|o một biến x thuộc kiểu số nguyên 2
byte có dấu (int), biến y, z,t thuộc kiểu thực 4 byte
(float) như sau:
int

x;
float
y,z,t;
x = 3; y = x + 1;
5

6

7.2.1. Khai b|o v{ khởi tạo biến (2)

7.2.2. Khai b|o hằng

Kết hợp khai b|o v{ khởi tạo

• Cách 1: Dùng từ khóa #define:

• Cú pháp:
kieu_du_lieu ten_bien = gia_tri_ban_dau;
Hoặc:

– Cú pháp:

#define ten_hang gia_tri

kieu_du_lieu bien1=gia_tri1, bienN=gia_triN;

– Ví dụ:

• Ví dụ:


#define MAX_SINH_VIEN 50
#define CNTT “Cong nghe thong tin”
#define DIEM_CHUAN 23.5

int a = 3;// sau lenh nay bien a se co gia tri bang 3
float x = 5.0, y = 7.6; // sau lenh nay x co gia
// tri 5.0, y co gia tri 7.6

7

8

2


7.2.2. Khai b|o hằng
• C|ch 2: Dùng từ khóa

7.2.2. Khai b|o hằng
• Chú ý:

const :

– Gi| trị của c|c hằng phải được x|c định ngay khi
khai báo.
– Trong chương trình, KHÔNG thể thay đổi được
gi| trị của hằng.
– #define l{ chỉ thị tiền xử lý (preprocessing
directive)


– Cú pháp:
const kieu_du_lieu ten_hang = gia_tri;
– Ví dụ:
const int MAX_SINH_VIEN = 50;
const char CNTT[20] = “Cong nghe thong tin”;
const float DIEM_CHUAN = 23.5;

• Dễ đọc, dễ thay đổi
• Dễ chuyển đổi giữa c|c nền tảng phần cứng hơn
• Tốc độ nhanh hơn
9

Nội dung

10

7.3.1. C|c loại biểu thức

7.1. Các kiểu dữ liệu chuẩn trong C
7.2. Khai báo và khởi tạo biến, hằng
7.3. Biểu thức trong C
7.4. Các phép toán trong C
7.5. Một số toán tử đặc trưng
7.6. Các lệnh vào ra dữ liệu với các biến

• a. Biểu thức số học:
– L{ biểu thức m{ gi| trị của nó l{ c|c đại lượng số
học (số nguyên, số thực).
– C|c to|n tử l{ c|c phép to|n số học (cộng, trừ,
nh}n, chia…), c|c to|n hạng l{ c|c đại lượng số

học (số, biến, hằng).
– Ví dụ:
• 3 * 3.7
• 8 + 6/3
• a + b – c // Với a, b, c l{ c|c biến thuộc một
kiểu dữ liệu số n{o đó.
11

12

3


7.3.1. C|c loại biểu thức

7.3.1. C|c loại biểu thức

• b. Biểu thức logic:

• c. Biểu thức quan hệ:

– L{ biểu thức m{ gi| trị của nó l{ c|c gi| trị logic,
tức l{ một trong hai gi| trị: Đúng (TRUE) hoặc
Sai (FALSE).

– L{ những biểu thức trong đó có sử dụng c|c
to|n tử quan hệ so s|nh như lớn hơn, nhỏ hơn,
bằng nhau, kh|c nhau…
– Chỉ có thể nhận gi| trị l{ một trong 2 gi| trị
Đúng (TRUE) hoặc Sai (FALSE)

 Biểu thức quan hệ l{ một trường hợp riêng
của biểu thức logic.

• Gi| trị nguyên kh|c 0: Đúng (TRUE),
• Gi| trị 0: Sai (FALSE).

– C|c phép to|n logic gồm có
• AND: VÀ logic, kí hiệu l{ &&
• OR: HOẶC logic, kí hiệu l{ ||
• NOT: PHỦ ĐỊNH, kí hiệu l{ !

13

14

7.3.1. C|c loại biểu thức

7.3.1. C|c loại biểu thức

• Ví dụ về biểu thức quan hệ:

• Ví dụ về biểu thức logic:

15

16

4



7.3.1. Sử dụng biểu thức

Nội dung






7.1. Các kiểu dữ liệu chuẩn trong C
7.2. Khai báo và khởi tạo biến, hằng
7.3. Biểu thức trong C
7.4. Các phép toán trong C
7.5. Một số toán tử đặc trưng
7.6. Các lệnh vào ra dữ liệu với các biến

L{m vế phải của lệnh g|n.
L{m to|n hạng trong c|c biểu thức kh|c.
L{m tham số thực trong lời gọi h{m.
L{m chỉ số trong c|c cấu trúc lặp for,
while, do while.
• L{m biểu thức kiểm tra trong c|c cấu trúc rẽ
nhánh if, switch.

17

7.4. Các phép toán trong C

18


7.4.1. Phép to|n số học

• Bao gồm:
– Nhóm c|c phép to|n số học
– Nhóm c|c phép to|n quan hệ
– Nhóm các phép toán logic
– Nhóm các phép toán thao tác trên bit
– Ngo{i ra C còn cung cấp một số phép to|n kh|c
nữa như phép g|n, phép lấy địa chỉ…

19

20

5


7.4.2. Phép toán trên bit (bitwise)

7.4.2. Phép toán trên bit

1)
1)

21

7.4.3. Phép to|n quan hệ

22


7.4.4. Phép toán logic

23

24

6


7.4.5. Phép toán gán

7.4.5. Phép toán gán

• Cú pháp
tên_biến = biểu_thức;
• Lấy gi| trị của biểu_thức gán cho tên_biến
• Ví dụ:

• Biểu thức g|n l{ biểu thức nên nó cũng có gi| trị.
• Gi| trị của biểu thức g|n bằng gi| trị của biểu_thức:
 Có thể g|n gi| trị của biểu thức g|n cho một biến
kh|c hoặc sử dụng như một biểu thức bình thường
• Ví dụ:

int
a =
b =
c =

int a, b, c;

a = b = 2007;
c = (a = 20) * (b = 30);

a, b, c;
3;
a + 5;
a * b;

25

7.4.5. Phép toán gán

26

7.4.6. Thứ tự ưu tiên c|c phép to|n

• Phép to|n g|n thu gọn:
x = x + y; giống như
x += y;

• Dạng lệnh g|n thu gọn n{y còn |p dụng
được với c|c phép to|n kh|c: +, -, *, /, %, >>,
<<, &, |, ^

27

28

7



Ví dụ

Nội dung

• a < 10 && 2 * b < c
•  ( a < 10 ) && ( ( 2 * b ) < c )

7.1. Các kiểu dữ liệu chuẩn trong C
7.2. Khai báo và khởi tạo biến, hằng
7.3. Biểu thức trong C
7.4. Các phép toán trong C
7.5. Một số toán tử đặc trưng
7.6. Các lệnh vào ra dữ liệu với các biến

29

Tiền tố v{ hậu tố

7.5.1. C|c phép to|n tăng giảm một đơn vị

• Tiền tố: Thay đổi gi| trị của biến trước khi sử dụng
• Hậu tố: Tính to|n gi| trị của biểu thức bằng gi| trị
ban đầu của biến, sau đó mới thay đổi gi| trị của
biến
• Ví dụ:

• Tăng hoặc giảm một đơn vị cho biến:
– <tên biến> = <tên biến> + 1;
 <tên biến>++;

– <tên biến> = <tên biến> - 1;
 <tên biến>--;
– Ví dụ:
int a =
float x
a++; //
x--; //

30

int a, b, c;
a = 3;
// a bang 3
b = a++;// Dang hau to
// b bằng 3; a bằng 4
c = ++b;// Dang tien to
// b bằng 4, c bằng 4;

5;
= 10;
tương đương với a = a + 1;
tương đương với x = x – 1;

31

32

8



7.5.2. Phép to|n lấy địa chỉ biến (&)

7.5.3. Phép to|n chuyển đổi kiểu bắt buộc

• Biến thực chất l{ một vùng nhớ được đặt tên (l{ tên của
biến) trên bộ nhớ của m|y tính.
• Mọi ô nhớ trên bộ nhớ m|y tính đều được đ|nh địa chỉ. Do
đó mọi biến đều có địa chỉ

• Chương trình dịch sẽ tự động chuyển đổi kiểu
– char  int  long int  float 
double  long double

• Ngược lại

• & <tên biến>;

– Số nguyên long int 50,000 không phải l{ một số nguyên
kiểu int vì phạm vi biểu diễn của kiểu int l{ từ (-32,768
đến 32,767).
 Phải ép kiểu

– Ví dụ: int a = 2006;
 &a; // co gia tri la 158 hay 9E
1

a

.
..

..
.

157

D6

158

07

159

• Cú pháp:
(<kiểu dữ liệu mới>) <biểu thức>;

160
.
.
.

33

34

7.5.3. Phép to|n chuyển đổi kiểu bắt buộc (2)

7.7.4. Biểu thức điều kiện

• Ví dụ:


• Cú pháp

#include <stdio.h>
#include <conio.h>
void main()
{
long int li;
int i; float f; clrscr();
li = 0x123456; f = 123.456;

– biểu_thức_1 ? biểu_thức_2 : biểu_thức_3
– Gi| trị của biểu thức điều kiện
• Gi| trị của biểu_thức_2 nếu biểu_thức_1 có gi| trị
kh|c 0 (tương ứng với gi| trị logic ĐÚNG),
• Ngược lại: Gi| trị của biểu_thức_3 nếu biểu_thức_1 có
gi| trị bằng 0 (tương ứng với gi| trị logic SAI).
• Ví dụ:

i = (int) li;
printf(“\n li = %ld; i = %d”,li, i);

i = (int) f;

float x, y, z;
// khai báo biến
x = 3.8; y = 7.6; //gán giá trị cho các biến x, y
z = (x// nhỏ nhất trong 2 số x và y


printf(“\n f = %f; i = %d”,f, i);
getch();
}

• Kết quả

li = 1193046; i = 13398
f = 123.456000; i = 123
35

36

9


Nội dung

7.6. C|c lệnh v{o ra dữ liệu

7.1. Các kiểu dữ liệu chuẩn trong C
7.2. Khai báo và khởi tạo biến, hằng
7.3. Biểu thức trong C
7.4. Các phép toán trong C
7.5. Một số toán tử đặc trưng
7.6. Các lệnh vào ra dữ liệu

• C cung cấp 2 h{m v{o ra cơ bản:
– printf()
– scanf()


• Muốn sử dụng 2 h{m printf() và
scanf() ta cần khai b|o tệp tiêu đề
stdio.h:
#include <stdio.h>

Hoặc
#include “stdio.h”

37

38

7.6.1. Hàm printf

a. Mục đích v{ cú ph|p (2)

a. Mục đích và cú pháp:

• Cú pháp:
printf(xau_dinh_dang [, danh_sach_tham_so]);

• Mục đích:

–xau_dinh_dang: Qui định c|ch thức hiển

– Hiển thị ra m{n hình c|c loại dữ liệu cơ bản
như: Số, kí tự v{ x}u kí tự
– Một số hiệu ứng hiển thị đặc biệt như xuống
dòng, sang trang,…


thị dữ liệu ra m{n hình m|y tính.

–danh_sach_tham_so: Danh s|ch c|c biến sẽ
được hiển thị gi| trị lên m{n hình theo c|ch
thức được qui định trong xau_dinh_dang.

39

40

10


a. Mục đích v{ cú ph|p (3)

a. Mục đích v{ cú ph|p (4)

• Ví dụ: Chương trình sau

• Trong xau_dinh_dang chứa:

#include <conio.h>
#include <stdio.h>
void main()
{
int a = 5;
float x = 1.234;
printf(“Hien thi mot so nguyen %d và mot
so thuc %f”,a,x);
getch();

}

– C|c kí tự thông thường: Được hiển thị ra m{n
hình.
– C|c nhóm kí tự định dạng: X|c định quy c|ch
hiển thị c|c tham số trong phần
danh_sach_tham_so.
– C|c kí tự điều khiển: Dùng để tạo c|c hiệu ứng
hiển thị đặc biệt như xuống dòng (‘\n’) hay sang
trang (‘\f’)…

• Sẽ cho ra kết quả:
Hien thi mot so nguyen 5 va mot so thuc 1.234000
41

42

a. Mục đích v{ cú ph|p (5)

a. Mục đích v{ cú ph|p (6)

• Mỗi nhóm kí tự định dạng chỉ dùng cho một
kiểu dữ liệu
Ví dụ: %d dùng cho kiểu nguyên
%f dùng cho kiểu thực
• Nếu giữa nhóm kí tự định dạng v{ tham số
tương ứng không phù hợp với nhau thì sẽ
hiển thị ra kết quả không như ý.

• danh_sach_tham_so phải phù hợp với c|c

nhóm kí tự định dạng trong xau_dinh_dang
về:
– Số lượng
– Kiểu dữ liệu
– Thứ tự

43

44

11


b. Một số nhóm định dạng phổ biến
Nhóm kí tự
định dạng

Kiểu dữ liệu

b. Một số nhóm định dạng phổ biến (2)

Kết quả

Nhóm kí tự
định dạng

Kiểu dữ liệu

Kết quả


%c

int, char

Kí tự đơn lẻ

%ld, %li

long

Số thập ph}n

%i, %d

int, char

Số thập ph}n

%lo

long

Số b|t ph}n

%o

int, char

Số b|t ph}n


(không có 0 đằng trước)

%lx, %LX

(không có 0 đằng trước)

%x, %X

int, char
unsigned
int/char

Số hexa
(chữ thường/chữ hoa)

Số hexa

%lu

(chữ thường/chữ hoa)

%u

long
unsigned long

Số thập ph}n

Số thập ph}n
45


c. Độ rộng hiển thị - số nguyên

c. Một số nhóm định dạng phổ biến (3)
Nhóm kí tự
định dạng

Kiểu dữ liệu

%s

char []

%f

float/double

%e, %E

float/double

46

• Đối với số nguyên hoặc ký tự hoặc xâu ký tự:

Kết quả

– Có dạng %md, với m l{ số nguyên không }m
– Ví dụ: Có số a = 1234


Lệnh:

Hiển thị x}u kí tự
kết thúc bởi ‘\0’
Số thực dấu phẩy
tĩnh
Số thực dấu phẩy
động

printf("%5d",a);//danh 5 cho de hien thi a
printf(“\n%5d",34);

Cho ra kết quả: 1234
34
( kí hiệu cho dấu c|ch đơn (space) )

48

47

12


c. Độ rộng hiển thị - số nguyên (2)

c. Độ rộng hiển thị - số thực

• Ví dụ:

• m, n l{ 2 số nguyên không }m


%m.nf

printf("\n%3d %15s %3c", 1, "nguyen van a", 'g');
printf("\n%3d %15s %3c", 2, "tran van b", 'k');

Trong đó:
– m vị trí để hiển thị số thực
– n vị trí trong m vị trí đó để hiển thị phần thập
phân.

• Kết quả:
1
2

nguyen van a
tran van b

g
k

49

50

c. Độ rộng hiển thị - số thực (2)

c. Độ rộng hiển thị - Chú ý

• Ví dụ:

printf("\n%f",17.345);
printf("\n%.2f",17.345);
printf("\n%7.2f",17.345);
• Kết quả:

• Khi số chỗ cần thiết để hiển thị nội dung dữ
liệu lớn hơn trong định dạng:
– Tự động cung cấp thêm chỗ mới để hiển thị chứ
không cắt bớt nội dung của dữ liệu.
– Ví dụ: a=1000

printf(“So a la: %1d”, a);

17.345000
17.34
17.34

– Kết quả:

So a la: 1000

51

52

13


d. Căn lề phải, lề tr|i


d. Căn lề phải, lề tr|i (2)

• Căn lề phải:
• Ví dụ:
printf("\n%-3d %-15s %.2f %-3c",
9, "nguyen van a", 7.5, 'g');
printf("\n%-3d %-15s %.2f %-3c",
10, “nguyen ha", 6.75, 'k');

– Khi hiển thị dữ liệu, mặc định C căn lề phải

• Căn lề trái:
– Nếu muốn căn lề tr|i khi hiển thị dữ liệu ta chỉ
cần thêm dấu trừ - v{o ngay sau dấu %.

• Kết quả:
9 nguyen van a 7.50 g
10 nguyen ha 6.75 k
53

7.6.2. Hàm scanf

54

a. Mục đích v{ cú ph|p (3)
• Xau_dinh_dang:

a. Mục đích và cú pháp:

– Gồm c|c ký tự được qui định cho từng loại dữ

liệu được nhập v{o.
– Ví dụ: Với dữ liệu định nhập v{o l{ kiểu nguyên
thì x}u định dạng l{ : %d

• Mục đích:
– H{m scanf() dùng để nhập dữ liệu từ b{n phím

• Cú pháp:

• Danh_sach_dia_chi:

scanf(xau_dinh_dang[,danh_sach_dia_chi]);
• Ví dụ:
int a; float b;

– Bao gồm c|c địa chỉ của c|c biến (to|n tử &),
ph}n t|ch nhau bởi dấu phẩy (,)

scanf(“%d %f”, &a, &b);
55

56

14


a. Mục đích v{ cú ph|p (4)

b. Một số nhóm định dạng phổ biến


• danh_sach_dia_chi phải phù hợp với c|c
nhóm kí tự định dạng trong xau_dinh_dang
về:

Nhóm kí tự
định dạng

– Số lượng
– Kiểu dữ liệu
– Thứ tự

Kiểu dữ liệu

Chú thích

%c

char

Kí tự đơn lẻ

%d

int

Số thập ph}n

%o

int


Số b|t ph}n

%x

int

Số hexa

%u

unsigned int

Số thập ph}n

57

58

Ví dụ

c. Một số nhóm định dạng phổ biến (3)
Nhóm kí tự
định dạng
%s

Kiểu dữ liệu
char*

%f


float

%ld
%lf

long
double

#include <conio.h>
#include <stdio.h>
void main()
{
// khai bao bien
int a; float x;
char ch; char str[30];
// Nhap du lieu
printf(“Nhap vao mot so nguyen”);
scanf(“%d”,&a);
printf(“\n Nhap vao mot so thuc”);
scanf(“%f”,&x);

Chú thích
Nhập x}u kí tự kết
thúc bởi ‘\0’
Số thực dấu phẩy
tĩnh
Số nguyên
Số thực dấu phẩy
tĩnh


60

59

15


Ví dụ

Ví dụ
• Kết quả:
Nhap vao mot so nguyen: 2007
Nhap vao mot so thuc: 17.1625
Nhap vao mot ki tu: b
Nhap vao mot xau ki tu: ngon ngu lap trinh C
Nhung du lieu vua nhap vao
So nguyen: 2007
So thuc: 17.16
Ki tu: b
Xau ki tu: ngon

printf(“\n Nhap vao mot ki tu”);
fflush(stdin); scanf(“%c”,&ch);
printf(“\n Nhap vao mot xau ki tu”);
fflush(stdin); scanf(“%s”,str);
// Hien thi du lieu vua nhap vao
printf(“\n Nhung du lieu vua nhap vao”);
printf(“\n So nguyen: %d”,a);
printf(“\n So thuc : %.2f”,x);

printf(“\n Ki tu: %c: ”,ch);
printf(“\n Xau ki tu: %s”,str);
getch();

}

61

62

c. Một số quy tắc cần lưu ý

c. Một số quy tắc cần lưu ý (tiếp)

• Quy tắc 1: Khi đọc số

• Quy tắc 2: Khi đọc kí tự:
Hàm scanf() cho rằng mọi kí tự có trong bộ
đệm của thiết bị vào chuẩn đều là hợp lệ, kể
cả các kí tự tab, xuống dòng hay dấu cách.

– H{m scanf() quan niệm rằng mọi kí tự số, dấu
chấm (‘.’) đều l{ kí tự hợp lệ.
– Khi gặp c|c dấu ph}n c|ch như tab, xuống dòng
hay dấu c|ch (space bar) thì scanf() sẽ hiểu l{
kết thúc nhập dữ liệu cho một số

63

64


16


c. Một số quy tắc cần lưu ý (tiếp)

7.6.3. C|c lệnh v{o ra kh|c

• Quy tắc 3: Khi đọc xâu kí tự:
+ Hàm scanf() nếu gặp các kí tự dấu trắng,
dấu tab hay dấu xuống dòng thì nó sẽ hiểu là
kết thúc nhập dữ liệu cho một xâu kí tự.
+ Trước khi nhập dữ liệu kí tự hay xâu kí tự
ta nên dùng lệnh fflush(stdin) để xóa
bộ đệm.

• Hàm gets():
Dùng để nhập v{o từ b{n phím một x}u kí tự bao
gồm cả dấu c|ch, điều m{ h{m scanf() không
l{m được.
• Cú pháp :
gets (biến_xâu_kí_tự);
• Ví dụ:
char str[30];
printf(“Nhap vao mot xau ki tu:”);
fflush(stdin); gets(str);
65

66


7.6.3. C|c lệnh v{o ra kh|c (2)

7.6.3. C|c lệnh v{o ra kh|c (3)

• Hàm puts():

• H{m getch(): thường dùng để chờ người sử
dụng ấn một phím bất kì rồi sẽ kết thúc
chương trình.
• Cú pháp

Hiển thị ra m{n hình nội dung x}u_kí_tự v{
sau đó đưa con trỏ xuống dòng mới.
• Cú pháp:
puts(xâu_kí_tự);
• Ví dụ:
puts(“Nhap vao xau ki tu:”);
• Tương đương với:
printf(“%s\n”, “Nhap vao xau ki tu:“);
Hoặc printf(“Nhap vao xau ki tu:\n”);

getch();
• Sử dụng h{m gets(), puts(), cần
khai b|o tệp tiêu đề stdio.h
• Sử dụng h{m getch(), cần khai b|o tệp
tiêu đề conio.h
67

• (Hàm tương tự getchar())


68

17


7.6.3. C|c lệnh v{o ra kh|c (4)

C|c lệnh nhập xuất kh|c

• Ví dụ:
#include <conio.h>
#include <stdio.h>
void main()
{
char str[30];
puts(“Hay cho biet ho ten ban:”);
fflush(stdin); gets(str);
printf(“Xin chao ”);
puts(str);
puts(“An phim bat ki de ket thuc...”);
getch();
}

• Kết quả:
Nhap vao mot xau ki tu:
ngon ngu lap trinh C
Xau vua nhap vao:
ngon ngu lap trinh C
An phim bat ki de ket thuc ...


69

70

18



×