Microsoft PowerPoint IP 03 Basic Elements of C Program ThànhThành phầnphần cơcơ bảnbản củacủa chươngchương trìnhtrình GV GV NguyễnNguyễn Minh Minh HuyHuy chươngchương trìnhtrình 1Nhập môn lập trình GV[.]
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ệ? ? Dennis Ritchie, Brian Kernighan, 1973
Đặc Đặc điểm điểm? ?
Sách Sách tham tham khảo khảo? ?
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>
#include <math.h>
1 Phần khai báo thư viện.
int a, b, c; 2 Phần khai báo biế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
Bộ chữ số thập phân 0 9
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 _, ‘ ‘
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::
Câu Câu lệnh lệnh::
ChỉChỉ thịthị rara lệnhlệ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 ;.;
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 8Giới thiệu thiệu ngôn ngôn ngữ ngữ C C
Câu Câu chú chú thích thích::
Ghi Ghi chú chú, , giải giải thích thích chương chương trình trình
Trình Trình biên biên dịch dịch bỏ bỏ qua qua khi khi dịch dịch
cường độ độ dòng dòng điện điện
*/
void main() {{
int int U, I, R; U, I, R;
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++).
//
// 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 10Biến, , hằng hằng, , kiểu kiểu dữ dữ liệu liệu
Biến Biến và và hằng hằng::
Những Những ký ký hiệu hiệu chứa chứa giá giá trị trị
Dù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, , hằng hằng 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 2014
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
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::
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
int a;
VùngVùng nhớnhớ a:a:
char char kytukytu;;
0010 1101 1010 0111
Bộ nhớ máy tính
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
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 0 18,446,744,073,709,551,615
(15 chữ số thập phân) char Ký tự 1 byte -128 127
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 17char char kytu kytu;;
char 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(“%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)
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
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
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;
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 =
printf(“(“GiaGia tri x = %7.3f”, x);tri x = %7.3f”, x); // // XuấtXuất GiaGia tri x =tri x = 1 5 6 2 0
1 5 6 2
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:
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> >
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));
sqrt Hàm lấy căn float z = sqrt(2.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
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::
Đặ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 24Tóm tắt tắt
Lệnh Lệnh nhập nhập, , xuất xuất::
Thư Thư viện viện: #include < : #include <stdio.h stdio.h> >
scanf 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::
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
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
TínhTính tuổituổi hiệnhiện tạitại chocho ngườingười đóđó vàvà xuấtxuất kếtkết quảquả nhưnhư sausau::
<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 tínhtính nútnút bảngbảng sốsố xexe nhưnhư sausau::
NhậpNhập vàovào sốsố củacủa bảngbảng sốsố xexe ((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 chuyểnchuyển đổiđổi nhiệtnhiệt độđộ nhưnhư sausau::
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
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 tínhtính khoảngkhoảng cáchcách giữagiữa haihai thờithời điểmđiểm nhưnhư sausau::
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 giảigiải phươngphương trìnhtrình bậcbậc baba nhưnhư sausau::
NhậpNhập vàovào cáccác hệhệ sốsố 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ả