Giáo trình ngôn ngữ C



tải về 2.34 Mb.
Chế độ xem pdf
trang41/62
Chuyển đổi dữ liệu16.03.2023
Kích2.34 Mb.
#54376
1   ...   37   38   39   40   41   42   43   44   ...   62
C ĐHQGHN

for(i=0, j= i +2; i<2,j <6; i++,j++)
printf(“\ni = %d, j = %d); 
thì kết quả sẽ là: 
i=0, j=2 
i=1, j=3 
i=2, j=4 
i=3, j=5 
Như vậy vòng lặp dừng không theo điều kiện i <2 mà theo điều kiện j <6. Tức là 
giá trị của biểu thức bên phải nhất trong danh sách các biểu thức quyết định điều kiện của 
của vòng lặp – điều này do toán tử (, ) trả về toán hạng bên phải. 
Ví dụ 6.1: Chương trình in các kí tự có mã từ 32 tới 255 trong bảng mã ASCII 


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
60
1: 
#include  
2: 
void main(void) 
3: 

4: 
int i; 
5: 
for(i=32; i<256; i++) 
6: 

7: 
if ((i - 31) %10==0) printf("\n"); 
8: 
printf("%c -%d;",i,i); 
9: 

10: 
getch();
11: 

Giải thích: trong chương trình trên chúng ta sử dụng vòng lặp for
- biểu thức khởi đầu : i =32 
- biểu thức điều kiện : i <256 
- bước nhảy i ++ 
như vậy vòng lặp sẽ được thực hiện 224 lần, mỗi bước lặp nếu (i –31)%10 ==0 thì chúng 
ta chuyển con trỏ xuống dòng mới (lệnh trên dòng 7) – có nghĩa là cứ sau 10 bước thì 
chúng ta chuyển sang dòng mới, với mỗi i chúng ta in kí tự có mã là i cùng giá trị của nó 
(lệnh printf trên dòng 8)
 
Ví dụ 6.2: chương trình nhập n số nguyên từ bàn phím, tìm và in số lớn nhất, nhỏ nhất. 
Giải:
Giả sử chúng ta có một dãy số a
1
, a
2
, .., a

để xác định giá trị lớn nhất (gọi là max) và số 
nhỏ nhất (min)chúng ta thực hiện theo cách sau: 
1.
max = min = a

( xem một số đầu tiên là lớn nhất và cũng là nhỏ nhất)
2. i=2 
3. nếu i > n thì thì kết thúc, ngược lại thì 
ƒ
nếu a

> max thì max = a
i
ƒ
ngược lại, nếu a

< min thì min =a

ƒ
i =i+1 
4. lặp lại bước 3 
Khi kết thúc chúng ta có giá trị lớn nhất là max, giá trị nhỏ nhất là min. 
Nhưng cho tới bây giờ chúng ta chưa thể lưu được n số (trong yêu cầu này chúng ta cũng 
không cần phải lưu chúng) , vì thế chúng ta thực hiện theo phương pháp sau: 
1: 
Nhập số thứ nhất từ bàn phím vào a 
2: 
max = min = a ( xem một số đầu tiên là lớn nhất và cũng là nhỏ nhất) 
3: 
i=2 
4: 
nếu i > n thì thì kết thúc, ngược lại thì 
ƒ
Nhập số thứ i từ bàn phím vào a 
ƒ
nếu a
> max thì max = a 


Gi¸o tr×nh tin häc c¬ së II - N
gôn ngữ
 C
61
ƒ
ngược lại, nếu a
< min thì min =a 
ƒ
i =i+1 
5: 
lặp lại bước 4 
Các bạn có chương trình như sau 
#include  
#include  
void main(){ 
int n,a,max,min,i; 
do{ 
printf("Nhap so phan tu cua day : "); 
scanf("%d", &n); 
}while(n<1); 
printf("Nhap so thu nhat : "); 
scanf("%d",&a); 
max=min=a; 
for(i=2; i<=n; i++) 

printf("Nhap so thu nhat : "); 
scanf("%d",&a); 
if(a>max) max=a; 
else 
if(amin =a; 

printf("\n gia tri lon nhat = %d\n \ 
gia tri nho nhat = %d",max,min); 


tải về 2.34 Mb.

Chia sẻ với bạn bè của bạn:
1   ...   37   38   39   40   41   42   43   44   ...   62




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương