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

Lập trình C- Bài tập 10 pot

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 (68.31 KB, 5 trang )

Câu h
i 1: (
3 di
m)
Trình bày cú pháp và nguyên lý ho
t d ng c a c u trúc
if / switch / for /
do / while

< >
[ ]

<thành ph
n b t bu c>
[thành ph
n không b t bu c]
C u trúc If:
Cú pháp:

if
(<bi
u th c>) [câu_l nh1];
[
else
[câu_l
nh2]];
Nguyên lý ho
t d ng:
-n u bt mang giá tr khác 0 (giá tr dúng) th
ì th
c hi n câu l nh 1. ngu c


l i n u có ph n “
else
câu_l
nh2” th
ì th
c hi n câu l nh 2;
C u trúc Switch
Cú pháp

switch(<bi
u th c>){
case <h
ng1> : <l nh1>; [break;]
case <h
ng2> : <l nh2>; [break;]


case <h
ngn> : <l nhn>; [break;]

[
default: <l
nhN+1>;]
}
Nguyên lý ho
t d ng:
-
tính giá tr
bi u th c sau switch
-

so sánh l
n lu t v i các h ng1, h ng 2,….
- N u bt b ng h ng
i
thì th
c hi n l nh
i
, ti
p theo s th c hi n l n
lu
t các l nh i+1, l nh i+2, …
n, n+1 (d
n h t) m
à không ph
i so
sánh v
i các nh
ãn khác. N
u g p
break
thì thoát kh
i câu l nh
switch.

- N u bt không b ng h ng n
ào mà có ph
n “
default: l
nh n+1
” thì s


th
c hi n l nh n+1


C u trúc For
Cú pháp:

for([bi
u th c 1] ; [bi u th c 2] ; [bi u
th
c 3]) [câu l nh];
Nguyên t c ho t d ng
Bu
c 1: th c hi n bi u th c 1 duy nh t 1 l n
Bu
c 2: -
tính bi
u th c 2

-
N
u bt2 khác 0 (giá tr dúng) th
ì:

+ th
c hi n câu l nh trong thân for
+ th
c hi n bi u
_th

c 3
+ v
d u bu c 2

-
ngu
c l i (bt2 b ng 0): thoát v
òng for

C u trúc
do

Cú pháp

do <
câu_l
nh
>; while(<
bi
u_th c
>);

Nguyên lý ho
t d ng
Bu
c1: th c hi n
câu l
nh
trong thân c
a

do
-
while.
N u mu n thân do-
while nhi
u
hon 1 l
nh ta ph i d t trong
c p ngo c móc {}.
Sang bu
c 2
Bu
c2: tính giá tr
bi
u_th c,
- n u
bi
u_th c
mang giá tr
dúng
(khác0)
:
quay l
i bu c 1
-
ngu
c l i (
bi
u_th c
b

ng 0):
thoát kh
i c u trúc do-
while

nh
n xét:
-
câu l
nh
là thân do
-
while ít
nh
t du c th c hi n 1 l n
-
câu l
nh
có kh
nang b l p vô h n n u
bi
u th c
luôn dúng
-
>
câu
l nh
ph
i có
kh

nang
thay d
i giá tr c a
bi
u th c
C u trúc
while

Cú pháp:
while(<bi
u_th c>) <Câu_l nh>;
Nguyên lý ho
t d ng:
Bu
c1: ki m tra(
tính)
giá tr
c a
bi
u th c

-N u bt mang giá tr dúng (khác 0):
+Th
c hi n câu l nh trong thân while
+v
d u bu c 1

-
Ngu
c l i (bt mang giá tr b ng 0):

+ thoát c
u trúc
while


cách di
n d t khác C
ÙNG Ý


Bu
c 1: Ki m tra
BI
U TH
C
n u
dúng sang bu
c 2, n
u
sai thì sang b
u
c 3(thoát).

