Professional Documents
Culture Documents
Hà Nội, 2022
Giới thiệu môn học
2
Học liệu
3
Nội dung chính của môn học
3. Hàm và mảng
4. Đệ quy
5. Xử lý chuỗi ký tự
5
Sử dụng ngôn ngữ C trong thực tế
6
Ngôn ngữ lập trình
7
Viết chương trình
8
Các thành phần cơ bản của C
Tập ký tự
Chữ cái, chữ số, các dấu toán học, các ký tự đặc biệt...
Không có: các chữ cái Hy Lạp (∆, ∑ ...)
Từ khóa
if, for, switch, int, char, float...
Không được dùng từ khóa để đặt tên
Tên
Tên hằng/ biến/ mảng...
Phân biệt chữ hoa chữ thường (case sensitive)
Cách đặt tên trong chương trình: có tính gợi nhớ
9
Ví dụ
#include <stdio.h>
#include <math.h>
%f float
int main()
%d int
{
float r,cv,dt;
scanf("%f",&r);
cv = 2*M_PI*r; dt = M_PI*r*r;
10
Biến
Vùng bộ nhớ lưu giá trị trong thời gian chương trình thực hiện
Có bao nhiêu kiểu dữ liệu thì có bấy nhiêu kiểu biến
Có thể khởi gán giá trị cho biến ngay khi khai báo
int a, b = 20, c, d = 40;
float e = 35.1, x;
x = 23.0;
Biến chỉ có tác dụng trong phạm vi đã khai báo
11
Mảng
12
Biến cục bộ và biến toàn cục
Được cấp bộ nhớ và tồn tại chỉ trong thời gian hoạt động của khối
Tồn tại trong thời gian hoạt động của chương trình
Biến toàn cục vs. Biến khai báo ở đầu hàm main()?
Thời gian tồn tại giống nhau
13
Các phép toán (toán tử)
14
Toán tử ++
15
Toán tử sizeof
16
Các câu lệnh điều khiển
17
Lựa chọn if
18
Lựa chọn if… else if
19
Lựa chọn if… else if
20
Lựa chọn switch
21
Ví dụ
M· Tr×nh ®é
1 S¬ cÊp
2 Trung cÊp
3 § ¹ i häc
4 Cao häc
5 Phã TiÕn sÜ
6 TiÕn sü
Ch ¬ng tr×nh ®Ótõ m· suy ra tr×nh ®é häc vÊn
22
Ví dụ
23
Câu lệnh for
Cú pháp:
for (biÓu thøc 1; biÓu thøc 2; biÓu thøc 3)
Khèi lÖnh;
Hoạt động:
1. X¸c ®Þnh biÓu thøc 1
2. X¸c ®Þnh biÓu thøc 2
3. Tïy thuéc vµo tÝnh ®óng, sai cña biÓu thøc 2, chän mét trong hai nh¸nh:
NÕu biÓu thøc 2 cã gi¸ trÞ 0 (sai) ra khái for vµ chuyÓn tíi c©u lÖnh sau th©n for
NÕu biÓu thøc 2 cã gi¸ trÞ kh¸c 0 (®óng) thùc hiÖn c¸c c©u lÖnh trong th©n for
4. TÝnh biÓu thøc 3, sau ®ã quay trë l¹i bưíc 2 ®Ó b¾t ®Çu mét vßng lặp míi
April 9, 2024 | 24
Ví dụ (đảo dãy)
#include<stdio.h>
#include<string.h>
int main()
{
char s1[20], s2[20];
int n, i, j;
printf("Nhap day: ");
gets(s1);
n= strlen(s1);
for(i=0, j=n-1; i<=n-1, j>=0; i++, j--)
s2[i]= s1[j];
s2[n]='\0';
printf("\n%s", s2);
}
25
Câu lệnh while
Cú pháp:
while (biÓu thøc)
Khèi lÖnh
Hoạt động:
X¸c ®Þnh gi¸ trÞ cña biÓu thøc (viÕt sau while)
Tïy thuéc vµo tÝnh ®óng sai cña biÓu thøc nµy, m¸y sÏ lùa chän mét trong hai nh¸nh:
NÕu biÓu thøc cã gi¸ trÞ 0 (sai) ra khái chu tr×nh vµ chuyÓn tíi c©u lÖnh sau th©n
while
NÕu biÓu thøc cã gi¸ trÞ kh¸c 0 (®óng) thùc hiÖn c¸c lÖnh trong th©n while
26
Câu lệnh do while
Cú pháp:
do
Khèi lÖnh
while (biÓu thøc);
Hoạt động:
Thùc hiÖn c¸c c©u lÖnh trong th©n do ... while
Khi gÆp dÊu ngoÆc cuèi cïng cña th©n do ... while, m¸y sÏ x¸c ®Þnh gi¸ trÞ cña
biÓu thøc sau tõ khãa while
M¸y sÏ ph©n nh¸nh theo gi¸ trÞ cña biÓu thøc võa nhËn ®ưîc:
NÕu biÓu thøc cã gi¸ trÞ ®óng (kh¸c 0) trë l¹i bưíc 1 ®Ó tiÕp tôc vßng míi
NÕu biÓu thøc cã gi¸ trÞ sai (b»ng 0) ra khái chu tr×nh vµ chuyÓn tíi c©u lÖnh ®øng sau
dÊu chÊm ph¶y ®Æt cuèi to¸n tö do while
27
Ví dụ
Nhập hai số nguyên. Tính ước số chung lớn nhất của hai số đó.
// Thuật toán Euclid
while (a != b)
if(a > b)
a -= b;
else
b -= a;
printf(“UCLN = %d”, a);
28
Ví dụ
Nhập hai số nguyên. Tính ước số chung lớn nhất của hai số đó.
// Thuật toán Euclid
do
{
if(a > b)
a -= b;
if(b > a)
b -= a;
}
while (a != b);
printf(“UCLN = %d”, a);
29
Ví dụ (break)
30
Ví dụ (continue)
int main()
{
int i;
for(i= 1; i<100; i+=2)
{
if((i==5) || (i==7) || (i==93))
continue;
printf(“%5d”, i);
}
}
31
Tóm tắt
32
Bài tập
4. Vừa gà vừa chó bó lại cho tròn, 36 con, 100 chân chẵn. Xác định số con mỗi loại.
5. Trăm trâu ăn trăm bó cỏ, con đứng ăn 5, con nằm ăn 3, lụ khụ trâu già 3 con 1 bó.
Xác định số trâu mỗi loại. [B3_tramtrau.c]
33
Bài tập
6. Nhập số nguyên có 3 chữ số. Tính tổng các chữ số của số đó.
7. Nhập số nguyên bất kỳ. Tính tổng các chữ số của số đó.
[B1_tong_chu_so.c]
34