Trường Đại Học Bách KhoaTrung Tâm Kỹ Thuật Điện Toán... Trường Đại Học Bách KhoaTrung Tâm Kỹ Thuật Điện Toán... Trường Đại Học Bách KhoaTrung Tâm Kỹ Thuật Điện Toán n Lệnh được thực thi
Trang 1Chương 02
CẤU TRÚC VÀ CÁC THÀNH PHẦN
CHƯƠNG TRÌNH C
Lê Thành Sách
Trang 2Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 3Chương trình C đơn giản
#include <stdio.h>
#include <stdlib.h>
/*
This is a simple program.
The objective of this program is to print the following information on different
// "printf" is a function, which is defined in <stdio.h>
printf( "Ho Chi Minh city University of Technology\n" );
printf( "Programming Fundamentals" );
// "pause" causes the program pause before executing the next statement.
// “system" is a function, which is defined in <stdlib.h>
system( "pause" );
}
Trang 4Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 5Chương trình C đơn giản
Các thành phần
n Lệnh được thực thi đầu tiên
void main(){
}
Dấu “{“ đánh dấu bắt đầu phần thân hàm main Dấu “}“ đánh dấu điểm kết thúc phần thân hàm main
Trang 6Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
n Lệnh được thực thi đầu tiên
int main(){
}
Nơi này xác định kiểu trả về của hàm (main) int: Hàm main trả về mã trạng thái: 0 = không có lỗi; 1 = có lỗi EXIT_SUCCESS = 0; EXIT_FAILURE = 1
Trang 7Chương trình C đơn giản
n Chú thích gồm nhiềudòng, nằm giữa cặp
Trang 8Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 10Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 12Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Ví dụ:
unit32 timeout_msec;
Time time_of_error
Trang 13Phong cách lập trình
Các gợi ý
n Về quy cách đặt tên:
n Biến
Ví dụ:
char *name;
Student *student_ptr
Trang 14Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
const int A_GLOBAL_CONSTANT = 5;
n Xem chi tiết trong trang chỉ dẫn trước, và luyện tập đến
cuối chương trình học
Trang 15Dữ liệu và kết xuất trong C
n Kiểu số nguyên
n Tên kiểu “int”, sẽ nói sâu
hơn trong chương sau
Trang 16Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 17Dữ liệu và kết xuất trong C
Trang 18Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 19Dữ liệu và kết xuất trong C
Trang 20Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
}
Trang 21Dữ liệu và kết xuất trong C
n Kiểu số thực chấm động
printf như ví dụ bên
n Câu hỏi: Cách nào đểchỉ in ra 3 ký tự sauchấm “.”
n Câu hỏi: Cách nào để in
ra số thực trong 7 ký tự(kể cả dấu chấm)
}
Trang 22Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
hơn trong chương sau
(literal constant):
n Ví dụ: ‘A’, ‘a’, etc
printf như ví dụ bên
n Câu hỏi: “%3c” tronghình bên nghĩa là gì?
n Câu hỏi: “%03c” tronghình bên nghĩa là gì?
Trang 23Dữ liệu và kết xuất trong C
n Kiểu chuỗi (string)
tiếp Thay vào đó “string”
được hiện thực bởi kiểumảng (array), nói sâu hơntrong chương về array
(literal constant):
“Programming Fundamentals”,
printf( "%20s\n" , "University" );
printf( "%020s\n" , "University" );
system( "pause" );
}
Trang 24Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 25Dữ liệu và kết xuất trong C
Trang 26Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 27Nhập liệu trong C
n Nguyên tắc
vùng nhớ có kiểu tương thích với kiểu ghi trong hàm đọc
Sinh viên tạm thời chấp nhận hai khái niệm sau:
1 Vùng nhớ được đặt tên (còn gọi là biến)
Trang 28Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Phần liệt kê địa chỉ của các vùng nhớ tương
ứng với những kiểu mong muốn
Dùng dấu phẩy (,) để phân cách các địa chỉ
nếu có nhiều hơn 1
Trang 30Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Cửa sổ ban đầu:
(chương trình chờ người dùng nhập vào một số nguyên)
Cửa sổ sau khi nhập giá trị 123 và nhấn phím ENTER:
Trang 31Nhập liệu trong C
n Chương trình đọc hai số nguyên
Cửa sổ ban đầu:
Sau khi nhập giá trị 123 và nhấn phím ENTER:
Sau khi nhập giá trị 456 và nhấn phím ENTER:
Trang 32Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
Trang 33Nhập liệu trong C
n Chương trình ngắn hơn nhưng có cùng tính năng
printf( "%s" , "Please enter x and y: " );
scanf( "%d %d" , &x, &y);
printf( "x = %d\ny = %d\n" , x, y);
Trang 34Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
© 2016
Lập trình C/C++
34
Nhập liệu trong C
n Bảng các đặc tả đọc dữ liệu theo kiểu dữ liệu
%u (số không dấu, unsigned int)
Trang 35Xử lý đơn giản
n Yêu cầu của chương trình:
printf( "%s" , "Please enter coordinates x and y: " );
scanf( "%f%f" , &x, &y);
printf( "(x,y) = (%5.2f,%5.2f)\n" , x, y);
printf( "Distance to the origin = %5.2f\n" , sqrt(x*x + y*y));
Trang 36Trường Đại Học Bách Khoa
Trung Tâm Kỹ Thuật Điện Toán
© 2016
Lập trình C/C++
36
Xử lý đơn giản
n Dùng thư viện toán học, cần chèn tập tin <math.h>
n sqrt(.): tính căn bậc hai của giá trị được truyền vào và trả
printf( "%s" , "Please enter coordinates x and y: " );
scanf( "%f%f" , &x, &y);
printf( "(x,y) = (%5.2f,%5.2f)\n" , x, y);
printf( "Distance to the origin = %5.2f\n" , sqrt(x*x + y*y));
system( "pause" );
}