Bu
c 2: Th c hi n l
nh
TRONG THÂN WHILE (có th l
à
l nh d
on, ho

c kh i l nh du c d t trong c p {} ). V bu c 1.
Bu
c 3: Thoát kh i l nh while
Nh n xét:
-
Câu l
nh có kh nang không du c th c hi n l n n
ào n
u bi u th c
sai ngay l
n ki m tra d u ti
ên

-
Câu l
nh
có kh
nang b l p vô h n n u
bi
u th c
luôn dúng
-
>
câu l
nh
ph
i có
kh
nang thay d i giá tr c a
bi

u th c
Câu h
i 2: Gi i thích t ng câu l nh trong h
àm main
và cho bi
t
k t qu c a ch
uong tr
ình
sau:

Vd1:

#include <iostream.h>
void main(){
d1
unsigned int a=5, b=10;

d2
cout<<(a++ + 3 * 5 / 2 *
b << 2);

d3
cout<<a<<endl;

d4
cout<<b;
}
Bài làm:


Dòng 1: khai báo 2 bi n a v
à b

ki u int không d u
có kh
i t o a=5,
b=10

Dòng 2: in giá tr
c a bt ra m
àn hình

bt có giá tr
b ng:
a++ + 3 * 5 / 2 *

b << 2

toán t


tác d
g v
ào bi
n b, b=b-
1=9

a
++ + 3 * 5 / 2 * 9 << 2


toán t
* v
à / th
c hi n 3*5/2*9=63

a
++ + 63 << 2
toán t
+ th c hi n a++ + 63=5+6
3=68

toán t
d ch trái: 68<<2 = 272
toán t
++ th c hi n a++ => a=6
v
y d
òng 2 in ra s

272

dòng 3: in giá tr
bi n a = 6
ra màn hình
dua con tr

xu
ng d u d
òng ti
p theo

dòng 4: in giá tr
bi n b = 9
ra màn hình.

K t qu hi n l
ên màn hình là:

2726

9
vd 2

#include <iostream.h>
void main(){
d1
unsigned int a=5, b=10;

d2
cout<<(a++ + 3 | 5 / 2 *
b << 2);

d3
cout<<a<<endl

d4
cout<<b;
}
Bài làm:

Dòng 1: khai báo 2 bi n a v

à b

ki u int không d u
có kh
i t o a=5,
b=10

Dòng 2: in giá tr
c a bt ra m
àn hình

bt có giá tr
b ng:
a++ + 3 | 5 / 2 *
b << 2

toán t

tác d
ng v
ào b : b= 10
-
1 = 9

toán t
* / : 5/2*9 = 18
toán t
+ : a++ + 3 = 5+3=8
toán t
d ch trái << : 18<<2=72

toán t
| (or theo bit): 8|72=72
toán t
++ tác d ng v
ào a. a=5+1=6

v y d
òng 2 in ra s
72
dòng 3: in ra giá tr bi n a=6, xu ng d
òng

dòng 4: in ra giá tr bi n b=9
K t qu hi n l
ên màn hình là:

726

9
Vd3

#include <iostream.h>
void main(){
d1
unsigned int a=5, b=10;

d2
cout<<(a++ |
5 / 2 *


b << 2);

d3
cout<<a<<endl

d4
cout<<b;
}
Bài làm:

Dòng 1
: khai báo 2 bi
n a v
à b

ki u int không d u
có kh
i t o a=5, b=10
Dòng 2:
a++ | 5 / 2 *

b << 2

: b=9

*/: 5/2*9=18
<<: 18<<2=72

|: a++ | 72 =5|72=77


++: a=6

Dòng 3: in ra a=6, xu
ng d
òng

Dòng 4: in ra b=9
K t qu in ra m
àn hình:

776

9

This document was created with Win2PDF available at .
The unregistered version of Win2PDF is for evaluation or non-commercial use only.
This page will not be added after purchasing Win2PDF.

×