Lệnh Lệnh nhập nhập, , xuất xuất, , tính tính toán toán.... Lệnh Lệnh nhập nhập, , xuất xuất, , tính tính toán toán.... Giới thiệu thiệu ngôn ngôn ngữ ngữ C C Cấu Cấu trúc trúc chương c
Trang 2Nội dung dung
Giới Giới thiệu thiệu ngôn ngôn ngữ ngữ C C.
Biến Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Lệnh Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Trang 3Nội dung dung
Giới Giới thiệu thiệu ngôn ngôn ngữ ngữ C C.
Biến Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Lệnh Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Trang 4Tiền Tiền thân thân? ?
Hậu Hậu duệ duệ? ?
Đặc Đặc điểm điểm? ?
Sách Sách tham tham khảo khảo? ?
Dennis Ritchie, Brian Kernighan, 1973
K&R C, 1978
Trang 5Giới thiệu thiệu ngôn ngôn ngữ ngữ C C
Cấu Cấu trúc trúc chương chương trình trình C: C:
Chương trình Các phần của chương trình
#include <stdio.h> 1 Phần khai báo thư viện.
Trang 6Giới thiệu thiệu ngôn ngôn ngữ ngữ C C
Các Các ký ký tự tự sử sử dụng dụng trong trong chương chương trình trình C: C:
Bảng chữ cái Latin A Z, a z
Phép toán số học +, -, *, /, %, =, (, )
Phép toán so sánh >, <, >=, <=, ==, !=
Phép toán logic !, &&, ||
Phép toán trên bit &, |, >>, <<
Ký tự đặc biệt #, {, }, ;, , ->, :
Dấu gạch dưới, khoảng trắng _, ‘ ‘
Dấu gạch dưới, khoảng trắng _, ‘ ‘
Trang 7Giới thiệu thiệu ngôn ngôn ngữ ngữ C C
Câu Câu lệnh lệnh và và khối khối lệnh lệnh::
YêuYêu cầucầu máymáy tínhtính thựcthực hiệnhiện
KếtKết thúcthúc bằngbằng dấudấu chấmchấm phẩyphẩy ;.;
a = 100
a = 100;;
b =
a / 2
2;;
{{
b = b + 5;
GồmGồm nhiềunhiều câucâu lệnhlệnh liênliên tiếptiếp nhaunhau
BaoBao giữagiữa dấudấu ngoặcngoặc { }.{ }
}}
Trang 8/*
/* ChươngChương trình trình tính tính cường
cường độ độ dòng dòng điện điện
Trình Trình biên biên dịch dịch bỏ bỏ qua qua khi khi dịch dịch
Làm Làm rõ rõ nghĩa nghĩa chương chương trình trình
Không Không ảnh ảnh hưởng hưởng tính tính toán toán
Bao Bao giữa giữa dấu dấu /* /* và và */ ( */ (trong trong C) C).
Bắt Bắt đầu đầu bằng bằng dấu dấu // ( // (trong trong C++) C++).
*/
void main() {{
int int U, I, R; U, I, R;
//
// Tính Tính CĐDĐ CĐDĐ
I = U / R;
}}
Trang 9Nội dung dung
Giới Giới thiệu thiệu ngôn ngôn ngữ ngữ C C.
Biến Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Lệnh Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Trang 10Dùng Dùng để để nhập nhập, , xuất xuất, , tính tính toán toán
Biến Biến: : giá giá trị trị có có thể thể thay thay đổi đổi
Hằng Hằng: : giá giá trị trị không không đổi đổi
Trang 11Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Khai Khai báo báo biến biến và và hằng hằng::
Đặt Đặt tên tên cho cho biến biến và và hằng hằng
Phải Phải khai khai báo báo tất tất cả cả biến biến trước trước khi khi dùng dùng!!
Phải Phải khai khai báo báo tất tất cả cả biến biến trước trước khi khi dùng dùng!!
Câu Câu lệnh lệnh khai khai báo báo biến biến trong trong C: C:
<
<kiểu kiểu dữ dữ liệu liệu> < > <tên tên biến biến>; >;
int a, b, a, b, tuoituoi;;
float x, y, float x, y, diemTBdiemTB;;
Câu Câu lệnh lệnh khai khai báo báo hằng hằng trong trong C: C:
const const < <kiểu kiểu dữ dữ liệu liệu> < > <tên tên hằng hằng> = < > = <giá giá trị trị>; >;
#define
#define < <tên tên hằng hằng> < > <giá giá trị trị> >
const float PI = 3.14;
#define NAM_HIEN_TAI 2011
Trang 12Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Quy Quy tắc tắc đặt đặt tên tên biến biến và và hằng hằng trong trong C: C:
Các Các ký ký tự tự được được phép phép sử sử dụng dụng::
A A Z, a Z, a z, 0 z, 0 9.9
A A Z, a Z, a z, 0 z, 0 9.9
DấuDấu gạchgạch dướidưới ‘_’.‘_’
Ký Ký tự tự đầu đầu tiên tiên không không được được là là số số!!
Không Không được được trùng trùng các các từ từ khóa khóa::
while, if, new, delete, while, if, new, delete, gotogoto, , intint, float, namespace, return, , float, namespace, return,
Nên Nên đặt đặt tên tên có có nghĩa nghĩa!!
int a a, , b b;; // // TênTên hợphợp lệlệ, , khôngkhông cócó nghĩanghĩa
float
float diem1 diem1, , diem2 diem2;; // // TênTên hợphợp lệlệ, , cócó nghĩanghĩa
char
char _ky_tu123 _ky_tu123;; // // TênTên hợphợp lệlệ, , cócó nghĩanghĩa
int 123so 123so, , new new;; // // TênTên KHÔNG KHÔNG hợphợp lệlệ
Trang 13Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Kiểu Kiểu dữ dữ liệu liệu::
Điều Điều gì gì xảy xảy ra ra trong trong máy máy khi khi khai khai báo báo biến biến và và hằng hằng? ?
MộtMột vùngvùng nhớnhớ đượcđược cấpcấp phátphát vàvà đặtđặt têntên
MộtMột vùngvùng nhớnhớ đượcđược cấpcấp phátphát vàvà đặtđặt têntên
int a;
VùngVùng nhớnhớ a:a:
char char kytukytu;;
Trang 14Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Các Các kiểu kiểu dữ dữ liệu liệu cơ cơ sở sở trong trong C: C:
Kiểu dữ liệu Ý nghĩa Kích thước Miền giá trị
int Số nguyên đơn 4 bytes -2147483648 2147483647
int
unsigned int
Số nguyên đơn 4 bytes -2147483648 2147483647
0 4,294,967,295 long
unsigned long
Số nguyên kép 8 bytes –9,223,372,036,854,775,808
9,223,372,036,854,775,807 0 18,446,744,073,709,551,615
(15 chữ số thập phân)
Trang 15Nội dung dung
Giới Giới thiệu thiệu ngôn ngôn ngữ ngữ C C.
Biến Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Lệnh Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Trang 16%d, %ld Số nguyên có dấu: int, long, short
%d, %ld Số nguyên có dấu: int, long, short
Trang 17char ten[30];
scanf scanf(“%d”, &a);(“%d”, &a); // // Nhập Nhập số số nguyên nguyên a a.
scanf scanf(“%d %d”, &b, &c);(“%d %d”, &b, &c); // // Nhập Nhập 2 2 số số nguyên nguyên b, c b, c.
scanf scanf(“%d %d”, &b, &c);(“%d %d”, &b, &c); // // Nhập Nhập 2 2 số số nguyên nguyên b, c b, c.
scanf
scanf(“%f”, &diem);(“%f”, &diem); // // Nhập Nhập số số thực thực diem diem.
scanf scanf(“%c”, &(“%c”, &kytu kytu); ); // // Nhập Nhập ký ký tự tự
scanf scanf(“%s”, &ten);(“%s”, &ten); // // Nhập Nhập tên tên
}}
Trang 18Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Lệnh Lệnh xuất xuất trong trong C: C:
Thư Thư viện viện: : #include #include < <stdio.h stdio.h> ( > (st stan and dard ard iinput/ nput/o output) utput) Cú
Chuỗi Chuỗi ký ký tự tự cần cần xuất xuất
Định Định dạng dạng kiểu kiểu: : xác xác định định kiểu kiểu dữ dữ liệu liệu cho cho biến biến cần cần xuất xuất
Định Định dạng dạng kiểu kiểu: : xác xác định định kiểu kiểu dữ dữ liệu liệu cho cho biến biến cần cần xuất xuất
Ký Ký tự tự điều điều khiển khiển
Trang 19Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Lệnh Lệnh xuất xuất trong trong C: C:
Ký Ký tự tự điều điều khiển khiển::
XuấtXuất rara mànmàn hìnhhình cáccác kýký tựtự đặcđặc biệtbiệt
XuấtXuất rara mànmàn hìnhhình cáccác kýký tựtự đặcđặc biệtbiệt
Ký tự điều khiển Ý nghĩa
Trang 20Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Lệnh Lệnh xuất xuất trong trong C: C:
Định Định dạng dạng số số nguyên nguyên: % : %n nd d
int a = 123;
int a = 123;
printfprintf(“(“GiaGia tri a = %d”, a);tri a = %d”, a); // // XuấtXuất GiaGia tri a = tri a = printf
printf(“(“GiaGia tri a = %5d”, a);tri a = %5d”, a); // // XuấtXuất GiaGia tri a = tri a =
Định Định dạng dạng số số thực thực: % : %n.k n.kd d
float x = 15.62;
printfprintf(“(“GiaGia tri x = %f”, x);tri x = %f”, x); // // XuấtXuất GiaGia trịtrị x =x =printf
printf(“(“GiaGia tri x = %7.3f”, x);tri x = %7.3f”, x); // // XuấtXuất GiaGia tri x =tri x =
Trang 21Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Lệnh Lệnh xuất xuất trong trong C: C:
printf(“Hello “); (“Hello “); // // Xuất Xuất Hello Hello printf
printf(“World”); (“World”); // // Xuất Xuất World World tiếp tiếp theo theo printf
printf(“Hello (“Hello\\nWorld nWorld“); “); // // Xuất Xuất Hello Hello xuống xuống dòng dòng World World printf
printf(“Hello (“Hello\\nWorld nWorld“); “); // // Xuất Xuất Hello Hello xuống xuống dòng dòng World World printf
printf(“ (“Gia Gia tri a = %d”, a); tri a = %d”, a); // // Xuất Xuất Giá Giá trị trị a = 5 a = 5 printf
printf(“Ten hoc (“Ten hoc sinh sinh la %s”, ten); la %s”, ten); // // Xuất Xuất Ten hoc Ten hoc sinh sinh la Minh la Minh }}
Trang 22Lệnh nhập nhập, , xuất xuất, , tính tính toán toán
Các Các lệnh lệnh tính tính toán toán trong trong C: C:
Thư Thư viện viện: : #include #include < <math.h math.h> >
Hàm tính toán Ý nghĩa Ví dụ
sin, cos, tan, atan Hàm lượng giác float x = sin(30 * 3.14 / 180);
log, log10, exp Hàm logarithm float y = log(exp(5.0));
pow Hàm tính lũy thừa float a = pow(2.0, 5);
ceil, floor Hàm làm tròn float b = ceil(2.4);
abs, fabs Hàm lấy trị tuyệt đối float c = fabs(a);
Trang 23Tóm tắt tắt
Giới Giới thiệu thiệu ngôn ngôn ngữ ngữ C C::
Kernighan & Ritchie, 1973.
Phân Phân biệt biệt hoa hoa thường thường
Phân Phân biệt biệt hoa hoa thường thường
Câu Câu lệnh lệnh: : chỉ chỉ thị thị ra ra lệnh lệnh, , kết kết thúc thúc bằng bằng ; ;.
Khối Khối lệnh lệnh: : câu câu lệnh lệnh phức phức, , bao bao giữa giữa { } { }.
Biến Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu::
Biến Biến, , hằng hằng: : đơn đơn vị vị chứa chứa giá giá trị trị trong trong chương chương trình trình
Khai Khai báo báo biến biến, , hằng hằng::
Khai Khai báo báo biến biến, , hằng hằng::
ĐĐặtặt têntên chocho biếnbiến, , hằnghằng
BiếnBiến: <: <kiểukiểu dữdữ liệuliệu> <> <têntên biếnbiến>;>;
HằngHằng: #define <: #define <têntên hằnghằng> <> <giágiá trịtrị>>
Trang 24scanf scanf(“< (“<định định dạng dạng kiểu kiểu>”[, & >”[, &biến biến 1, & 1, &biến biến 2, ]); 2, ]);
printf printf(“< (“<định định dạng dạng xuất xuất>”[, >”[, biến biến 1, 1, biến biến 2, ]); 2, ]);
Lệnh Lệnh tính tính toán toán::
Thư Thư viện viện: #include < : #include <math.h math.h> >
Các Các hàm hàm tính tính toán toán::
sin, sin, coscos, tan, , tan, atanatan
sin, sin, coscos, tan, , tan, atanatan
log, log10, exp
sqrtsqrt, , powpow
ceil, floor, abs
Trang 25Bài tập tập
Bài Bài tập tập 3.1: 3.1:
Viết
Viết chươngchương trìnhtrình C C chocho phépphép::
NhậpNhập vàovào têntên vàvà nămnăm sinhsinh củacủa mộtmột ngườingười
NhậpNhập vàovào têntên vàvà nămnăm sinhsinh củacủa mộtmột ngườingười
TínhTính tuổituổi chocho ngườingười đóđó vàvà xuấtxuất kếtkết quảquả nhưnhư sausau::
“Chao ban
“Chao ban <ten> <ten>, , nam nam nay ban nay ban < <tuoi tuoi> > tuoi tuoi” ”.
Ghi
Ghi chúchú::
<ten>: <ten>: têntên nhậpnhập vàovào
<<tuoituoi>: >: tuổituổi tínhtính đượcđược
Trang 26Bài tập tập
Bài Bài tập tập 3.2: 3.2:
Viết
Viết chươngchương trìnhtrình C C chocho phépphép::
NhậpNhập vàovào sốsố xexe (1 (1 sốsố nguyênnguyên dươngdương cócó 4 4 chữchữ sốsố).)
NhậpNhập vàovào sốsố xexe (1 (1 sốsố nguyênnguyên dươngdương cócó 4 4 chữchữ sốsố).)
TínhTính vàvà xuấtxuất sốsố nútnút
Trang 27Bài tập tập
Bài Bài tập tập 3.3: 3.3:
Viết
Viết chươngchương trìnhtrình C C chocho phépphép::
NhậpNhập vàovào nhiệtnhiệt độđộ C.C
NhậpNhập vàovào nhiệtnhiệt độđộ C.C
TínhTính vàvà xuấtxuất kếtkết quảquả chuyểnchuyển đổiđổi sang sang độđộ F F vàvà độđộ K.K
Ghi
Ghi chúchú::
ĐộĐộ F = F = ĐộĐộ C * 1.8 + 32.C * 1.8 + 32
ĐộĐộ K = K = ĐộĐộ C + 273.C + 273
Trang 28Bài tập tập
Bài Bài tập tập 3.4: 3.4:
Viết
Viết chươngchương trìnhtrình C C chocho phépphép::
NhậpNhập vàovào haihai thờithời điểmđiểm trongtrong ngàyngày T1 T1 vàvà T2 (T2 (giờgiờ, , phútphút, , giâygiây).)
NhậpNhập vàovào haihai thờithời điểmđiểm trongtrong ngàyngày T1 T1 vàvà T2 (T2 (giờgiờ, , phútphút, , giâygiây).)
TínhTính khoảngkhoảng cáchcách ((bằngbằng giâygiây) ) giữagiữa haihai thờithời điểmđiểm vàvà xuấtxuất kếtkết quảquả
Trang 29Viết chươngchương trìnhtrình C C chocho phépphép::
NhậpNhập vàovào phươngphương trìnhtrình bậcbậc baba nhưnhư trêntrên
TínhTính nghiệmnghiệm theotheo côngcông thứcthức trêntrên vàvà xuấtxuất kếtkết quảquả
TínhTính nghiệmnghiệm theotheo côngcông thứcthức trêntrên vàvà xuấtxuất kếtkết quảquả