Tài liệu Ngôn ngữ lập trình C và C++ - Bài 1: Giới thiệu - Đỗ Đăng Khoa: 4/20/2015
1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Ngôn ngữ lập trình C và C++
Bài 1: Giới thiệu
TS. Đỗ Đăng Khoa
Bộ môn Cơ học Ứng dụng
Viện Cơ Khí
4/20/2015
2
Ngôn ngữ lập trình
- Ngôn ngữ được thiết kế và chuẩn hóa (từ khóa và cú pháp)
để truyền các chỉ thị cho máy tính.
- Dùng để tạo ra các chương trình điều khiển máy tính hoặc
mô tả các thuật toán
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
3
Ngôn ngữ lập trình (tiếp)
Ngôn ngữ máy Hợp ngữ Ngôn ngữ cấp cao
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
4
Ngôn ngữ lập trình (tiếp)
• Ngôn ngữ máy
Máy có thể trực tiếp hiểu và thực hiện, chỉ gồm những con số (0,1) nạp
trực tiếp vào bộ nhớ để chạy, phụ thuộc vào từng dòng máy
• Hợp ngữ
Các mã lệnh và con số thay bằng tên viết tắt (tiếng Anh), cần bộ dịch
(assemblers), phụ thuộc vào dòng máy, nhiều lệnh cho một việc đơn giản
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
• Ngôn ngữ bậc cao
Gần với ngôn ngữ tự nhiên, cần bộ biên dịch, không phụ thuộc dòng
máy, lệnh đơn giản làm...
53 trang |
Chia sẻ: putihuynh11 | Lượt xem: 650 | Lượt tải: 0
Bạn đang xem trước 20 trang mẫu tài liệu Ngôn ngữ lập trình C và C++ - Bài 1: Giới thiệu - Đỗ Đăng Khoa, để tải tài liệu gốc về máy bạn click vào nút DOWNLOAD ở trên
4/20/2015
1
TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
Ngụn ngữ lập trỡnh C và C++
Bài 1: Giới thiệu
TS. Đỗ Đăng Khoa
Bộ mụn Cơ học Ứng dụng
Viện Cơ Khớ
4/20/2015
2
Ngụn ngữ lập trỡnh
- Ngụn ngữ được thiết kế và chuẩn húa (từ khúa và cỳ phỏp)
để truyền cỏc chỉ thị cho mỏy tớnh.
- Dựng để tạo ra cỏc chương trỡnh điều khiển mỏy tớnh hoặc
mụ tả cỏc thuật toỏn
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
3
Ngụn ngữ lập trỡnh (tiếp)
Ngụn ngữ mỏy Hợp ngữ Ngụn ngữ cấp cao
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
4
Ngụn ngữ lập trỡnh (tiếp)
• Ngụn ngữ mỏy
Mỏy cú thể trực tiếp hiểu và thực hiện, chỉ gồm những con số (0,1) nạp
trực tiếp vào bộ nhớ để chạy, phụ thuộc vào từng dũng mỏy
• Hợp ngữ
Cỏc mó lệnh và con số thay bằng tờn viết tắt (tiếng Anh), cần bộ dịch
(assemblers), phụ thuộc vào dũng mỏy, nhiều lệnh cho một việc đơn giản
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
• Ngụn ngữ bậc cao
Gần với ngụn ngữ tự nhiờn, cần bộ biờn dịch, khụng phụ thuộc dũng
mỏy, lệnh đơn giản làm được nhiều việc
• Ngụn ngữ trớ tuệ nhõn tạo và mạng nơron
Gần gũi với ngụn ngữ con người. Vớ dụ cõu lệnh
FIND ALL RECORDS WHERE NAME IS “NAM”
4/20/2015
5
Phõn loại
• Trực tiếp (Immediate)
Mỏy tớnh tay
• Thụng dịch (Interprete)
Quỏ trỡnh dịch và thực thi xảy ra đồng thời, dịch đến đõu
thi hành lệnh đến đấy (ngụn ngữ Lisp trong AutoCAD).
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
• Biờn dịch (Compile)
Gần với ngụn ngữ tự nhiờn. Muốn thực thi được thỡ phải
được chuyển sang ngụn ngữ mỏy (biờn dịch)
4/20/2015
6
Cỏc phương phỏp lập trỡnh
• Lập trỡnh khụng cấu trỳc (tuần tự)
Chương trỡnh chỉ gồm hàm chớnh và dữ liệu
Đặc điểm: mó nguồn bị trựng lặp nhiều khú bảo trỡ và nõng
cấp
Main function
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
+
Data
4/20/2015
7
Cỏc phương phỏp lập trỡnh
• Lập trỡnh cấu trỳc
Chương trỡnh được cấu trỳc bao gồm hàm chớnh và cỏc
hàm con.
- Hàm con cú thể được gọi thực hiện nhiều lần (trỏnh lặp mó
nguồn).
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Việc trao đổi dữ liệu giữa cỏc hàm nhờ cỏc tham số.
Function 1 Function 2 Function 3
Main function
Data
4/20/2015
8
Cỏc phương phỏp lập trỡnh
• Lập trỡnh module
Cỏc hàm được đúng gúi trong cỏc thư viện độc lập -
module (dll, libf)
- Sử dụng được trong nhiều chương trỡnh khỏc nhau.
- Ẩn và đúng gúi dữ liệu, cũng như triển khai bờn trong.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Module 1
Data
Function 1
Function 2
Module 2
Data
Function 3
Module 3
Data
Function 4
Main function
Data
4/20/2015
9
Cỏc phương phỏp lập trỡnh
• Lập trỡnh hướng đối tượng
- Dữ liệu được trừu tượng húa và triển khai thành lớp.
- Sử dụng lớp để tạo ra cỏc đối tượng.
- Cỏc đối tượng sử dụng thụng điệp để trao đổi với nhau.
message
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Object 2
Data
Object 3
Data
Object 4
Data
Object 1
Data
Main function
Data
4/20/2015
10
Cỏc phương phỏp lập trỡnh
• Lập trỡnh hướng dịch vụ
- Dịch vụ được cung cấp cho cỏc
ứng dụng khỏc qua giao thức
truyền thụng, chủ yếu là qua
mạng.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Quy tắc hướng dịch vụ là độc lập
với bất cứ nhà cung cấp, sản
phẩm hay cụng nghệ.
4/20/2015
11
Chương trỡnh
Chương trỡnh là một chuỗi cỏc chỉ thị (lệnh) - được viết bằng
ngụn ngữ lập trỡnh (mó nguồn) - để thực hiện một việc cụ thể
bằng mỏy tớnh.
• Cỏc bước viết một chương trỡnh
- Bước 1: Soạn thảo mó nguồn
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Bước 2: Tiền xử lý mó nguồn theo cỏc chỉ thị tiền xử lý
(#include, #define)
- Bước 3: Biờn dịch mó nguồn mó đối tượng (.obj) [mó mỏy]
- Bước 4: Liờn kết mó đối tượng với cỏc mó hoặc thư viện đối
tượng khỏc (.lib) mó thực thi (.exe), module (dll, libf).
- Bước 5: Nạp mó thực thi vào bộ nhớ
4/20/2015
12
Chương trỡnh
- Bước 6: Chạy mó thực thi cựng với cỏc dữ liệu đầu vào để
thu được cỏc đầu ra (kết quả) mong muốn.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
13
Ngụn ngữ lập trỡnh C/C++
• Ngụn ngữ lập trỡnh C
- Tỏc giả Dennis Ritchie, tại Bell Labs, giữa 1970
- Thiết kế để lập trỡnh hệ thống (một phần HĐH hay tiện ớch
hỗ trợ HĐH - interpreters, compilers, editors, etc)
- UNIX là chương trỡnh lớn đầu tiờn
• Ngụn ngữ lập trỡnh C++
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Mở rộng cho C (hỗ trợ cỏc cỳ phỏp C) nhằm tăng cường
tớnh an toàn
- Cung cấp nhiều lựa chọn
- Đơn giản húa lập trỡnh ở mức cao hơn
- Cung cấp cỏch tiếp cận tốt hơn đối với cỏc chương trỡnh
quy mụ lớn
4/20/2015
14
Ngụn ngữ lập trỡnh C/C++
C C++
Khụng phải ngụn ngữ hướng đối
tượng.
Là một ngụn ngữ hướng đối tượng
(gồm 4 khỏi niệm về hướng đối tượng)
Chỉ hỗ trợ cỏc struct. Hỗ trợ cỏc lớp (class) và đối tượng
(object).
Khụng cú biến tham chiếu, chỉ hỗ
trợ con trỏ.
Hỗ trợ cả biến tham chiếu và con trỏ.
Sử dụng cỏc hàm scanf và printf
để nhập xuất.
Sử dụng cỏc hàm cin>> và cout<< để
nhập xuất.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Khụng thể khai bỏo hàm trong
cỏc struct.
Cú thể khai bỏo hàm trong cỏc struct.
Khụng hỗ trợ cỏc hàm inline,
thay vào đú cú thể sử dụng khai
bỏo #define
Hỗ trợ cỏc hàm inline.
Sử dụng phương phỏp tiếp cận
từ trờn xuống (top-down).
Sử dụng phương phỏp tiếp cận từ dưới
lờn (bottom-up).
Là ngụn ngữ lập trỡnh hướng
chức năng (function oriented).
Là ngụn ngữ lập trỡnh hướng đối tượng
(Object oriented).
4/20/2015
15
Cỏc từ khúa chớnh trong C++
C++ Keywords
Keywords common to the
C and C++ programming
languages
auto break case char const
continue default do double else
enum extern float for goto
if int long register return
short signed sizeof static struct
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
switch typedef union unsigned void
volatile while
C++ only keywords
asm bool catch class const_cast
delete dynamic_cast explicit false friend
inline mutable namespace new operator
private protected public reinterpret_cast
static_cast template this throw true
try typeid typename using virtual
wchar_t
4/20/2015
16
Cỏc cụng cụ soạn thảo
• Sử dụng cỏc cụng cụ cú mụi trường tớch hợp cho
phộp soạn thảo, biờn dịch và liờn kết để tạo ra mó
thực thi.
Turbo C ++ 3.0
Visual C++ (dạng Win32 Console) cú trong tất cả cỏc
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
phiờn bản Visual Studio 6.0, Visual Studio mới hơn
(2002, 2003, 2005, 2008, 2010, 2012) gồm miễn phớ
(Express Edition) và cú bản quyền (Professional Edition).
C-Free
Dev-C++
Borland C++
4/20/2015
17
Cấu trỳc một chương trỡnh C/C++
i. Chỳ thớch
ii. Chỉ thị tiền xử lý
iii. Hàm
iv. Thõn hàm
v. Cõu lệnh return
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Chương trỡnh bắt buộc phải cú một hàm chớnh – hàm được gọi
ngay khi chương trỡnh thực thi.
- Hàm main dưới cho phộp truyền dữ liệu bằng tham số dũng lệnh
C C++
main()
main(int argc, char** argv)
int main()
int main(int argc, char** argv)
4/20/2015
18
Cấu trỳc một chương trỡnh
/* This is my first C program
It prints a line of text */
#include
Chỳ thớch
Chỉ thị tiền xử lý
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
main()
{
printf("Hello world\n");
return 0;
}
Hàm
Thõn hàm
Lệnh return
Hỡnh 1
4/20/2015
19
Cấu trỳc một chương trỡnh
// This is my first C++ program
// It prints a line of text
#include
Chỳ thớch
Chỉ thị tiền xử lý
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
int main()
{
std::cout << "Hello world\n";
return 0;
}
Hàm
Thõn hàm
Lệnh return
Hỡnh 2
4/20/2015
20
Chỳ thớch trong C/C++
• Mục đớch
- Làm chương trỡnh dễ đọc và dễ hiểu hơn
• Cỳ phỏp chốn chỳ thớch
- Văn bản bắt đầu với /* và kết thỳc với */. Văn bản cú thể
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
chứa nhiều dũng
- Văn bản bắt đầu với //, thường dựng cho một dũng (C++)
• Chỳ ý
- Mọi chỳ thớch đều bị trỡnh biờn dịch bỏ qua
- Cú thể được chốn bất kỳ chỗ nào trong chương trỡnh
4/20/2015
21
Chỉ thị tiền xử lý
Chỉ thị sẽ được xử lý trước khi chương trỡnh được biờn
dịch
• #include: Bao hàm tệp cú chứa cỏc nguyờn mẫu hàm cú
sẵn hoặc tự định nghĩa sẽ được dựng trong chương trỡnh
• Cỳ phỏp
- #include filename: tệp chứa nguyờn mẫu hàm
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
#include
#include
•#define: Định nghĩa hằng số, macro (một khối lệnh)
• Cỳ phỏp
- #define ten_hang gia_tri_hang
4/20/2015
22
Một số thư viện hay dựng trong C/C++
#include // vào ra chuẩn trong C++
#include // vào ra chuẩn trong C
#include // cỏc hàm toỏn học
#include // contains random funct
#include // cỏc hàm về thời gian
#include .// cỏc hàm về ủịnh dạng
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Cỏc hàm: printf(), scanf(), putchar(), getchar() nằm trong thư viện
Cỏc hàm cout, cin, cin.get(), cin.getline() nằm trong thư viện
,
Cỏc hàm clrscr(), getch() nằm trong thư viện
Cỏc hàm định dạng như endl, setw(), nằm trong thư viện
4/20/2015
23
Hàm Chớnh - Main()
main() và int main()
- Dấu ngoặc () sau main xỏc định main là một khối chương
trỡnh gọi là hàm
- Cỏc vớ dụ đó cho chỉ cú một hàm duy nhất
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Chương trỡnh C/C++ thường bắt đầu thực thi từ hàm main.
• Chỳ ý
- int: kiểu giỏ trị trả về từ hàm bằng lệnh return.
- Khụng cú kiểu trả về mặc định là kiểu int
4/20/2015
24
Thõn hàm
- Dấu ngoặc múc trỏi, {, bắt đầu thõn hàm
- Dấu ngoặc múc phải tương ứng, }, kết thỳc thõn hàm
• Nội dung trong thõn hàm
Chứa cỏc lệnh
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Khai bỏo biến
- Nhập xuất dữ liệu
- Tớnh toỏn biểu thức
Mọi lệnh kết thỳc với dấu chấm phẩy, ;.
4/20/2015
25
Thõn hàm
Trong hai vớ dụ, thõn hàm gồm 2 cõu lệnh.
Cõu lệnh 1: Gọi hàm printf và std::cout<< để in ra màn hỡnh
dũng chữ - Hello world.
- printf: dựng để in nội dung ra màn hỡnh.
- std::cout<<: dựng đối tượng dũng xuất chuẩn cout và
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
toỏn tử xuất << để in nội dung ra màn hỡnh. std là tờn
của khụng gian tờn chứa đối tượng và toỏn tử xuất.
- Trong vớ dụ, nội dung là một xõu ký tự (cỏc ký tự nằm
giữa hai dấu “”).
- Ký tự \n chỉ thị xuống dũng mới cho nội dung in tiếp theo
- Trong C++, thay \n bằng lệnh endl.
4/20/2015
26
Cõu lệnh return
return 0;
- Lệnh return được dựng cuối hàm main, giỏ trị 0 chỉ ra rằng
chương trỡnh đó kết thỳc thành cụng.
- Cú thể được gọi bất cứ đõu trong thõn hàm để kết thỳc
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
chương trỡnh và trả về giỏ trị khỏc 0 nhằm đưa ra một mó
lỗi nào đú.
4/20/2015
27
In bảng nhiệt độ F C với C = (5/9)*(F-32)
/* In bảng Fahrenheit-Celsius
cho fahr = 0, 20, ..., 300 */
#include
main()
{
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
float fahr, celsius;
int lower, upper, step;
lower = 0; /* Cận dưới của bảng nhiệt độ */
upper = 300; /* cận trờn */
step = 20; /* bước tăng */
4/20/2015
28
In bảng nhiệt độ F C với C = (5/9)*(F-32)
fahr = lower;
while (fahr <= upper)
{
celsius = (5.0/9.0)* (fahr-32);
printf("%4.0f\t%6.1f\n", fahr, celsius);
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
fahr = fahr + step;
}
return 0;
}
4/20/2015
29
In bảng nhiệt độ F C với C = (5/9)*(F-32)
Kết quả:
0 -17.8
20 -6.7
40 4.4
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
60 15.6
80 26.7
w.
w.
280 137.8
300 148.9
4/20/2015
30
In bảng nhiệt độ F C với C = (5/9)*(F-32)
/* In bảng Fahrenheit-Celsius
cho fahr = 0, 20, ..., 300 */
#include
main()
{
Chỳ thớch
Chỉ thị tiền xử lý
Kiểu dữ liệu
Tờn biến
Số
thực
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
float fahr, celsius;
int lower, upper, step;
lower = 0; /* Cận dưới của bảng nhiệt độ */
upper = 300; /* cận trờn */
step = 20; /* bước tăng */
Khai bỏo biến để
lưu giỏ trị cố định
hoặc thay đổi
Gỏn giỏ trị cho
cỏc biến
Số
nguyờn
4/20/2015
31
In bảng nhiệt độ F C với C = (5/9)*(F-32)
fahr = lower;
while (fahr <= upper)
{
celsius = (5.0/9.0)* (fahr-32);
printf("%4.0f\t%6.1f\n", fahr, celsius);
fahr = fahr + step;
Gỏn giỏ trị cận dưới bảng cho biến fahr
Cỏc biểu thức
và phộp toỏn
như trong toỏn
Phộp chia, /, phõn biệt
cho số nguyờn và thực:
- 5/9 0
- 5.0/9 != 0
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
}
return 0;
}
Chu trỡnh lặp lại cỏc cõu
lệnh trong {f} khi thỏa món
điều kiện fahr <= upper
học truyền thống
- Tớnh C theo F
- In F và C ra màn hỡnh
- Tăng F theo bước tăng
4/20/2015
32
Xuất / Nhập trong C- Cõu lệnh printf
Cõu lệnh: printf("%4.0f\t%6.1f\n", fahr, celsius);
- Nội dung trong lệnh printf, ngoài xõu ký tự cũn cú thờm cỏc
biến được in giỏ trị ra màn hỡnh
- Để in một biến: xõu ký tự mụ tả và tờn biến
- Xõu ký tự, bắt đầu bằng dấu phần trăm, %.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Kết thỳc tương ứng bởi ký tự chuyển dạng: %f số
thực (mặc định chớnh xỏc 6 số sau dấu thập phõn)
printf(“%f”, fahr);
- %mf m là bề rộng tối thiểu để in biến
- %.nf n là số cỏc số sau dấu thập phõn
- %m.nf: %4.0f, %6.1f
4/20/2015
33
Mó định dạng
Định dạng printf() scanf()
Ký tự đơn (single character) %c %c
Chuỗi (string) %s %s
Số nguyờn cú dấu (signed decimal integer) %d %d
Kiểu float - dạng dấu chấm thập phõn (decimal notation) %f %f hoặc
%e
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Kiểu float - dạng dấu chấm thập phõn %lf %lf
Kiểu float - dạng lũy thừa (exponential notation) %e %f or %e
Kiểu float ( %f hay %e , khi ngắn hơn) %g
Số nguyờn khụng dấu (unsigned decimal integer) %u %u
Số nguyờn hệ 16 khụng dấu - sử dụng “ABCDEF”
(unsigned hexadecimal integer)
%x %x
Số nguyờn hệ 8 khụng dấu (unsigned octal integer) %o %o
4/20/2015
34
Mó định dạng (tiếp)
Mó định
dạng
Cỏc qui ước in
%d Cỏc con số trong số nguyờn
%f
Phần thập phõn sẽ in 6 chữ số. Nếu phần thập phõn ớt hơn 6
chữ số thờm cỏc chữ số 0 vào từ bờn phải, ngược lại
làm trũn số từ bờn phải.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Vớ dụ: 1.23 1.230000
0.1234567 0.123457
%e
In ra số cú kiểu float hoặc double, ở dạng khoa học: một
con số phần nguyờn, những số cũn lại chuyển sang phần
thập phõn
Vớ dụ: 12345 1.234500e+04
0.12345 1.234500e-1
4/20/2015
35
Mó định dạng (tiếp)
STT Lệnh Chuỗi điều
khiển
Nội dung chuỗi
điều khiển
Danh sỏch
đối số
Giải thớch
danh sỏch
đối số
Hiển thị
trờn màn
hỡnh
1. printf(“%d”,300); %d Chỉ chứa lệnh định
dạng
300 Hằng 300
2. printf(“%d”,10+5); %d Chỉ chứa lệnh định
dạng
10 + 5 Biểu thức 15
3. printf(“Good Morning Mr. Lee.”); Good Morning
Mr. Lee.
Chỉ chứa cỏc ký tự
văn bản
Rỗng Rỗng Good
Morning
Mr. Lee.
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4. int count = 100;
printf(“%d”,count);
%d Chỉ chứa lệnh định
dạng
count Biến 100
5. printf(“\nhello”); \nhello Chứa ký tự khụng
được in và cỏc ký tự
văn bản
Rỗng Rỗng hello on a
new line
6. #define str “Good Apple “
..
printf(“%s”,str);
%s Chỉ chứa lệnh định
dạng
str Hằng ký
hiệu
Good
Apple
7. int count,stud_num;
count=0;
stud_num=100;
printf(“%d %d\n”,count, stud_num);
%d %d Chứa lệnh định
dạng và ký tự
khụng được in
count,
stud_num
Hai biến 0 , 100
4/20/2015
36
Cỏc ký tự đặc biệt
\\ In ra ký tự \
\ “ In ra ký tự “
%% In ra ký tự %
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
37
Vớ dụ cho hàm printf()
Chương trỡnh hiển thị số nguyờn, thập phõn, ký tự và chuỗi
#include
void main()
{
int a = 10;
float b = 24.67892345;
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
char ch = ‘A’;
printf(“Integer data = %d”, a);
printf(“Float Data = %f”,b);
printf(“Character = %c”,ch);
printf(“This prints the string”);
printf(“%s”,”This also prints a string”);
}
4/20/2015
38
Bổ từ trong hàm printf( )
1. Bổ từ ‘-‘
Phần tử dữ liệu sẽ được canh lề trỏi, phần tử sẽ được in bắt
đầu từ vị trớ bờn trỏi trong cựng của trường.
2. Bổ từ xỏc định độ rộng trường ( vớ dụ: %10d )
Áp dụng được cho cả: int, float, double, char
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
3. Độ chớnh xỏc (vớ dụ: %4.2f )
Áp dụng cho: float, double char
Nếu dựng với kiểu float hay double, chuỗi con số xỏc định
số lượng lớn nhất cỏc con số được in bờn phải dấu chấm thập
phõn.
4/20/2015
39
Bổ từ trong hàm printf( )
4. Bổ từ ‘0’
Mặc định thỡ khoảng trống sẽ được thờm vào một trường.
Nếu người dựng muốn thờm số 0 vào trường thỡ bổ từ ‘0’
được dựng
5. Bổ từ ‘l’
Bổ từ này cú thể được dựng hiển thị cỏc đối số nguyờn kiểu
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
int hay double. Mó định dạng tương ứng là %ld
4/20/2015
40
Bổ từ trong hàm printf( )
6. Bổ từ ‘h’
Bổ từ này được sử dụng để hiển thị dạng short int. Mó định
dạng tương ứng như là %hd
7. Bổ từ ‘*’
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Nếu người dựng khụng muốn xỏc định độ rộng trường
nhưng muốn chương trỡnh xỏc định điều đú, bổ từ này được
sử dụng
4/20/2015
41
Vớ dụ về cỏc bổ từ
#include
int main(){
printf ("Characters: %c %c \n", 'a', 65);
printf ("Decimals: %d %ld\n", 1977, 650000L);
printf ("Preceding with blanks: %10d \n", 1977);
printf ("Preceding with zeros: %010d \n", 1977);
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
printf ("Some different radices: %d %x %o %#x %#o \n", 100,
100, 100, 100, 100);
printf ("floats: %4.2f %+.0e %E \n", 3.1416, 3.1416, 3.1416);
printf ("Width trick: %*d \n", 5, 10);
printf ("%s \n", "A string");
return 0;}
4/20/2015
42
Xuất nhập trong C- Cõu lệnh scanf( )
Được sử dụng để nhập dữ liệu
Dạng tổng quỏt của hàm scanf()
scanf(“control string”, argument list);
Những định dạng dựng trong hàm printf() cũng được sử
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
dụng với cựng cỳ phỏp trong hàm scanf()
4/20/2015
43
Sự khỏc nhau về danh sỏch đối số giữa printf( ) và
scanf( )
printf() sử dụng cỏc tờn biến, hằng, hằng biểu tượng và cỏc
biểu thức
scanf() sử dụng cỏc con trỏ hay địa chỉ tới biến
Danh sỏch đối số trong scanf() phải theo qui tắc :
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Đọc giỏ trị vào một biến cú kiểu dữ liệu cơ sở, sử dụng ký
hiệu & trước tờn biến
Đọc giỏ trị vào một biến cú kiểu dữ liệu dẫn xuất, khụng sử
dụng & trước tờn biến
4/20/2015
44
Vớ dụ với hàm scanf( )
#include
void main(){
int a;
float d;
char ch, name[40];
printf(“Please enter the data\n”);
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
scanf(“%d %f %c %s”,&a,&d,&ch,name);
printf(“\n The values accepted are:
%d,%f,%c,%s”,a, d,ch,name);
}
4/20/2015
45
Vựng đệm Nhập/Xuất
Được sử dụng để đọc và viết cỏc ký tự ASCII
Một vựng đệm (buffer) là một khụng gian lưu trữ tạm thời
trong bộ nhớ hoặc trờn thẻ điều khiển thiết bị
Bộ đệm Nhập/Xuất cú thể chia làm :
- Console I/O
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Buffered File I/O
4/20/2015
46
Console I/O
Cỏc hàm Console I/O chuyển cỏc thao tỏc đến thiết bị xuất
nhập chuẩn của hệ thống
Trong ‘C’ cỏc hàm console I/O đơn giản nhất là:
getchar( ) - đọc một và chỉ một ký tự từ bàn phớm
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
putchar( ) - xuất một ký tự lờn màn hỡnh
4/20/2015
47
getchar( )
Dựng đọc dữ liệu nhập, một ký tự từ bàn phớm
Cỏc ký tự đặt trong vựng đệm đến khi người dựng gừ phớm
enter
Hàm getchar( ) khụng cú đối số, nhưng vẫn phải cú cặp dấu
ngoặc ( )
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
4/20/2015
48
Vớ dụ hàm getchar()
/*Program to demonstrate the use of getchar()*/
#include
void main()
{
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
char letter;
printf(“\nPlease enter any character:“);
letter = getchar();
printf(“\nThe character entered by you
is %c“, letter);
}
4/20/2015
49
putchar( )
Hàm xuất ký tự trong ‘C’
Cú một đối số
Đối số của một hàm putchar( ) cú thể là :
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
- Một hằng ký tự đơn
- Một mó định dạng
- Một biến ký tự
4/20/2015
50
Cỏc tựy chọn và chức năng của putchar( )
Đối số Hàm Chức năng
Biến ký tư putchar(c) Hiển thị nội dung của
biến ký tư c
Hằng ký tư putchar(‘A’) Hiển thị ký tự A
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
Hằng sụ putchar(‘5’) Hiển thị số 5
Mó định
dạng
putchar(‘\t’) Tạo tab
Mó định
dạng
putchar(‘\n’) Xuống dũng
4/20/2015
51
putchar( )
/* This program demonstrates the use of
constants and escape sequences in
putchar()*/
#include
void main(){
putchar(‘H’); putchar(‘\n’);
putchar(‘\t’);
putchar(‘E’); putchar(‘\n’);
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
putchar(‘\t’); putchar(‘\t’);
putchar(‘L’); putchar(‘\n’);
putchar(‘\t’); putchar(‘\t’); putchar(‘\t’);
putchar(‘L’); putchar(‘\n’);
putchar(‘\t’); putchar(‘\t’); putchar(‘\t’);
putchar(‘\t’);
putchar(‘O’);
}
4/20/2015
52
Vào/ ra trong C++
Vào dữ liệu từ bàn phớm - cin
#include
int main()
{
int bien1, bien2,bien3;
cin >> bien1 ;
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
cin >> bien2 ;
cin >> bien3 ;
/* hoặc:
cin >> bien1 >> bien2 >> bien3 ;
*/
}
4/20/2015
53
Vào/ ra trong C++
In dữ liệu ra màn hỡnh- cout
#include
int main()
{
int bien1, bien2,bien3;
cout<<“In du lieu ra man hinh \n”;
TRƯỜNG ĐẠI HỌC
BÁCH KHOA HÀ NỘI
cout<< bien1 ;
cout<< bien2 ;
cout<<bien3 ;
/* hoặc:
cout <<bien1 << bien2 <<bien3 ;
*/
}
Các file đính kèm theo tài liệu này:
- ngon_ngu_lap_trinh_c_va_c_bai_1_gioi_thieu_ve_c_va_c_7152_1993517.pdf