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

Slide Tin học cơ sở 4 - Lec02 - Control flow [Compatibility Mode] - Vũ Thị Hồng Nhạn - Tài liệu VNU

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 (673.59 KB, 24 trang )

<span class='text_page_counter'>(1)</span><div class='page_container' data-page=1>

<b>Tin Học Cơ Sở 4: </b>


<b>Tin Học Cơ Sở 4: </b>



<b>Các cấu trúc ñiều khiển</b>


<b>Các cấu trúc ñiều khiển</b>



<b>Tin Học Cơ Sở 4: </b>


<b>Tin Học Cơ Sở 4: </b>



<b>Các cấu trúc ñiều khiển</b>


<b>Các cấu trúc ñiều khiển</b>



<b>Vũ Thị Hồng Nhạn</b>
<b>Vũ Thị Hồng Nhạn</b>
()
()


</div>
<span class='text_page_counter'>(2)</span><div class='page_container' data-page=2>

<b>Nội</b>



<b>Nội dung</b>

<b>dung</b>


<b>Nội</b>



<b>Nội dung</b>

<b>dung</b>





Lệnh (statement), khối (block)





Cấu trúc rẽ nhánh





Lệnh if




Lệnh if






Lệnh switch





Cấu trúc vòng lặp



</div>
<span class='text_page_counter'>(3)</span><div class='page_container' data-page=3>

<b>Lệnh</b>



<b>Lệnh (statement) & </b>

<b>(statement) & khối</b>

<b>khối (block)</b>

<b>(block)</b>


<b>Lệnh</b>



<b>Lệnh (statement) & </b>

<b>(statement) & khối</b>

<b>khối (block)</b>

<b>(block)</b>





Lệnh là một tác vụ, biểu thức, hàm, hay cấu trúc điều khiển kêt thúc


băng dấu chấm phẩy



 <lệnh> = <biểu thức>;
 Vd.


 x=0; i++; printf(“Day la mot cau lenh! \n”);




Khối lệnh



</div>
<span class='text_page_counter'>(4)</span><div class='page_container' data-page=4>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>



