Professional Documents
Culture Documents
07 - Kieu Du Lieu Va Bieu Thuc Trong C
07 - Kieu Du Lieu Va Bieu Thuc Trong C
TIN HC I CNG
Phn 3. Lp trnh C
ngha
Kch thc
Min d liu
unsigned char
K t
1 byte
0 255
char
K t
1 byte
-128 127
unsigned int
065.535
short int
S nguyn
c du
2 byte
-32.76832.767
int
S nguyn c du 2 byte
-32.76832.767
Kch thc
Min d liu
unsigned long
S nguyn khng
du
4 byte
0
4,294,967,295
long
S nguyn c du
4 byte
float
S thc du phy
ng,
chnh x|c n
S thc du phy
ng,
chnh x|c kp
S thc du phy
ng,
chnh x|c kp
m rng
4 byte
-2,147,483,648
2,147,483,647
3.4E-38
3.4E+38
double
long double
8 byte
1.7E-308
1.7E+308
10 byte
3.4E-4932
1.1E+4932
Ni dung
kieu_du_lieu ten_bien;
Hoc:
kieu_du_lieu ten_bien1, , ten_bienN;
V d: Khai b|o mt bin x thuc kiu s nguyn 2
byte c du (int), bin y, z,t thuc kiu thc 4 byte
(float) nh sau:
int
x;
float
y,z,t;
x = 3; y = x + 1;
5
C php:
kieu_du_lieu ten_bien = gia_tri_ban_dau;
Hoc:
C php:
V d:
V d:
#define MAX_SINH_VIEN 50
#define CNTT Cong nghe thong tin
#define DIEM_CHUAN 23.5
const :
C php:
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 chuyn i gia c|c nn tng phn cng hn
Tc nhanh hn
9
Ni dung
10
12
13
14
15
16
Ni dung
17
18
Bao gm:
Nhm c|c php to|n s hc
Nhm c|c php to|n quan h
Nhm cc php ton logic
Nhm cc php ton thao tc trn bit
Ngo{i ra C cn cung cp mt s php to|n kh|c
na nh php g|n, php ly a ch
19
20
1)
1)
21
22
23
24
C php
tn_bin = biu_thc;
Ly gi| tr ca biu_thc gn cho tn_bin
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
26
27
28
V d
Ni dung
29
Tin t v{ hu t
30
int a, b, c;
a = 3;
// a bang 3
b = a++;// Dang hau to
// b bng 3; a bng 4
c = ++b;// Dang tien to
// b bng 4, c bng 4;
5;
= 10;
tng ng vi a = a + 1;
tng ng vi x = x 1;
31
32
Ngc li
V d: int a = 2006;
&a; // co gia tri la 158 hay 9E
1
.
..
..
.
157
D6
158
07
159
C php:
(<kiu d liu mi>) <biu thc>;
160
.
.
.
33
34
V d:
C php
#include <stdio.h>
#include <conio.h>
void main()
{
long int li;
int i; float f; clrscr();
li = 0x123456; f = 123.456;
i = (int) li;
printf(\n li = %ld; i = %d,li, i);
i = (int) f;
float x, y, z;
// khai bo bin
x = 3.8; y = 7.6; //gn gi tr cho cc bin x, y
z = (x<y) ? x : y; //z s c gi tr bng gi tr
// nh nht trong 2 s x v y
Kt qu
li = 1193046; i = 13398
f = 123.456000; i = 123
35
36
Ni dung
Hoc
#include stdio.h
37
38
7.6.1. Hm printf
a. Mc ch v{ c ph|p (2)
a. Mc ch v c php:
C php:
printf(xau_dinh_dang [, danh_sach_tham_so]);
Mc ch:
39
40
10
a. Mc ch v{ c ph|p (3)
a. Mc ch v{ c ph|p (4)
#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();
}
S cho ra kt qu:
Hien thi mot so nguyen 5 va mot so thuc 1.234000
41
42
a. Mc ch v{ c ph|p (5)
a. Mc ch v{ c ph|p (6)
43
44
11
Kiu d liu
Kt qu
Nhm k t
nh dng
Kiu d liu
Kt qu
%c
int, char
K t n l
%ld, %li
long
S thp ph}n
%i, %d
int, char
S thp ph}n
%lo
long
S b|t ph}n
%o
int, char
S b|t ph}n
(khng c 0 ng trc)
%lx, %LX
(khng c 0 ng trc)
%x, %X
int, char
unsigned
int/char
S hexa
(ch thng/ch hoa)
S hexa
%lu
%u
long
unsigned long
S thp ph}n
S thp ph}n
45
Kiu d liu
%s
char []
%f
float/double
%e, %E
float/double
46
Kt qu
Lnh:
Hin th x}u k t
kt thc bi \0
S thc du phy
tnh
S thc du phy
ng
48
47
12
V d:
m, n l{ 2 s nguyn khng }m
%m.nf
Trong :
m v tr hin th s thc
n v tr trong m v tr hin th phn thp
phn.
Kt qu:
1
2
nguyen van a
tran van b
g
k
49
50
c. rng hin th - Ch
V d:
printf("\n%f",17.345);
printf("\n%.2f",17.345);
printf("\n%7.2f",17.345);
Kt qu:
17.345000
17.34
17.34
Kt qu:
So a la: 1000
51
52
13
d. Cn l phi, l tr|i
Cn l phi:
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');
Cn l tri:
Nu mun cn l tr|i khi hin th d liu ta ch
cn thm du tr - v{o ngay sau du %.
Kt qu:
9 nguyen van a 7.50 g
10 nguyen ha 6.75 k
53
7.6.2. Hm scanf
54
a. Mc ch v{ c ph|p (3)
Xau_dinh_dang:
a. Mc ch v c php:
Mc ch:
H{m scanf() dng nhp d liu t b{n phm
C php:
Danh_sach_dia_chi:
scanf(xau_dinh_dang[,danh_sach_dia_chi]);
V d:
int a; float b;
56
14
a. Mc ch v{ c ph|p (4)
Nhm k t
nh dng
S lng
Kiu d liu
Th t
Kiu d liu
Ch thch
%c
char
K t n l
%d
int
S thp ph}n
%o
int
S b|t ph}n
%x
int
S hexa
%u
unsigned int
S thp ph}n
57
58
V d
Kiu d liu
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 thch
Nhp x}u k t kt
thc bi \0
S thc du phy
tnh
S nguyn
S thc du phy
tnh
60
59
15
V d
V d
Kt 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
61
62
c. Mt s quy tc cn lu
c. Mt s quy tc cn lu (tip)
Quy tc 1: Khi c s
Quy tc 2: Khi c k t:
Hm scanf() cho rng mi k t c trong b
m ca thit b vo chun u l hp l, k
c cc k t tab, xung dng hay du cch.
63
64
16
c. Mt s quy tc cn lu (tip)
Quy tc 3: Khi c xu k t:
+ Hm scanf() nu gp cc k t du trng,
du tab hay du xung dng th n s hiu l
kt thc nhp d liu cho mt xu k t.
+ Trc khi nhp d liu k t hay xu k t
ta nn dng lnh fflush(stdin) xa
b m.
Hm gets():
Dng nhp v{o t b{n phm mt x}u k t bao
gm c du c|ch, iu m{ h{m scanf() khng
l{m c.
C php :
gets (bin_xu_k_t);
V d:
char str[30];
printf(Nhap vao mot xau ki tu:);
fflush(stdin); gets(str);
65
66
Hm puts():
getch();
S dng h{m gets(), puts(), cn
khai b|o tp tiu stdio.h
S dng h{m getch(), cn khai b|o tp
tiu conio.h
67
68
17
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();
}
Kt 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