#include <stdio.h>
#include <conio.h>
int main(){



int x = 0;


<b>{</b>


int x = 5;


<b>Lệnh (statement) & khối (block)</b>


<b>Lệnh (statement) & khối (block)</b>


<b>Lệnh (statement) & khối (block)</b>


<b>Lệnh (statement) & khối (block)</b>



int x = 5;


printf("\nTRONG KHOI x=%d\n", x);


<b>}</b>


printf("\nNGOAI KHOI =x%d\n", x);


</div>
<span class='text_page_counter'>(5)</span><div class='page_container' data-page=5>

<b>Lệnh</b>



<b>Lệnh if</b>

<b>if</b>


<b>Lệnh</b>



<b>Lệnh if</b>

<b>if</b>



<b>if (<điều kiện>) <khối lệnh></b> <b>Lưu đồ</b>


// Lệnh đơn



if (2 < 5)


printf("2 nhỏ hơn 5.\n");


// Khối lệnh


if (2 < 5)
{


printf(“Ln in dịng này.\n");
printf(“vì 2 ln nhỏ hơn 5!\n");


</div>
<span class='text_page_counter'>(6)</span><div class='page_container' data-page=6>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>



 Viết chương trình nhập vào hai số nguyên a,b. Tìm và in ra số lớn nhất


<b>Lệnh if</b>


<b>Lệnh if</b>


<b>Lệnh if</b>


<b>Lệnh if</b>



int main(){
int a, b, max;


printf("Nhap vao so a: "); scanf("%d", &a);
printf("Nhap vao so b: "); scanf("%d", &b);
printf("Nhap vao so b: "); scanf("%d", &b);



max=a;
if(b>a)


max=b;


</div>
<span class='text_page_counter'>(7)</span><div class='page_container' data-page=7>

<b>Lệnh</b>



<b>Lệnh if</b>

<b>if--else</b>

<b>else</b>


<b>Lệnh</b>



<b>Lệnh if</b>

<b>if--else</b>

<b>else</b>



<b>if (<điều kiện>) <khối lệnh 1> else <khối lệnh 2></b> <b>Lưu đồ</b>
<b>Ví dụ </b>


if (x < 0){


Điều kiện
printf("%d số âm.\n", x);


}
else{


printf("%d số khơng âm.\n", x);
}


</div>
<span class='text_page_counter'>(8)</span><div class='page_container' data-page=8>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>



<b>Ví dụ</b>



 Viết chương trình nhập
vào 2 số nguyên a, b


 In ra thông báo "a bằng b"
nếu a = b,


<b>Lệnh if</b>



<b>Lệnh if--else</b>

<b>else</b>


<b>Lệnh if</b>



<b>Lệnh if--else</b>

<b>else</b>



int main(){
int a, b;


printf("Nhap vao so a: "); scanf("%d", &a);
printf("Nhap vao so b: "); scanf("%d", &b);
nếu a = b,


 ngược lại in ra thông báo
"a khác b".


if(b = = a)


printf(“a bằng b.\n”);
else



</div>
<span class='text_page_counter'>(9)</span><div class='page_container' data-page=9>

<b>else</b>



<b>else--if</b>

<b>if</b>


<b>else</b>



<b>else--if</b>

<b>if</b>



if(biểu thức 1)
<i>Khối lệnh;</i>
else if (biểu thức 2)


Khối lệnh 2;


Nhập vào a, so sánh a với khoảng 5 và 8



if (a<5)


printf(“a <5 \n”)
else {


if( a< 5)


printf(“a <5 \n”)
else if(a<8)




else if (biểu thức n-1)
<i>Khối lệnh n-1;</i>
else



<i>Khối lệnh n;</i>


if(a<8)


printf(“ 5<=a<8 \n”)
else


printf(“a >= 8 \n”);
}


printf(“ 5<=a<8 \n”)
else


</div>
<span class='text_page_counter'>(10)</span><div class='page_container' data-page=10>

<b>Dạng tổng quát</b>


<b>Dạng tổng quát</b>


<b>Dạng tổng quát</b>


<b>Dạng tổng quát</b>



<b>if (<điều kiện>) <khối lệnh 1> else <khối lệnh 2></b>


if (<điều kiện>)


<i>Lệnh 1 (hoặc khối lệnh);</i>


<b>Lệnh</b>


<b>Lệnh if</b>

<b>if</b>


<b>Lệnh</b>


<b>Lệnh if</b>

<b>if</b>




<i>Lệnh 1 (hoặc khối lệnh);</i>
else if (<điều kiện>)


<i>Lệnh 2 (hoặc khối lệnh);</i>
….


else


</div>
<span class='text_page_counter'>(11)</span><div class='page_container' data-page=11>

<b>Toán</b>



<b>Toán tử</b>

<b>tử quan</b>

<b>quan hệ</b>

<b>hệ (relational operators)</b>

<b>(relational operators)</b>


<b>Toán</b>



<b>Toán tử</b>

<b>tử quan</b>

<b>quan hệ</b>

<b>hệ (relational operators)</b>

<b>(relational operators)</b>



<b>C có những tốn tử quan hệ sau </b> <b>Ý nghĩa </b>


a= =b <i>Đúng nếu và chỉ nếu a bằng b</i>


a !=b <i>Đúng nếu và chỉ nếu a không bằng b</i>


a<b
a>b
a>b
a<=b
a>=b


a && b <i>Đúng nếu và chỉ nếu a đúng VÀ b đúng</i>


a || b <i>Đúng nếu và chỉ nếu a đúng HoẶC b đúng</i>



</div>
<span class='text_page_counter'>(12)</span><div class='page_container' data-page=12>

<b>Boolean </b>



<b>Boolean trong</b>

<b>trong C</b>

<b>C</b>


<b>Boolean </b>



<b>Boolean trong</b>

<b>trong C</b>

<b>C</b>





C

khơng có

kiểu boolean





Thay vào đó, tốn tử điều kiện đánh giá theo giá trị nguyên (

<b>int)</b>



 0 chỉ sai


 Khác 0 (non-zero) đúng


 If(<điều kiện>)


</div>
<span class='text_page_counter'>(13)</span><div class='page_container' data-page=13>

<b>Lệnh</b>



<b>Lệnh switch </b>

<b>switch </b>


<b>Lệnh</b>



<b>Lệnh switch </b>

<b>switch </b>



 Lệnh kiểm tra xem một biểu thức có khớp với một trong những giá trị hằng nguyên
(char, int, long…)


<b>switch(biểu thức)</b>
{



case giá trị 1:


Lệnh 1;
Lệnh 1;
<b>break;</b>
case giá trị 2:


Lệnh 2;
<b>break;</b>


default:


</div>
<span class='text_page_counter'>(14)</span><div class='page_container' data-page=14>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


int main(){
int month=2;
<b>switch (month){</b>
case 1:
printf("Jan.\n"); break;
int main(){
int month=2;
<b>switch (month){</b>
case 1:
printf("Jan.\n"); break;

<b>Lệnh switch </b>


<b>Lệnh switch </b>



<b>Lệnh switch </b>


<b>Lệnh switch </b>


case 2:


<b>printf("Feb. "); break;</b>
case 3:


<b>printf("March. "); break;</b>
default:


printf("Another month. ");
}


}


case 2:


<b>printf("Feb. "); //break;</b>
case 3:


<b>printf("March. "); //break;</b>
default:


printf("Another month. ");
}


</div>
<span class='text_page_counter'>(15)</span><div class='page_container' data-page=15>

<b>Chương</b>



<b>Chương trình</b>

<b>trình nhập</b>

<b>nhập vào</b>

<b>vào tháng</b>

<b>tháng và</b>

<b>và in </b>

<b>in ra</b>

<b>ra quý</b>

<b>quý</b>


<b>Chương</b>




<b>Chương trình</b>

<b>trình nhập</b>

<b>nhập vào</b>

<b>vào tháng</b>

<b>tháng và</b>

<b>và in </b>

<b>in ra</b>

<b>ra quý</b>

<b>quý</b>


int main()


{


int month;


printf("Nhap vao thang: ");
scanf("%d", &month);
switch(month) {


<b>Lệnh switch </b>


<b>Lệnh switch </b>


<b>Lệnh switch </b>


<b>Lệnh switch </b>



switch(month) {


case 1: case 2: case 3 : printf("Quy 1.\n"); break;
case 4: case 5: case 6: printf("Quy 2.\n"); break;
case 7: case 8: case 9: printf("Quy 3.\n"); break;
case 10: case 11: case 12: printf("Quy 4.\n"); break;


</div>
<span class='text_page_counter'>(16)</span><div class='page_container' data-page=16>

<b>Vòng</b>



<b>Vòng lặp</b>

<b>lặp for</b>

<b>for</b>


<b>Vòng</b>



<b>Vòng lặp</b>

<b>lặp for</b>

<b>for</b>




 Vòng lặp thực hiện lặp lại một số lần xác định một
(chuỗi) hành động


<b>for(biểu thức 1; biểu thức 2; biểu thức 3)</b>


Khối lệnh;


 Biểu thức 1: khởi tạo giá trị ban đầu cho biến điều khiển
 Biểu thức 2: là quan hệ logic thể hiện điều kiện tiếp tục


vòng lặp


 Biểu thức 3: phép gán dùng thay đổi giá trị biến điều khiển


</div>
<span class='text_page_counter'>(17)</span><div class='page_container' data-page=17>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>



<b>Vịng lặp for</b>


<b>Vịng lặp for</b>


<b>Vịng lặp for</b>


<b>Vịng lặp for</b>



/*Viết chương trình in ra câu “ví dụ sử dụng vòng lặp for” 3 lần*/


#define MSG “vi du su dung vong lap for.\n"


int main(){


int i=0;


for(i=1;i<=3;i++)


</div>
<span class='text_page_counter'>(18)</span><div class='page_container' data-page=18>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>



<b>Vịng lặp for</b>


<b>Vịng lặp for</b>


<b>Vịng lặp for</b>


<b>Vịng lặp for</b>



/*Cho n số ngun. Tính và in ra tổng của chúng*/
#define <b>n</b> 3


int main(){
int i, num, s=0;


for(i=1; i<=n; i++) {


printf("Nhap vao so thu %d:", i);
scanf("%d", &num);


s = s + num;
}


printf("Tong= %d", s);
}



</div>
<span class='text_page_counter'>(19)</span><div class='page_container' data-page=19>

<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>


<b>Ví dụ</b>



<b>Vòng lặp for</b>


<b>Vòng lặp for</b>


<b>Vòng lặp for</b>


<b>Vòng lặp for</b>



<b>Đọc vào một loạt ký tự từ bàn phím, kết thúc khi gặp dấu “.”</b>


#define DAU_CHAM '.'


int main(){
int main(){
char c;


for(

<b>; </b>

(c=getchar()) != DAU_CHAM

<b>; </b>

)
putchar(c);


</div>
<span class='text_page_counter'>(20)</span><div class='page_container' data-page=20>

<b>Lệnh</b>



<b>Lệnh break</b>

<b>break</b>


<b>Lệnh</b>



<b>Lệnh break</b>

<b>break</b>



 Dùng để thốt khỏi vịng lặp



<b>khơng xác định điều kiện </b>


dừng <b>hoặc</b> ta tự muốn thoát


<b>Đọc vào một loạt ký tự từ bàn phím, kết </b>
<b>thúc khi gặp dấu “.” & in lượng nhập vào </b>


#define DAU_CHAM '.‘
int main(){


char c; int count=0;


theo điều kiện chỉ định nào đó


 Thường sử dụng phối hợp với


lệnh if


 Break dùng trong for, switch,


while, do…while


char c; int count=0;
for( <b>; ; </b>){


c = getchar();


if(c = = DAU_CHAM)



break;


count++;
}


</div>
<span class='text_page_counter'>(21)</span><div class='page_container' data-page=21>

<b>Lệnh</b>



<b>Lệnh continue</b>

<b>continue</b>


<b>Lệnh</b>



<b>Lệnh continue</b>

<b>continue</b>



 Khi thi hành lệnh continue,
Quyền điều khiển sẽ trao cho
“biểu thức điều kiện của vòng


<b>Nhập vào 1 dãy số nguyên từ bàn phím, </b>
<b>dừng khi gặp số 0 & in ra tổng số nguyên </b>
<b>dương</b>


int main(){


int n, sum=0;


lặp gần nhất”


 Lộn ngược lên đầu vòng lặp


 Dùng trong for, switch, while,



for( ; ; ){


printf("Nhap vao so nguyen duong: ");
scanf("%d", &n);


if (n < 0) continue;


</div>
<span class='text_page_counter'>(22)</span><div class='page_container' data-page=22>

<b>Lệnh</b>



<b>Lệnh while </b>

<b>while </b>


<b>Lệnh</b>



<b>Lệnh while </b>

<b>while </b>



<b>while(<biểu thức>) <lệnh></b>


Nếu điều kiện khởi tạo “false”, Lệnh sẽ không bao giờ


được thực hiện <sub>vào</sub>


Khối lệnh


<b>do <lệnh> while(<điều kiện>)</b>
Lệnh được thực hiện ít nhất một lần


Khối lệnh


Điều kiện


</div>
<span class='text_page_counter'>(23)</span><div class='page_container' data-page=23>

<b>Ví</b>




<b>Ví dụ</b>

<b>dụ lệnh</b>

<b>lệnh while</b>

<b>while</b>


<b>Ví</b>



<b>Ví dụ</b>

<b>dụ lệnh</b>

<b>lệnh while</b>

<b>while</b>



<b>Lệnh</b>



<b>Lệnh while </b>

<b>while </b>


<b>Lệnh</b>



<b>Lệnh while </b>

<b>while </b>



/*Viết chương trình in ra câu “ví dụ sử dụng vòng lặp WHILE” 5 lần*/


#define MSG “vi du su dung vong lap WHILE.\n"


int main(){
int i=1;


while(i++<=5)


</div>
<span class='text_page_counter'>(24)</span><div class='page_container' data-page=24>

<b>Ví</b>



<b>Ví dụ</b>

<b>dụ lệnh</b>

<b>lệnh do…while</b>

<b>do…while</b>


<b>Ví</b>



<b>Ví dụ</b>

<b>dụ lệnh</b>

<b>lệnh do…while</b>

<b>do…while</b>



<b>Lệnh</b>




<b>Lệnh while </b>

<b>while </b>


<b>Lệnh</b>



<b>Lệnh while </b>

<b>while </b>



/*Viết chương trình nhập kiểm tra mật khâu sử dụng vòng lặp DO…WHILE”


#define PASSWORD 12345
int main(){


int n;


do{


printf(“Nhap vao password”);
scanf(“%d”, &n);


</div>

<!--links-->

×